@xulthekl/team-flow 0.52.0 → 0.54.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/always/phase-guard.md +1 -1
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +2 -2
- package/.codex-plugin/plugin.json +1 -1
- package/.cursor-plugin/marketplace.json +1 -1
- package/.cursor-plugin/plugin.json +1 -1
- package/.github/plugin/marketplace.json +2 -2
- package/AGENTS.md +3 -3
- package/CHANGELOG.md +140 -0
- package/GEMINI.md +1 -1
- package/HANDOFF.md +11 -0
- package/INSTALL.md +1 -1
- package/README.md +2 -2
- package/agents/prototype-builder.md +6 -5
- package/agents/prototype-env-scout.md +4 -4
- package/agents/release-archivist.md +5 -4
- package/docs/README_en.md +1 -1
- package/docs/usage-guide.md +4 -1
- package/gemini-extension.json +1 -1
- package/hooks/session-start +2 -2
- package/llms.txt +1 -1
- package/package.json +1 -1
- package/plugin.json +2 -2
- package/scripts/design-system-import.mjs +238 -0
- package/scripts/gen-primer.mjs +143 -0
- package/scripts/guard/checks/arch-merged.mjs +101 -0
- package/scripts/guard/checks/arch-snapshot.mjs +16 -3
- package/scripts/guard/design-token-guard.mjs +284 -63
- package/scripts/guard/guard.mjs +9 -1
- package/scripts/lib/arch-merge.mjs +407 -47
- package/scripts/lib/arch-parse.mjs +304 -26
- package/scripts/lib/cmd-arch.mjs +29 -1
- package/scripts/lib/cmd-publish.mjs +53 -6
- package/scripts/lib/cmd-state.mjs +2 -0
- package/scripts/lib/ds-parse.mjs +124 -0
- package/scripts/lib/prototype-sync.mjs +2 -1
- package/scripts/lib/state-loader.mjs +10 -0
- package/scripts/lib/test-merge.mjs +1 -1
- package/scripts/team-flow.mjs +14 -1
- package/scripts/token-extract.mjs +257 -0
- package/skills/architecture-design/templates/api.md +10 -4
- package/skills/design-system/SKILL.md +55 -9
- package/skills/design-system/references/agents/design-system-architect.md +44 -7
- package/skills/design-system/references/creation-flow.md +39 -5
- package/skills/design-system/references/showcase-board-b-end.md +78 -0
- package/skills/design-system/references/showcase-board-c-end.md +92 -0
- package/skills/design-system/references/token-derivation.md +34 -9
- package/skills/design-system/references/variant-schema.md +14 -3
- package/skills/prototype/SKILL.md +16 -10
- package/skills/prototype/references/builder-methodology.md +62 -5
- package/skills/prototype/references/craft/anti-ai-slop.md +1 -1
- package/skills/prototype/references/craft/state-coverage.md +8 -2
- package/skills/prototype/references/orchestration-flow.md +12 -3
- package/skills/prototype/references/prototype-scaffold/assets/design-tokens.css +2 -2
- package/skills/prototype/references/template.html +10 -10
- package/skills/release-archivist/SKILL.md +50 -33
- package/skills/release-archivist/references/closing-procedures.md +24 -4
- package/skills/workflow-bootstrap/SKILL.md +41 -20
- package/skills/workflow-orchestrator/references/state-model.md +3 -0
- package/templates/design-systems/references/claude.md +315 -0
- package/templates/design-systems/references/linear-app.md +370 -0
- package/templates/design-systems/references/notion.md +312 -0
- package/templates/design-systems/references/posthog.md +259 -0
- package/templates/design-systems/references/sentry.md +265 -0
- package/templates/design-systems/references/stripe.md +325 -0
- package/templates/design-systems/references/supabase.md +258 -0
- package/templates/design-systems/references/vercel.md +313 -0
- package/templates/design-systems/registry.json +75 -0
- package/templates/design-systems/styles.json +576 -0
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
{
|
|
10
10
|
"name": "team-flow",
|
|
11
11
|
"description": "8-state spec workflow + compound global compounding + architecture-design (4A/DDD) + local HTML prototype + product-level orchestration + bootstrap + e2e + session handoff + workflow feedback + independent business analysis. 26 skills + 17 agents with embedded TDD, SDD, code review, debugging, delta spec sync, and design-system-driven prototyping.",
|
|
12
|
-
"version": "0.
|
|
12
|
+
"version": "0.54.0",
|
|
13
13
|
"source": "./",
|
|
14
14
|
"author": {
|
|
15
15
|
"name": "LT",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "team-flow",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Unified workflow plugin: team-flow (spec-driven dev: TDD/SDD/code-review/debugging) + compound-engineering core subset (brainstorm/plan/compound/strategy/ideate/proof, global compounding) + architecture-design (4A+DDD incremental design & global compounding) + prototype (local HTML prototype, zero external deps) + e2e (Playwright E2E, AC-driven) + workflow-orchestrator (product-level workflow orchestration) + workflow-bootstrap (existing project onboarding) + session-handoff (context transfer) + workflow-feedback (issue tracking) + business-analysis (independent requirement/scenario artifact). 26 skills + 17 agents, one install.",
|
|
3
|
+
"version": "0.54.0",
|
|
4
|
+
"description": "Unified workflow plugin: team-flow (spec-driven dev: TDD/SDD/code-review/debugging) + compound-engineering core subset (brainstorm/plan/compound/strategy/ideate/proof, global compounding) + architecture-design (4A+DDD incremental design & global compounding) + prototype (local HTML prototype, zero external deps) + e2e (Playwright E2E, AC-driven) + workflow-orchestrator (product-level workflow orchestration) + workflow-bootstrap (existing project onboarding) + session-handoff (context transfer) + workflow-feedback (issue tracking) + business-analysis (independent requirement/scenario artifact) + design-system (design tokens + component contract + AI primer + showcase) + test-strategy (test strategy design) + project-initialize (new service onboarding). 26 skills + 17 agents, one install.",
|
|
5
5
|
"source": "./",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "LT",
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "team-flow",
|
|
3
3
|
"displayName": "team-flow",
|
|
4
4
|
"description": "Unified workflow plugin: team-flow (spec-driven dev: TDD/SDD/code-review/debugging) + compound-engineering core subset (brainstorm/plan/compound/strategy/ideate/proof, global compounding) + architecture-design (4A+DDD incremental design & global compounding) + prototype (local HTML prototype, zero external deps) + e2e (Playwright E2E, AC-driven) + workflow-orchestrator (product-level workflow orchestration) + workflow-bootstrap (existing project onboarding) + session-handoff (context transfer) + workflow-feedback (issue tracking) + business-analysis (independent requirement/scenario artifact). 26 skills + 17 agents, one install.",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.54.0",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "LT",
|
|
8
8
|
"url": "https://github.com/LT"
|
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
},
|
|
7
7
|
"metadata": {
|
|
8
8
|
"description": "Unified workflow plugins and skills for AI coding agents (team-flow: team-flow + compound + architecture-design + prototype).",
|
|
9
|
-
"version": "0.
|
|
9
|
+
"version": "0.54.0"
|
|
10
10
|
},
|
|
11
11
|
"plugins": [
|
|
12
12
|
{
|
|
13
13
|
"name": "team-flow",
|
|
14
14
|
"description": "Unified workflow with planning artifacts, execution contracts, TDD, review gates, systematic debugging, delta spec sync, architecture-design, independent business analysis, and local HTML prototyping.",
|
|
15
|
-
"version": "0.
|
|
15
|
+
"version": "0.54.0",
|
|
16
16
|
"source": ".",
|
|
17
17
|
"author": {
|
|
18
18
|
"name": "LT",
|
package/AGENTS.md
CHANGED
|
@@ -166,7 +166,7 @@ STRATEGY.md CONCEPTS.md 产品策略(BA) / 领域词汇
|
|
|
166
166
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
167
167
|
复利回写层(closing 期)
|
|
168
168
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
169
|
-
arch-merge → prototype-sync(顺序提交)
|
|
169
|
+
arch-merge → state transition → prototype-sync(顺序提交)
|
|
170
170
|
复利晋升:change 内经验 → 全局 docs/solutions/
|
|
171
171
|
全局 ARCHITECTURE.md / DATABASE.md / prototype/ / design-system.md
|
|
172
172
|
│
|
|
@@ -241,7 +241,7 @@ STRATEGY.md CONCEPTS.md 产品策略(BA) / 领域词汇
|
|
|
241
241
|
| spec-writer | 规格编写 agent——产出并打磨 proposal.md / specs/ / design.md / tasks.md 四件规划制品(可写型,规划制品唯一所有者;need-explorer DP-1 后、contract-builder 前) | Read/Bash/Grep/Glob/Write/Edit | workflow-start 路由时作为子代理 dispatch |
|
|
242
242
|
| contract-builder | 执行契约 agent——将规划制品压缩为单一执行握手 execution-contract.md、守 DP-3 批准门(可写型,契约文件唯一所有者;spec-writer DP-2 后、build-executor 前) | Read/Bash/Grep/Glob/Write/Edit | workflow-start 路由时作为子代理 dispatch |
|
|
243
243
|
| build-executor | 构建执行 agent——以契约为权威驱动 TDD 批次实施(SDD/Inline/Batch Inline)、守 TDD Iron Law(可写型,实施代码所有者;契约 DP-3 批准后、release-archivist 前) | Read/Bash/Grep/Glob/Write/Edit | workflow-start 路由时作为子代理 dispatch |
|
|
244
|
-
| release-archivist | 发布归档 agent——执行验证、产出 closing 总结、完成归档就绪(arch-merge → prototype-sync →
|
|
244
|
+
| release-archivist | 发布归档 agent——执行验证、产出 closing 总结、完成归档就绪(arch-merge → state transition → prototype-sync → 复利晋升;顺序定义见 Skill)(可写型,归档制品所有者;build-executor 后、change 关闭前) | Read/Bash/Grep/Glob/Write/Edit | workflow-start 路由时作为子代理 dispatch |
|
|
245
245
|
| business-analysis | 独立业务分析 agent——将任意输入整理为 requirement/vN/business-analysis.md,多轮单问澄清、待办记录、新增/更新模式,写入前阻塞确认 | Read/Bash/Grep/Glob/Write/Edit | 独立触发,不进入 workflow-orchestrator 核心流程(v0.44.0) |
|
|
246
246
|
|
|
247
247
|
## 复利贯穿机制(v0.5 新增)
|
|
@@ -300,6 +300,6 @@ TypeScript interfaces + regex-based parsers. Compiles to `dist/` (ES2022 + NodeN
|
|
|
300
300
|
## 关键约束
|
|
301
301
|
- **原型全局一份**、与 PRD 同级、git 分支隔离版本;change 不直接拥有原型文件(引用全局 `prototype/` 作 UI 契约)。
|
|
302
302
|
- **design.md 不可变**:架构增量经 `arch-merge` 回写全局 `ARCHITECTURE.md`,不就地改 change 的 design.md。
|
|
303
|
-
- **顺序提交**:`arch-merge` → `prototype-sync`(同一 change closing
|
|
303
|
+
- **顺序提交**:`arch-merge` → `state transition closing` → `prototype-sync`(同一 change closing 内;v0.53.0 起状态转换插在 arch-merge 之后——`executing→closing` 挂 `arch-merged` 门禁,未回写则转换被拒),避免全局文档半更新态。
|
|
304
304
|
- **膨胀防控**:`prototype/components/` 必须复用 `design-system.md`,禁止页面内联样式漂移;新增组件先沉淀进 design-system 再引用。
|
|
305
305
|
- **分支约定**:原型随 PRD 当前版本分支维护;change 引用其所在 PRD 版本分支的 `prototype/`。
|
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,146 @@ All notable changes to `team-flow` will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
The format loosely follows Keep a Changelog.
|
|
6
6
|
|
|
7
|
+
## [0.54.0] - 2026-09-10
|
|
8
|
+
|
|
9
|
+
### Added(设计系统 → 原型贯通:组件契约 + Primer + Showcase + 逆向建库)
|
|
10
|
+
|
|
11
|
+
设计来源:`docs/plan/design-system-prototype-enhancement-design.md` v1.7(2026-09-10;P4 偏差记录见其附录 A.4)。输入 = open-design 迁移管线研究 + 设计系统核对工具 L0-L5 方法论 + LT 三项补充需求(持续迭代 / 逆向建库 / Design Showcase);本方案按 **P1.5 完整档(3 轮对抗式验证 + 逐轮闭合表)** 收敛:问题数 39→9→6,Critical 4→2→0。
|
|
12
|
+
|
|
13
|
+
**核心承诺**:设计系统从「token 定义文档」升级为「**能约束 AI 生成原型的契约体系**」——正向白名单(primer,prompt 层劝告)+ 反向拦截(guard / P0 grep,代码层)双层防护。
|
|
14
|
+
|
|
15
|
+
- **组件契约表(L2 结构化)**:base.md 的 components 段由散文升级为表格(组件 × 类型 × variants × sizes × states × 用途 × 禁止);**类型列决定 states 下限**(交互 ≥3 / 轻量 ≥2 / 豁免);数量三档阈值(<10 FAIL 标签 / 10-14 WARN 可用 / ≥15 PASS);`contract: v1|legacy` 标记区分存量(legacy 降级 WARN,不阻断)。
|
|
16
|
+
- **AI Primer(L5 补齐)**:新增 `scripts/gen-primer.mjs`——确定性生成 `.team-flow/design-system/primer.md`(零 LLM、纯字符串拼接)+ digest 头部;`--check` 模式供 builder Step 0 gate 校验新鲜度(exit 0 一致 / exit 2 STALE);内容 = 组件白名单 + Token 速查 + 硬规则。配「生成物 == 源表」单测。
|
|
17
|
+
- **六层审计 guard**:新增 `scripts/guard/design-token-guard.mjs`——硬校验(exit 1)+ 六层审计报告(恒 exit 0,不输出总分,`--strict` 存量当 v1 标签 / `--json`);配套 `scripts/lib/ds-parse.mjs` 共享解析器(guard / gen-primer / import 三方复用,消除同契约多实现漂移)。
|
|
18
|
+
- **Design Showcase**:新增展示板机制——**草案阶段**产出 1-3 页 Board(让用户在确认设计系统前先看到实际效果,解决「确认后才见效果」的时序倒置);内置车企场景 brief(`showcase-board-{b,c}-end.md`,虚构品牌「星驰汽车」:B 端线索管理后台 6 区块 / C 端官网 + 车主 APP);`prototype-builder` 新增 `mode: showcase`(gate 豁免 `confirmed_plan`/`prd_path`,flat 单文件最小交付契约)。
|
|
19
|
+
- **持续迭代(不新增第二账本)**:原型阶段的组件 / token 增量经 builder 既有 `outstanding_questions` 通道回传(`ds_increment` 字段),在原型人工评审 ⑥ 由用户确认(全部 / 逐项 / 暂不处理);"暂不处理"入 `.team-flow/design-system/pending.md`——**单写者 = design-system skill**(主代理 / release-archivist 只读);两级确认节点(⑥ 即时 + change closing 兜底),不新造流程。
|
|
20
|
+
- **逆向建库**:新增 `scripts/token-extract.mjs`(8 类正则证据机器 + ΔE<2 颜色聚类 + 频次排序 + directory skiplist + `--report` 只读报告);新增 `scripts/design-system-import.mjs`(open-design DESIGN.md → team-flow base.md:A 类九节解析 + B 类兜底提取);design-system skill 新增 create-from-code 模式(**确定性提取 + 人工策展**,语义角色由人定,不自动推断落盘)。
|
|
21
|
+
- **L0 / L1 补齐**:base.md 新增 `principles` 段(≥3 条,guard 计数)+ `governance` 段(contract / version / 负责人 / 弃用策略);`token-derivation.md` 新增**确定性 dark 派生规则** + `creation-flow.md` 新增维度 6(theme 输入)。
|
|
22
|
+
- **open-design 资源内置(精选)**:新增 `templates/design-systems/`——`registry.json`(8 个 B 端相关参考:linear-app / stripe / vercel / supabase / sentry / posthog / notion / claude)+ `styles.json`(57 风格种子,扩充 mood → palette 映射)+ `references/*.md`(160KB 原文,MIT 归因 "inspired by")。**全量扫描 143 个的真实分布**:A 类 63(44%)/ B 类 80(55%),B 类总体积 ~1.3MB → 精选内置而非全量(体积 + 相关性双重考量),未内置的按 registry 指引用 import 现取。
|
|
23
|
+
- **首次接入提示**:`workflow-bootstrap` 新增 **B4.6**(advisory,不阻断)——检测项目无设计系统时 AskUserQuestion 四选一(模板库 / 逆向建库 / 从零创建 / 跳过)。
|
|
24
|
+
- **流程制度化(父仓库 CLAUDE.md)**:新增 **P1.5 方案对抗验证**(可选,三档强度:轻量 1 轮 / 标准 2 轮 / 完整 3 轮;P1 完成后必须询问用户是否执行,可跳过)——本次方案本身即按完整档执行并借此收敛。
|
|
25
|
+
|
|
26
|
+
### Changed(行为变更)
|
|
27
|
+
|
|
28
|
+
| # | 变更 | 影响面 |
|
|
29
|
+
|---|------|--------|
|
|
30
|
+
| 1 | `prototype-builder` Step 0 新增 primer gate | `governance.contract: v1` 且 primer 缺失/过期 → **blocked**;legacy / 无标记 → WARN 放行(存量项目不受阻) |
|
|
31
|
+
| 2 | design-system 创建流程新增六层审计 + 组件数量三档标签 | 创建完成时 guard 恒输出审计报告;组件 <10 类标 FAIL 标签(不阻断落盘,供用户判断) |
|
|
32
|
+
| 3 | release-archivist closing 新增 **⑥ 设计系统待办检查** | 只读检查 pending.md → closing summary 新增 `design_system_pending` 字段(报告契约扩展,不执行 iterate) |
|
|
33
|
+
| 4 | `workflow-bootstrap` 新增 B4.6 | advisory 步骤,不阻断;Output Standard 阶段清单同步 B4.6 |
|
|
34
|
+
|
|
35
|
+
### P4 复验(双门禁独立复验:均 PASS)
|
|
36
|
+
|
|
37
|
+
- **plugin-validator 复验 → PASS**:Major 闭合(指定 grep 空集 + 更宽 grep 交叉印证 + import 提示实测为绝对路径 + 新 lint 非空转)。release-archivist 的**描述性写法成立**(约束真实——`platform-runtime-distribution.test.mjs:38` 对 9 个 runtime skill 断言禁宿主变量;两处无解释器前缀、无调用动词,仓库内既有同写法先例)。**横展发现 3 处存量同类真调用点**:`build-executor/SKILL.md:150` 与 `references/execution-modes.md:46` 的 `` `scripts/task-brief PLAN_FILE N` ``、`code-reviewer/SKILL.md:87` 的 `` `scripts/review-package` ``——实测从用户项目 CWD 执行报 `No such file or directory`(脚本真实存在,文档写法解析不到)。**与本次修的那批不同**:属 runtime skill(禁 `${CLAUDE_PLUGIN_ROOT}`),唯一可行修法是**暴露为 `tf` 子命令**——已登记 **P1-69**(含证据链与替代解评估),不在本次范围内实施。
|
|
38
|
+
- **skill-reviewer 复验 → 可转 PASS**:C1 闭合(新探针:base + 端变体传目录 / 传 base.md **均 PASS**,原 `EXIT=1` 的互斥论据失效);6 Major 全闭合;8 Minor 中 6 闭合、2 项经复核**由评审方主动撤回**(release-archivist 描述性写法、⑥ 与 reference 的分层重复);另有 2 项本轮改动引入的新观察,**已在 P5 前闭合**:
|
|
39
|
+
- **观察 A(合并断言掩盖单端残缺)**:`target=both` 时若 c-end 只有 typography,合并跑仍 PASS。修法(零代码):Step 6 增加「**按端各跑一次**(`--variant b-end` / `--variant c-end`)」并在 SKILL.md / creation-flow 双处写明——`--variant c-end` 单跑报 3 项 FAIL(已固化为测试判据)。
|
|
40
|
+
- **观察 B(无关 md 可补齐缺失段)**:同目录 `notes.md` 含 `## spacing` 等段即可把 FAIL 洗成 PASS。修法:变体识别**收紧为约定集**(`*-end.md` + `variants/` 子目录),非约定命名用 `--variant <name>` 显式纳入(逃生通道);含必选段但未被纳入的 md **显式告警**列出(不静默补齐、也不静默忽略)。3 例测试固化。
|
|
41
|
+
- **lint 盲区加固**:`skill-path-convention.test.mjs` 正则补 `node ./scripts/x`(显式相对前缀)与 `node --flag scripts/x`(解释器带参数)两种形态 + 各自正向控制——正是上一轮 grep 漏检的同款盲区(当前语料零实例,属预防性加固)。
|
|
42
|
+
- **前瞻风险记录**:三个 skill 目前依赖 `${CLAUDE_PLUGIN_ROOT}` 且不在 `RUNTIME_SKILLS` 名单(测试绿);但 **design-system 由 prototype 运行期调用**——若平台策略将其收进 runtime 名单,guard / primer / importer 的调用方式需整体改造。已记入设计文档附录 A.4 第 7 行与 `design-token-guard.mjs` 头部注释。
|
|
43
|
+
- **复验期间的一次外部操作已独立核实无污染**:plugin-validator 披露其误在仓库根执行 `install-zcode --local .` 并已自行清理;我已核实 `.zcode/` 恢复为原 3 个受跟踪文件、无未跟踪残留、全仓 `git status` 仅含本次变更。
|
|
44
|
+
|
|
45
|
+
### Fixed(P5 提交期发现)
|
|
46
|
+
|
|
47
|
+
- **内置参考库第 8 个文件被 `.gitignore` 静默吞掉**:`templates/design-systems/references/claude.md` 与 `.gitignore:9` 的 `CLAUDE.md` 规则同名,macOS 大小写不敏感文件系统上被判为忽略 → **registry.json 声明 8 个参考、git 只跟踪 7 个**(npm 包因读磁盘仍含 8 个,两边不一致;且 `git add -A` 永远不会收录它)。修法:`.gitignore` 加显式**例外规则**并注明原因;验证 `git ls-files templates/design-systems/references/` = 8。**该缺陷形态值得留意**:整个 P3/P4 的门禁(含我新加的两条 lint)都在查"文件引用是否存在",而没有一条检查"文件是否真的会被提交"——已作为教训记入本轮复盘。
|
|
48
|
+
|
|
49
|
+
### Tests
|
|
50
|
+
|
|
51
|
+
- 新增 4 个测试文件:`design-token-guard.test.mjs`(23) + `gen-primer.test.mjs`(9) + `token-extract.test.mjs`(7) + `skill-path-convention.test.mjs`(3),合计 **42 个新用例**
|
|
52
|
+
- 全量 **935/935 通过**(原 893);`npm run check-versions` 全绿
|
|
53
|
+
- **P4 双评审闭环**:plugin-validator(1 Major + 8 Warning,全处置)+ skill-reviewer(1 Critical + 6 Major + 8 Minor,全处置)
|
|
54
|
+
|
|
55
|
+
### Fixed(P4 门禁发现:skill-reviewer 一轮,含 1 Critical)
|
|
56
|
+
|
|
57
|
+
- **【Critical C1】guard 的「单文件 9 段」模型与文档的「base + 端变体」拆分布局互斥**——`variant-schema.md` 明确 base 品牌层**不含** typography/spacing/layout/motion(随端变化,由端变体承载),而 guard 只接单个 md 且断言全 9 段 → **任何按文档创建的系统在 Step 6 落盘时被硬校验判 FAIL / exit 1**,返工死锁(P4 实证:合规拆分布局 exit=1 且 4 项 MISSING;而转换器产出的单文件 9 段版本 PASS——测试 fixture 站在工具侧,形成假保障)。**修法(补强代码)**:guard 输入解析支持**目录 / base.md / 变体文件**三种形态,主体不完整时自动合并端变体(`--variant <name>` 可限定;主体已含全 9 段则单文件模式,不卷入同目录无关 md);合并按 base 优先、组件表按名去重(端差异行不重复计数);无可合并变体时输出诊断提示。**证据**:`tests/lib/design-token-guard.test.mjs` 新增 6 例(拆分布局 base+变体过校验、目录输入、`--variant` 无匹配回退、单文件模式、L3 检测面、去重)。
|
|
58
|
+
- **M1 L3 业务模式层对合规系统恒为假红灯**:检测面只读传入的 md,而唯一写「页面范式」的是 `gen-primer.mjs` 生成的 **primer.md**(L3 不读)→ 任何按规范创建的系统恒 ❌。修法:检测面 = 合并后文本 + 同目录 `primer.md`,并在报告中说明「设计系统侧只引用,节奏表在 prototype layouts.md」的归属。
|
|
59
|
+
- **M2 模板库起点是死路**:`workflow-bootstrap` B4.6 的模板库分支**直接调转换器**、不经 design-system skill → 产出 `contract: v1` 但**无 primer** → prototype Step 0 稳定 `blocked`,且链路上三份文件都没提「还要生成 primer」。修法:B4.6 模板库分支改为**委托 `/team-flow:design-system`**(由该 skill 呈现 registry 并续跑 Step 5 评审 → Step 6 落盘,含 primer + guard);SKILL.md Step 0 同步写明;转换器保持纯确定性转换(不自动生成 primer——避免用户人工核对配色后 primer 立即过期),输出提示改为**本脚本所在插件目录的绝对路径**且列出完整下一步链。
|
|
60
|
+
- **M3 `variant-schema.md` 迭代口径自相矛盾**:「新组件进变体 `components`」与同文件「契约表全量真源在 base / 变体不再重复清单」直接冲突——按前者操作会破坏本版要建立的「消除双份维护」。已改为「新组件进 base 契约表,端特有点写变体覆盖说明」。
|
|
61
|
+
- **M4 prototype 侧旧单文件路径残留 5 处 + description 越界**:`prototype/SKILL.md` 的 description 宣告了本属 design-system 的「创建/维护」职责(两个 skill 争夺触发)且引用 v0.19.0 起已废弃的 `design-system.md`;正文 5 处(用途/产出结构树/硬原则/内核/膨胀防控)同源残留。已统一为 `.team-flow/design-system/`(base + 端变体),产出结构树删除旧文件行并加注存放位置;横展同批修复 `prototype-env-scout.md`(3 处)、`builder-methodology.md`、`craft/anti-ai-slop.md`、`template.html` 与 scaffold `design-tokens.css` 的渲染说明。
|
|
62
|
+
- **M5 `orchestration-flow.md` 派发输入契约未同步**:builder 派发清单仍写 `design-system.md` 且缺 `design_system_path`/`variant`/`prototype_root`/`mode`——而 `builder-methodology.md` 要求读 `<variant>.md`,该 `<variant>` **无来源**。已按 v0.54.0 契约补齐(含 showcase 模式豁免说明);env-scout 探查项同步升级(合并后 9 段完整度 / primer 新鲜度 / 契约表分档)。
|
|
63
|
+
- **M6 确定性数值在两份文档间冲突**(spacious 字号 18 vs 17 / `--space-4` 固定 16 vs 密度 12-16-20 / 字体栈两版 / `--focus-ring` 与 `--elev-raised` 几何有无):收敛为**单一真相源** `token-derivation.md`(数值权威)——density 改为明确倍率语义(×0.75 / ×1.0 / ×1.25 作用于 4px 基准阶梯,`--space-4` = 12/16/20);字体栈取更完整的系统栈(含 `Segoe UI`,与 `design-system-import.mjs` 一致);A2 几何与 `template.html` / `preview-template.html` 对齐;dark 主题 `--accent` 提亮改为**有界确定性**(对比度 <4.5:1 时按 10% 步长至多 3 次取首个达标值,仍不足则记入 `extensions` 交人工,不静默继续)。`creation-flow.md` 顶部加权威指向。
|
|
64
|
+
- 杂项(skill-reviewer Minor):`showcase-board-c-end.md` 覆盖数「合计 18 类」错 → **本板 16 类 + 两板合计覆盖 20 类基线全量**(原注释把 b-end 已覆盖的 4 类误列为除外);`variant-schema.md` 目录树补 `primer.md`/`pending.md`/`showcase/`,并写明**交互/轻量的 variants 亦必填**(guard 会判违规);`design-system-architect.md` 删除写死的年份注记、段落标题 `design-system.md` → `base.md`。
|
|
65
|
+
- **平台分发策略遵守**:release-archivist 属 **runtime skill**(9 个 runtime-dependent skill 之一,禁 `${CLAUDE_PLUGIN_ROOT}`——Cursor/ZCODE 等宿主无该变量,由 `platform-runtime-distribution.test.mjs` 守护),故其两处脚本引用改为**描述性写法**(「插件内 `scripts/…`(引用,非调用)」),不用宿主变量。
|
|
66
|
+
|
|
67
|
+
### Fixed(P4 门禁发现:plugin-validator)
|
|
68
|
+
|
|
69
|
+
- **【阻断级】插件内脚本/模板调用路径全部裸相对路径**(plugin-validator Major):4 个新特性的 11 处调用写成 `node scripts/x.mjs` —— Bash 的 CWD 是**用户项目**,而插件零拷贝安装(marketplace,本插件推荐安装方式)时插件位于缓存目录,两者永不相等 → 模板导入 / primer digest 校验 / token 提取 / guard 四件全部不可执行;最严重处 `builder-methodology.md:27` 的 `--check` **exit code 是分支判据**(exit 0 继续 / exit 2 blocked),路径失败把确定性分支退化为猜测。修复:11 处统一改为 `${CLAUDE_PLUGIN_ROOT}/…`(对齐 `workflow-bootstrap` / `install-cursor.mjs` 既有范式与 `$SKILL_DIR` 同类解法)。**机械预防**:新增 `tests/lib/skill-path-convention.test.mjs`(正/负向控制 + 全量语料扫描),把「裸相对路径」从每轮人工审查变成 CI 可拦截的 lint。
|
|
70
|
+
- **plugin.json 描述缺 3 个 first-class skill**(plugin-validator Minor):`design-system` / `test-strategy` / `project-initialize` 自引入起从未进入 marketplace 描述(`design-system` 为 v0.19.0 起缺失,本轮成为主线能力后更显突兀)→ 两份 manifest 同步补全。
|
|
71
|
+
- `release-archivist/SKILL.md:288` 的设计方案引用改为 workspace 相对写法(`team-flow-workspace/docs/…`),对齐 `workflow-bootstrap/SKILL.md:122`——同一文档两类引用写法并存。
|
|
72
|
+
- `skills/prototype/references/builder-methodology.md:54` 的「8 个 section 骨架」→ **14 个**:`layouts.md` 实际已有 14 个骨架(v0.24.0 扩至 C 端 6 个),该表述自 v0.24.0 起滞后;`prototype/SKILL.md:52` 已正确,横展确认全插件仅此一处残留。
|
|
73
|
+
|
|
74
|
+
### Known Deviations(记录在案)
|
|
75
|
+
|
|
76
|
+
- `skills/release-archivist/SKILL.md`(297→305 行,lint 计数)与 `skills/workflow-bootstrap/SKILL.md`(267→280 行,lint 计数)超出 250 行建议线——**存量既存超长**(同批超长另有 `workflow-start` 302 / `ce-brainstorm` 263 / `architecture-design` 260,本次未触碰);本次新增内容已按渐进式披露做成指针(细节在 `references/closing-procedures.md`),净增 +7/+12 行记录在案,治理待办见 Roadmap。
|
|
77
|
+
|
|
78
|
+
## [0.53.0] - 2026-09-10
|
|
79
|
+
|
|
80
|
+
### Added(架构台账回写门禁:`arch-merged` 维度 + B' 时序前移)
|
|
81
|
+
|
|
82
|
+
设计增强方案 v0.25(§101-§115)。来源:emp-auth v1 收口 2 条 workflow-feedback(20260910-175800 / 175801)+ 1 条零聚合门禁(20260910-000823)。
|
|
83
|
+
|
|
84
|
+
**核心承诺**:team-flow 的一大原则是「每次迭代后的架构变更(聚合 / API / DB)都必须合并进台账文档」。本版把这条原则从**文档承诺**变为**代码强制**。
|
|
85
|
+
|
|
86
|
+
- **新增 guard 维度 `arch-merged`**(挂 `executing→closing`):校验全局 `docs/architecture/ARCHITECTURE.md` 是否已含本 change 的增量。判据**双通道**——marker 区来源列 `change:<name>` **或** 演进日志锚 `### change:<name>`(单通道会与 R11 互锁,见 §110)。豁免面:`arch_design_decision` 为 `null`/`skipped`、`arch_merge_skipped=true`、`arch_baseline` 缺失(存量信号)。该转换由 **9 维增至 10 维**;guard 维度全量 **19**(`guard-dimensions.test.mjs` 对其中 13 维断言 pass/fail,其余 6 维由 `tests/lib/` 层覆盖——映射见该测试文件头部)。
|
|
87
|
+
- **回写链时序前移(B' 方案 §110)**:`tf arch-merge` 从「状态转换之后」前移到「**之前**」。新顺序 **`arch-merge → state transition closing → prototype-sync → test-merge → compound promotion`**。理由:门禁只能在转换点校验,故回写必须发生在转换**之前**才能被拦住;原顺序下"未回写"在状态机层面不可见。
|
|
88
|
+
- **新增 `tf arch scaffold`**:产出目标格式的空台账基线(含成对 marker),供 `workflow-bootstrap` B2 首次建立全局台账。`workflow-bootstrap` Step 0/1/2 相应改写——**禁止**手写 `PHYSICAL-MODEL.md` / `API-INDEX.md` / `DATABASE.md`(这四件由 arch-merge 无条件重建,手写在首次 merge 时即被整体覆盖,最坏情形是用户提供的物理模型知识彻底丢失)。
|
|
89
|
+
|
|
90
|
+
### Fixed(回写链三类根因 + 17 项缺陷)
|
|
91
|
+
|
|
92
|
+
**根因 Ⅰ:全局台账无唯一生产者契约**
|
|
93
|
+
|
|
94
|
+
- **R1**(§102):`workflow-bootstrap` 与 `arch-merge` 双写全局台账。修复:B2 改为委托 `tf arch scaffold`;四个生成式制品标注「由 arch-merge 维护」。**边界澄清**:`<!-- arch:current-state:begin/end -->` 之间由 arch-merge 独占,As-Is 叙述写在 marker 区**之外**。
|
|
95
|
+
|
|
96
|
+
**根因 Ⅱ:回写链是「无门禁 + 无对账 + 失败不上抛」的信任区**
|
|
97
|
+
|
|
98
|
+
- **R2**(§103):`generateApiIndex` 按 `isChangeClosed` 过滤,把**正在 merge 的 change 自己排除在外**(时序自排除)→ 本 change 端点永不入索引。
|
|
99
|
+
- **R3/R4**(§104):产出量对账此前不存在;解析失配静默(`return` 无输出)。修复:对账 + **fail-closed 不写盘** + 失败上抛退出码。
|
|
100
|
+
- **R7**(§107):零聚合 change 死锁——`arch_design_decision: required` 但无聚合时被误判为解析失配,且无合法零增量表达。修复:新增 `aggregate_action: none` / `aggregate_id: 'null'` 显式声明。
|
|
101
|
+
- **R8**(§108):marker 区只投影**当前 change** 的聚合 → 多 change 并行时互相抹除。修复:全集投影(`collectAllAggregates`)。
|
|
102
|
+
- **R11**(§109.4):演进日志 upsert **非幂等**——替换正则的 `$` 在 `/m` 下是行尾而非串尾,惰性量词退化为零宽匹配,旧表体一行不删。实测 3 次运行文件 428→526→624 字节、表体 1→2→3 次,而锚行始终唯一(**"计数唯一"不足以守护幂等**,幂等断言必须下沉到内容/字节粒度)。
|
|
103
|
+
|
|
104
|
+
**根因 Ⅲ:同一跨文件契约在多处各自实现**
|
|
105
|
+
|
|
106
|
+
- **R5**(§105):`extractEndpoints` 有 **6 种**形态失配(前端路由 `router.get('/x')` 被误提取、合并式单元格 `GET /path` 截断、多方法枚举、路径字符集、无方法半成品、大小写)。
|
|
107
|
+
- **R6**(§106):聚合表按**固定列位**取值 → 新增列即错位(headers 变更后列索引不对应)。
|
|
108
|
+
- **R12**(§115.4):`conflictCheck` 中有一段**手写的第二套表格解析器**(非 `parseTableRow` 调用点)——同契约双实现。
|
|
109
|
+
- **R13–R17**(§115.4):早退互锁 / 合并式截断 / `arch-snapshot.mjs` 缺 `import fs|path`(运行期 `ReferenceError`,因前三个早退分支覆盖了绝大多数场景才未暴露)/ 维度计数 / 孤儿导出。
|
|
110
|
+
- **R9**(§109):`cmd-publish` 裸 commit 卷入非预期文件。修复:pathspec + 提交后回读校验。
|
|
111
|
+
- **R10**(§109.3):脏文件白名单匹配不对称(`git status --porcelain` 对全新目录输出**目录级**条目,精确匹配必误报)。
|
|
112
|
+
|
|
113
|
+
**P4/P3 复核追加(§115.5-§115.8)**
|
|
114
|
+
|
|
115
|
+
- **As-Is 段端点误判为所有权**:多个 change 各自**冻结复制**同一批 As-Is 端点 → 被误判为所有权冲突(emp-auth 实测 C2/C3 共享 5 条 `/auth/*`)。已排除。
|
|
116
|
+
- **端点重复声明硬阻断 → WARN**(聚合冲突仍硬阻断,二者判据区分)。
|
|
117
|
+
- **失败未归属 owner(严重)**:`generateApiIndex` 扫描「当前 change + 全部已关闭 change」,原实现把**任一** change 的解析失配都算作本次 failure → **一个历史脏数据死锁所有后续 change 的 closing**(当前 change 回写已落地、门禁 PASS,但命令退出码 1;且 `arch_merge_skipped` 只豁免 guard 维度、不清除命令级 failure → 逃生通道不通)。修复:失败按 owner 分流,非本 change 的失配降级为 `[历史 change 解析异常]` WARN。
|
|
118
|
+
- **change 级模板占位端点可被提取**:`templates/api.md` 的占位路径 `/api/xxx` 会被当真实端点。修复:改为 `<endpoint>` + 警告横幅。
|
|
119
|
+
- **收尾顺序 8 处残留**:README / 两个 SKILL / agent description / 两处代码注释 / SKILL 锚点漂移 / `HANDOFF.md`(第 8 处,复核搜索口径未覆盖,主代理换口径重搜才命中)。`HANDOFF.md` 因全文停留 v0.30.0(计数 23+15 vs 实际 26+17)且全仓零引用,**不改顺序行、加作废横幅**——只改 3 行会造成"已同步"的假象。
|
|
120
|
+
|
|
121
|
+
### Changed(行为变更,存量项目升级须知)
|
|
122
|
+
|
|
123
|
+
| # | 变更 | 存量项目的表现 | 处置 |
|
|
124
|
+
|---|------|--------------|------|
|
|
125
|
+
| 1 | `executing→closing` 新增 `arch-merged` 门禁 | 未回写全局台账的 change **转换被拒** | 按新顺序先 `tf arch-merge` 再 `tf state transition closing`;无增量者登记 `arch_merge_skipped` + `arch_merge_skip_reason` |
|
|
126
|
+
| 2 | `tf arch-merge` **fail-closed** | 「模板原样未填 + `arch_design_decision: required`」从静默产出空台账 → **FAIL** | 补实表体;确无增量则登记跳过键 |
|
|
127
|
+
| 3 | `tf arch-merge` 退出码 **0 → 1** | 脚本/CI 中依赖退出码的调用方 | 失败时不再静默;历史 change 的畸形 `api.md` 已降级为 WARN,不阻断当前 change |
|
|
128
|
+
|
|
129
|
+
> **豁免面**(存量不受影响):`arch_baseline` 缺失 = 存量信号 → `arch-merged` / `arch-snapshot` 均按 legacy 豁免;`arch_design_decision` 为 `null` → 透明放行;hotfix/tweak 不挂该维度。
|
|
130
|
+
|
|
131
|
+
### Tests
|
|
132
|
+
|
|
133
|
+
`npm test` **871 → 893**(+22),`test:e2e` **68 → 73**(+5),frontmatter-lint 64/64。
|
|
134
|
+
|
|
135
|
+
- **新增 `tests/lib/arch-parse.test.mjs`**(22 项):6 种提取失配形态 + 表头列映射(R6)+ 路径字符集/HTTP 词表单一来源(§105.3)
|
|
136
|
+
- **`tests/lib/arch-merge.test.mjs`** 追加:R8 全集投影不互抹 / R4 fail-closed 正反面(失配 FAIL ↔ 纯 DB 不误杀)/ **§115.8 失败归属 owner**(历史脏数据不得死锁当前 change)/ §115.5 冲突判据(As-Is 排除 + 端点降级 WARN + 聚合仍硬阻断)
|
|
137
|
+
- **`tests/lib/guard-arch-gates.test.mjs`**(15 项)
|
|
138
|
+
- **`tests/e2e/deterministic/guard-dimensions.test.mjs`** 新增 arch-merged 区块(+5):台账无记录 FAIL / marker 区通道 PASS / 演进日志锚通道 PASS / 两档豁免
|
|
139
|
+
- **`tests/e2e/helpers/fixture.mjs`** 新增共享夹具 `writeGlobalLedger`(防后续门禁测试漏打戳 `arch_baseline` → 按 legacy 豁免 → 测试**假绿**)
|
|
140
|
+
|
|
141
|
+
> **重放验收**:在 emp-auth **副本**(`/tmp`,真实仓库未触碰)重放 C1/C2/C3 → 三个 change 全部完成 arch-merge(0 失败),`API-INDEX.md` 含 **33 条**三类增量端点、**零前端路由误报**。
|
|
142
|
+
|
|
143
|
+
### 实施纪律(新增 P4 强制动作)
|
|
144
|
+
|
|
145
|
+
**"把一段代码包进新作用域/块"时,必须逐字比对被替换区间是否夹带了控制流条件。** 本版处置「失败归属 owner」时,一次 Edit 的 `old_string` 含 `if (epSections.length > 0 && epTotal === 0 && candTotal > 0)`,`new_string` 未保留 → **"有候选即 FAIL" 无条件触发**,`tests/lib/arch-merge.test.mjs` 立即 13 项失败(含"正常 merge")。单测是最短反馈路径。
|
|
146
|
+
|
|
7
147
|
## [0.52.0] - 2026-09-10
|
|
8
148
|
|
|
9
149
|
### Fixed(CLI 命令语义分裂修复:spec 合并 / 测试解析 / 路径清洗)
|
package/GEMINI.md
CHANGED
|
@@ -8,7 +8,7 @@ The workflow is self-contained and does not require OpenSpec or Superpowers at r
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
<!-- team-flow-phase-guard-start -->
|
|
11
|
-
# team-flow v0.
|
|
11
|
+
# team-flow v0.54.0 | 阶段: {{state}} | 工作流: {{workflow}}
|
|
12
12
|
当前阶段允许的操作由 workflow-start 路由规则定义。
|
|
13
13
|
禁止跨越 DP gate 进入下一阶段。变更范围以 execution-contract.md 的 Intent Lock 为准。
|
|
14
14
|
<!-- team-flow-phase-guard-end -->
|
package/HANDOFF.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# team-flow · Handoff 文档(Claude Code 继续开发用)
|
|
2
2
|
|
|
3
|
+
> ## ⚠️ 本文档已作废(2026-09-10 标注,v0.53.0)
|
|
4
|
+
>
|
|
5
|
+
> 最后更新停留在 **2026-07-28(v0.30.0 时代)**,此后未再维护。已知失准之处至少包括:
|
|
6
|
+
> skill/agent 计数(此处 23+15,实际 **26+17**)、closing 回写链顺序
|
|
7
|
+
> (此处 `arch-merge → prototype-sync`,实际 **`arch-merge → state transition closing → prototype-sync → test-merge`**,v0.53.0 §110 B' 时序前移)等。
|
|
8
|
+
>
|
|
9
|
+
> **权威来源**:`CLAUDE.md` / `AGENTS.md` / `README.md` / `../docs/architecture-api-db-design-enhancement-v0.25.md`。
|
|
10
|
+
> 本文档**仅作历史追溯**,**不得**据其执行流程——照旧顺序执行会触发 `arch-merged` 门禁拒绝(因回写未发生在状态转换之前)。
|
|
11
|
+
>
|
|
12
|
+
> 保留不删的理由:记录 v0.30.0 时代的插件形态与设计决策,供追溯。
|
|
13
|
+
|
|
3
14
|
> 本文件用于把「team-flow 统一插件」的当前状态、设计决策、安装方式、剩余待办一次性交接清楚,
|
|
4
15
|
> 以便后续在 **Claude Code** 中直接打开 `team-flow/` 目录继续开发,无需回看历史对话。
|
|
5
16
|
> 最后更新:2026-07-28
|
package/INSTALL.md
CHANGED
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# team-flow
|
|
2
2
|
|
|
3
|
-
> 当前版本:`v0.
|
|
3
|
+
> 当前版本:`v0.54.0`
|
|
4
4
|
|
|
5
5
|
> 统一插件:**team-flow**(spec 驱动开发)+ **compound-engineering 核心子集**(全局复利)+ **architecture-design**(4A+DDD 增量设计)+ **prototype**(本地 HTML 原型)+ **e2e**(AC 驱动 E2E)+ **workflow-orchestrator**(产品级编排)+ **workflow-bootstrap**(既有项目接入)。一次安装,七套能力协同。
|
|
6
6
|
|
|
@@ -113,7 +113,7 @@ Skills 命名保留其来源前缀,作为功能分组的自然标识:
|
|
|
113
113
|
→ S4 拆分验证与分发 → arch-readiness 门 → change-split-auditor 审计(必选门禁)→ 创建 change → 进入 team-flow
|
|
114
114
|
→ S5 全局监控(change≥2 必选)→ 跨 change 一致性 + 复利晋升 + 动态重规划
|
|
115
115
|
→ [复利贯穿层] 每个阶段转换点:检测→捕获→索引→注入
|
|
116
|
-
→ change 完成:arch-merge → prototype-sync(顺序提交)+ 复利晋升
|
|
116
|
+
→ change 完成:arch-merge → state transition closing → prototype-sync → test-merge(顺序提交)+ 复利晋升
|
|
117
117
|
```
|
|
118
118
|
|
|
119
119
|
详见 `AGENTS.md`。
|
|
@@ -21,12 +21,13 @@ You are a write-focused builder. You read design artifacts (HTML/CSS/JS from the
|
|
|
21
21
|
|
|
22
22
|
| Parameter | Description |
|
|
23
23
|
|-----------|-------------|
|
|
24
|
-
| `
|
|
25
|
-
| `
|
|
26
|
-
| `
|
|
27
|
-
| `
|
|
24
|
+
| `design_system_path` | 设计系统 base.md 路径(e.g., `.team-flow/design-system/base.md`) |
|
|
25
|
+
| `confirmed_plan` | 已确认的原型方案(页面清单/组件清单/导航流) |
|
|
26
|
+
| `prd_path` | PRD 路径(页面内容依据) |
|
|
27
|
+
| `prototype_root` | 原型输出根目录(e.g., `prototype/`) |
|
|
28
|
+
| `mode` | (可选)`default` \| `showcase`——showcase 模式用于设计系统展示板(输入换为 showcase-board brief + 设计系统草案,见 references/builder-methodology.md) |
|
|
28
29
|
|
|
29
|
-
If `
|
|
30
|
+
If `design_system_path` or `confirmed_plan` or `prd_path` is missing or unreadable, report `BLOCKED` with reason `INPUT_ERROR`(showcase 模式豁免 `confirmed_plan`/`prd_path`)。
|
|
30
31
|
|
|
31
32
|
## Output Contract
|
|
32
33
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: prototype-env-scout
|
|
3
|
-
description: 原型环境探查(prototype skill 内部编排步骤①)。只读探查设计系统现状(9 段 schema
|
|
3
|
+
description: 原型环境探查(prototype skill 内部编排步骤①)。只读探查设计系统现状(base + 端变体 9 段 schema 完整度 + primer 新鲜度)、原型仓库分支、PRD 版本、已有页面,产出环境简报 + 推荐原型方案设计 + readiness verdict。只读,不写 prototype/,不改 design-system.md。
|
|
4
4
|
|
|
5
5
|
model: inherit
|
|
6
6
|
color: cyan
|
|
@@ -11,13 +11,13 @@ You are a Prototype Environment Scout. You are dispatched by the `prototype` ski
|
|
|
11
11
|
|
|
12
12
|
## The Iron Law
|
|
13
13
|
|
|
14
|
-
You NEVER write, edit, create, or delete any file. Your only output is the brief in your final response. Writing `prototype/` is `prototype-builder`'s job; writing
|
|
14
|
+
You NEVER write, edit, create, or delete any file. Your only output is the brief in your final response. Writing `prototype/` is `prototype-builder`'s job; writing `.team-flow/design-system/` is `design-system-architect`'s job.
|
|
15
15
|
|
|
16
16
|
## Invocation Contract
|
|
17
17
|
|
|
18
18
|
The dispatch prompt provides (some may be absent — probe to discover):
|
|
19
19
|
- `prd_path` or a hint to locate the current PRD version (e.g., `requirement/v1/prd.md`).
|
|
20
|
-
- `design_system_path` (from `prototype.designSystem` config) or a hint to find
|
|
20
|
+
- `design_system_path` (from `prototype.designSystem` config) or a hint to find `.team-flow/design-system/`.
|
|
21
21
|
- `prototype_root` (default `prototype/`).
|
|
22
22
|
- The intent: new prototype from scratch / iterate on existing / sync after a change.
|
|
23
23
|
|
|
@@ -105,7 +105,7 @@ Produce:
|
|
|
105
105
|
```
|
|
106
106
|
|
|
107
107
|
## Red Lines
|
|
108
|
-
- Do NOT write to `prototype/` or edit
|
|
108
|
+
- Do NOT write to `prototype/` or edit `.team-flow/design-system/` — you are read-only.
|
|
109
109
|
- Do NOT draw the prototype — that is `prototype-builder`'s job.
|
|
110
110
|
- A missing design system is normally NOT your blocker — flag it via `needs_design_system` verdict for the orchestrator to decide.
|
|
111
111
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: release-archivist
|
|
3
|
-
description: 发布归档 agent——在 build-executor 完成实施之后、change 关闭之前,执行验证、产出 closing
|
|
3
|
+
description: 发布归档 agent——在 build-executor 完成实施之后、change 关闭之前,执行验证、产出 closing 总结并完成归档就绪(含收尾回写链;顺序与细则以预加载 Skill 为唯一真相源)。可写型,负责归档制品。
|
|
4
4
|
|
|
5
5
|
model: inherit
|
|
6
6
|
color: yellow
|
|
@@ -15,7 +15,7 @@ You are an independent Release Archivist. You close out a team-flow change clean
|
|
|
15
15
|
|
|
16
16
|
**You are the sole owner of the closing verification report and archive artifacts** (the Step-5 report, `decision-point-audit.md` inclusion, closing summary) for this change. No other agent or the orchestration layer may directly edit these. Re-verification requests MUST be routed through you via `SendMessage` resume.
|
|
17
17
|
|
|
18
|
-
**Your preloaded Skill contains the detailed methodology** (Verification-Before-Completion iron law, 5-step verification, DP-6/DP-7 gates,
|
|
18
|
+
**Your preloaded Skill contains the detailed methodology** (Verification-Before-Completion iron law, 5-step verification, DP-6/DP-7 gates, the mandatory write-back order, lightweight closure). Follow it for HOW. This prompt defines WHO you are and WHAT you must deliver. **The write-back order is defined in the Skill — do not restate it here** (a duplicated order string is a drift source; v0.53.0 moved the state transition into that order, and this file had already drifted).
|
|
19
19
|
|
|
20
20
|
## Iron Law
|
|
21
21
|
|
|
@@ -43,6 +43,7 @@ writebacks:
|
|
|
43
43
|
arch_merge: "merged N docs | skipped"
|
|
44
44
|
prototype_sync: "synced N pages | no UX delta | conflicts: N"
|
|
45
45
|
compound_promotion: "promoted N learnings | no learnings"
|
|
46
|
+
design_system_pending: "N items pending (needs user confirmation) | none" # v0.54.0 ⑥:只读检查 .team-flow/design-system/pending.md,不执行 iterate
|
|
46
47
|
summary: "..." # closing summary + any WARNs needing user acceptance
|
|
47
48
|
```
|
|
48
49
|
|
|
@@ -51,8 +52,8 @@ summary: "..." # closing summary + any WARNs needing user
|
|
|
51
52
|
**DO:**
|
|
52
53
|
- Follow the preloaded Skill's 5-step verification and write-back ordering methodology
|
|
53
54
|
- Run each proving command fresh and cite command + output for every claim
|
|
54
|
-
- Execute write-backs sequentially
|
|
55
|
-
- Write your own `dp_6_*`/`dp_7_
|
|
55
|
+
- Execute write-backs **sequentially** in the order the Skill defines (see Skill — do not restate the sequence here)
|
|
56
|
+
- Write ONLY the state fields the Skill authorizes via `tf state set`: your own `dp_6_*`/`dp_7_*` decision fields, plus the `arch_merge_skipped`/`arch_merge_skip_reason` skip keys when arch-merge is a genuine no-op. **`test_result` is NOT writeable by hand** — since v0.13 §50 it is recorded programmatically by `tf test record` (this file previously listed it; that was drift).
|
|
56
57
|
|
|
57
58
|
**DON'T:**
|
|
58
59
|
- DO NOT modify the `state` or `workflow` field of .team-flow.yaml. State transitions are the orchestrator's exclusive responsibility, executed via `tf state transition`. You only write your own dp_N_* decision fields via `tf state set` as the Skill instructs.
|
package/docs/README_en.md
CHANGED
|
@@ -126,7 +126,7 @@ npm install -g team-flow
|
|
|
126
126
|
|
|
127
127
|
### Version
|
|
128
128
|
|
|
129
|
-
- Current: `v0.
|
|
129
|
+
- Current: `v0.54.0`
|
|
130
130
|
- v0.9.1 highlights: DP-4 execution-mode recommendations, a portable runtime across 17 platforms, and a raw-package smoke with no plugin-root variable.
|
|
131
131
|
- Self-contained — no OpenSpec or Superpowers runtime required
|
|
132
132
|
- Upstream: [Fission-AI/OpenSpec](https://github.com/Fission-AI/OpenSpec), [obra/superpowers](https://github.com/obra/superpowers)
|
package/docs/usage-guide.md
CHANGED
|
@@ -222,15 +222,17 @@ tf runtime guard check <change-dir> <from-state> <to-state> [--workflow full|hot
|
|
|
222
222
|
| execution-reviews-passed | executing→closing | 有 wave 缺 pass 审查回执 → 补审查 |
|
|
223
223
|
| compound-captured | executing→closing | 缺 learnings.md → `tf solutions capture` 或显式 skip |
|
|
224
224
|
| arch-snapshot | executing→closing | 产品级架构快照缺失 → 补快照或物化 SKIPPED 标记 |
|
|
225
|
+
| arch-merged | executing→closing | 架构增量未回写全局台账 → **先跑 `tf arch-merge <change-dir>` 再转换**(v0.53.0 B' 时序);确无增量可回写时 `tf state set <dir> arch_merge_skipped true` + `arch_merge_skip_reason` |
|
|
225
226
|
|
|
226
227
|
**设计哲学**:门禁硬,但每条都有逃生舱——存量豁免(字段缺失即视为老 change)、显式 skip+理由、`--force`/`--acknowledge-*` 参数。豁免一律留痕,可审计。
|
|
227
228
|
|
|
228
229
|
### 4.6 复利闭环——change 关闭时自动发生什么
|
|
229
230
|
|
|
230
|
-
closing 阶段 release-archivist
|
|
231
|
+
closing 阶段 release-archivist 会按**固定顺序**执行回写链(v0.53.0 起**状态转换插在 arch-merge 之后**——`executing→closing` 挂 `arch-merged` 门禁,未回写则转换被拒):
|
|
231
232
|
|
|
232
233
|
```
|
|
233
234
|
tf arch-merge(架构增量 → docs/architecture/ 全局当前态)
|
|
235
|
+
→ tf state transition closing(状态转换;受 arch-merged 门禁校验)
|
|
234
236
|
→ tf prototype-sync(UX 增量 → 全局 prototype/)
|
|
235
237
|
→ tf test-merge(测试矩阵 → docs/test-ledger/ 全局台账)
|
|
236
238
|
→ tf solutions promote(learnings.md 经验 → docs/solutions/)
|
|
@@ -426,6 +428,7 @@ tf prototype branch <prd-vN> | tf prototype deisolate <prd-vN> [--merge]
|
|
|
426
428
|
```bash
|
|
427
429
|
tf solutions capture|index-gen|inject|promote
|
|
428
430
|
tf arch init [--mode reconstruction|design] # 项目架构基线打戳(存量豁免键)
|
|
431
|
+
tf arch scaffold # 全局台账脚手架(目标格式空基线,v0.53.0 §102)
|
|
429
432
|
tf arch show
|
|
430
433
|
tf arch precheck <change-dir> [--json] # 架构判断门证据(signal none/weak/strong,退出码恒 0)
|
|
431
434
|
tf inject <dir> [--platforms claude,cursor,...] # 按当前状态生成 phase-guard 注入各平台
|
package/gemini-extension.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "team-flow",
|
|
3
3
|
"description": "Unified workflow plugin: team-flow (spec-driven dev) + compound-engineering core subset + architecture-design (4A/DDD) + prototype (local HTML) + business-analysis (independent requirement/scenario artifact). 26 skills, one install.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.54.0",
|
|
5
5
|
"contextFileName": "GEMINI.md"
|
|
6
6
|
}
|
package/hooks/session-start
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
|
-
# v0.
|
|
2
|
+
# v0.54.0: auto-sync CLI version with plugin version
|
|
3
3
|
set -e
|
|
4
4
|
|
|
5
5
|
# ═══════════════════════════════════════════════════════════════
|
|
6
6
|
# Plugin version (update this when releasing new versions)
|
|
7
7
|
# ═══════════════════════════════════════════════════════════════
|
|
8
|
-
PLUGIN_VERSION="0.
|
|
8
|
+
PLUGIN_VERSION="0.54.0"
|
|
9
9
|
|
|
10
10
|
# ═══════════════════════════════════════════════════════════════
|
|
11
11
|
# Step 1: Auto-sync CLI version with plugin version
|
package/llms.txt
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
## Overview
|
|
4
4
|
spec-superflow is a self-contained workflow integration plugin for Claude Code, Cursor, OpenAI Codex CLI/App, GitHub Copilot CLI, Gemini CLI, OpenCode, WorkBuddy, and Trae. It merges spec-driven planning artifacts (proposal, specs, design, tasks) with disciplined execution guardrails (TDD, review gates, controlled handoff) into one unified workflow.
|
|
5
5
|
|
|
6
|
-
Current version: v0.
|
|
6
|
+
Current version: v0.54.0.
|
|
7
7
|
|
|
8
8
|
## Key Documents
|
|
9
9
|
- README.md: Chinese homepage with full usage guide and FAQ
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xulthekl/team-flow",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.54.0",
|
|
4
4
|
"description": "Unified plugin (26 skills + 17 agents) integrating team-flow, compound-engineering, architecture-design, prototype, design-system, workflow-orchestrator, workflow-bootstrap, e2e, session-handoff, workflow-feedback, business-analysis for multi-agent coding tools.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
package/plugin.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "team-flow",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Unified workflow plugin: team-flow (spec-driven dev: TDD/SDD/code-review/debugging) + compound-engineering core subset (brainstorm/plan/compound/strategy/ideate/proof, global compounding) + architecture-design (4A+DDD incremental design & global compounding) + prototype (local HTML prototype, zero external deps) + e2e (Playwright E2E, AC-driven) + workflow-orchestrator (product-level workflow orchestration) + workflow-bootstrap (existing project onboarding) + session-handoff (context transfer) + workflow-feedback (issue tracking) + business-analysis (independent requirement/scenario artifact). 26 skills + 17 agents, one install.",
|
|
3
|
+
"version": "0.54.0",
|
|
4
|
+
"description": "Unified workflow plugin: team-flow (spec-driven dev: TDD/SDD/code-review/debugging) + compound-engineering core subset (brainstorm/plan/compound/strategy/ideate/proof, global compounding) + architecture-design (4A+DDD incremental design & global compounding) + prototype (local HTML prototype, zero external deps) + e2e (Playwright E2E, AC-driven) + workflow-orchestrator (product-level workflow orchestration) + workflow-bootstrap (existing project onboarding) + session-handoff (context transfer) + workflow-feedback (issue tracking) + business-analysis (independent requirement/scenario artifact) + design-system (design tokens + component contract + AI primer + showcase) + test-strategy (test strategy design) + project-initialize (new service onboarding). 26 skills + 17 agents, one install.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "LT"
|
|
7
7
|
},
|