贡献指南
如何为 Potato 标注工具做出贡献。
为 Potato 做贡献
Potato 是完全开源的,欢迎社区贡献。本指南介绍如何有效地参与贡献。
入门
前提条件
- Python 3.8+
- Git
- GitHub 账户
设置开发环境
-
在 GitHub 上 Fork 仓库
-
克隆你的 Fork:
bashgit clone https://github.com/YOUR_USERNAME/potato.git cd potato -
安装依赖:
bashpip install -r requirements.txt pip install -r requirements-test.txt # For running tests -
运行测试确保一切正常:
bashpytest
贡献方式
报告 Bug
发现了 Bug?提交 Issue,需包含:
- 清晰、描述性的标题
- 重现问题的步骤
- 预期行为与实际行为
- 你的环境信息(Python 版本、操作系统、浏览器等)
- 可用的错误消息或日志
建议新功能
有改进的想法?提交功能请求,描述:
- 你想要解决的问题
- 你提议的解决方案
- 为什么这对其他用户有益
提交代码
-
为你的更改创建分支:
bashgit checkout -b feature/your-feature-name -
进行更改,遵循编码规范
-
为新功能编写测试
-
运行测试套件:
bashpytest tests/unit/ -v # Fast unit tests pytest tests/server/ -v # Integration tests -
提交更改并附上描述性消息:
bashgit commit -m "Add feature: brief description of changes" -
推送到你的 Fork:
bashgit push origin feature/your-feature-name -
在 GitHub 上创建 Pull Request
编码规范
Python 风格
- 遵循 PEP 8 风格指南
- 使用有意义的变量和函数名
- 为公共函数和类添加文档字符串
- 保持函数专注且大小适当
文档
添加或修改功能时:
- 更新
docs/目录中的相关文档 - 添加或更新
project-hub/simple_examples/中的示例配置 - 为复杂逻辑添加行内注释
测试
- 为新功能和 Bug 修复编写测试
- 将单元测试放在
tests/unit/中 - 将集成测试放在
tests/server/中 - 确保提交 PR 前所有测试通过
文档指南
每个主要功能应包含:
-
管理员文档(
docs/):- 配置选项和默认值
- YAML 示例
- 故障排除提示
-
示例项目(
project-hub/simple_examples/):- 可运行的配置文件
- 示例数据文件
- 如果复杂则附带 README
文档风格
- 使用正确的 YAML 语法(而非 JSON 风格)
- 包含完整、可运行的示例
- 交叉引用相关文档
- 为 UI 功能添加截图
Pull Request 指南
提交前
- 本地测试通过(
pytest) - 代码遵循项目风格
- 文档已更新
- 提交消息清晰
- 分支与 main 保持同步
PR 描述
包含:
- PR 做了什么
- 为什么需要这个更改
- 如何测试这些更改
- UI 更改的截图
开发路线图
当前开发优先级:
- 增强 UI/UX 改进
- 额外的标注模式类型
- 更好的 AI 集成选项
- 性能优化
- 文档改进
获取帮助
- 文档:Potato 文档
- Issues:GitHub Issues
- 讨论:GitHub Discussions
行为准则
请在所有互动中保持尊重和建设性。我们都在为改善 Potato 而努力。
许可证
通过为 Potato 做贡献,你同意你的贡献将按照项目现有许可证进行授权。
感谢你为 Potato 做贡献!
有关更多详情,请参阅源代码文档。