感谢您对 OpenNeuro 项目的关注!我们欢迎所有形式的贡献。
如果您发现了 Bug,请:
- 检查 Issues 确认问题未被报告
- 创建新 Issue,使用 Bug Report 模板
- 提供详细的复现步骤和环境信息
如果您有新功能建议:
- 创建 Feature Request Issue
- 描述功能的用途和价值
- 讨论实现方案
-
Fork 仓库
git clone https://github.com/YOUR_USERNAME/OpenNeuro.git cd OpenNeuro -
创建分支
git checkout -b feature/your-feature-name # 或 git checkout -b fix/your-bug-fix -
编写代码
- 遵循项目代码风格
- 添加必要的测试
- 更新相关文档
-
提交更改
git add . git commit -m "feat: add your feature description"
-
推送并创建 PR
git push origin feature/your-feature-name
- 使用 4 空格缩进
- 函数命名:
snake_case - 类型命名:
snake_case_t - 宏命名:
UPPER_CASE
- 遵循 PEP 8
- 使用 4 空格缩进
- 函数命名:
snake_case - 类命名:
PascalCase
<type>(<scope>): <subject>
<body>
<footer>
类型:
feat: 新功能fix: Bug 修复docs: 文档更新style: 代码格式refactor: 重构test: 测试chore: 构建/工具
示例:
feat(ptp): add hardware timestamp support
Implement SO_TIMESTAMPING for Linux to achieve <1µs precision.
Closes #123
提交代码前请确保:
# 编译所有组件
./scripts/build_all.sh
# 运行所有测试
./scripts/verify_all.sh
# 检查测试覆盖
# (确保新代码有测试覆盖)如果您的更改影响用户使用:
- 更新
README.md - 更新
API_REFERENCE.md - 添加示例代码
- 更新
CHANGELOG.md
所有 PR 都需要:
- ✅ 通过 CI/CD 测试
- ✅ 至少一位维护者审查
- ✅ 解决所有审查意见
- ✅ 更新相关文档
- Discord: https://discord.gg/openneuro
- GitHub Discussions: https://github.com/OpenNeuro/OpenNeuro/discussions
提交代码即表示您同意将代码以 MIT License 发布。
感谢您的贡献! 🎉