这个仓库是面向开源读者的逐章教程:用 Python 从小到大实现一个 Claude Code 风格的 coding agent。每章都应该同时提供:
- 一篇可独立阅读的中文教程;
- 一个独立可运行的
examples/chapter-XX/参考实现; - 覆盖本章关键行为的自动化测试;
- 与 README、版本号、tag 进度一致的发布记录。
- 项目交流必须使用中文,包括状态更新、问题确认、实施说明和最终总结。
- 面向外部读者的教程正文默认使用中文;英文 README 只做入口与摘要,不替代中文教程。
- 教程面向外部读者,避免出现本机用户名、私有路径、未解释的内部项目名。
- 文档中的示例路径使用本仓库通用路径,例如
examples/chapter-08/agent.py。 - 代码块使用 ASCII 引号和标点,除中文正文外避免不必要的 Unicode 符号。
- 不从旧参考仓库复制实现代码。
- 可以把旧参考仓库当作章节主题、需求清单和概念参考,但本仓库的代码必须按当前项目结构重新实现。
- 需要描述外部 API 行为时,优先用官方文档或本仓库测试验证,不凭旧教程或记忆下结论。
- README、
chapters/*.md、examples/chapter-XX/*.py、tests/*.py必须互相对齐。 - 教程里声称“已实现”的函数、命令、文件和行为,必须能在对应 example 或测试中找到。
- 每章 example 应独立运行,不依赖后续章节目录。
- 前一章没实现的能力不能在后一章写成“早已实现”;如果调整了落点,要同步修正文档。
- 发现教程和代码不一致时,优先修正为当前仓库真实状态,再继续扩展。
- 修改行为前先补或更新测试,按 TDD 做 red/green。
- 发布前至少运行
.venv/bin/python -m pytest -q。 - 逐章发布时,每章完成后更新
pyproject.toml版本、README 进度和 tag 列表。 - tag 命名沿用现有格式:
v0.8-memory、v0.9-skills、v0.10-plan-mode、v0.11-sub-agent。 - push 代码或 tag 属于外部发布动作,执行前需要单独确认。