← Files BranchaARCHIVED FILE
CONTRIBUTING.md
2.25 KB · Oct 2, 2026 · 00:29 UTC
# 参与贡献 感谢你改进 Brancha。提交代码前,请先在 Issue 中说明较大的功能或架构调整;小型修复可以直接提交 Pull Request。 ## 开发环境 - Node.js 22.5 或更新版本 - npm(使用仓库中的 `package-lock.json`) ```bash git clone https://github.com/Sider-ai/brancha.git cd brancha/skills/brancha/app npm ci npm run dev ``` 开发模式下,后端监听 `http://127.0.0.1:9519`,Vite 前端位于 `http://127.0.0.1:5173`。如果已启动发布版 Brancha,请先在插件根目录执行 `node skills/brancha/scripts/brancha.mjs stop`。 ## 提交前检查 ```bash cd skills/brancha/app npm run check git diff --exit-code -- dist ``` `app/dist/` 是 Skill 用户无需安装依赖即可运行的发布产物,因此源码变化必须同时提交重新构建后的产物。不要提交数据库、日志、运行状态、API Key 或其他个人数据。 运行时依赖变化还必须更新 `THIRD_PARTY_NOTICES.md`;`npm run check` 会验证锁定版本、许可证和告知文件保持一致。 ## 设计约束 - Brancha 不内置模型,不接收或保存 Agent 服务的 API Key。 - 后端路由使用路径模板,不在业务代码中添加路由正则。 - 删除废弃实现,不保留无明确期限的兼容层。 - 大型作品内容通过文件或 stdin 进入 CLI。 - SQLite 保存统一节点的标题、正文、顺序和 artifact 元数据;HTML、Markdown、SVG 和媒体位于数据目录的 `artifacts/`。 - Artifact 使用稳定的 `<project-id>/<node-id>.<ext>` 路径,并允许 Agent 像源码一样直接编辑。 - CLI、HTTP API、直接 SQLite 和直接文件编辑都是一等接口;不要把便利层变成能力限制。 - 写请求失败后先读取当前树再决定是否重试;所有覆盖更新应支持乐观并发。 - 作品预览必须保持沙箱与 CSP 隔离,不能放宽为同源脚本环境。 新增行为需要测试。修复缺陷时,优先加入能够复现问题的回归测试。 ## Pull Request 请保持一次 PR 只解决一个主题,并在描述中写明: - 用户可见的变化 - 设计选择及安全影响 - 已执行的验证命令 - 是否更新了 `app/dist/` 和文档 安全漏洞不要提交公开 Issue 或 PR,请遵循 [SECURITY.md](SECURITY.md)。
SHA-256: 8b60b2116a0fbdf9261179f4e42c0884f9be2781f5c01ce910928384c43af429