1.6 KiB
1.6 KiB
贡献指南
感谢你对 MyBoot 的关注!欢迎通过 Issue 和 Pull Request 参与贡献。
开发环境
- Python 3.9+(CI 覆盖 3.9–3.13)
- uv 作为包管理器
git clone https://github.com/TrumanDu/myboot.git
cd myboot
uv sync --extra dev --extra test
运行测试
# 全量单元测试
uv run pytest tests/unit -q
# 含覆盖率
uv run pytest tests/unit -q --cov=myboot --cov-report=term-missing
# 集成测试(涉及真实多进程,较慢)
uv run pytest tests/integration -q -m integration
提交 PR 前请确保 tests/unit 全部通过。CI 会在 ubuntu/windows × Python 3.9–3.13 矩阵上运行。
测试约定
tests/unit/中包含特征测试(characterization tests):固化框架公开行为,作为兼容性闸门。如果你的改动有意变更某个公开行为,请同步更新对应测试并在注释中说明原因(参考现有issue #14风格的注释)。- 修复 bug 时请附带回归测试。
代码风格
- 遵循现有代码风格(中文 docstring、loguru 日志)
- 格式化:
uv run black myboot tests,import 排序:uv run isort myboot tests - 公开 API 需带类型注解
提交规范
- 提交信息使用
type: subject格式,type 取feat/fix/test/docs/refactor/chore - 一个 PR 聚焦一件事;破坏性变更需在 PR 描述中明确标注
报告问题
提 Issue 时请附上:
- myboot 版本、Python 版本、操作系统
- 最小复现代码
- 完整报错堆栈(启动时加
logging.level: DEBUG获取更多信息)