feat(cli): add Kimi Code CLI as an install target
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 68/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- github-actions, typescript
- Lĩnh vực
- build-system, cli, documentation, testing-qa
Hướng nghiên cứu
Start with cli/src/domain/models/tool-ids.ts, then compare cli/src/domain/tools/ai/codex.ts and claude.ts. Trace registration through infrastructure/deps.ts, the asset and catalog adapters, and registry-conformance.unit.test.ts before adding the Kimi-specific unit test and snapshot. Done means the CLI checks pass, Kimi flat and marketplace builds produce the expected tree, and the documented framework mappings and CI matrix are updated.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Problem
AiToolId ships five targets (cli/src/domain/models/tool-ids.ts:3): claude, cursor, copilot, opencode, codex. Kimi Code CLI (MoonshotAI) is not one of them, so aidd plugin add <plugin> --tool kimi fails and no aidd-framework-kimi-* archive is released.
Kimi already reads two surfaces the framework produces today:
- Skills: it loads
.agents/skills/, the exact path the codex adapter writes (cli/src/domain/tools/ai/codex.ts:173). Acodex-flatarchive therefore already drops AIDD skills where Kimi finds them, by accident rather than by contract. - Context:
AGENTS.md/.kimi-code/AGENTS.md.
The rest is absent: agents land as .codex/agents/*.toml while Kimi reads markdown + YAML frontmatter under .kimi-code/agents/ or .agents/agents/; no kimi.plugin.json manifest is produced; no per-tool distribution is built.
Docs: https://moonshotai.github.io/kimi-code/en/customization/skills · https://moonshotai.github.io/kimi-code/en/customization/agents
Scope
Two PRs, in order: ci.yml builds archives with a pinned CLI version, so the framework side can only follow a CLI release.
PR 1 - feat(cli): add kimi code cli as an install target
- Add
"kimi"toAiToolIdandAI_TOOL_IDS(cli/src/domain/models/tool-ids.ts:3). - Extract the
.agents/skills/aidd-<name>/SKILL.mdpath builder out ofcli/src/domain/tools/ai/codex.ts:172intodomain/formats/, so codex and kimi share it rather than duplicate it (coding-assertions.md: no duplication,pnpm jscpdguards it). - Add
cli/src/domain/tools/ai/kimi.ts: skills through that shared builder, agents through the claude markdown+frontmatter capability, plugins through akimi.plugin.jsonmanifest. - Register the tool in
infrastructure/deps.ts(side-effect import,kimi:flatandkimi:marketplacebuild strategies),assets/asset-loader.ts,plugin-catalog-repository-adapter.ts,tool-recommendations.ts,menu-use-case.ts. - Add the
kimi.plugin.jsonentries toPLUGIN_MANIFEST_PROBESandMARKETPLACE_PROBES(cli/src/domain/models/plugin-format.ts:3,12). - Add the tests: side-effect import in
tests/domain/tools/registry-conformance.unit.test.ts, atests/domain/tools/ai/kimi.unit.test.ts, a golden snapshot, the e2e command matrix cells.
PR 2 - feat(framework): map kimi code cli surfaces
- Add the Kimi rows to
plugins/aidd-context/skills/11-explore/references/ai-mapping.md(tables at :17, :27, :37, :59). - Add Kimi to the three
tool-paths.md(agent-generate, hook-generate, command-generate),04-skill-generate/references/tool-detect.md,02-project-memory/references/tools.md,00-onboard/references/state/detection.md. - Add the
kimicells to thebuild-per-toolmatrix (.github/workflows/ci.yml:150) and update the archive count indocs/MAINTAINERS.md:71. - List Kimi Code CLI in the supported tools of
README.md.
Acceptance criteria
-
aidd plugin add aidd-dev --tool kimiwrites skills to.agents/skills/aidd-*/SKILL.mdand agents to.kimi-code/agents/*.mdwith valid YAML frontmatter. - Starting
kimiin that project lists the AIDD skills, and/pluginsshows the plugin when installed in marketplace mode. -
registry-conformance.unit.test.tspasses withkimiregistered, without editing an assertion (the suite iterates the registry). -
aidd-cli framework build --target kimi --flatand--target kimiboth produce a tree, covered by a golden snapshot. - Hook parity is either implemented or declared unsupported in the
ai-mapping.mdhooks table. - The CLI gates pass in order:
pnpm typecheck,pnpm lint,pnpm knip:production,pnpm jscpd,pnpm test,pnpm build(cli/aidd_docs/memory/coding-assertions.md). -
make checkis green at the repository root.
Prior art in this repo
cli/src/domain/tools/ai/codex.ts- closest sibling: same.agents/skills/skill target (:33,:173), same TOML config parsing. Its agents capability differs (TOML, where Kimi wants markdown).cli/src/domain/tools/ai/claude.ts- markdown+frontmatter agents, reusable as-is.cli/tests/domain/tools/registry-conformance.unit.test.ts- the contract a new tool must satisfy; adding the file to its import list is what subjectskimito every assertion.cli/src/infrastructure/deps.ts:259,309- thecodex:marketplaceandcodex:flatbuild strategy entries to mirror.
Out of scope
- Hooks. Kimi's hook surface (a
SessionStartequivalent forupdate_memory) is not documented publicly. PR 1 settles it: either theHooksCapabilityis wired, or the hooks table ofai-mapping.mdrecords "Not supported" the way it already does for OpenCode, and the memory sync stays manual under Kimi. - MCP. The config file and servers key for Kimi are unverified, so no
McpCapabilityhere. It belongs in the MCP config table ofai-mapping.md:37once confirmed, in a follow-up issue. - Slash commands. Kimi's plugin manifest exposes a
commandsfield of unverified format. Deferred to the same follow-up as MCP; until then Kimi is a skills-and-agents target, like OpenCode is a rules-less one. - Rules. Folded into
AGENTS.md, the treatmentai-mapping.md:15already documents for OpenCode.
- Ngôn ngữ chính
- TypeScript
- Star
- 481
- Fork
- 45
- Merge trung bình
- 17 giờ 40 phút
- Pull request đã merge (30 ngày)
- 106
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của ai-driven-dev/framework
-
refactor(aidd-orchestrator): the check zone says when to stop, and reviews its axes in one round Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
ai-driven-dev/framework#887 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
ai-driven-dev/framework#873 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
ai-driven-dev/framework#872 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
ai-driven-dev/framework#625 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
ai-driven-dev/framework#467 · 1 bình luận ·
Tất cả issue của ai-driven-dev/framework
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
[Bug]: Matrix progress drafts fail with "Matrix runtime not initialized" during tool activity Đang mởbug clawsweeper:linked-pr-open clawsweeper:needs-live-repro clawsweeper:no-new-fix-pr impact:message-loss issue-rating: 🐚 platinum hermit P2 regression
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
Client support matrix inclusion Đang mởenhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
-
calcite-components needs triage refactor
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Esri/calcite-design-system#15203 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 90/100
danielmiessler/LifeOS#2218 ·