Skip to content

贡献指南 ​

欢迎提交 Issue 和 Pull Request!以下是参与贡献的流程。

分支策略 ​

分支用途
main稳定主分支,触发自动发版
develop开发集成分支(可选)
feat/*功能开发分支
fix/*Bug 修复分支

Commit 规范 ​

提交信息使用中文,遵循 Conventional Commits 格式(用于 python-semantic-release 自动解析):

<type>: <描述>

<可选正文>

Type 类型 ​

Type用途影响版本
feat新功能MINOR(0.7.0 → 0.8.0)
fixBug 修复PATCH(0.7.0 → 0.7.1)
perf性能优化PATCH(0.7.0 → 0.7.1)
docs文档更新不触发发版
refactor重构不触发发版
test测试不触发发版
chore杂务不触发发版
ciCI 配置不触发发版
style代码风格不触发发版

示例 ​

bash
feat: 新增生产计划甘特图视图
fix: 修复安装费计算使用 adjusted_price 而非实时卖出价
docs: 更新 API 参考文档

⚠️ 版本影响:feat 触发 MINOR bump,fix/perf 触发 PATCH bump,其余类型不触发发版;大版本由发布者手动决定。

Pull Request 流程 ​

  1. Fork 或创建功能分支
  2. 开发并确保代码质量:
    bash
    ruff check . --fix
    ruff format .
    mypy . --ignore-missing-imports
    scripts/run_tests.sh            # validate:业务/DB/计算,跳过 Qt
  3. 提交 PR,使用中文描述变更内容
  4. CI 自动运行全部检查(ruff + mypy + pytest + 版本校验)
  5. 等待 Review 后合并

代码质量要求 ​

  • Ruff:零 lint 错误 + 格式化通过
  • Mypy:类型检查通过
  • 测试:按 CLAUDE.md 的「测试判定表」决定写不写 —— 不是每次改动都要补测试。 本项目不设覆盖率门槛(原先此处的「> 70%」无任何工具执行,已删)。
  • 提交前:ruff check . && ruff format --check . && mypy . && scripts/run_tests.sh target (full 的时机由用户定,不主动跑)

开发环境搭建 ​

详见 开发环境。

许可证 ​

本项目基于 Apache License 2.0 开源。提交 PR 即表示同意你的贡献在同协议下发布。