# AGENTS.md — AI System Entry You are the software engineer for **愈心谷 (YuXinGu)**. This file is for AI agents. ## 0. ESS Intake Bootstrap(任何改码任务最先做) 读 `$ESS_ROOT/governance/SESSION_BOOTSTRAP.md`,**先输出 ESS Mode 块**,再改文件或扩 Scope。 ```text ESS Mode: L0 | L1 | L2 | L2-BLOCKED | L3 | RETRO Change: ECR: Phase: Execution Context: Allowed: <...> Forbidden: <...> Action: CONTINUE | STOP Reason: <...> ``` - `Action: STOP` 或 `L2-BLOCKED` → **禁止**改 `apps/` / `packages/` / `proto/` / `migrations/` - 本仓 `ess_intake: strict`(见 `docs/PROJECT_RULES.md`):Retro ECR 须四字段;新主题 OUT OF SCOPE - Solo multi-role 允许同 Session 串行换 Phase;**同一 review turn 禁止 Approve + Modify** ## Load order (every task) 1. **§0 ESS Mode 块**(上)→ `docs/PROJECT_PROFILE.md` · `docs/PROJECT_RULES.md` 2. `.ai/ai-contract.md` 3. `.ai/constitution.md` 4. `.ai/architecture.md` 5. `.ai/domain.md` (+ product/API tasks: `domain/domain-map.md`) 6. `.ai/forbidden.md` 7. `.ai/definition-of-done.md` — **完成标准(强制)**;Done ≠ build 通过 8. `.ai/environment.md` + `.ai/development.md`(本地)· 部署任务再读 `deployment.md` / `docker.md` 9. `.ai/file-map.md` + `.ai/workflow.md` 10. Task rules: `.ai/coding.md` / `api.md` / `database.md` / `ui.md` / `security.md` / `testing.md` … 11. **Product scope:** `.ai/product/lexicon.md` + `feature-map.md` + **`feature-design.md`** + 对应 **`feature-spec/.md`** + `user-journey.md` + `page-tree.md` · 状态 `product/p1-status.md` 12. **Competitor parity / reverse engineering:** `.ai/design/reverse-engineering-spec.md`(强制 STEP 1–18 · Evidence First · 禁止 Demo 式省略)→ 再映射 lexicon / feature-spec 13. **Any UI work:** `.ai/design/design-system.md` + `component-catalog.md` + matching `design/platform/*.md` (H5 default) 14. Matching **ADR** in `.ai/adr/` before changing stack or API style 15. Prefer **patterns/** + **examples/** + **playbooks/**(含 `feature-spec`) over inventing structure 16. Before claiming Done: `.ai/definition-of-done.md` + `.ai/review.md` + `.ai/checklists/*` → 输出 **Review Report** 17. Verify via `.ai/commands.md`(本地默认本机 Go/Vite + compose.dev 仅 DB) 18. `prompts/` are optional helpers — not a substitute for rules above 19. **ESS process (L2+ / architecture / release):** `$ESS_ROOT/SKILL.md` · `SESSION_BOOTSTRAP` · role from `$ESS_ROOT/agents/` → `docs/ECR/` · `docs/TASKS/` · `docs/HANDOFF/`;勿把 ESS 整树复制进仓 ## ESS dual-track | Concern | Source of truth | |---------|-----------------| | Lexicon · Feature Spec · DoD · domain · architecture freeze | `.ai/` | | Intake Mode · Roles · ECR · Task · Handoff · validate | ESS + `docs/` | ```text Load Agent Profile: ARCHITECT | ENGINEER | REVIEWER | RELEASE_MANAGER ``` - Cursor Session 可 Solo 串行三角色;**当前 Phase 权限唯一** - ARCHITECT / REVIEWER phase:禁改生产实现;REVIEWER 禁 Approve+Modify 同 turn - Engineer:Active Feature Spec +(L2+)Approved ECR + HANDOFF;无 ECR → `L2-BLOCKED` - `python scripts/ess-validate.py --phase --ecr ECR-xxx` ## Hard constraints - Never violate architecture or Accepted ADRs. - Never invent APIs, DB tables, or domain synonyms. - Never guess requirements — **ASK FIRST**. - **Never** implement new feature behavior or expand an existing feature without an Active `product/feature-spec/.md`(见 `product/feature-design.md`)。无 Spec 时只许明确 bugfix,或先写/补 Spec。 - Never modify files outside the current task. - New code only under `apps/` and `packages/` (unless legacy migration task). - One concern per change set. Function ≤50 lines. File ≤400 lines. - **Never** say「完成 / P1 Complete」unless DoD PASS;use labels: Demo | Feature Complete | P1 Complete. - Print **Review Report**(见 `definition-of-done.md` §7)when a coding task finishes. - **Never** make Docker-only local coding the default (see `.ai/environment.md`). ## Cursor `.cursor/` is an Agent Runtime view of this system via symlinks. Edit `.ai/` only. ## Growth Do not invent Phase 2/3 folders (graph/mcp/skills/anti-patterns/…) unless `ROADMAP.md` says so and the task asks. Prefer improving patterns/examples/playbooks. ## Product one-liner 档案 → 性格探索/个人画像 → 关系理解 → 问答陪伴 → 会员/深度版 →(后)顾问。 语言契约:`.ai/product/lexicon.md`。 对标竞品:按 `design/reverse-engineering-spec.md` 做完整逆向;落地用愈心谷命名,不用竞品品牌词与恐吓话术。