2026-06-22 21:44:11 +08:00
|
|
|
|
# 技术栈(Tech Stack)
|
|
|
|
|
|
|
|
|
|
|
|
> “用什么”的统一速查表。选型与理由在此集中维护;“怎么把它们搭起来”见 [架构设计](04-architecture.md)。
|
|
|
|
|
|
> 未定项必须标为待定,不要让 agent 在代码里自行决定。
|
|
|
|
|
|
|
|
|
|
|
|
## 一、技术栈一览
|
|
|
|
|
|
|
|
|
|
|
|
| 维度 | 选型 | 状态 | 理由 / 说明 |
|
|
|
|
|
|
| --- | --- | --- | --- |
|
|
|
|
|
|
| 前端框架 | 【例如 React / Vue / go-app / 原生】 | 【已定 / 待定】 | 【理由】 |
|
|
|
|
|
|
| UI 样式方案 | 【例如 CSS / Tailwind / 组件库】 | 【已定 / 待定】 | 【理由】 |
|
|
|
|
|
|
| 状态管理 | 【例如框架内置 / Zustand / Redux】 | 【已定 / 待定】 | 【理由】 |
|
|
|
|
|
|
| 后端 | 【例如 Go net/http / FastAPI / NestJS】 | 【已定 / 待定】 | 【理由】 |
|
|
|
|
|
|
| 数据库 | 【例如 SQLite / Postgres / MySQL】 | 【已定 / 待定】 | 【理由】 |
|
|
|
|
|
|
| 鉴权方式 | 【例如 Session Cookie / JWT / 无账号】 | 【已定 / 待定】 | 【理由】 |
|
|
|
|
|
|
| 部署方式 | 【例如单二进制 / Docker / Vercel】 | 【已定 / 待定】 | 【理由】 |
|
|
|
|
|
|
| 测试 | 【例如 go test / pytest / vitest】 | 【已定 / 待定】 | 【理由】 |
|
|
|
|
|
|
|
|
|
|
|
|
## 二、决策记录与演进
|
|
|
|
|
|
|
|
|
|
|
|
- 【选型 1】:现在选择【方案】,因为【理由】。未来在【条件】出现时再评估【替代方案】。
|
|
|
|
|
|
- 【选型 2】:当前不引入【工具 / 框架】,避免【复杂度】。
|
|
|
|
|
|
|
|
|
|
|
|
## 三、构建与运行命令
|
|
|
|
|
|
|
|
|
|
|
|
| 用途 | 命令 |
|
|
|
|
|
|
| --- | --- |
|
|
|
|
|
|
| 安装依赖 | `【命令】` |
|
|
|
|
|
|
| 本地开发 | `【命令】` |
|
|
|
|
|
|
| 构建 | `【命令】` |
|
|
|
|
|
|
| 测试 | `【命令】` |
|
|
|
|
|
|
| 格式化 / 静态检查 | `【命令】` |
|
|
|
|
|
|
|
|
|
|
|
|
Windows PowerShell 如有差异,单独列出:
|
|
|
|
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
|
|
# 示例
|
|
|
|
|
|
npm install
|
|
|
|
|
|
npm run dev
|
|
|
|
|
|
npm test
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2026-07-31 15:37:10 +08:00
|
|
|
|
## 四、验证矩阵与构建产物
|
|
|
|
|
|
|
|
|
|
|
|
项目必须把验证分层写清,任务文件再按改动范围引用对应层级。不要让 agent 自行猜测“相关测试”或“完整验证”分别包含什么。
|
|
|
|
|
|
|
|
|
|
|
|
| 层级 | 触发条件 | 命令 / 操作 | 通过证据 |
|
|
|
|
|
|
| --- | --- | --- | --- |
|
|
|
|
|
|
| 任务相关验证 | 每个任务必跑 | `【受影响模块的测试 / 静态检查 / 构建命令】` | 【退出码、测试数或关键断言】 |
|
|
|
|
|
|
| 完整门禁 | 发布前;修改共享契约、依赖、构建配置或跨模块基础设施时;或任务明确要求时 | `【全量测试 / 全量 lint / 发布构建命令】` | 【退出码、测试数、构建产物】 |
|
|
|
|
|
|
| 人工 / 设备验收 | 自动化无法替代的真机、硬件、外部账号、主观体验或受控环境验收 | `【操作步骤、执行角色、设备 / 环境】` | 【人工结论、截图 / 日志 / 记录位置】 |
|
|
|
|
|
|
|
|
|
|
|
|
- 任务相关验证不能省略;是否触发完整门禁,必须依据上表和任务验收要点判断,不要求所有小改动无差别跑全量。
|
|
|
|
|
|
- 必需的人工 / 设备验收未完成时,任务保持 `DOING` 或标为 `BLOCKED` 并写明等待事项,不得标记 `DONE`。
|
|
|
|
|
|
- 若构建产物需要部署、交接或比较新旧版本,记录产物路径、生成命令和项目选定的指纹(例如 SHA-256);版本号不能单独证明部署的是本次构建。
|
|
|
|
|
|
- 标准启动 / 验证入口仍以根目录 `init.sh` 或 `init.ps1` 为准;本表负责说明不同验证层级何时触发。
|
|
|
|
|
|
|
|
|
|
|
|
## 五、依赖纪律
|
2026-06-22 21:44:11 +08:00
|
|
|
|
|
|
|
|
|
|
- 新增第三方依赖前,先说明用途、替代方案和维护成本。
|
|
|
|
|
|
- 不确定的技术选型先更新本文,再进入代码。
|
|
|
|
|
|
- 不允许同一职责并存两套框架或两套状态管理方案。
|