|
| 1 | +# LiveAgent 贡献指南 |
| 2 | + |
| 3 | +感谢你对 LiveAgent 的关注!为了让协作高效、降低审核成本,本项目对 issue 与 PR 有明确的流程要求。**不符合流程的 PR 会被自动转为 draft**,补齐后再点击 "Ready for review" 即可重新触发检查。 |
| 4 | + |
| 5 | +## 核心流程:先 Issue,后 PR |
| 6 | + |
| 7 | +1. **先提 issue**:无论缺陷还是新功能,先用对应的 issue 模板提交,写清需求说明 / 复现步骤。 |
| 8 | +2. **等待确认**:功能类提案请等维护者确认方向后再动手,避免白做。 |
| 9 | +3. **再提 PR**:PR 正文必须用 `Closes #123` / `Fixes #123` 关联对应 issue。 |
| 10 | +4. 内部维护者的日常开发同样遵守"PR 关联 issue"——差别只是可以自己先补一个简要 issue 再提 PR。 |
| 11 | + |
| 12 | +不允许无 issue 直接提 PR。琐碎修复(错别字、注释、明显笔误)可在 PR 说明中注明豁免理由,由维护者判断。 |
| 13 | + |
| 14 | +## PR 硬性要求(自动检查) |
| 15 | + |
| 16 | +以下任一不满足,PR 会被自动转为 draft 并附检查报告: |
| 17 | + |
| 18 | +| 检查项 | 要求 | |
| 19 | +| --- |----------------------------------------------------------------------------------------------------| |
| 20 | +| 关联 issue | 正文包含 `Closes #N` / `Fixes #N` / `Resolves #N` | |
| 21 | +| 截图 / 预览 | UI 改动必须附截图或录屏(强制);后端 / CLI 改动附请求响应示例或运行日志等文字材料即可,由人工审核把关 | |
| 22 | +| 无合并冲突 | 与目标分支冲突时请先在自己的分支解决(merge 或 rebase 基线),维护者不代为解冲突 | |
| 23 | + |
| 24 | +被转为 draft 后:按报告补齐 → 点击 **Ready for review** → 重新检查。 |
| 25 | + |
| 26 | +## PR 内容要求 |
| 27 | + |
| 28 | +- **保持聚焦**:一个 PR 只做一件事,不混入无关重构或格式化。 |
| 29 | +- **写清改动范围**:按模板列出涉及模块与关键路径(`agent-gui` / `agent-gateway` / `src-tauri`),降低审核复杂度,也便于 AI review。 |
| 30 | +- **通过 CI**:提交前在本地跑对应模块的检查: |
| 31 | + - Gateway(Go):`cd crates/agent-gateway && go test ./...`,proto 变更需 `make proto-check` |
| 32 | + - GUI 前端:`cd crates/agent-gui && pnpm build && pnpm lint && pnpm test:frontend` |
| 33 | + - Tauri(Rust):`cargo check --manifest-path crates/agent-gui/src-tauri/Cargo.toml --tests` |
| 34 | + - Gateway WebUI:`cd crates/agent-gateway/web && pnpm build && pnpm lint && pnpm test` |
| 35 | +- **不提交敏感信息**:API Key、token、个人数据、`.env`、本地配置一律不入库。 |
| 36 | +- **同步文档与注释**:影响用户行为、部署或配置的变更,同步更新文档;修改代码后同步修改受影响的注释。 |
| 37 | + |
| 38 | +## Issue 要求 |
| 39 | + |
| 40 | +- Bug 报告:提供版本、环境、最小复现步骤、预期与实际行为。 |
| 41 | +- 需求提案:写清要解决的问题与期望方案——**需求说明是必填项**,只有一句"希望支持 XXX"的 issue 会被要求补充。 |
| 42 | +- 安全漏洞:**不要**发公开 issue,请通过 [Security Advisories](https://github.com/Stack-Cairn/LiveAgent/security/advisories/new) 私下报告。 |
| 43 | + |
| 44 | +## 许可 |
| 45 | + |
| 46 | +提交贡献即表示你同意你的代码以本仓库的 [MIT License](../LICENSE) 发布。 |
0 commit comments