docs: 初始化仓库,加入需求、开发说明和任务拆分
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
---
|
||||
description: NixMsg 多 Agent 开发的分工、分支提交和测试隔离约束
|
||||
alwaysApply: true
|
||||
---
|
||||
|
||||
# NixMsg 开发协作
|
||||
|
||||
开工前先读 `docs/TASKS.md`,确认自己是哪条线、做哪个任务。产品行为以 `docs/PRD.md` 为准,实现以 `docs/DEVELOPMENT.md` 为准,库用法特别看它的第 5 节和第 15 节。
|
||||
|
||||
## 分工
|
||||
|
||||
- 只改自己线负责的目录(TASKS.md 第 5 节);要动共享文件,按 TASKS.md 第 4.2 节的规则。
|
||||
- 文档没写清或互相矛盾时,停下来问总控,不要自己改产品行为。实现和文档不一致,必须写进 `docs/DEVIATIONS.md` 自己那一节。
|
||||
|
||||
## 分支与提交
|
||||
|
||||
- 在自己的工作树和 `feat/<任务号>-<简述>` 分支上工作,不直接改 `main`;只有总控合并 `main`。
|
||||
- 一功能一验证一提交:补测试 → `task check` 通过 → 提交 → 推送自己的分支。
|
||||
- 提交信息 `type: 中文一句话`,type 取 feat、fix、refactor、style、docs、test、chore、revert。
|
||||
- 不提交构建产物、`web/dist`、数据库文件、证书私钥、密码和令牌、`aidocs/`。
|
||||
- 任务完成:rebase 到 `origin/main`,全部验证通过后推送,在 MemRelay 存标签为 `ready-to-merge` 的检查点。
|
||||
- rebase 后用 `git push --force-with-lease` 更新自己的 `feat/*`、`fix/*` 分支(负责人已同意);任何时候都不许强推 `main`。
|
||||
|
||||
## 测试隔离
|
||||
|
||||
- 测试里的服务监听随机端口(`:0`),数据放临时目录,不写死 7443。
|
||||
- Docker 容器、网络、卷的名字带线名前缀,用完删除。
|
||||
- 不改全局 git 配置、系统环境变量和全局 npm 配置。
|
||||
|
||||
## 技术栈
|
||||
|
||||
- 后端:Go 标准库 `net/http`、`database/sql` 手写 SQL、SQLite;不引入 Web 框架、ORM、Redis。
|
||||
- 前端:Vue 3 + TypeScript + Naive UI,只用这一套组件库。
|
||||
- 缺工具用 scoop 安装;已确认的决定和依赖库核对结论在 MemRelay 项目记忆(项目 NixMsg)里。
|
||||
|
||||
```yaml
|
||||
# ✅ 测试用的配置:随机端口,数据放临时目录
|
||||
listen: "127.0.0.1:0"
|
||||
data_dir: "<临时目录>/data"
|
||||
# ❌ 写死 listen: ":7443",多个 Agent 同时跑会端口冲突
|
||||
```
|
||||
Reference in New Issue
Block a user