# Tech Stack — 愈心谷(Project Lock) 权威镜像:`.ai/tech-stack.md`。本文供 ESS Agent 首读;冲突以 `.ai/tech-stack.md` + Accepted ADR 为准。 Global matrix(可选):`$ESS_ROOT/technology-governance/DECISION_MATRIX.md` ## Locked | Layer | Choice | |-------|--------| | Language | Go 1.22+ | | HTTP | gin | | DB | PostgreSQL | | Migrations | `apps/api/migrations/`(启动自动应用) | | Log | structured(zap / slog);业务路径禁止 `fmt.Println` | | Module | `github.com/yuxingu/digital-psychology/apps/api` | | Frontend | Vue 3 + TypeScript `strict` + Vite + vue-router + Pinia | | Shared TS | npm workspaces · `@yuxingu/sdk` · `@yuxingu/types` · `@yuxingu/utils` · `@yuxingu/ui` | | Mini-program | Native WeChat scaffold;同 SDK adapters;不与 H5 共享 Vue SFC | | Local deps | Docker Compose **仅** Postgres(`docker-compose.dev.yml`) | | API health | `/api/v1/healthz` | ## Do not introduce without ADR - 另一后端语言 - GraphQL / gRPC 作为主公网 API - 未约定的 ORM 隐藏 SQL - H5 上 Pinia 以外的新状态库 - Kafka / MongoDB(除非 Profile + ADR 明确允许) - 无 ADR 的微服务拆分 Deviation = L3 + ADR(`.ai/adr/`)+ ECR。