-
Notifications
You must be signed in to change notification settings - Fork 0
Contributing Guide
shijiashuai edited this page Mar 9, 2026
·
1 revision
欢迎为 FastQTools 做贡献!本页面介绍 Git 提交规范、开发流程和代码审查要求。
详见 Getting Started 和 DevContainer and Docker。
# 克隆仓库
git clone git@github.com:LessUp/fastq-tools.git
cd fastq-tools
# 安装依赖
./scripts/core/install-deps
# 构建
./scripts/core/build
# 测试
./scripts/core/test<type>(<scope>): <subject>
| 类型 | 描述 |
|---|---|
feat |
新功能 |
fix |
Bug 修复 |
docs |
文档更改 |
style |
代码风格(不影响功能) |
refactor |
代码重构 |
perf |
性能优化 |
test |
添加或修改测试 |
build |
构建系统或依赖更改 |
ci |
CI/CD 配置更改 |
chore |
其他维护性更改 |
-
core: 核心功能 -
cli: 命令行接口 -
parser: 解析器 -
io: I/O 模块 -
devops: 运维相关 -
docs: 文档相关
- 使用祈使句,现在时态
- 第一个字母不要大写
- 结尾不加句号
feat(parser): add BAM file input support
fix(core): correct GC content calculation
docs(readme): update installation instructions
refactor(pipeline): simplify processing loop
perf(io): optimize buffer allocation
ci(github): add automated linting
# 启用仓库内模板
git config commit.template .gitmessage.txt
# Dev Container 会自动设置该配置git checkout -b feat/my-feature# 编码...
# 格式化
./scripts/core/lint format
# 测试
./scripts/core/test
# 检查代码质量
./scripts/core/lint allgit add .
git commit # 遵循提交规范git push origin feat/my-feature
# 在 GitHub 创建 Pull Request- 代码实现了预期功能
- 边界情况已处理
- 错误处理完善
- 代码格式化通过 (
./scripts/core/lint check) - 静态分析通过 (
./scripts/core/lint tidy) - 无编译器警告
- 遵循 Coding Standards
- 新功能有对应的单元测试
- 所有测试通过 (
./scripts/core/test) - Bug 修复包含回归测试
- API 变更已更新文档
- 必要时更新 CHANGELOG.md
- 公共接口有 Doxygen 注释
- 提交信息要简洁明了
- 每个提交只做一件事
- 避免过于宽泛的描述
- 使用英文撰写提交信息
- 大的变更请先创建 Issue 讨论
- 在
include/fqtools/processing/添加新 Predicate 类声明 - 在
src/processing/predicates/添加实现 - 在
src/cli/commands/中注册 CLI 选项 - 添加单元测试到
tests/unit/ - 更新 CLI 参考文档
- 在
src/cli/commands/创建新的 Command 类 - 在
main.cpp中注册命令 - 添加集成测试和 E2E 测试
- 更新 CLI 参考文档
# 1. 更新版本号
# CMakeLists.txt 和 conanfile.py 中的 version
# 2. 更新 CHANGELOG.md
# 3. 创建 tag
git tag -a v3.2.0 -m "Release v3.2.0"
git push origin v3.2.0
# 4. GitHub Actions 自动触发 release workflow- Issues: GitHub Issues
- Pull Requests: GitHub PRs
- Getting Started — 环境搭建
- Coding Standards — 编码规范详解
- Testing Strategy — 测试策略
- Build and CI — 构建与 CI 流程
FastQTools © 2026 LessUp · MIT License · 在线文档 · Issues
FastQTools v3.1.0
🚀 快速上手
🏗️ 架构与设计
🔧 构建与部署
🧪 质量工程
📖 规范与参考
🔗 外部链接