Files
sproutclaw/CONTRIBUTING.md
shumengya 812bca79a3
Some checks failed
CI / build-check-test (push) Has been cancelled
docs: 将 CONTRIBUTING.md 和 SECURITY.md 翻译为中文
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-21 20:49:18 +08:00

98 lines
4.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 贡献指南
本指南旨在为双方节省时间。
## 设计理念
首先明确一点:**SproutClaw 的核心保持精简**。
如果你的功能不属于核心,它应该以扩展的形式实现。会让核心臃肿的 PR 大概率会被拒绝。
SproutClaw 的核心存在的意义在于精简且可扩展,以便扩展能够影响和定制其行为。即便是扩展的 hook 点也需要经过充分考量和讨论,避免引入难以维护的冗余代码和复杂交互。
## 唯一准则
**你必须理解自己提交的代码。** 如果你无法解释你的改动做了什么、以及它与系统其他部分如何交互,你的 PR 将被关闭。
使用 AI 辅助编写代码没有问题,但在不理解代码的情况下直接提交 AI 生成的内容是不被接受的。
如果你使用 Agent请在 `sproutclaw` 根目录运行,这样它会自动读取 `AGENTS.md`。你的 Agent 必须遵循该文件中的规则和指南。
## 贡献门槛
来自新贡献者的 issue 和 PR 默认会被自动关闭。
周五至周日提交的 issue 不保证会被审查。如有紧急问题,请在内部联系维护者。
维护者会每日审查被自动关闭的 issue并重新开放值得处理的内容。不符合以下质量标准的 issue 将不会被重新开放或收到回复。
审批通过由维护者在 issue 中回复:
- `lgtmi`:你未来提交的 issue 将不再被自动关闭
- `lgtm`:你未来提交的 issue 和 PR 将不再被自动关闭
`lgtmi` 不授予提交 PR 的权限,只有 `lgtm` 才授予该权限。
## Issue 质量标准
提交 issue 时,必须使用两个 GitHub issue 模板之一。
提交的 issue 应简洁、具体、有阅读价值:
- 保持简短。如果超过一屏,就太长了。
- 用自己的语言表达(不要用 LLM 生成文本;如果必须,请在后续评论中明确标注为 AI 生成)。
- 清晰说明 bug 或需求。
- 解释其重要性。
- 如果你希望自己来实现,请说明。
如果 issue 真实且表述良好,维护者可能会重新开放、回复 `lgtmi` 或回复 `lgtm`
## 封禁规则
如果你两次无视本文档,或通过 Agent 批量刷 issue你的账号将被永久封禁。
如果你通过自动化手段大量提交 issue你的账号将被永久封禁且不可申诉。
## 提交 PR 前
未获得 `lgtm` 批准前,请勿提交 PR。
提交 PR 前,请先执行:
```bash
npm run check
./test.sh
```
两项均须通过。
不要修改 `CHANGELOG.md`,更新日志条目由维护者添加。
如果你要在 `packages/ai` 中添加新的 provider请参阅 `AGENTS.md` 中关于必要测试的说明。
## 有疑问?
请联系项目维护者。
## 常见问题
### 为什么新 issue 和 PR 会被自动关闭?
SproutClaw 收到的 issue 数量超过维护者能够实时处理的上限。许多报告不符合本指南的质量标准,或者是通过 Agent 随意提交而未经本人审查和整理的。自动关闭机制让维护者可以按自己的节奏审查,并重新开放符合质量要求的 issue。
### 为什么周末的 issue 优先级较低?
维护者在工作时间处理 issue。周末可能积累更多未处理内容周五至周日提交的 issue 可能在周一审查时被遗漏或优先级降低。如有紧急问题,请直接联系维护者并附上简要描述、复现步骤和相关日志。
### 为什么有些 issue 没有收到回复?
回复本身也是一种维护成本。低质量 issue、表述不清的报告、重复 issue 以及不遵循本指南的 issue 可能被直接关闭而不作说明。这样可以将时间留给可复现的 bug、深思熟虑的需求以及真正用心整理报告的贡献者。
### 为什么不用 AI 来做所有分类工作?
AI 可以帮助归纳重复内容、汇总报告、发现缺失信息,但不被信任来做最终的维护决策。经过润色的 AI 生成 issue 仍然可能是错误的、有误导性的,或需要大量时间排查。人工审查始终是最终把关环节。
### 这对贡献者是否过于苛刻?
不是。这是防止维护者精力耗尽和 issue 刷屏的保护机制。简洁、具体、可复现的 issue 是受欢迎的,有深度的贡献同样受欢迎。自动化生成的低质量内容、无理取闹以及大量低价值报告则不被接受。