-
…, single-source error-codes
-
…d parenthetical 参考 blocks
-
Visual clarity: the file tree now matches the README's phase model. - skills/plan/ — 8 skills (plan-start entry + A0~A6) - skills/coding/ — 1 skill (coding-start thin entry) Slugs unchanged. /erp-workflow:<name> still resolves identically because each SKILL.md declares its own `name:` frontmatter (verified for all 9). Plugin loader treats the default `./skills/` scan as flat, so the nested layout is opted into via an explicit path array in plugin.json — the only mechanism Claude Code provides for nested skill discovery. Changes: - mv skills/{plan-start,project-init,scope-lock,skeleton-gen, db-design-gen,db-init,downstream-gen,frontend-scope-lock} → skills/plan/<same>/ - mv skills/coding-start → skills/coding/coding-start/ - .claude-plugin/plugin.json: skills[] now lists all 9 explicit paths - README.md: directory tree + Skill 清单 heading updated to reflect grouping No code touches any skill path (only README did, and only in the tree diagram). lib tests still pass (62/62). -
Independent Claude + Codex review of the working-tree diff surfaced 23 issues; all applied in-place across three domains. workflows/coding.mjs (9): - spec/plan/verify/review prompts now git-commit their artifacts (closes milestone-dirty-worktree halt risk) - CHECKBOX_STATE_SCHEMA requires `state` + defensive guard in reviewWithFixLoop - writeDocs08FieldPromptM scopes edits to module via line anchor - assertSafeId guards Router output (module/REQ/FE ids) - featureLoop captures reviewWithFixLoop's return value - dateFromArtifactPath rejects impossible dates (9999-99-99 etc.) - terminal HALT review-unresolved message disambiguated - updated comment on top-level `return` (ESM vs node --check) lib/validate-ddl.mjs + tests (10): - extractType preserves unsigned/signed modifiers - KEY/INDEX fallthrough no longer creates spurious 'KEY' columns - FOREIGN KEY REFERENCES accepts schema-qualified `db.table` - index keys normalized to name:kind:cols (UNIQUE-aware) - FK keys include ON DELETE action (defaults to RESTRICT) - CREATE TEMPORARY TABLE parsed - parseForeignKeyBullet/parseIndexBullet reject prose bullets - +10 regression tests (62 total, all pass) - merge-gitignore.mjs docstring synced to implementation skills/ (4): - docs-06 template header: § 一~二 → § 一~三 - downstream-gen §A steps renumbered 1-7 (was 1,3,4,5,6,7,8) - docs-08 initial template adds tokens.css checkbox - coding-start drops "已在后台启动" wording (Workflow is synchronous)
-
- 新增 scope-lock/templates/config-vars-template.yaml:非敏感项目级配置 (包名/端口/前端包名/初始账号)+ secrets_ref 键名引用 .env.local; A1 E.2 锁定。docs/07 改为只记规则/约定不记具体值。 - 连带更新 skeleton-gen / plan-start 闸门 2 / frontend-scope-lock / CLAUDE-template / README / docs-06·07 模板对齐新的配置分层与 docs/06 小节编号。 - lib 修复(含回归测试): - apply-ddl: 抽出 resolveDbConfig,DB_SCHEMA 为契约 schema 键,缺库名 fail-closed (M1) - render: 用 Object.hasOwn 拒绝原型链继承键,guard process.argv[1] - validate-ddl: 解析 ### 索引/### 外键 bullet (C2)、剥 SQL 注释防幽灵表 (L4)、PRIMARY 归一化 - coding.mjs: Router 把全部前端 FE 聚合为单一末尾 frontend-phase 模块; 新增 branchSetupPrompt 功能分支生命周期 (C1);diff 区间改三点 diff;fix 后复跑 verify。
-
- Delete all 7 banners/flow*.txt and remove the banner step from each Plan skill (plan-start renumbered: gate=第1步, 放行/拦截=第2步 A/B). - Drop now-unused Bash(cat *) from scope-lock/db-design-gen/downstream-gen/ plan-start allowed-tools. - downstream-gen: replace `cp` (not Windows-safe) with Read+Write, drop Bash(cp *). - project-init: fix stale dispatcher name session-start -> plan-start. - README: remove the Banners 清单 section.
-
…frontend scope-lock) + de-bash + ERP-confirmable
-
- mr-create → milestone-tag:本地 merge 进默认分支 + 打 milestone/<id> tag,完成后自动回调 coding-start(无人工闸门) - 移除 push/GitLab MR/API:删 deny-no-verify hook、derive-gitlab 脚本、pre-push 模板,env-local 去 GITLAB_* - 完成判定改为 docs/08「里程碑」字段 + git tag -l;README/CLAUDE-template/状态语义同步 - 删除空 skills/internal 目录,skill 计数 27→25 - docs-04 § 一 新增 1.1 规则(后端通用约定)占位,由 skeleton-gen E 填写
-
PS 5.1+ 系统自带,用 Invoke-WebRequest + .NET 字符串处理替代 curl/jq/sed。 与 .sh 严格等价;SKILL.md 结束横幅按平台二选一打印调用命令。
-
后端模块全部 merged 后进入前端整体阶段(1 个 MR)。 - 入口:coding-start 由模块循环器升级为阶段分发器,按 docs/08 §二/§三 + GitLab state 路由到 module-start 或 frontend-start - 前端 skill:新增 frontend-start + fe-feature-brainstorm/plan/tdd/verify/review 共 6 个 skill;fe-code-reviewer agent 做 7 维 review - 前端门禁:prototype/ 至少 1 个 *.html mockup;FE 清单由 AI 扫 prototype + docs/01 + docs/05 自主推导写入 docs/08 §三,无人工审阅断点 - 后端 skill 阶段化:feature-brainstorm/plan/tdd 加「阶段范围(后端)」标记;feature-tdd 增 frontend/ 路径硬护栏;module-start/test-gate/module-report/mr-create 接受 phase 参数(backend/frontend) - 模板同步:CLAUDE-template / docs-08-initial / docs-06-static / docs-02 / mr-description / coding-start banner 更新含前端段落 - README:21→27 skill / 1→2 agent / 35→44 模板;A5 章节 docs/06 §五 改为 §三
-
输入字段表从 7 列扩展为 8 列,在「显示来源」之后插入「预加载」(取值:页面加载时 / 用户操作时 / 否),描述显示来源数据的加载时机。
-
- docs-04 模板新增 § 2.5 样式与主题(命名规范 + tokens.css 位置 + 引用约定) - docs-06 模板 § 四改为 Design Tokens 三段式(4.1 全局调色板 / 4.2 组件级状态色 / 4.3 引用约定) - 新增 styles-tokens-template.css:8 个全局调色板 + 10 个组件状态色默认值 - SKILL.md 同步:C.1 加 mkdir src/styles + cp tokens.css;C.3 加勾选项;参考列表加新模板
-
强化"skill 只讲目的与约束,具体方法交给 LLM 自决"原则: - 删冗余的 interrupt-check 预防性调用(除 feature-tdd 3.e 真触发位 + test-gate 失败横幅引导) - 删 verbatim 子会话 prompt prose(feature-verify / test-gate),保 JSON schema 契约 - 删模板槽位枚举、bash 字面量、fork 解释括号等噪音 架构调整: - coding-start 精简到守门 + 派发 4 步,模块定位职责完全交给 module-start - sync 默认分支挪到 module-start 创建新分支前(避免全完成场景的浪费 sync) - module-start 步骤 1 自包含 MR 状态契约(指向 CLAUDE.md 权威源避免 drift) - mr-create 4 段 bash 抽到 scripts/create-mr.sh,SKILL 减 41%; 靠 sed/awk pipe + curl --rawfile 保证模块报告全程不进 LLM 上下文 - 两入口(plan-start / coding-start)共用 flow-overview.txt 模式
-
- 去 erp- 前缀:project-init / scope-lock / skeleton-gen / db-design-gen / db-init / downstream-gen / plan-start / coding-start / module-start / feature-* / module-report / mr-create / cross-module-log - 红旗 → 中断:red-flag-check → interrupt-check;命中 → 触发(中断语境) - local-test-gate → test-gate - docs/01-需求清单 的 README.md → index.md(原先改名过 abstract.md,再改 index.md) - CLAUDE-template.md 大幅精简:删 § ⚡ Skill 索引 / § 🧪 自测要求 / § 🔄 统一响应格式 / § 通用工作准则 等冗余;§ 🏷️ 覆盖 3 类占位符;§ 📐 从 27 条压到 14 条;§ ✅ 模块完成判定规则 缩到 27 行;§ 🚩 改名中断机制 - A0 project-init:步骤 A/B 互换(先 cp 模板创建 docs/08,再做依赖检查),修复首次运行 bootstrap bug;docs/04-stack-template.md 归 project-init 持有 - scope-lock 合并 D+E 为单步;step A 加 CLAUDE.md § 🎯 的 Grep 占位校验 - skeleton-gen:test.sh 骨架抽成模板(scripts-test-template.sh);step E 占位符处理从 130 行压到 34 行;删除内联 Flyway 说明;勾选分布到每个子步骤 - req-card 模板三段式:目标引言 + 字段表 + 元数据 list;字段级 vs REQ 级规则用 field_rules/rules 区分 - 模块级依赖模块 / 涉及表 改 TBD,由 A3/A5 回填(和 REQ 级 依赖表/依赖接口 同模式) - cross-module 留痕策略:hook 落存根不弹提示;所有 TBD 统一延到 module-report § ⑦ 一次性批量补齐 - 其他:feature-verify 删除孤儿 Write 权限;Git commit type 解读表;软规则 S1 技术栈外组件;docs/08 § 二 加 REQ 功能子项由 feature-review approve 时勾选 72 files changed, 1556 insertions(+), 1745 deletions(-)