Skip to content

贡献指南

如何为 Potato 标注工具做出贡献。

为 Potato 做贡献

Potato 是完全开源的,欢迎社区贡献。本指南介绍如何有效地参与贡献。

入门

前提条件

  • Python 3.8+
  • Git
  • GitHub 账户

设置开发环境

  1. 在 GitHub 上 Fork 仓库

  2. 克隆你的 Fork

    bash
    git clone https://github.com/YOUR_USERNAME/potato.git
    cd potato
  3. 安装依赖

    bash
    pip install -r requirements.txt
    pip install -r requirements-test.txt  # For running tests
  4. 运行测试确保一切正常:

    bash
    pytest

贡献方式

报告 Bug

发现了 Bug?提交 Issue,需包含:

  • 清晰、描述性的标题
  • 重现问题的步骤
  • 预期行为与实际行为
  • 你的环境信息(Python 版本、操作系统、浏览器等)
  • 可用的错误消息或日志

建议新功能

有改进的想法?提交功能请求,描述:

  • 你想要解决的问题
  • 你提议的解决方案
  • 为什么这对其他用户有益

提交代码

  1. 为你的更改创建分支

    bash
    git checkout -b feature/your-feature-name
  2. 进行更改,遵循编码规范

  3. 为新功能编写测试

  4. 运行测试套件

    bash
    pytest tests/unit/ -v      # Fast unit tests
    pytest tests/server/ -v    # Integration tests
  5. 提交更改并附上描述性消息:

    bash
    git commit -m "Add feature: brief description of changes"
  6. 推送到你的 Fork

    bash
    git push origin feature/your-feature-name
  7. 在 GitHub 上创建 Pull Request

编码规范

Python 风格

  • 遵循 PEP 8 风格指南
  • 使用有意义的变量和函数名
  • 为公共函数和类添加文档字符串
  • 保持函数专注且大小适当

文档

添加或修改功能时:

  1. 更新 docs/ 目录中的相关文档
  2. 添加或更新 project-hub/simple_examples/ 中的示例配置
  3. 为复杂逻辑添加行内注释

测试

  • 为新功能和 Bug 修复编写测试
  • 将单元测试放在 tests/unit/
  • 将集成测试放在 tests/server/
  • 确保提交 PR 前所有测试通过

文档指南

每个主要功能应包含:

  1. 管理员文档docs/):

    • 配置选项和默认值
    • YAML 示例
    • 故障排除提示
  2. 示例项目project-hub/simple_examples/):

    • 可运行的配置文件
    • 示例数据文件
    • 如果复杂则附带 README

文档风格

  • 使用正确的 YAML 语法(而非 JSON 风格)
  • 包含完整、可运行的示例
  • 交叉引用相关文档
  • 为 UI 功能添加截图

Pull Request 指南

提交前

  • 本地测试通过(pytest
  • 代码遵循项目风格
  • 文档已更新
  • 提交消息清晰
  • 分支与 main 保持同步

PR 描述

包含:

  • PR 做了什么
  • 为什么需要这个更改
  • 如何测试这些更改
  • UI 更改的截图

开发路线图

当前开发优先级:

  1. 增强 UI/UX 改进
  2. 额外的标注模式类型
  3. 更好的 AI 集成选项
  4. 性能优化
  5. 文档改进

获取帮助

行为准则

请在所有互动中保持尊重和建设性。我们都在为改善 Potato 而努力。

许可证

通过为 Potato 做贡献,你同意你的贡献将按照项目现有许可证进行授权。


感谢你为 Potato 做贡献!

有关更多详情,请参阅源代码文档