开发者指南¶
欢迎参与 AxiomRL 的开发!本指南面向希望为项目贡献代码、修复缺陷或扩展功能的开发者。
快速导航¶
快速搭建开发环境¶
只需两步即可启动本地开发:
推荐使用虚拟环境
建议在 venv 或 conda 环境中进行开发,以避免依赖冲突:
开发工作流概览¶
AxiomRL 使用 Makefile 统一管理开发命令,日常开发遵循以下流程:
graph LR
A[编写代码] --> B[make lint]
B --> C[make typecheck]
C --> D[make test-fast]
D --> E[make verify]
E --> F[提交 PR] | 命令 | 说明 |
|---|---|
make install-dev | 安装开发依赖 |
make lint | Ruff 代码风格检查 |
make typecheck | Mypy 静态类型检查 |
make test | 运行全部测试 |
make test-fast | 运行快速测试(排除 slow 标记) |
make test-integration | 运行集成测试 |
make test-smoke | 运行冒烟测试 |
make verify | 完整验证流水线 |
make build | 构建分发包 |
make precommit | 手动触发预提交钩子 |
提交前请运行 make verify
make verify 会依次执行 lint、typecheck、test-fast、test-integration、test-smoke 和 build,确保你的变更通过所有质量关卡。
分层贡献模型¶
AxiomRL 采用三层架构,不同层级对代码质量和审查力度有不同要求:
| 层级 | 路径 | 审查标准 |
|---|---|---|
| 核心(Core) | rl_training.core | 严格审查,需完整测试和文档 |
| 社区扩展(Contrib) | rl_training.contrib | 社区驱动,需基础测试 |
| 预设(Zoo) | zoo/ | 基准预设,需冒烟测试通过 |