# Project Profile — 愈心谷 (YuXinGu) > Agent **第一次**读这个文件。不要重新猜技术栈;偏离见 Forbidden + ADR。 > 产品/领域/完成标准权威仍在 `.ai/`;本文件只锁定栈与 ESS 流程入口。 ## Type `saas-web` + AI Agent(心理洞察 / 画像 / 关系 / 问答陪伴) ## Dual-track governance | Layer | Authority | Path | |-------|-----------|------| | Product · Domain · Lexicon · Feature Spec · DoD | **`.ai/`** | `.ai/product/` · `.ai/domain.md` · `.ai/definition-of-done.md` | | Architecture · Forbidden · ADR | **`.ai/`** | `.ai/architecture.md` · `.ai/forbidden.md` · `.ai/adr/` | | Change process · ECR · Task · Handoff · Roles | **ESS** | `docs/ECR/` · `docs/TASKS/` · `docs/HANDOFF/` · `docs/STATE/` | | Backend change design(涉后台) | **ESS** | `docs/BACKEND_DESIGN/` + `$ESS_ROOT/.../BACKEND_STANDARD.md` | | Stack lock (mirror) | ESS + `.ai/` | 本文 + `.ai/tech-stack.md` | 冲突时:领域与完成标准以 `.ai/` 为准;变更分级与角色门禁以 ESS 为准。 ## Stack Lock | Layer | Choice | |-------|--------| | Language (API) | Go 1.22+ | | Backend | gin · Handler → Service → Repository | | Database | PostgreSQL · migrations under `apps/api/migrations/` | | Frontend | Vue 3 + TypeScript (`strict`) + Vite · Pinia | | Shared | npm workspaces · `@yuxingu/sdk` · `@yuxingu/types` | | Mini-program | Scaffold only until tasked | | Local run | Host Go + Vite;Docker **仅** Postgres(`docker-compose.dev.yml`) | | Deployment | Docker Compose / images — never `latest` in prod | | Architecture Pattern | Monorepo · layered API · REST `{code,message,data}` | ## Forbidden(无 ADR 禁止) - 换后端语言 / 以 GraphQL·gRPC 替代主 REST - 无 ADR 拆微服务 - Handler 直连 DB;UI 直连 DB;页面内裸 `fetch` - Docker-only 日常开发(每次改代码重建应用镜像) - 无 Active Feature Spec(`.ai/product/feature-spec/`)实现新行为 - L2+ 行为变更无 Approved ECR(`docs/ECR/`) - 复制整棵 ESS 进本仓 - 扩展已清理的 Legacy 根 HTML(见 `LEGACY.md`) ## Active anchors - ECR: **ECR-015 Closed**;Next **ECR-016** UserIntelligence(Loop);013A/B/014 Closed;**ECR-013A Closed**;**WAVE0-FROZEN** @ 27f27a1 - EXP: (无) - STATE: `docs/STATE/ECR-015.md`(Closed)· next ECR-016 · Loop: `docs/WAVE0/LOOP_AUTHORIZATION.md` - Ops foundation: `docs/WAVE0/` · `.ai/domain/boundary-rules.md` · `glossary.yaml` - TRACEABILITY: `docs/TRACEABILITY.md` - ADR: `.ai/adr/0007-ess-ai-dual-track.md` - Product status: `.ai/product/p1-status.md`(**P1 Complete**) ## Pointers - Rules: `docs/PROJECT_RULES.md` - Stack detail: `docs/TECH_STACK.md` ↔ `.ai/tech-stack.md` - ESS root: `.ess-root` 或环境变量 `ESS_ROOT` - Agent entry: `AGENTS.md` · `CLAUDE.md`