@double-codeing/flow2spec 2.2.2 → 3.0.7
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/README.md +73 -54
- package/cli.js +254 -14
- package/docs/Flow2Spec-/344/275/277/347/224/250/346/241/210/344/276/213-/346/250/241/346/213/237/345/257/271/350/257/235.md +123 -134
- package/docs/Flow2Spec-/346/274/224/350/256/262/347/250/277.md +411 -0
- package/docs/Flow2Spec-/350/256/276/350/256/241/350/257/264/346/230/216.md +574 -0
- package/docs/Flow2Spec/344/275/277/347/224/250/350/257/264/346/230/216.md +116 -76
- package/docs/README-/344/275/223/347/263/273/344/270/216/345/216/237/347/220/206.md +85 -44
- package/docs/README-/345/221/275/344/273/244/350/257/264/346/230/216.md +548 -79
- package/docs/README-/347/233/256/345/275/225/344/270/216/350/267/257/345/276/204/347/272/246/345/256/232.md +33 -62
- package/docs/images//346/212/200/350/203/275/351/227/255/347/216/257/345/233/276.png +0 -0
- package/lib/agents.js +15 -3
- package/lib/claudeSettingsAdapter.js +114 -0
- package/lib/codexAgentsAdapter.js +70 -0
- package/lib/flow2specConfig.js +229 -0
- package/lib/init.js +698 -25
- package/package.json +2 -2
- package/templates/AGENTS.md +98 -0
- package/templates/flow2spec.config.json +9 -0
- package/templates/hooks/f2s-config-inject.js +181 -0
- package/templates/knowledge/index.md +68 -0
- package/templates/knowledge/manifest-matchers.json +35 -0
- package/templates/knowledge/manifest-routing.json +45 -0
- package/templates/knowledge/matchers/m-doc-routing.json +11 -0
- package/templates/knowledge/matchers/m-f2s-config-precheck.json +15 -0
- package/templates/knowledge/matchers/m-implement-from-spec.json +10 -0
- package/templates/{template → knowledge/template}//345/220/216/347/253/257/346/212/200/346/234/257/346/250/241/347/211/210.md +3 -2
- package/templates/{template → knowledge/template}//347/273/210/347/250/277/346/250/241/347/211/210.md +5 -4
- package/templates/knowledge/topics/f2s-config-precheck.md +24 -0
- package/templates/knowledge/topics/f2s-fallback-triage.md +60 -0
- package/templates/knowledge/topics/f2s-implement-tech-design.md +21 -0
- package/templates/knowledge/topics/f2s-stock-docs-vs-req-docs.md +25 -0
- package/templates/rules/f2s-config-check.mdc +35 -0
- package/templates/rules/f2s-flow2spec-unified-entry.mdc +88 -0
- package/templates/rules/f2s-implement-tech-design.mdc +144 -0
- package/templates/rules/f2s-karpathy-guidelines.mdc +77 -0
- package/templates/rules/f2s-knowledge-preflight.mdc +70 -0
- package/templates/rules/f2s-stock-docs-vs-req-docs.mdc +16 -0
- package/templates/rules/f2s-task.mdc +202 -0
- package/templates/skills/f2s-ctx-build/SKILL.md +74 -173
- package/templates/skills/f2s-ctx-rm/SKILL.md +39 -43
- package/templates/skills/f2s-doc-add/SKILL.md +69 -106
- package/templates/skills/f2s-doc-arch/SKILL.md +20 -9
- package/templates/skills/f2s-doc-final/SKILL.md +29 -21
- package/templates/skills/f2s-doc-pdf/SKILL.md +17 -10
- package/templates/skills/f2s-git-commit/SKILL.md +189 -0
- package/templates/skills/f2s-karpathy-guidelines/SKILL.md +20 -0
- package/templates/skills/f2s-kb-feat/SKILL.md +72 -50
- package/templates/skills/f2s-kb-fix/SKILL.md +77 -46
- package/templates/skills/f2s-kb-merge/SKILL.md +9 -0
- package/templates/skills/f2s-kb-migrate/SKILL.md +356 -0
- package/templates/skills/f2s-kb-sync/SKILL.md +80 -59
- package/templates/skills/f2s-kb-upgrade/SKILL.md +225 -0
- package/templates/skills/f2s-req-backend/SKILL.md +35 -12
- package/templates/skills/f2s-req-clarify/SKILL.md +10 -2
- package/templates/skills/f2s-req-plan/SKILL.md +110 -0
- package/templates/skills/stock-docs-vs-req-docs/SKILL.md +10 -4
- package/docs/images//345/216/237/347/220/206/345/233/2761.png +0 -0
- package/docs/images//345/216/237/347/220/206/345/233/2762.png +0 -0
- package/docs/images//345/221/275/344/273/244/346/230/216/347/273/206/345/233/276.png +0 -0
- package/docs/images//346/227/245/345/270/270/346/223/215/344/275/234/346/265/201/347/250/213/345/233/276.png +0 -0
- package/docs/images//347/256/200/350/277/260/345/233/276.png +0 -0
- package/templates/rules/implement-tech-design.mdc +0 -177
- package/templates/rules/stock-docs-vs-req-docs.mdc +0 -14
|
@@ -1,123 +1,163 @@
|
|
|
1
1
|
# Flow2Spec 使用说明
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
## 一、init 做了什么
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
在业务仓库根执行:
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
| [四、典型流程](#四典型流程) | 架构 / 上下文 / 按方案实现 / 全局技能 |
|
|
13
|
-
| [五、改造 implement-tech-design](#五implement-tech-designmdc-可自行改造) | 按项目改「按方案实现」规则 |
|
|
14
|
-
| [六、技能标识](#六技能与工作流标识) | `skills/<name>/SKILL.md` 速览 |
|
|
15
|
-
| [七、延伸](#七速查与相关文档) | 速查与 FAQ |
|
|
16
|
-
| [使用案例(另文)](./Flow2Spec-使用案例-模拟对话.md) | 真实输入、命令解释、场景与速查 |
|
|
7
|
+
```bash
|
|
8
|
+
flow2spec init [cursor|claude|codex ...]
|
|
9
|
+
# 需要强制重置 .Knowledge 到模板时:
|
|
10
|
+
flow2spec init [cursor|claude|codex ...] --reset-knowledge
|
|
11
|
+
```
|
|
17
12
|
|
|
18
|
-
|
|
13
|
+
| init 做 | init 不做 |
|
|
14
|
+
|---------|----------|
|
|
15
|
+
| 补齐缺失的目录与模板文件 | 撰写或更新业务文档内容 |
|
|
16
|
+
| 落盘各 agent 配置根 `rules/` `skills/` | 更新 `includeAny` 业务词条 |
|
|
17
|
+
| `manifest-routing` + `matchers/` 包级结构对齐 | 替代 `f2s-*` 技能对业务语义的书写 |
|
|
18
|
+
| `--reset-knowledge` 时强制覆盖 `.Knowledge` 模板文件 | (不加此参数时)覆盖已有 `.Knowledge` 内容 |
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
> **`init` 与「知识库升级」是两件事**:`init` 只做结构补齐,业务语义(topics 内容、路由词条、stock-docs/req-docs)由 `f2s-doc-add`、`f2s-kb-fix`、`f2s-kb-feat`、`f2s-kb-sync`、`f2s-ctx-build` 等技能维护。跨版本升级用 `f2s-kb-upgrade`,**不要把单独 `init` 当作升级命令**。
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
### `f2s-*` 与 `flow2spec.config.json`:多端多重提示(权威仍为磁盘 JSON)
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
执行任意 **`f2s-*` 技能**前,需要让 Agent 拿到 **`subAgent` / `switchAgentVerification` / `changeTracking`** 等实际值。Flow2Spec 在 **不同客户端** 用 **不同机制** 强化这一点;它们彼此**补充**,**不**互相替代,**权威始终**是项目根 **`flow2spec.config.json`**(须用 **Read** 与磁盘一致后再进技能正文)。
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
| 端 | `init` 落盘与行为 | 说明 |
|
|
27
|
+
| --- | --- | --- |
|
|
28
|
+
| **Cursor** | `.cursor/rules/f2s-config-check.mdc`(`alwaysApply`) | 规则要求:技能正文前先 **Read(`flow2spec.config.json`)**。 |
|
|
29
|
+
| **Claude Code** | `.claude/hooks/f2s-config-inject.js` + `.claude/settings.json`(PreToolUse,`Skill` 匹配) | 在调用 **`f2s-*` Skill** 时注入配置摘要;**文件缺失、JSON 无效或 hook 未预期异常**时也会注入**说明 + 与「文件不存在」一致的默认语义**,避免静默;仍建议在存疑或刚改过配置时 **Read** 核对。 |
|
|
30
|
+
| **Codex** | `.codex/AGENTS.md` 顶部强制步骤 + `{{FLOW2SPEC_PROJECT_CONFIG}}` 展开表 | **Read** 为硬要求;配置表为 **最近一次 `flow2spec init` 的快照**,与磁盘不一致时以 **Read** 为准。同目录 **`.codex/topics/f2s-config-check.md`** 与 Cursor 规则同源(含 **changeTracking** 细表),**按需**打开即可,不必与「专题长文」三条示例并列必读。 |
|
|
31
|
+
| **知识库(可选)** | `.Knowledge/manifest-routing` 命中 **`config-precheck`** 时 | `.Knowledge/topics/f2s-config-precheck.md` 为**路由摘要**,链向 Codex 长文;**不**在 `.Knowledge` 再维护第二份全文,也**不**替代 Read JSON。 |
|
|
32
|
+
|
|
33
|
+
字段语义与默认值规则见 [README-命令说明 § 6) 子 Agent 配置说明](./README-命令说明.md)。设计视角见 [Flow2Spec-设计说明 § 四、5.1](./Flow2Spec-设计说明.md);口述见 [Flow2Spec-演讲稿 Slide 13b](./Flow2Spec-演讲稿.md)。
|
|
34
|
+
|
|
35
|
+
---
|
|
27
36
|
|
|
28
|
-
|
|
29
|
-
| --------------- | ------------------------------------------ |
|
|
30
|
-
| **skills/** | f2s-\* 工作流 + **stock-docs-vs-req-docs** |
|
|
31
|
-
| **rules/** | Cursor:**\*.mdc**(如 **implement-tech-design.mdc**);Claude Code:**\*.md**(如 **implement-tech-design.md**) |
|
|
32
|
-
| **template/** | 终稿模版、后端技术模版 |
|
|
33
|
-
| **stock-docs/** | 生成 Rules/Skills 的**存量源文档** |
|
|
34
|
-
| **req-docs/** | 需求澄清、技术方案、**按方案实现**用 MD |
|
|
37
|
+
## 二、目录约定
|
|
35
38
|
|
|
36
|
-
|
|
39
|
+
核心区分:`stock-docs/` 放沉淀文档(驱动知识路由),`req-docs/` 放技术方案(驱动编码实现),两者不互换。
|
|
40
|
+
|
|
41
|
+
完整目录说明见 [README-目录与路径约定](./README-目录与路径约定.md)。
|
|
37
42
|
|
|
38
43
|
---
|
|
39
44
|
|
|
40
|
-
##
|
|
45
|
+
## 三、典型工作场景
|
|
41
46
|
|
|
42
|
-
|
|
47
|
+
### 需求规划并实现
|
|
43
48
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
| **req-docs/** | 技术方案等 → 对话提供路径 + **implement-tech-design** 写代码 |
|
|
49
|
+
```
|
|
50
|
+
f2s-req-plan
|
|
51
|
+
```
|
|
48
52
|
|
|
49
|
-
|
|
53
|
+
输入技术方案文档路径或需求描述,先输出任务清单草稿并等待确认,确认后按清单实现代码。始终创建 `.task/` 任务清单,不需要配置 `changeTracking`。适合希望先看清全貌再动手、或需要跨会话追踪进度的场景。
|
|
50
54
|
|
|
51
|
-
|
|
55
|
+
### 变更追踪与跨会话续作
|
|
52
56
|
|
|
53
|
-
|
|
57
|
+
```
|
|
58
|
+
# 自动模式:配置开启(各技能独立)
|
|
59
|
+
flow2spec.config.json → changeTracking.feat / fix / implement: true
|
|
54
60
|
|
|
55
|
-
|
|
61
|
+
# 显式模式:调用 f2s-req-plan(规划 + 实现,不依赖配置)
|
|
62
|
+
f2s-req-plan
|
|
63
|
+
```
|
|
56
64
|
|
|
57
|
-
|
|
58
|
-
**上下文(已落地能力→知识库)**:**f2s-doc-add**——**工作中**要把**已经做好的能力**从多份源码/说明里**解析进上下文**时用;独立技能,**不要**与「仅要架构初稿」的 f2s-doc-arch 混用(见 `skills/f2s-doc-add/SKILL.md`「使用时机」与分工表)
|
|
65
|
+
**自动模式**:开启后,`f2s-kb-feat` / `f2s-kb-fix` / `f2s-implement-tech-design` 执行时自动在 `.task/active/` 创建任务清单,逐步勾选,完成后归档。下次会话描述相关内容,`f2s-task` 规则自动匹配并加载剩余清单,无需重新说明上下文。
|
|
59
66
|
|
|
60
|
-
|
|
67
|
+
**显式模式**:直接调用 `f2s-req-plan`,不管 `changeTracking` 配置,始终创建任务清单并按清单实现代码,适合希望先确认全貌再动手的场景。
|
|
61
68
|
|
|
62
|
-
|
|
69
|
+
### 新需求开发
|
|
63
70
|
|
|
64
|
-
|
|
71
|
+
```
|
|
72
|
+
f2s-req-clarify → f2s-req-backend → implement-tech-design → f2s-kb-feat
|
|
73
|
+
```
|
|
65
74
|
|
|
66
|
-
|
|
75
|
+
需求已明确时可跳过 `f2s-req-clarify`,直接从 `f2s-req-backend` 开始。技术方案落入 `req-docs/` 后,由 `implement-tech-design` 规则驱动编码。
|
|
67
76
|
|
|
68
|
-
|
|
77
|
+
### 文档沉淀
|
|
69
78
|
|
|
70
|
-
|
|
79
|
+
```
|
|
80
|
+
新增架构文档沉淀:f2s-doc-arch → f2s-doc-final → f2s-ctx-build
|
|
81
|
+
PDF 文档沉淀: f2s-doc-pdf → f2s-doc-final → f2s-ctx-build
|
|
82
|
+
```
|
|
71
83
|
|
|
72
|
-
|
|
84
|
+
把架构说明或 PDF 技术方案纳入知识路由(生成 topics/matchers/manifest-routing)。
|
|
73
85
|
|
|
74
|
-
|
|
86
|
+
### PDF 方案实现
|
|
75
87
|
|
|
76
|
-
|
|
88
|
+
```
|
|
89
|
+
f2s-doc-pdf → implement-tech-design
|
|
90
|
+
```
|
|
77
91
|
|
|
78
|
-
|
|
92
|
+
拿到 PDF 技术方案后直接转 Markdown 落入 `req-docs/`,再由 `implement-tech-design` 规则驱动编码。
|
|
79
93
|
|
|
80
|
-
|
|
94
|
+
### 存量能力补录
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
f2s-doc-add # 多文件聚合,从源码/文档提取
|
|
98
|
+
f2s-kb-sync # 从当前会话推断已实现能力
|
|
99
|
+
```
|
|
81
100
|
|
|
82
|
-
|
|
101
|
+
代码已落地但知识库没有记录时使用。`f2s-doc-add` 适合批量导入,`f2s-kb-sync` 适合会话结束时的即时沉淀。
|
|
83
102
|
|
|
84
|
-
|
|
103
|
+
### 日常维护
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
f2s-kb-fix # 修复实现或规则错误,自动同步知识库
|
|
107
|
+
f2s-kb-feat # 新增能力,自动同步知识库
|
|
108
|
+
f2s-kb-sync # 定期同步或补录
|
|
109
|
+
f2s-kb-merge # Git 合并后解决上下文冲突
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### 知识库跨版本升级
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
f2s-kb-migrate(流程 V1:旧库)→ f2s-kb-upgrade
|
|
116
|
+
f2s-kb-upgrade(流程现行库 V2+:已有 .Knowledge;含 npm v3.x 等,见技能步骤 0)
|
|
117
|
+
```
|
|
85
118
|
|
|
86
119
|
---
|
|
87
120
|
|
|
88
|
-
##
|
|
121
|
+
## 四、Agent 执行配置
|
|
122
|
+
|
|
123
|
+
通过项目根 `flow2spec.config.json` 控制,字段完整规则见 [README-命令说明 § 6) 子 Agent 配置说明](./README-命令说明.md)。**各端如何被提示读到配置、为何仍以 Read 为权威**见 **§ 一**(本 § 仅说明**何时**打开各开关)。
|
|
124
|
+
|
|
125
|
+
**何时开启 `subAgent: true`**:任务规模较大时(多模块并行实现、批量文档入库、大规模迁移)。开启后各技能按自身规模门槛决定是否实际拆分,未达门槛的仍在主 agent 内完成。
|
|
126
|
+
|
|
127
|
+
**何时开启 `switchAgentVerification: true`**:需要更高落盘一致性时(大规模迁移、重要方案实现)。代价是增加执行轮次;常规维护场景默认 `false` 足够。须搭配 `subAgent: true` 才能触发"主落子验"方向的交叉。
|
|
89
128
|
|
|
90
|
-
|
|
129
|
+
**何时开启 `changeTracking.*`**:希望每次技能执行自动留下可续作的任务清单时。各技能子项独立配置,互不影响:
|
|
91
130
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
| f2s-kb-fix / f2s-kb-feat / f2s-kb-sync / f2s-kb-merge | 任意:纠错、新能力;典型实现后:写库;冲突:合并 |
|
|
102
|
-
| stock-docs-vs-req-docs | 两目录分工说明 |
|
|
131
|
+
```json
|
|
132
|
+
{
|
|
133
|
+
"changeTracking": {
|
|
134
|
+
"feat": true,
|
|
135
|
+
"fix": false,
|
|
136
|
+
"implement": true
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
```
|
|
103
140
|
|
|
104
|
-
|
|
141
|
+
不想依赖配置、希望按需显式规划任务时,直接使用 `f2s-req-plan`。
|
|
105
142
|
|
|
106
143
|
---
|
|
107
144
|
|
|
108
|
-
##
|
|
145
|
+
## 五、规则改造建议
|
|
109
146
|
|
|
110
|
-
|
|
147
|
+
- 项目特化「按技术方案实现」逻辑时,优先调整 **`f2s-implement-tech-design`**:Cursor `.cursor/rules/f2s-implement-tech-design.mdc`,Claude `.claude/rules/f2s-implement-tech-design.md`;Codex 以 `.codex/AGENTS.md` 与相关 `skills/` 为准
|
|
148
|
+
- 再次 `init` 默认仅补齐缺失模板并做包级结构对齐,**不**替代 `f2s-*` 对业务内容的维护;需用模板重置 `.Knowledge` 时加 `--reset-knowledge`
|
|
111
149
|
|
|
112
|
-
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## 六、技能标识
|
|
153
|
+
|
|
154
|
+
技能以 `name` 与 `description` 匹配触发,文件位于 `配置根/skills/*/SKILL.md`。
|
|
155
|
+
|
|
156
|
+
---
|
|
113
157
|
|
|
114
|
-
|
|
115
|
-
- **技能不触发**:确认已 init;对话里点名技能名或 `description` 里的词。
|
|
116
|
-
- **顺序搞不清**:看 [README-命令说明](./README-命令说明.md) 开头总表。
|
|
158
|
+
## 七、相关文档
|
|
117
159
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
| [README-目录与路径约定](./README-目录与路径约定.md) | 路径、链接、产物阶段 |
|
|
123
|
-
| [README-体系与原理](./README-体系与原理.md) | main、docs-index、拆解原则 |
|
|
160
|
+
- [README-命令说明](./README-命令说明.md)
|
|
161
|
+
- [README-目录与路径约定](./README-目录与路径约定.md)
|
|
162
|
+
- [README-体系与原理](./README-体系与原理.md)
|
|
163
|
+
- [Flow2Spec-使用案例-模拟对话](./Flow2Spec-使用案例-模拟对话.md)
|
|
@@ -1,79 +1,120 @@
|
|
|
1
1
|
# 体系与原理
|
|
2
2
|
|
|
3
|
-
Flow2Spec
|
|
3
|
+
Flow2Spec 的目标是把"业务知识沉淀"与"Agent 能力加载"拆开:
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
**文档**:[Flow2Spec使用说明](./Flow2Spec使用说明.md) · [README-命令说明](./README-命令说明.md) · [README-目录与路径约定](./README-目录与路径约定.md) · [Flow2Spec-使用案例-模拟对话](./Flow2Spec-使用案例-模拟对话.md)
|
|
5
|
+
- **知识层**:`.Knowledge`(文档与索引)
|
|
6
|
+
- **执行层**:配置根 `rules/skills`(供各工具原生加载)
|
|
8
7
|
|
|
9
8
|
---
|
|
10
9
|
|
|
11
|
-
## 1.
|
|
10
|
+
## 1. 两层结构
|
|
12
11
|
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
| 层 | 位置 | 作用 |
|
|
13
|
+
| --- | --- | --- |
|
|
14
|
+
| 知识层 | `.Knowledge/` | 保存业务文档、索引、路由 |
|
|
15
|
+
| 执行层 | `.cursor/.claude/.codex` | 保存规则与技能入口 |
|
|
15
16
|
|
|
16
17
|
---
|
|
17
18
|
|
|
18
|
-
## 2.
|
|
19
|
+
## 2. 渐进式读取
|
|
19
20
|
|
|
20
|
-
|
|
21
|
+
统一建议顺序:
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
1. `.Knowledge/manifest-routing.json`
|
|
24
|
+
2. `.Knowledge/matchers/<matcher>.json`(按需:由 `manifest-routing.taskToTopicRules[].matcherPath` 直链定位)
|
|
25
|
+
3. `.Knowledge/index.md`
|
|
26
|
+
4. 命中的 `stock-docs` / `req-docs` 文档
|
|
27
|
+
5. 必要时下钻源码
|
|
27
28
|
|
|
28
|
-
|
|
29
|
+
读取后执行 `match → expand → verify → act` 四步流水线:命中主候选后展开依赖主题、缺口检查,置信度足够时才执行;低置信度先澄清。
|
|
29
30
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
| **main.mdc** | 唯一 **alwaysApply**;总地图、模块一览、公共入口(正文应约定先读 **docs-index** 再下钻) |
|
|
33
|
-
| **专题 Rules**(`rules/*-context.mdc`) | 必须/禁止/约定;按 **globs** 命中文件时加载 |
|
|
34
|
-
| **专题 Skills**(`skills/` 下各主题的 **SKILL.md**) | 概念、流程、示例;按 **description** 匹配问题 |
|
|
35
|
-
| **docs-index.md** | 表格式:文档路径、Rules、Skills、摘要(**非** alwaysApply,须按需读) |
|
|
31
|
+
同时由配置根入口(Flow2Spec 包规则:`f2s-flow2spec-unified-entry.mdc` / `f2s-flow2spec-unified-entry.md`;旧版业务仓库常见为 `main.md(c)`;以及 `AGENTS.md`)约束加载行为。
|
|
32
|
+
其中 Codex 不读取 `rules/` 目录,统一通过 `.codex/AGENTS.md` + `skills/` 承载执行约束。
|
|
36
33
|
|
|
37
34
|
---
|
|
38
35
|
|
|
39
|
-
## 3.
|
|
36
|
+
## 3. 关键链路
|
|
40
37
|
|
|
41
|
-
-
|
|
42
|
-
-
|
|
38
|
+
- 文档沉淀链:`f2s-doc-arch` → `f2s-doc-final` → `f2s-ctx-build`
|
|
39
|
+
- 实现链:`.Knowledge/req-docs/*.md` → `implement-tech-design` → 代码
|
|
40
|
+
- 维护链:`f2s-kb-fix` / `f2s-kb-feat` / `f2s-kb-sync` / `f2s-kb-merge`
|
|
41
|
+
- 需求规划链:`f2s-req-plan`(规划 + 实现,始终创建任务清单)
|
|
42
|
+
- 变更追踪链:`changeTracking.*` 配置 → `f2s-task` 规则(自动)→ `.task/` 任务清单 → 跨会话续作
|
|
43
|
+
- 包模板/路由形态与配置根对齐:`f2s-kb-upgrade`(**勿**将单独 `flow2spec init` 等同于「知识库升级」);旧库结构迁入 `.Knowledge`:`f2s-kb-migrate`
|
|
43
44
|
|
|
44
45
|
---
|
|
45
46
|
|
|
46
|
-
## 4.
|
|
47
|
+
## 4. Agent 执行模型
|
|
47
48
|
|
|
48
|
-
|
|
49
|
-
|---|--------------|-------------------|
|
|
50
|
-
| 路径 | `rules/main.mdc` | 配置根下与 stock-docs 同级 |
|
|
51
|
-
| 角色 | 项目总览、模块与公共能力入口 | 按文档列 Rules / Skills |
|
|
52
|
-
| 加载 | **唯一 alwaysApply** | 不自动进上下文;由 **main** 约定阅读顺序 |
|
|
49
|
+
Flow2Spec 通过项目根 `flow2spec.config.json` 的 `subAgent`、`switchAgentVerification` 两个字段控制执行行为。
|
|
53
50
|
|
|
54
|
-
|
|
51
|
+
**Agent 如何读到上述真值**:多端提示 + **Read** 权威,见 [Flow2Spec使用说明 § 一(唯一详表)](./Flow2Spec使用说明.md);设计归纳见 [Flow2Spec-设计说明 § 四、5.1](./Flow2Spec-设计说明.md)。
|
|
55
52
|
|
|
56
|
-
|
|
53
|
+
### 4.1 主/子 Agent 职责划分原则
|
|
54
|
+
|
|
55
|
+
**`subAgent: false`(默认)**:全部 `f2s-*` 技能在主 agent 内顺序完成,无并行拆分。
|
|
56
|
+
|
|
57
|
+
**`subAgent: true`**:达到技能正文约定的规模门槛时,允许拆分子 agent 并行处理。职责边界如下:
|
|
58
|
+
|
|
59
|
+
| 角色 | 职责边界 |
|
|
60
|
+
|------|----------|
|
|
61
|
+
| 主 agent | 统筹规划、确定任务粒度与分配策略、汇总子 agent 输出、校验跨单元一致性、最终落盘 |
|
|
62
|
+
| 子 agent | 处理指定单元(模块/文档/主题),按约定格式输出结果,不跨单元决策 |
|
|
63
|
+
|
|
64
|
+
子 agent 的拆分边界由各 `f2s-*` 技能正文逐步约定(如模块数、文档数、代码行数等门槛),**当前尚未在模板层给出统一阶段表**,以技能正文为准。
|
|
65
|
+
|
|
66
|
+
### 4.2 验证归属原则
|
|
67
|
+
|
|
68
|
+
**默认(谁落盘谁验)**:落盘或变更后的验证在落盘侧 agent 内完成。子 agent 落盘则子 agent 自验,主 agent 落盘则主 agent 自验。
|
|
69
|
+
|
|
70
|
+
**交叉验证(`switchAgentVerification: true`)**:由对方 agent 承担验证,适用于需要更高置信度的场景。启用条件必须**同时满足**:
|
|
71
|
+
|
|
72
|
+
1. 配置 `switchAgentVerification: true`
|
|
73
|
+
2. 当前执行的 `f2s-*` 技能正文**明确写出**该步骤依赖本项
|
|
74
|
+
|
|
75
|
+
交叉验证规则:
|
|
76
|
+
|
|
77
|
+
| 落盘方 | 验证方 | 前提条件 |
|
|
78
|
+
|--------|--------|----------|
|
|
79
|
+
| 子 agent 落盘 | 主 agent 验证 | 无额外条件 |
|
|
80
|
+
| 主 agent 落盘 | 子 agent 验证 | 须 `subAgent: true` 且实际已拆出子任务;否则仍由主 agent 自验 |
|
|
81
|
+
|
|
82
|
+
设计意图:交叉验证引入外部视角,降低落盘侧的自验盲区,但增加执行开销,因此设为显式 opt-in 而非默认行为。
|
|
83
|
+
|
|
84
|
+
### 4.3 变更追踪(changeTracking)
|
|
57
85
|
|
|
58
|
-
|
|
86
|
+
`changeTracking` 是独立于 `subAgent` / `switchAgentVerification` 的第三个维度,控制技能执行时是否自动创建可跨会话续作的任务清单。
|
|
59
87
|
|
|
60
|
-
|
|
88
|
+
```json
|
|
89
|
+
{
|
|
90
|
+
"changeTracking": {
|
|
91
|
+
"feat": false,
|
|
92
|
+
"fix": false,
|
|
93
|
+
"implement": false
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
```
|
|
61
97
|
|
|
62
|
-
-
|
|
63
|
-
-
|
|
64
|
-
-
|
|
98
|
+
- 各技能子项独立控制,互不影响
|
|
99
|
+
- 开启后:技能执行前自动检查 `.task/todo.json`,创建或续接任务;完成后自动归档
|
|
100
|
+
- 跨会话:新会话描述相关内容,`f2s-task` 规则(`alwaysApply`)关键词匹配命中后自动加载剩余清单和对应技能上下文
|
|
101
|
+
- `f2s-req-plan` 不受此配置约束,始终创建任务清单
|
|
65
102
|
|
|
66
103
|
---
|
|
67
104
|
|
|
68
|
-
##
|
|
105
|
+
## 5. 设计收益
|
|
69
106
|
|
|
70
|
-
|
|
107
|
+
1. 跨工具共享同一业务知识源
|
|
108
|
+
2. 不破坏 Claude/Cursor/Codex 的规则加载习惯
|
|
109
|
+
3. 通过 `manifest-routing` + `matcherPath` 分片(`matchers/*.json`)控制任务路由与依赖,减少误读与全量扫描
|
|
110
|
+
4. 主/子 agent 职责边界清晰,主 agent 始终持有全局视图,子 agent 专注单元处理,汇总一致性由主 agent 保证
|
|
111
|
+
5. 验证归属可配置:默认落盘侧自验保持低开销,交叉验证按需启用提升关键场景置信度
|
|
71
112
|
|
|
72
113
|
---
|
|
73
114
|
|
|
74
|
-
##
|
|
115
|
+
## 6. 相关文档
|
|
75
116
|
|
|
76
|
-
-
|
|
77
|
-
-
|
|
78
|
-
-
|
|
79
|
-
-
|
|
117
|
+
- [Flow2Spec使用说明](./Flow2Spec使用说明.md)
|
|
118
|
+
- [README-命令说明](./README-命令说明.md)
|
|
119
|
+
- [README-目录与路径约定](./README-目录与路径约定.md)
|
|
120
|
+
- [Flow2Spec-使用案例-模拟对话](./Flow2Spec-使用案例-模拟对话.md)
|