分支与开发工作流
面向参与 Serpent 开发的贡献者与维护者。解释仓库长期分支架构、外部贡献流程以及内部维护者工作规范。
1. 分支定位:main 与 dev
| 分支 | 定位 | 包含内容 | 访问与发布 |
|---|---|---|---|
main | 发布基线与公开分支 | 稳定代码、自动化测试、运行时资源、公开文档(含 docs/developer/)及构建配置 | 外部默认分支、对外打包与 Release 基线 |
dev | 日常开发集成分支 | main 的全部内容,加上内部协作工单(.beads/)、开发日志与切片设计(docs/internal/) | 功能开发与 PR 合流的目标分支 |
main的目标是“拿来发布、稳定可用、公开透明”,随发布交付给用户与开源社区;dev的目标是“支撑活跃开发、追踪过程证据”,承载日常演进;- 外部贡献者发起 Pull Request 时,目标分支一律选择
dev。
2. 外部贡献者工作流(GitHub 社区协作)
外部开发者参与 Serpent 开发的推荐流程如下:
2.1 准备工作
- 在 GitHub 上 Fork dolag233/Serpent 仓库;
- 将 Fork 后的仓库克隆到本地开发环境(请勿放置在 SMB/NAS 网络挂载路径):
git clone https://github.com/<你的用户名>/Serpent.gitcd Serpent
- 按照环境搭建指南配置 Node.js 24 与依赖:
npm ci --registry=https://registry.npmjs.orgnpm run rebuild:native
- 检出最新的
dev分支并创建你的特性或修复分支:git checkout devgit pull origin devgit checkout -b feature/my-feature-name
2.2 开发与本地门禁
在修改代码时,请遵守以下工程原则:
- 类型安全与代码风格:提交前必须通过静态类型检查与 ESLint 校验:
npm run typechecknpm run lint
- 测试覆盖:
- 纯逻辑修改添加单元测试至
tests/unit/; - 涉及 Worker、SQLite 数据存储的修改添加测试至
tests/worker/; - 运行定向测试验证改动:
npm run test:unit -- tests/unit/<你的测试文件>.test.ts
- 纯逻辑修改添加单元测试至