feat: support CodeBuddy runtime (#1887)

Add CodeBuddy (Tencent Cloud AI coding IDE/CLI) as a first-class
runtime in the GSD installer.

- Add --codebuddy CLI flag and interactive menu option
- Add directory mapping (.codebuddy/ local, ~/.codebuddy/ global)
- Add CODEBUDDY_CONFIG_DIR env var support
- Add markdown conversion (CLAUDE.md -> CODEBUDDY.md, .claude/ -> .codebuddy/)
- Preserve tool names (CodeBuddy uses same names as Claude Code)
- Configure settings.json hooks (Claude Code compatible hook spec)
- Add copyCommandsAsCodebuddySkills for SKILL.md format
- Add 15 tests (dir mapping, env vars, conversion, E2E install/uninstall)
- Update README.md and README.zh-CN.md
- Update existing tests for new runtime numbering

Co-authored-by: happyu <happyu@tencent.com>
This commit is contained in:
storyandwine
2026-04-10 22:46:21 +08:00
committed by GitHub
parent 7e2217186a
commit 50cce89a7c
8 changed files with 498 additions and 75 deletions

View File

@@ -221,12 +221,12 @@ describe('Source code integration (Kilo)', () => {
assert.ok(src.includes("'kilo'"), '--all includes kilo runtime');
});
test('promptRuntime runtimeMap has Kilo as option 8', () => {
assert.ok(src.includes("'8': 'kilo'"), 'runtimeMap has 8 -> kilo');
test('promptRuntime runtimeMap has Kilo as option 9', () => {
assert.ok(src.includes("'9': 'kilo'"), 'runtimeMap has 9 -> kilo');
});
test('prompt text shows Kilo above OpenCode without marketing copy', () => {
assert.ok(src.includes('8${reset}) Kilo'), 'prompt lists Kilo as option 8');
assert.ok(src.includes('9${reset}) Kilo'), 'prompt lists Kilo as option 9');
assert.ok(!src.includes('the #1 AI coding platform on OpenRouter'), 'prompt does not include marketing tagline');
});