模板填写指南
在填写assets/*.md中的模板占位符时,请遵循这些具体性规则。输出必须像references/example-output/README.md中的示例一样具体。
快速决策表
完整的检测逻辑在decision-matrix.md中。这是用于选择模板的快速参考表:
| Signal | Decision |
|---|---|
workspacesin package.json | Monorepo → generate package dependency rules, shared package rebuild commands |
turbo.json,nx.json,lerna.json | Monorepo tool → adapt commands (turbo run,nx,lerna run) |
nextin deps +app/vspages/ | Next.js Router type → App Router (server components default) vs Pages Router (getServerSideProps) |
@nestjs/core | NestJS backend → module architecture, guards, DTOs |
@trpc/* | tRPC → completely different backend rules than REST |
react-hook-form,formik | Form library → generateforms.md |
next-intl,react-i18next | i18n → generatei18n.md |
prisma,drizzle-orm | ORM → generatedatabase.md |
styled-components,.module.css | Non-Tailwind CSS → generatestyling.mdwith different rules |
next-auth,@clerk/nextjs,lucia | Auth → route protection rules |
@tanstack/react-query,swr | Server state → different state rules than Zustand/Redux |
vitest,jest,playwright | Test runner(s) → generatetesting.mdwith correct commands |
| No TypeScript | JS project → skiptsc, different type safety rules |
占位符填充规则
{{STACK_TABLE}}
每一行必须包含来自package.json的确切版本号。切勿写“latest”或“X.Y.Z”。格式:| Capa | Tecnología | Versión |。包括框架、UI、运行时、ORM、验证、测试、代码规范检查、分析、字体。
{{ARCHITECTURE_DIAGRAM}}
使用项目中的实际目录名称来制作 ASCII 艺术。显示真实的连接——哪个文件导入了哪个文件。不要使用标有“Component”或“Service”的框。对于单体仓库,显示包依赖箭头。对于单个应用,显示 app/ → components/ lib/ → 外部服务。
{{DATA_FLOW}}
带编号的步骤,使用真实函数名:detectPlatform()而不是 “validate input”;ttdl(url)而不是 “call API”。显示完整链条:用户操作 → 前端 → 后端/服务器操作 → 外部库/数据库 → 响应 → UI 更新。步骤之间使用 ASCII 箭头。
{{ROUTING_TABLE}}
在app/或pages/中找到的每个路由文件。包括:路由路径、类型(服务器/客户端/API)、文件路径,以及项目 UI 语言中的一行用途说明。检查内容:page.tsx、layout.tsx、route.ts、error.tsx、loading.tsx、not-found.tsx、sitemap.ts、robots.ts、API 路由、动态路由。
{{ESSENTIAL_COMMANDS}}
仅限那些script key 存在于package.json中的命令。使用{pm} run <key>或{pm} <key>格式匹配包管理器。如果某个脚本缺失,则省略该行 —— 不要编造命令。核心行:dev、build、lint、test、test:run、test:coverage,以及如果存在则包括质量工具(doctor/lint-staged)。
{{TEST_COUNT}}
统计所有测试文件中实际的test()/it()调用次数。报告实际数字,例如"N tests"。如果无法准确统计,则报告测试文件数量:"N test files"。
还请报告:测试运行器版本、环境(node/jsdom)、覆盖率提供者和目标、严格TDD模式(是/否)。
{{COMMIT_EXAMPLES}}
使用来自项目最近 git 历史的真实文件名或功能名的 2-3 个示例。如果可用,请阅读git log --oneline -5以获取真实示例。格式:类型: 消息,每行一个。
{{VERIFICATION_CYCLE}}
从已验证的命令组装:{typecheck} → {lint} → {test} → {doctor}。仅包含工具存在的步骤。使用 package.json 中的确切命令格式。
{{GLOBAL_CONVENTIONS}}
列出5-8个项目特定的约定。每一个都必须可以通过配置文件验证,而不是通用建议。例如:
- ✅ “始终使用 Bun。不要使用 npm 或 yarn。”(从 bun.lock 检测到)
- ✅ “没有外部验证库 — TypeScript 类型手动守卫。”(依赖中没有 Zod)
- ❌ “使用 TypeScript 的良好实践。”(通用的,不可验证的)
- ❌ “干净且有文档的代码。”(通用,不可验证)