diff --git a/bin/install.js b/bin/install.js index 50cd93e50..28d59011d 100755 --- a/bin/install.js +++ b/bin/install.js @@ -4149,6 +4149,10 @@ function copyWithPathReplacement(srcDir, destDir, pathPrefix, runtime, isCommand } else if (isCline) { content = convertClaudeToCliineMarkdown(content); fs.writeFileSync(destPath, content); + } else if (isQwen) { + content = content.replace(/CLAUDE\.md/g, 'QWEN.md'); + content = content.replace(/\bClaude Code\b/g, 'Qwen Code'); + fs.writeFileSync(destPath, content); } else { fs.writeFileSync(destPath, content); } @@ -4193,6 +4197,13 @@ function copyWithPathReplacement(srcDir, destDir, pathPrefix, runtime, isCommand jsContent = jsContent.replace(/CLAUDE\.md/g, '.clinerules'); jsContent = jsContent.replace(/\bClaude Code\b/g, 'Cline'); fs.writeFileSync(destPath, jsContent); + } else if (isQwen && (entry.name.endsWith('.cjs') || entry.name.endsWith('.js'))) { + let jsContent = fs.readFileSync(srcPath, 'utf8'); + jsContent = jsContent.replace(/\.claude\/skills\//g, '.qwen/skills/'); + jsContent = jsContent.replace(/\.claude\//g, '.qwen/'); + jsContent = jsContent.replace(/CLAUDE\.md/g, 'QWEN.md'); + jsContent = jsContent.replace(/\bClaude Code\b/g, 'Qwen Code'); + fs.writeFileSync(destPath, jsContent); } else { fs.copyFileSync(srcPath, destPath); } @@ -6261,6 +6272,7 @@ function finishInstall(settingsPath, settings, statuslineCommand, shouldInstallS if (runtime === 'augment') program = 'Augment'; if (runtime === 'trae') program = 'Trae'; if (runtime === 'cline') program = 'Cline'; + if (runtime === 'qwen') program = 'Qwen Code'; let command = '/gsd-new-project'; if (runtime === 'opencode') command = '/gsd-new-project'; @@ -6273,6 +6285,7 @@ function finishInstall(settingsPath, settings, statuslineCommand, shouldInstallS if (runtime === 'augment') command = '/gsd-new-project'; if (runtime === 'trae') command = '/gsd-new-project'; if (runtime === 'cline') command = '/gsd-new-project'; + if (runtime === 'qwen') command = '/gsd-new-project'; console.log(` ${green}Done!${reset} Open a blank directory in ${program} and run ${cyan}${command}${reset}.