🤖AI-generated documentation☐ curatedAI Generated
This page was drafted by an AI assistant and may contain inaccuracies.More info about content generation types ↗
About content generation types
🤖
AI Generated — Page drafted entirely by AI from codebase or prompt instructions.
(e.g., docs generated from codebase analysis)
← this page(e.g., docs generated from codebase analysis)
✋→🤖
AI Transformatted — Human provided raw material; AI restructured it into a different format.
(e.g., livestream → blog post, meeting notes → docs)
(e.g., livestream → blog post, meeting notes → docs)
✋
Human Generated — Page written entirely by a human author.
(e.g., hand-written tutorial)
(e.g., hand-written tutorial)
为 SkellyCam 做贡献
我们欢迎您的参与!我们希望让为这个项目做贡献尽可能简单和透明,无论是报告错误、讨论代码现状、提交修复、提出新功能还是成为维护者。
使用 GitHub 进行开发
我们使用 GitHub 托管代码、跟踪问题和功能请求,以及接受拉取请求。
GitHub Flow
我们使用 GitHub Flow,因此所有代码更改都通过拉取请求进行:
- Fork 仓库并从
development创建您的分支。 - 如果您添加了应该测试的代码,请添加测试。
- 如果您更改了 API,请更新文档。
- 确保测试套件通过。
- 确保您的代码通过 lint 检查(
uv run ruff check skellycam/)。 - 提交拉取请求!
许可证
您的任何贡献都将在 AGPL 软件许可证下发布。当您提交代码更改时,您的提交被视为在覆盖该项目的相同 AGPL 许可证下。
报告错误
我们使用 GitHub Issues 跟踪错误。通过创建新 issue 报告错误。
优质的错误报告通常包含:
- 简要总结和/或背景
- 重现步骤(请具体说明!)
- 包含产生问题的 SkellyCam 录制会话的上传 ZIP 文件
- 您期望发生什么
- 实际发生了什么
- 备注(可能包括您认为可能的原因,或您尝试过但无效的方法)
拉取请求指南
- 通过 PR 提交的任何代码都应有测试覆盖
- 这些测试必须在合并前通过 GitHub Actions 工作流
- 任何 UI 更改都应包含一个展示更改后应用运行效果的短视频
编码风格
我们使用 Ruff 进行代码检查。运行 uv run ruff check skellycam/ 检查,运行 uv run ruff check --fix skellycam/ 自动修复。
更多开发工作流的详细信息请参见开发指南。