kimi-code/CONTRIBUTING.zh-CN.md
Kimi Agent c8029f9f3b
docs: align contributor entry docs with approved-bug-fix-only policy (#3089)
* docs: align contributor entry docs with approved-bug-fix-only policy

* docs: align contributor entry docs with approved-bug-fix-only policy

* docs: align contributor entry docs with approved-bug-fix-only policy

* docs: align contributor entry docs with approved-bug-fix-only policy

* docs: link Chinese contributing guide

* docs: add Chinese contributing guide

* docs: add Chinese bug report form

* docs: add Chinese feature request form

* docs: bilingual PR template header note

* docs(zh-cn): naturalize intro, drop stale feature-PR template line

* docs: drop stale feature-PR template line

* docs: require approved issue in PR template

* docs: fix project layout (agent-core-v2 is current, v1 legacy)

* docs(zh-cn): fix project layout (agent-core-v2 is current, v1 legacy)
2026-08-19 20:31:56 +08:00

5.1 KiB
Raw Permalink Blame History

为 kimi-code 贡献代码

English version

感谢你花时间参与贡献!这个项目迭代很快,离不开社区认真的贡献。下面的指南介绍我们的工作方式,帮助你的 PR 顺利合入。

开始之前

Kimi Code 对 CLI/TUI 行为、agent 工作流和公开 API 已有自己的主张。如果你的改动会改变这些方向,请先开 issue 对齐,再投入时间写 PR。

我们对 AI 辅助贡献与手写代码一视同仁。你应该理解自己提交的内容——改了什么、边界情况下表现如何、为什么适合这个代码库。如果你解释不清楚,这个 PR 就还没准备好接受评审。

我们只合入与路线图一致的 PR。缺乏上下文背景的顺手重构很难被接受。

外部 PR 仅接受获批准的 bug 修复。 先开 issue等待维护者以 /approve 评论明确批准,然后在 PR 中链接该 issue。没有已批准关联 issue 的 PR 可能会不经评审直接关闭issue 获批后,可联系维护者重开你的 PR。

先讨论——写代码前先开 issue

  • bug 修复(包括小的、错别字级别的):先开 bug issue等待维护者 /approve 后再提 PR
  • 新功能或用户可见的行为变更(无论大小):不接受外部 feature PR——功能在 issue 中讨论和决定,被接受的功能由团队实现,或由维护者明确邀请你贡献
  • 重构或其他超过约 100 行的改动
  • 公开 API 或兼容性变更

项目结构

本仓库是 pnpm monorepo最常用的入口

  • apps/kimi-code — CLI / TUI
  • apps/vscode — VS Code 插件
  • apps/vis — 会话调试可视化工具
  • packages/node-sdk — 公开 TypeScript SDK@moonshot-ai/kimi-code-sdk
  • packages/agent-core-v2 — 当前的 agent 引擎v2DI Scope 架构);packages/agent-core 为 v1正在逐步废弃
  • packages/klientkap-serverprotocoltranscriptkosongkaosoauthtelemetry — 内部引擎包
  • docs/ — VitePress 双语文档站

完整项目地图见 AGENTS.md

开发环境

前置要求Node.js >= 24.15.0、pnpm 10.33.0、Git。

git clone https://github.com/MoonshotAI/kimi-code.git
cd kimi-code
pnpm install

常用脚本:

  • pnpm dev:cli — 开发模式运行 CLI
  • pnpm test — 运行测试vitest
  • pnpm typecheck — TypeScript 检查(注意:会先构建各包)
  • pnpm lint — oxlint
  • pnpm lint:fix — oxlint 自动修复
  • pnpm build — 构建全部包

提交规范

所有 commit 和 PR 标题必须遵循 Conventional Commits

类型 用途 示例
feat 新功能 feat(agent-core): add tool dedup
fix bug 修复 fix(tui): correct status bar alignment
docs 仅文档 docs: clarify install instructions
chore 工具 / 杂务 chore: bump dependencies
refactor 无行为变更的内部重构 refactor(kosong): extract retry helper
test 新增或改进测试 test(agent-core): cover skill resolver
ci CI / 构建流水线变更 ci: cache pnpm store
build 构建系统 / 产物变更 build(native): add win32-arm64 target
perf 性能优化 perf(session): batch event flushes
style 仅格式化(无逻辑变更) style: apply oxlint --fix

PR 标题由 pr-title-checker 工作流强制校验——不合规的标题会阻止合并。

Changesets

本仓库使用 changesets 管理版本与发布。

  • 每个影响发布产物(代码、行为、公开 API的 PR 必须包含 changeset。
  • 仅文档、仅测试或仅 CI 的 PR 可以不加。
  • pnpm changeset 生成并按提示操作(涉及哪些包、什么 bump 级别)。
  • 包选择与 bump 级别的仓库约定见 .changeset/README.md。在本仓库使用编程 agent 时,使用 gen-changesets 技能。

Pull Requests

PR 会自动套用 PR 模板。PR 标题必须遵循 Conventional Commits;每个 PR 的 CI 会运行 pnpm lintpnpm typecheckpnpm test。行为变更时请同步更新 docs/ 下的用户文档——使用编程 agent 时使用 gen-docs 技能。

代码风格

  • 全仓库 TypeScript。
  • 使用 oxlint(配置见 .oxlintrc.json)。
  • pnpm lint:fix 自动格式化。
  • lint 规则未覆盖的风格选择,跟随周边现有写法。

报告安全问题

发现安全问题?请查看 SECURITY.md,不要开公开 issue。

许可证

向本仓库贡献即表示你同意你的贡献按 MIT 许可证 授权。