仓库初始化与开发治理
目标:创建 Monorepo、统一脚本、架构目录和后续 Codex 可遵守的工程规则。
实现要求与验收
实现要求
- 建立 apps/desktop 与 packages 目录,但只创建最小占位包。
- 配置 TypeScript strict、ESLint、Prettier、Vitest、统一路径别名和 Node engines。
- 创建 AGENTS.md,写入依赖方向、任务边界、测试要求和禁止事项。
- 创建 docs/architecture/overview.md 与 ADR 模板。
- 根脚本至少包含 dev、build、lint、typecheck、test、test:e2e、db:migrate。
- 增加 .env.example、.gitignore 和禁止提交模型、数据库、密钥的规则。
验收
- pnpm install 成功。
- 空包均通过 typecheck。
- AGENTS.md 足以让后续 Codex 不需要重新解释全局规则。
- 没有业务实现、数据库驱动或 UI 框架之外的额外依赖。
用户资源:需要用户确认应用代号;未提供时使用 digital-partner,appId 使用 com.example.digitalpartner。
Codex 提示词
你正在开发“AI 数字伙伴”Windows 桌面应用。开始前必须阅读仓库根目录的 AGENTS.md、README.md、docs/architecture/ 和 docs/adr/。
全局架构约束:
1. 使用 pnpm workspace、Electron、React、TypeScript strict,采用模块化单体。
2. 依赖方向必须为 Renderer → Application → Domain;Infrastructure 只能实现 Port,Domain 不得导入 Electron、SQLite、HTTP、Ollama SDK、文件系统或 UI。
3. Electron 必须启用 contextIsolation,关闭 nodeIntegration;Renderer 只能调用 preload 暴露的白名单 Typed IPC。
4. 模型只能产生候选、摘要、回复和建议,不能直接修改正式记忆、目标状态、人格配置、权限或执行高风险工具。
5. 数据变更必须经过 Application Use Case;关键状态变化写入审计事件。
6. 不引入微服务、Web 服务、消息队列、Python Sidecar、图数据库、插件市场、Live2D 或语音能力,除非当前任务明确要求。
7. 不做无关重构,不修改任务范围外模块的公共接口;确有必要时先在最终说明中列出原因。
8. 所有外部输入、模型结构化输出、IPC 参数和配置必须使用 Zod 校验。
9. 新增行为必须有测试;提交前运行 lint、typecheck、unit test,以及本任务指定的验证命令。
10. Windows 11 必须可运行;路径处理不得假设 POSIX。
11. 不隐藏错误,不用空 catch,不使用 any 规避类型问题,不提交密钥、真实隐私数据或大型模型文件。
12. 任务完成后输出:变更摘要、关键设计、修改文件、验证结果、遗留风险、建议合并顺序。
当前任务:
- 阶段:阶段 0:工程骨架与架构护栏
- 任务编号:T00
- 任务名称:仓库初始化与开发治理
- 建议分支:feat/00-project-foundation
- 前置依赖:无,首个任务
- 并行说明:不可并行,必须最先完成
- 文件所有权:根目录、pnpm-workspace.yaml、package.json、tsconfig、AGENTS.md、docs/
目标:
创建 Monorepo、统一脚本、架构目录和后续 Codex 可遵守的工程规则。
实现要求:
1. 建立 apps/desktop 与 packages 目录,但只创建最小占位包。
2. 配置 TypeScript strict、ESLint、Prettier、Vitest、统一路径别名和 Node engines。
3. 创建 AGENTS.md,写入依赖方向、任务边界、测试要求和禁止事项。
4. 创建 docs/architecture/overview.md 与 ADR 模板。
5. 根脚本至少包含 dev、build、lint、typecheck、test、test:e2e、db:migrate。
6. 增加 .env.example、.gitignore 和禁止提交模型、数据库、密钥的规则。
用户资源:
需要用户确认应用代号;未提供时使用 digital-partner,appId 使用 com.example.digitalpartner。
禁止事项:
不要修改任务所有权之外的模块;不要提前实现后续阶段功能。
验收清单:
- [ ] pnpm install 成功。
- [ ] 空包均通过 typecheck。
- [ ] AGENTS.md 足以让后续 Codex 不需要重新解释全局规则。
- [ ] 没有业务实现、数据库驱动或 UI 框架之外的额外依赖。
验证命令:
corepack enable
pnpm install
pnpm lint
pnpm typecheck
pnpm test
执行步骤:
1. 先检查当前分支、工作区状态和前置接口是否存在;不要假设未合并代码已经存在。
2. 先写或更新测试,再实现最小满足需求的代码。
3. 对公共接口变更进行影响搜索;保持向后兼容,除非本任务明确要求冻结新接口。
4. 完成后运行所有验证命令,修复失败,不得用跳过测试或放宽类型规则规避。
5. 最终回复必须包含:变更摘要、关键设计取舍、修改文件、测试结果、未完成项、风险、建议合并顺序。