Commit 82b3eaa90c88c17c6cdc93706bb8b23a4d0b3ef0

Authored by zichun
1 parent c43e7989

templates: move per-section LLM guidance from template comments into the consuming SKILL.md

skills/plan/frontend-scope-lock/templates/fe-scope-template.md
1 -<!--  
2 -fe-scope-template:A6 frontend-scope-lock 的产出骨架。  
3 -本模板被 frontend-scope-lock 填充后写入两处:  
4 - - § 一 ~ § 三(UI 约定 / Design Tokens / 组件库)→ 写入 docs/06-UI交互规范.md(合并进 § 一/§ 二/§ 四 对应小节,不另起文件)  
5 - - § 四(前端栈摘要)→ 写入 docs/04-技术规范.md § 二(前端编码规范)的引用说明  
6 - - § 五(每个 FE-NN 设计决策表)→ 写入 docs/06 § 三 之后,作为 FE 级设计契约  
7 -渲染约定:  
8 -1) 所有 {{占位符}} 必须由 frontend-scope-lock 用「从 prototype + docs/01 + docs/05/06 提炼并经 AskUserQuestion 确认」的真实值替换。  
9 - 不允许留 {{...}} 占位,也不允许留示例值——留占位/示例即视为 A6 未完成。  
10 -2) § 五 的 FE-NN 行数 = docs/08 § 三 推导出的 FE 清单条目数,一 FE 一行。  
11 -3) 渲染后这段 HTML 注释要剥掉,不进入最终文档。  
12 --->  
13 ## 一、项目级 UI 约定 1 ## 一、项目级 UI 约定
14 2
15 > 来源:prototype/*.html 实测 + docs/01 REQ 卡片 UI 描述 + docs/06 已有布局。经用户确认。 3 > 来源:prototype/*.html 实测 + docs/01 REQ 卡片 UI 描述 + docs/06 已有布局。经用户确认。
skills/plan/project-init/templates/docs-08-initial-template.md
@@ -51,26 +51,9 @@ @@ -51,26 +51,9 @@
51 51
52 (A5 填入后,每行一个后端模块。每个模块的 `里程碑:` 字段在 `—` 和 `milestone/<id>` 之间变化,完成由本地 `git tag -l` 判定。`coding-start` 每次按 docs/02 REQ 序扫每模块的里程碑 tag 决定派发。后端模块全部打里程碑后自动进入 § 三 前端阶段。) 52 (A5 填入后,每行一个后端模块。每个模块的 `里程碑:` 字段在 `—` 和 `milestone/<id>` 之间变化,完成由本地 `git tag -l` 判定。`coding-start` 每次按 docs/02 REQ 序扫每模块的里程碑 tag 决定派发。后端模块全部打里程碑后自动进入 § 三 前端阶段。)
53 53
54 -<!-- 模块格式示例(由 A5 downstream-gen 追加;功能子项由 coding.mjs 的 review stage 在 approve 时勾选):  
55 -- module_sys 系统管理  
56 - - 依赖: —  
57 - - 路径: backend/module/sys/  
58 - - 里程碑: —  
59 - - 功能:  
60 - - [ ] REQ-SYS-001 用户登录  
61 - - [ ] REQ-SYS-002 用户注册  
62 --->  
63 -  
64 ## 三、Coding 阶段(前端整体) 54 ## 三、Coding 阶段(前端整体)
65 55
66 (FE 业务功能清单在 Plan 期 A6 `frontend-scope-lock` 由 prototype/ + docs/01 + docs/05 推导后写入下方"功能:"项;Coding 阶段 `coding.mjs` 的 Router 把全部未完成 FE 聚合为单一 `frontend-phase` 阶段,排在所有后端模块之后。整个前端阶段 1 个里程碑 tag,分支 `frontend-phase`。) 56 (FE 业务功能清单在 Plan 期 A6 `frontend-scope-lock` 由 prototype/ + docs/01 + docs/05 推导后写入下方"功能:"项;Coding 阶段 `coding.mjs` 的 Router 把全部未完成 FE 聚合为单一 `frontend-phase` 阶段,排在所有后端模块之后。整个前端阶段 1 个里程碑 tag,分支 `frontend-phase`。)
67 57
68 - 整体里程碑: — 58 - 整体里程碑: —
69 - 功能: 59 - 功能:
70 - <!-- AI 进入时按以下行格式写入(每行 1 个 FE,可关联多个 REQ / 多份原型):  
71 - - [ ] FE-NN 功能名 | 关联 REQ:REQ-A, REQ-B | 关联原型:prototype/<file>.html, prototype/<other>.html  
72 -  
73 - 示例:  
74 - - [ ] FE-01 用户登录与注册 | 关联 REQ:REQ-SYS-001, REQ-SYS-002 | 关联原型:prototype/auth.html  
75 - - [ ] FE-02 仪表盘总览 | 关联 REQ:REQ-DASH-001 | 关联原型:prototype/dashboard.html  
76 - -->  
skills/plan/scope-lock/templates/config-vars-template.yaml
1 -# config-vars.yaml — 项目配置清单  
2 -#  
3 -# 用途:登记「需人工提供 / 确认」的非敏感、项目级配置(根包名、应用端口、前端包名、初始账号等)。  
4 -# YAML 分组,逐项填写与核对一目了然。  
5 -# 规则:命名约定 / 端口约定 / 安全要求统一写在 docs/07-环境配置.md,本文件只放值、不重复写规则。  
6 -# 边界:  
7 -# - 机器 / 环境相关的连接信息(DB_HOST / DB_PORT / DB_USER / DB_SCHEMA 等)→ 仓库根 .env.local,不写在此。  
8 -# - 敏感凭据(密码 / 密钥 / token)→ .env.local;本文件 secrets_ref 只登记键名供核对,绝不写真实值。  
9 -# 填写:A1 scope-lock 按 docs/04 § 零 技术栈推断默认值填入;无对应技术栈的整节删除;无法推断的留 【人工填写:…】(A2 skeleton-gen 补填)。 1 +# config-vars.yaml — non-sensitive project config; rules live in docs/07.
  2 +# Sensitive values go in .env.local; only list key names under secrets_ref.
10 3
11 backend: 4 backend:
12 base_package: 【人工填写:后端根包名 / 命名空间,如 com.acme.erp】 5 base_package: 【人工填写:后端根包名 / 命名空间,如 com.acme.erp】
@@ -20,8 +13,6 @@ admin_init: @@ -20,8 +13,6 @@ admin_init:
20 username: 【人工填写:超级管理员初始账号,如 admin】 13 username: 【人工填写:超级管理员初始账号,如 admin】
21 # 初始密码属敏感 → 见 .env.local 的 ADMIN_INIT_PASSWORD 14 # 初始密码属敏感 → 见 .env.local 的 ADMIN_INIT_PASSWORD
22 15
23 -# 敏感值引用:真实值在 .env.local,此处只登记「键名 + 含义」,供 A2 skeleton-gen 核对 .env.local 是否齐全。  
24 -# 按技术栈增删行(注释行表示可选,按需取消注释)。  
25 secrets_ref: 16 secrets_ref:
26 - DB_PASSWORD # 数据库密码 17 - DB_PASSWORD # 数据库密码
27 - JWT_SECRET # JWT / 令牌签名密钥 18 - JWT_SECRET # JWT / 令牌签名密钥
skills/plan/scope-lock/templates/req-card-template.md
1 <!-- 1 <!--
2 -req-card-template:å•å¼  REQ å¡ç‰‡éª¨æž¶ã€‚æ¯å¼ å¡ç‰‡æ˜¯ docs/01-需求清å•/<module>/REQ-XXX-NNN.md 一个独立文件。  
3 -  
4 -渲染约定:  
5 -1) scope-lock æ¸²æŸ“æ—¶æ›¿æ¢ 6 个å ä½ç¬¦ï¼š{{req_id}} / {{title}} / {{goal}} / {{rules}} / {{constraints}} / {{acceptance}}  
6 - è¿™ 6 项由 CC æ ¹æ® docs/01-需求清å•/index.md çš„ã€Œæ ¸å¿ƒåŠŸèƒ½ç‚¹ã€æŽ¨æ–­èµ·è‰ï¼š  
7 - - req_id / title:从核心功能点拆分命åå¾—æ¥  
8 - - goal:用一å¥è¯å±•å¼€ title  
9 - - rules / constraints / acceptance:业务语义层é¢çš„åˆç†èµ·è‰ï¼Œå¾…人工审阅修订  
10 -2) `**输入字段**` / `**输出字段**` 为**结构化字段表**:æ¯ä¸ªå­—段一行,6 列固定结构  
11 - (字段å | 类型 | å¿…å¡« | 校验规则 | 业务规则 | 示例值)。  
12 - 模æ¿å†…æ¯å¼ è¡¨ç»™å‡ºä¸€è¡Œç¤ºä¾‹è¡Œï¼Œåˆ—首注明 `ã€ç¤ºä¾‹è¡Œï¼Œæ›¿æ¢ä¸ºçœŸå®žå­—段】`。  
13 - 人工拿到å¡ç‰‡åŽæŒ‰æœ¬ REQ 实际业务**é€è¡Œæ›¿æ¢ä¸ºçœŸå®žå­—段 / 增删行**:  
14 - - 字段å:本 REQ 真实的输入 / 输出字段  
15 - - 类型:真实数æ®ç±»åž‹ï¼ˆæ–‡æœ¬ / æ•´æ•° / é‡‘é¢ / 日期 / 布尔 / 枚举 / …)  
16 - - 必填:是 / å¦  
17 - - 校验规则:长度 / æ ¼å¼ / 范围 / 唯一性等å¯éªŒè¯çº¦æŸï¼ˆå¦‚「3-20 ä½å­—æ¯æ•°å­—下划线;系统内唯一ã€ï¼‰  
18 - - 业务规则:该字段的业务å«ä¹‰ / æ¥æº / 默认值 / è”动逻辑  
19 - - 示例值:一个真实约æŸä¸‹çš„åˆæ³•å–值  
20 -3) **「示例值ã€åˆ—必须替æ¢ä¸ºçœŸå®žçº¦æŸä¸‹çš„å–值。留模æ¿é»˜è®¤å ä½ï¼ˆ`ã€ç¤ºä¾‹è¡Œï¼Œæ›¿æ¢ä¸ºçœŸå®žå­—段】` 或 `<示例值>`)å³è§†ä¸ºè¯¥ REQ å¡ç‰‡æœªå®Œæˆï¼ŒA1 终结校验会阻断进入下一阶段。**  
21 -4) `**ä¾èµ–表**: TBD(A3 自动补)` å’Œ `**ä¾èµ–接å£**: TBD(A5 自动补)` 是åŽç»­ skill 自动回填的å ä½ï¼Œæ¸²æŸ“æ—¶**ä¿æŒåŽŸæ ·**,ä¸è¦æ›¿æ¢ä¸º `-` 也ä¸è¦æ›¿æ¢ä¸º `{{...}}`  
22 -5) 渲染åŽè¿™æ®µ HTML 注释è¦**剥掉**,ä¸è¿›å…¥æœ€ç»ˆå¡ç‰‡ï¼ˆlib/render.mjs 自动剥离) 2 +req-card-template:å•å¼  REQ å¡ç‰‡éª¨æž¶ã€‚两处 `TBD(A3 自动补)` / `TBD(A5 自动补)` é¡»ä¿æŒåŽŸæ ·ã€‚
23 --> 3 -->
24 ### {{req_id}} {{title}} 4 ### {{req_id}} {{title}}
25 5
@@ -29,13 +9,13 @@ req-card-template:å•å¼  REQ å¡ç‰‡éª¨æž¶ã€‚æ¯å¼ å¡ç‰‡æ˜¯ docs/01-需求清å @@ -29,13 +9,13 @@ req-card-template:å•å¼  REQ å¡ç‰‡éª¨æž¶ã€‚æ¯å¼ å¡ç‰‡æ˜¯ docs/01-需求清å
29 9
30 | 字段å | 类型 | å¿…å¡« | 校验规则 | 业务规则 | 示例值 | 10 | 字段å | 类型 | å¿…å¡« | 校验规则 | 业务规则 | 示例值 |
31 | --- | --- | --- | --- | --- | --- | 11 | --- | --- | --- | --- | --- | --- |
32 -| ã€ç¤ºä¾‹è¡Œï¼Œæ›¿æ¢ä¸ºçœŸå®žå­—段】 | 文本 | 是 | 3-20 ä½å­—æ¯æ•°å­—下划线;系统内唯一 | 用户登录账å·ï¼Œç³»ç»Ÿå†…唯一标识 | <示例值> | 12 +| {{input_field_name}} | {{input_field_type}} | {{input_field_required}} | {{input_field_validation}} | {{input_field_business}} | {{input_field_example}} |
33 13
34 **输出字段**: 14 **输出字段**:
35 15
36 | 字段å | 类型 | å¿…å¡« | 校验规则 | 业务规则 | 示例值 | 16 | 字段å | 类型 | å¿…å¡« | 校验规则 | 业务规则 | 示例值 |
37 | --- | --- | --- | --- | --- | --- | 17 | --- | --- | --- | --- | --- | --- |
38 -| ã€ç¤ºä¾‹è¡Œï¼Œæ›¿æ¢ä¸ºçœŸå®žå­—段】 | æ•´æ•° | 是 | 大于 0 | 新建记录的主键 id | <示例值> | 18 +| {{output_field_name}} | {{output_field_type}} | {{output_field_required}} | {{output_field_validation}} | {{output_field_business}} | {{output_field_example}} |
39 19
40 - **跨字段规则**: {{rules}} 20 - **跨字段规则**: {{rules}}
41 - **边界**: {{constraints}} 21 - **边界**: {{constraints}}
skills/plan/skeleton-gen/templates/docs-04-skeleton-template.md
1 -<!--  
2 -本文件是 docs/04-技术规范.md 的 § 一+ 大纲。  
3 -skeleton-gen 读取 docs/04 § 零(技术栈表)和 docs/01-需求清单/index.md(模块索引),  
4 -按下述大纲生成本项目专属的规范内容。LLM 不要原样拷贝提示文字,只保留 section 标题。  
5 --->  
6 -  
7 ## 一、后端规范 1 ## 一、后端规范
8 2
9 ### 1.1 规则 3 ### 1.1 规则
10 -<!-- 后端通用约定:保留下方占位符不要代填,由人工在 skeleton-gen § E 填写;每条一个 bullet,按需复制本行新增更多。 -->  
11 - 【人工填写:一条后端通用约定,按需复制本行新增更多;无则填「无」】 4 - 【人工填写:一条后端通用约定,按需复制本行新增更多;无则填「无」】
12 5
13 ### 1.2 分层结构 6 ### 1.2 分层结构
14 -<!-- 按 § 零 的后端框架定层次:controller/service/mapper 等;每层职责一句话。 -->  
15 7
16 ### 1.3 命名约定 8 ### 1.3 命名约定
17 -<!-- 包名(根包用【人工填写:根包名】占位)/ 类名 / 方法名 / 常量的大小写规则,含 2 个示例。 -->  
18 9
19 ### 1.4 统一响应格式 10 ### 1.4 统一响应格式
20 -<!-- 成功/失败的 JSON 结构,错误码段位划分。 -->  
21 11
22 ### 1.5 异常处理 12 ### 1.5 异常处理
23 -<!-- 全局异常处理器的使用方式;哪些异常要 catch,哪些禁止;**接口响应禁止回显后端异常堆栈**(返用户友好错误码 + 文案)。 -->  
24 13
25 ### 1.6 事务 14 ### 1.6 事务
26 -<!-- 事务边界(通常 service 层);跨服务调用的禁止/替代方案。 -->  
27 15
28 ### 1.7 认证 16 ### 1.7 认证
29 -<!-- 基于 § 零 认证方案推导:token 生命周期、刷新机制、密钥管理。 -->  
30 17
31 ## 二、前端规范 18 ## 二、前端规范
32 19
33 ### 2.1 目录约定 20 ### 2.1 目录约定
34 -<!-- 基于 § 零 前端框架推导:api/components/pages/store/hooks/utils 的职责;**前端禁止直接写 SQL / 操作 DB**,所有数据访问走 api/ 层统一封装。 -->  
35 21
36 ### 2.2 状态管理 22 ### 2.2 状态管理
37 -<!-- 基于 § 零 状态管理技术推导:全局 vs 局部、服务端数据的存放。 -->  
38 23
39 ### 2.3 请求封装 24 ### 2.3 请求封装
40 -<!-- HTTP 客户端的拦截器、超时、错误重试、鉴权注入。 -->  
41 25
42 ### 2.4 错误处理 26 ### 2.4 错误处理
43 -<!-- 网络错误 / 业务错误 / 页面级错误的分层处理。 -->  
44 27
45 ### 2.5 样式与主题 28 ### 2.5 样式与主题
46 -<!-- 基于 § 零 UI 库给出 CSS 变量约定:  
47 - - 命名格式 `--color-<scope>-<role>-<state>`(scope=form/table-row/...,role=bg/fg/border,state=edit/readonly/hover/selected)  
48 - - 文件位置 `src/styles/tokens.css`,由 skeleton-gen 生成空骨架,色值由 docs/06 § 四锁定后填入  
49 - - 组件样式中只用 var(--color-xxx),禁止硬编码 hex/rgba  
50 - - 与 UI 库主题对接(如 Ant Design ConfigProvider.theme.token)的映射方式  
51 - 具体 token 表见 docs/06 § 四。 -->  
52 29
53 ## 三、共同约定 30 ## 三、共同约定
54 31
@@ -56,14 +33,9 @@ skeleton-gen 读取 docs/04 § 零(技术栈表)和 docs/01-需求清单/ind @@ -56,14 +33,9 @@ skeleton-gen 读取 docs/04 § 零(技术栈表)和 docs/01-需求清单/ind
56 `<type>(<scope>): <subject> REQ-XXX-NNN` 33 `<type>(<scope>): <subject> REQ-XXX-NNN`
57 34
58 ### 3.2 分页查询 35 ### 3.2 分页查询
59 -<!-- 后端分页对象 + 前端分页组件,入参出参约定。 -->  
60 36
61 ### 3.3 日期与金额 37 ### 3.3 日期与金额
62 -<!-- 后端类型(如 LocalDateTime / BigDecimal)+ 前端展示工具;金额精度约定。 -->  
63 38
64 ### 3.4 数据访问规约 39 ### 3.4 数据访问规约
65 -<!-- 基于 § 零 数据访问技术(MyBatis-Plus / JPA 等):SELECT 字段显式列举,**禁止 `SELECT *`**;循环中不得执行 DB 查询(**N+1 反模式**),改用批量查 / IN 子句 / JOIN;Mapper XML 里字段与表名用常量或引用,避免拼字符串。 -->  
66 40
67 ### 3.5 配置与安全 41 ### 3.5 配置与安全
68 -<!-- 配置:DB 连接 / 端口 / 密钥 / 第三方 URL 等一律放 `application.yml` + `.env.local`,代码里**禁止硬编码**。  
69 - 前端安全:`localStorage` 不存敏感信息(token / 身份 / 个人数据),推荐 HttpOnly Cookie 或 内存 + 刷新 token 模式;接口响应禁止回显后端异常堆栈(与 § 1.5 一致)。 -->  
skills/plan/skeleton-gen/templates/docs-06-static-template.md
1 -<!--  
2 -本文件是 docs/06-UI交互规范.md çš„ § 一 ~ 三 大纲(§ 䏉页颿¸…å•ç”± downstream-gen 按模å—追加;FE 决策表由 A6 frontend-scope-lock 追加到 § 三之åŽï¼‰ã€‚  
3 -skeleton-gen è¯»å– docs/04 § é›¶ å’Œ docs/01 index,按下述大纲生æˆé¡¹ç›®ä¸“属内容。  
4 -布局/页é¢éª¨æž¶ä»¥é¡¹ç›®æ ¹çš„ prototype/ 陿€ HTML mockup 为æƒå¨ï¼Œæœ¬æ–‡ä»¶ä»…承载跨页é¢é€šç”¨è§„则与 Design Tokens。  
5 --->  
6 -  
7 # 06-UI交互规范 1 # 06-UI交互规范
8 2
9 > 本项目所有页é¢å¸ƒå±€ä»¥é¡¹ç›®æ ¹ `prototype/` ç›®å½•ä¸‹çš„é™æ€ HTML mockup 为æƒå¨ã€‚å‰ç«¯é˜¶æ®µå®žçŽ°æ—¶ç›´æŽ¥ä»¥ prototype/ HTML 推导组件树与样å¼ã€‚本文件仅承载跨页é¢é€šç”¨è§„则与 Design Tokens。 3 > 本项目所有页é¢å¸ƒå±€ä»¥é¡¹ç›®æ ¹ `prototype/` ç›®å½•ä¸‹çš„é™æ€ HTML mockup 为æƒå¨ã€‚å‰ç«¯é˜¶æ®µå®žçŽ°æ—¶ç›´æŽ¥ä»¥ prototype/ HTML 推导组件树与样å¼ã€‚本文件仅承载跨页é¢é€šç”¨è§„则与 Design Tokens。
@@ -11,32 +5,18 @@ skeleton-gen è¯»å– docs/04 § é›¶ å’Œ docs/01 index,按下述大纲生æˆé¡¹ç @@ -11,32 +5,18 @@ skeleton-gen è¯»å– docs/04 § é›¶ å’Œ docs/01 index,按下述大纲生æˆé¡¹ç
11 ## 一ã€é€šç”¨äº¤äº’规则 5 ## 一ã€é€šç”¨äº¤äº’规则
12 6
13 ### 1.1 æ“作å馈 7 ### 1.1 æ“作å馈
14 -<!-- æˆåŠŸ/失败消æ¯ï¼›å±é™©æ“作二次确认;长耗时按钮 loading æ€ã€‚ -->  
15 8
16 ### 1.2 æ•°æ®å±•示 9 ### 1.2 æ•°æ®å±•示
17 -<!-- ç©ºçŠ¶æ€ / 加载 / 异常 的统一组件与文案。 -->  
18 10
19 ### 1.3 æƒé™æŽ§åˆ¶ï¼ˆå‰ç«¯ï¼‰ 11 ### 1.3 æƒé™æŽ§åˆ¶ï¼ˆå‰ç«¯ï¼‰
20 -<!-- èœå•级 / 按钮级 / 路由级的控制方å¼ï¼Œå…³è”åŽç«¯ RBAC。 -->  
21 12
22 ## 二ã€Design Tokens 13 ## 二ã€Design Tokens
23 14
24 -<!-- 所有色值统一以 CSS å˜é‡å®šä¹‰äºŽ src/styles/tokens.css;命åè§„èŒƒè§ docs/04 § 2.5。 -->  
25 -  
26 ### 2.1 å…¨å±€è°ƒè‰²æ¿ 15 ### 2.1 全局调色æ¿
27 -<!-- 与 § é›¶ UI 库主题对é½ï¼šåˆ—å = 语义 / å˜é‡å / 默认值 / 用途。  
28 - 至少å«ï¼šä¸»è‰²/æˆåŠŸ/警告/错误/主文字/次文字/边框/背景。 -->  
29 16
30 ### 2.2 组件级状æ€è‰² 17 ### 2.2 组件级状æ€è‰²
31 -<!-- 场景 × çŠ¶æ€æ˜ å°„表:列å = åºå· / 组件 / 编辑bg / åªè¯»bg / 悬浮bg / 编辑fg / åªè¯»fg / 悬浮fg / 备注。  
32 - å•元格写 token å(var(--color-xxx) å½¢å¼ï¼‰ï¼Œä¸å†™ hexï¼›"—" 表示该状æ€ä¸é€‚用。  
33 - 表åŽè¿½åŠ ã€ŒToken 默认值ã€è¡¨ï¼Œåˆ—出æ¯ä¸ª --color-xxx 在 tokens.css 的默认值。 -->  
34 18
35 ### 2.3 引用约定 19 ### 2.3 引用约定
36 -<!-- 一å¥è¯ä¸‰æ¡ï¼š  
37 - - 组件样å¼åªç”¨ var(--color-xxx)ï¼Œç¦æ­¢ç¡¬ç¼–ç   
38 - - 新增 token 须先登记到 § 2.1/2.2 å†è¡¥ tokens.css  
39 - - ä¿®æ”¹è‰²å€¼åªæ”¹ tokens.css 一处,ä¸å…许组件覆盖 -->  
40 20
41 ## 三ã€é¡µé¢æ¸…å• 21 ## 三ã€é¡µé¢æ¸…å•
42 (由 `downstream-gen` 按模å—追加段è½ï¼‰ 22 (由 `downstream-gen` 按模å—追加段è½ï¼‰
skills/plan/skeleton-gen/templates/docs-07-env-template.md
1 -<!--  
2 -本文件是 docs/07-环境配置.md 的大纲。  
3 -docs/07 只记规则与约定,不记具体配置值——端口 / 包名 / 库名等真实值在 config-vars.yaml(A1 锁定)与 .env.local(敏感)。  
4 -skeleton-gen 基于 docs/04 § 零 技术栈表推导各节内容:  
5 - § 一 依赖清单 → 从技术栈的每一行技术推导运行时和构建依赖  
6 - § 二 端口约定 → 从后端/前端/数据库/缓存/反向代理 各取默认端口(约定值;项目实际采用值记在 config-vars.yaml)  
7 - § 四 常用命令 → 基于构建工具、包管理器给出开发者最常用命令  
8 --->  
9 -  
10 # 07-环境配置 1 # 07-环境配置
11 2
12 ## 一、依赖清单 3 ## 一、依赖清单
13 4
14 -<!-- 表格:| 层 | 依赖 | 版本 | 说明 |;覆盖 运行时 / 构建 / 容器 / CLI 工具。 -->  
15 -  
16 ## 二、端口约定 5 ## 二、端口约定
17 6
18 -<!-- 表格:| 服务 | 端口 | 说明 |;至少列 后端 HTTP / 前端 dev / 数据库 / 缓存 / 反代。这里给默认约定值;项目实际采用的端口记在 config-vars.yaml。 -->  
19 -  
20 ## 三、配置与凭据规则 7 ## 三、配置与凭据规则
21 8
22 项目配置分两处存放,**本文档只记规则、不记具体值**: 9 项目配置分两处存放,**本文档只记规则、不记具体值**:
@@ -30,5 +17,3 @@ skeleton-gen 基于 docs/04 § 零 技术栈表推导各节内容: @@ -30,5 +17,3 @@ skeleton-gen 基于 docs/04 § 零 技术栈表推导各节内容:
30 - 任何敏感值不得出现在 `config-vars.yaml`、docs、源码或日志中——只允许出现在 `.env.local`。 17 - 任何敏感值不得出现在 `config-vars.yaml`、docs、源码或日志中——只允许出现在 `.env.local`。
31 18
32 ## 四、常用命令 19 ## 四、常用命令
33 -  
34 -<!-- 表格:| 命令 | 说明 |;包含 启动后端 / 启动前端 / 打包 / 运行测试 / 重置测试数据。 -->  
skills/plan/skeleton-gen/templates/docs-09-structure-template.md
1 -<!--  
2 -本文件是 docs/09-项目目录结构.md 的大纲。  
3 -skeleton-gen 基于 docs/04 § 零 技术栈推导目录树:  
4 - § 二 后端目录 → 按后端框架的惯例(如 Spring Boot 的 src/main/java)  
5 - § 三 前端目录 → 按前端框架的惯例(如 Vite + React 的 src/)  
6 - § 四 docs 目录 → 沿用插件标准  
7 - § 五 命名约定 → 按后端语言的包/命名空间习惯  
8 -  
9 -模块划分参考 docs/01-需求清单/index.md 的模块索引,将业务模块落到代码目录。  
10 --->  
11 -  
12 # 09-项目目录结构 1 # 09-项目目录结构
13 2
14 ## 一、仓库顶层 3 ## 一、仓库顶层
15 4
16 -<!-- 用代码块画出顶层目录树,含 CLAUDE.md / README.md / .env.local / scripts / docs / sql / backend / frontend 等。 -->  
17 -  
18 ## 二、后端目录 5 ## 二、后端目录
19 6
20 -<!-- 基于后端框架的目录树;按 docs/01 index 的模块代码把业务模块列出(module/user/、module/order/ 等)。 -->  
21 -  
22 ## 三、前端目录 7 ## 三、前端目录
23 8
24 -<!-- 基于前端框架的目录树;pages/ 下按业务模块建子目录。 -->  
25 -  
26 ## 四、docs/ 结构 9 ## 四、docs/ 结构
27 10
28 ``` 11 ```
@@ -41,5 +24,3 @@ docs/ @@ -41,5 +24,3 @@ docs/
41 ``` 24 ```
42 25
43 ## 五、命名与放置约定 26 ## 五、命名与放置约定
44 -  
45 -<!-- 根包 / 命名空间用【人工填写:】占位;Controller / Service / Mapper / DTO / VO / 前端组件 / 前端页面 的放置规则。 -->