@@ -19,7 +19,6 @@ import {
1919} from './github-copilot-scope.js' ;
2020import {
2121 GitHubCopilotCliInjectionScope ,
22- getGitHubCopilotCliUserSkillsDir ,
2322 getGitHubCopilotCliGlobalConfigDir
2423} from './github-copilot-cli-scope.js' ;
2524import {
@@ -28,8 +27,7 @@ import {
2827 getGeminiCliAgentsAliasDir
2928} from './gemini-cli-scope.js' ;
3029import {
31- QwenCodeInjectionScope ,
32- getQwenCodeUserSkillsDir
30+ QwenCodeInjectionScope
3331} from './qwen-code-scope.js' ;
3432import { transformTemplates } from './transformation-pipeline.js' ;
3533import { createValidateCommand } from '../core/validate/index.js' ;
@@ -465,26 +463,33 @@ function buildCleanPreview(): string {
465463 const vscodePromptsDir = getVSCodeGlobalPromptsDir ( ) ;
466464 const vscodeSkillsDir = getCopilotGlobalSkillsDir ( ) ;
467465 const opencodeDir = getOpenCodeGlobalConfigDir ( ) ;
468- const githubCopilotCliSkillsDir = getGitHubCopilotCliUserSkillsDir ( ) ;
469- const geminiCliSkillsDir = getGeminiCliUserSkillsDir ( ) ;
470- const qwenCodeSkillsDir = getQwenCodeUserSkillsDir ( ) ;
466+ const copilotCliDir = getGitHubCopilotCliGlobalConfigDir ( ) ;
467+ const geminiDir = path . join ( os . homedir ( ) , '.gemini' ) ;
468+ const qwenDir = path . join ( os . homedir ( ) , '.qwen' ) ;
471469
472470 const formatDir = ( d : string ) => d . replace ( os . homedir ( ) , '~' ) ;
473471
474472 const lines = [
475473 chalk . bold . cyan ( '🔍 Preview of --global clean:\n' ) ,
476474 ` ${ chalk . bold ( 'GitHub Copilot for VS Code' ) } :` ,
477- ` • Prompts: ${ formatDir ( vscodePromptsDir ) } /` ,
478- ` • Skills: ${ formatDir ( vscodeSkillsDir ) } /` ,
475+ ` • ${ formatDir ( vscodePromptsDir ) } /spec-driven.agent.md` ,
476+ ` • ${ formatDir ( vscodePromptsDir ) } /spec-driven.prompt.md` ,
477+ ` • skills/ under ${ formatDir ( vscodeSkillsDir ) } /` ,
479478 '' ,
480- ` ${ chalk . bold ( 'GitHub Copilot CLI' ) } :` ,
481- ` • Skills: ${ formatDir ( githubCopilotCliSkillsDir ) } /` ,
479+ ` ${ chalk . bold ( 'GitHub Copilot CLI' ) } (${ formatDir ( copilotCliDir ) } ):` ,
480+ ` • agents/spec-driven.agent.md` ,
481+ ` • commands/spec-driven.md, commands/inject-guidelines.md` ,
482+ ` • skills/` ,
482483 '' ,
483- ` ${ chalk . bold ( 'Gemini CLI' ) } :` ,
484- ` • Skills: ${ formatDir ( geminiCliSkillsDir ) } /` ,
484+ ` ${ chalk . bold ( 'Gemini CLI' ) } (${ formatDir ( geminiDir ) } ):` ,
485+ ` • agents/spec-driven.md` ,
486+ ` • commands/spec-driven.toml, commands/inject-guidelines.toml` ,
487+ ` • commands/spec-driven.md, commands/inject-guidelines.md` ,
488+ ` • skills/` ,
485489 '' ,
486- ` ${ chalk . bold ( 'Qwen Code' ) } :` ,
487- ` • Skills: ${ formatDir ( qwenCodeSkillsDir ) } /` ,
490+ ` ${ chalk . bold ( 'Qwen Code' ) } (${ formatDir ( qwenDir ) } ):` ,
491+ ` • skills/spec-driven.md, skills/inject-guidelines.md` ,
492+ ` • skills/${ STEROIDS_SKILL_DIRS . join ( '/, skills/' ) } /` ,
488493 '' ,
489494 ` ${ chalk . bold ( 'OpenCode' ) } (${ formatDir ( opencodeDir ) } ):` ,
490495 ` • agents/${ STEROIDS_FILES . agents . join ( ', ' ) } ` ,
@@ -576,6 +581,7 @@ async function removeOpenCodeGlobalSteroids(): Promise<boolean> {
576581
577582async function removeGitHubCopilotCliSteroids ( ) : Promise < boolean > {
578583 try {
584+ await removeSteroidsFiles ( getGitHubCopilotCliGlobalConfigDir ( ) ) ;
579585 await removeSteroidsSkillDirs ( getGitHubCopilotCliGlobalConfigDir ( ) ) ;
580586 console . log ( chalk . green ( ' ✅ GitHub Copilot CLI cleaned.' ) ) ;
581587 return true ;
@@ -630,8 +636,23 @@ async function removeGeminiCliGlobalFiles(): Promise<void> {
630636 }
631637}
632638
639+ async function removeQwenCodeGlobalFiles ( ) : Promise < void > {
640+ const qwenDir = path . join ( os . homedir ( ) , '.qwen' ) ;
641+ const skillsDir = path . join ( qwenDir , 'skills' ) ;
642+ const filesToRemove = [
643+ path . join ( skillsDir , 'spec-driven.md' ) ,
644+ path . join ( skillsDir , 'inject-guidelines.md' )
645+ ] ;
646+ for ( const file of filesToRemove ) {
647+ if ( await fs . pathExists ( file ) ) {
648+ await fs . remove ( file ) ;
649+ }
650+ }
651+ }
652+
633653async function removeQwenCodeSteroids ( ) : Promise < boolean > {
634654 try {
655+ await removeQwenCodeGlobalFiles ( ) ;
635656 await removeSteroidsSkillDirs ( path . join ( os . homedir ( ) , '.qwen' ) ) ;
636657 console . log ( chalk . green ( ' ✅ Qwen Code cleaned.' ) ) ;
637658 return true ;
0 commit comments