dflow-sdd-ddd 0.7.0 → 0.9.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/CHANGELOG.md +73 -0
- package/LICENSE +679 -21
- package/README.en.md +5 -4
- package/README.md +3 -3
- package/bin/dflow.js +3 -2
- package/docs/evaluating-dflow.en.md +14 -5
- package/docs/evaluating-dflow.md +14 -5
- package/docs/using-with-claude-code.en.md +17 -9
- package/docs/using-with-claude-code.md +15 -8
- package/docs/using-with-codex.en.md +12 -8
- package/docs/using-with-codex.md +8 -6
- package/lib/init.js +480 -87
- package/package.json +2 -2
- package/templates/brownfield/references/dflow-feedback-flow.md +251 -0
- package/templates/brownfield/references/drift-verification.md +183 -0
- package/templates/brownfield/references/finish-feature-flow.md +294 -0
- package/templates/brownfield/references/git-integration.md +371 -0
- package/templates/brownfield/references/init-project-flow.md +430 -0
- package/templates/brownfield/references/modify-existing-flow.md +448 -0
- package/templates/brownfield/references/new-feature-flow.md +382 -0
- package/templates/brownfield/references/new-phase-flow.md +274 -0
- package/templates/brownfield/references/pr-review-checklist.md +179 -0
- package/templates/brownfield/scaffolding/AI-AGENT-GUIDE.md +31 -4
- package/templates/brownfield/scaffolding/CLAUDE-md-snippet.md +12 -8
- package/templates/brownfield/scaffolding/Git-principles-gitflow.md +14 -13
- package/templates/brownfield/scaffolding/Git-principles-trunk.md +14 -17
- package/templates/brownfield/scaffolding/_conventions.md +1 -1
- package/templates/brownfield/scaffolding/_overview.md +3 -3
- package/templates/brownfield/templates/_index.md +20 -2
- package/templates/brownfield/templates/context-map.md +1 -1
- package/templates/brownfield/templates/glossary.md +1 -1
- package/templates/brownfield/templates/models.md +1 -1
- package/templates/brownfield/templates/rules.md +1 -1
- package/templates/brownfield/templates/tech-debt.md +1 -1
- package/templates/common/skill/SKILL.md +35 -0
- package/templates/greenfield/references/ddd-modeling-guide.md +351 -0
- package/templates/greenfield/references/dflow-feedback-flow.md +251 -0
- package/templates/greenfield/references/drift-verification.md +195 -0
- package/templates/greenfield/references/finish-feature-flow.md +314 -0
- package/templates/greenfield/references/git-integration.md +344 -0
- package/templates/greenfield/references/init-project-flow.md +464 -0
- package/templates/greenfield/references/modify-existing-flow.md +366 -0
- package/templates/greenfield/references/new-feature-flow.md +412 -0
- package/templates/greenfield/references/new-phase-flow.md +288 -0
- package/templates/greenfield/references/pr-review-checklist.md +130 -0
- package/templates/greenfield/scaffolding/AI-AGENT-GUIDE.md +31 -4
- package/templates/greenfield/scaffolding/CLAUDE-md-snippet.md +15 -13
- package/templates/greenfield/scaffolding/Git-principles-gitflow.md +14 -13
- package/templates/greenfield/scaffolding/Git-principles-trunk.md +14 -18
- package/templates/greenfield/scaffolding/_conventions.md +1 -1
- package/templates/greenfield/scaffolding/_overview.md +5 -3
- package/templates/greenfield/scaffolding/architecture-decisions-README.md +1 -1
- package/templates/greenfield/templates/_index.md +20 -2
- package/templates/greenfield/templates/context-map.md +1 -1
- package/templates/greenfield/templates/events.md +1 -1
- package/templates/greenfield/templates/glossary.md +1 -1
- package/templates/greenfield/templates/models.md +1 -1
- package/templates/greenfield/templates/rules.md +1 -1
- package/templates/greenfield/templates/tech-debt.md +1 -1
package/README.en.md
CHANGED
|
@@ -35,8 +35,9 @@ npm install -g dflow-sdd-ddd
|
|
|
35
35
|
dflow init
|
|
36
36
|
```
|
|
37
37
|
|
|
38
|
-
The init flow asks whether the project is greenfield or brownfield,
|
|
39
|
-
|
|
38
|
+
The init flow asks whether the project is greenfield or brownfield, which Git
|
|
39
|
+
policy the team follows (GitFlow / Trunk), and how AI-made commits should be
|
|
40
|
+
marked, then previews the files it will create. Existing files are not overwritten. Init
|
|
40
41
|
creates workflow documentation and AI instruction files; it does not inspect,
|
|
41
42
|
refactor, or migrate your application code.
|
|
42
43
|
|
|
@@ -317,7 +318,7 @@ Usable only inside an already-started active feature. Targets pointing at `compl
|
|
|
317
318
|
|---|---|---|
|
|
318
319
|
| `/dflow:verify` | Need to confirm docs, code, tests, and tech-debt records are still in sync | Drift report across spec, domain docs, implementation, tests, and debt records |
|
|
319
320
|
| `/dflow:pr-review` | A change is ready for review | SDD/DDD compliance review checklist with risks, gaps, and follow-up items |
|
|
320
|
-
| `/dflow:report-dflow-feedback` | You or the AI found a Dflow issue or improvement while using it | Sanitized local
|
|
321
|
+
| `/dflow:report-dflow-feedback` | You or the AI found a Dflow issue or improvement while using it | Sanitized local draft rendered field-by-field for the upstream issue form, ready to paste; nothing is submitted automatically |
|
|
321
322
|
|
|
322
323
|
### What should I run? (rule of thumb)
|
|
323
324
|
|
|
@@ -389,4 +390,4 @@ release history.
|
|
|
389
390
|
|
|
390
391
|
## License
|
|
391
392
|
|
|
392
|
-
|
|
393
|
+
GNU Affero General Public License v3.0 or later (AGPL-3.0-or-later). See [LICENSE](LICENSE).
|
package/README.md
CHANGED
|
@@ -33,7 +33,7 @@ npm install -g dflow-sdd-ddd
|
|
|
33
33
|
dflow init
|
|
34
34
|
```
|
|
35
35
|
|
|
36
|
-
init 流程會詢問是 greenfield 或 brownfield
|
|
36
|
+
init 流程會詢問是 greenfield 或 brownfield、團隊採用的 Git policy(GitFlow / Trunk)、以及 AI commit 的標記方式,接著預覽即將建立的檔案。既有檔案不會被覆寫。Init 只建立 workflow 文件與 AI 指示檔,**不會**檢查、重構、或遷移你的應用程式碼。
|
|
37
37
|
|
|
38
38
|
若專案已初始化、之後又要加入另一個 AI 程式設計工具,執行:
|
|
39
39
|
|
|
@@ -263,7 +263,7 @@ Dflow 指令依角色分四類。「我要做的事」對應到指令的速查
|
|
|
263
263
|
|---|---|---|
|
|
264
264
|
| `/dflow:verify` | 需要確認文件、程式、測試、債務紀錄是否一致 | 跨規格、領域文件、實作、測試、債務的 drift report |
|
|
265
265
|
| `/dflow:pr-review` | 變更已準備接受審查 | SDD/DDD 合規 review 清單,含風險、缺口、後續項目 |
|
|
266
|
-
| `/dflow:report-dflow-feedback` | 你或 AI 在使用中發現 Dflow 本身的問題 | sanitized
|
|
266
|
+
| `/dflow:report-dflow-feedback` | 你或 AI 在使用中發現 Dflow 本身的問題 | sanitized 的本地草稿,逐欄對齊上游 issue 表單可直接貼上;不自動送出 |
|
|
267
267
|
|
|
268
268
|
### 該選哪個指令(rule of thumb)
|
|
269
269
|
|
|
@@ -328,4 +328,4 @@ GitHub 上的 source 可能包含 `0.2.0` 之後尚未發佈的 repo 變更。
|
|
|
328
328
|
|
|
329
329
|
## 授權
|
|
330
330
|
|
|
331
|
-
|
|
331
|
+
GNU Affero General Public License v3.0 或更新版本(AGPL-3.0-or-later),見 [LICENSE](LICENSE)。
|
package/bin/dflow.js
CHANGED
|
@@ -22,8 +22,9 @@ function printInitHelp() {
|
|
|
22
22
|
dflow init
|
|
23
23
|
|
|
24
24
|
Initializes Dflow project specs under dflow/specs/.
|
|
25
|
-
The command prompts for project type, tech stack, prose language,
|
|
26
|
-
optional starter files, and AI coding agents before showing a
|
|
25
|
+
The command prompts for project type, tech stack, prose language, Git policy,
|
|
26
|
+
AI commit marker, optional starter files, and AI coding agents before showing a
|
|
27
|
+
full file preview.
|
|
27
28
|
`);
|
|
28
29
|
}
|
|
29
30
|
|
|
@@ -35,10 +35,16 @@ in your project's `dflow/specs/` directory and AI instruction files.
|
|
|
35
35
|
map, architecture/tech-debt, features active/completed). See
|
|
36
36
|
[`README.md` "Files Created by Init"](../README.en.md#files-created-by-init)
|
|
37
37
|
for the full tree.
|
|
38
|
-
- A canonical project guide at `dflow/specs/shared/AI-AGENT-GUIDE.md
|
|
38
|
+
- A canonical project guide at `dflow/specs/shared/AI-AGENT-GUIDE.md` —
|
|
39
|
+
the command registry, routing rules, and project context.
|
|
40
|
+
- A vendored workflow bundle at `dflow/specs/shared/dflow-workflows/` —
|
|
41
|
+
the executable step definitions for each `/dflow:*` workflow (step gates,
|
|
42
|
+
completion checklists, templates). This bundle is projected from the npm
|
|
43
|
+
package at init time so workflows are reachable from any clone without
|
|
44
|
+
needing the Dflow source or package installed locally.
|
|
39
45
|
- Mergeable AI agent instruction files for the tools you select (e.g.,
|
|
40
46
|
`CLAUDE.md`, `AGENTS.md`, `.github/copilot-instructions.md`). Each is a
|
|
41
|
-
thin pointer to the canonical guide.
|
|
47
|
+
thin pointer to the canonical guide and workflow bundle.
|
|
42
48
|
|
|
43
49
|
`init` does **not**:
|
|
44
50
|
|
|
@@ -60,7 +66,9 @@ or more tools and Dflow writes the corresponding shim:
|
|
|
60
66
|
| GitHub Copilot | `.github/copilot-instructions.md` |
|
|
61
67
|
|
|
62
68
|
Each shim points back to the canonical
|
|
63
|
-
`dflow/specs/shared/AI-AGENT-GUIDE.md`.
|
|
69
|
+
`dflow/specs/shared/AI-AGENT-GUIDE.md`. The guide acts as the command registry
|
|
70
|
+
and router; executable workflow steps live in the vendored bundle at
|
|
71
|
+
`dflow/specs/shared/dflow-workflows/`. Practical implications:
|
|
64
72
|
|
|
65
73
|
- Multiple tools can be active in the same project without diverging
|
|
66
74
|
workflow rules.
|
|
@@ -68,8 +76,9 @@ Each shim points back to the canonical
|
|
|
68
76
|
`dflow configure-agents` to add another shim, or
|
|
69
77
|
`dflow configure-agents --command-adapters` to opt in to tool-native command
|
|
70
78
|
entries.
|
|
71
|
-
- The
|
|
72
|
-
behavior
|
|
79
|
+
- The guide and workflow bundle together are the authoritative sources for
|
|
80
|
+
Dflow workflow behavior; both are plain Markdown committed in your repo and
|
|
81
|
+
accessible to any clone.
|
|
73
82
|
|
|
74
83
|
`/dflow:*` is the canonical shared vocabulary, but each tool's `/` parser
|
|
75
84
|
behaves differently: Claude Code command adapters use `/dflow:<id>`, the
|
package/docs/evaluating-dflow.md
CHANGED
|
@@ -25,8 +25,14 @@ Dflow 是 Markdown-based 的 workflow 材料加上一個 scaffolding CLI。它
|
|
|
25
25
|
|
|
26
26
|
- `dflow/specs/` workspace(概覽、慣例、領域詞彙表、context map、架構 / 技術債、功能 active/completed)。完整目錄樹見
|
|
27
27
|
[`README.md` "Init 產生的檔案"](../README.md#init-產生的檔案)。
|
|
28
|
-
- 位於 `dflow/specs/shared/AI-AGENT-GUIDE.md` 的 canonical
|
|
29
|
-
|
|
28
|
+
- 位於 `dflow/specs/shared/AI-AGENT-GUIDE.md` 的 canonical 專案指南 ——
|
|
29
|
+
命令登錄表、路由規則與專案上下文。
|
|
30
|
+
- 位於 `dflow/specs/shared/dflow-workflows/` 的 vendored workflow bundle ——
|
|
31
|
+
各 `/dflow:*` workflow 的可執行步驟定義(step gates、completion checklists、模板)。
|
|
32
|
+
這個 bundle 在 init 時從 npm 套件投影進專案,因此 workflow 步驟是 self-contained
|
|
33
|
+
且可達的,任何 clone 都不需要 Dflow source 或 package 在本機安裝。
|
|
34
|
+
- 你所選工具的可合併 AI 指示檔(例如 `CLAUDE.md`、`AGENTS.md`、`.github/copilot-instructions.md`)。
|
|
35
|
+
每個都是指向 canonical 指南與 workflow bundle 的薄 shim。
|
|
30
36
|
|
|
31
37
|
`init` **不會**:
|
|
32
38
|
|
|
@@ -45,11 +51,14 @@ Dflow 支援多種 AI 程式設計助理。跑完 `init` 後,你選取一個
|
|
|
45
51
|
| Claude Code | `CLAUDE.md` |
|
|
46
52
|
| GitHub Copilot | `.github/copilot-instructions.md` |
|
|
47
53
|
|
|
48
|
-
每個 shim 都指向 canonical 的 `dflow/specs/shared/AI-AGENT-GUIDE.md
|
|
54
|
+
每個 shim 都指向 canonical 的 `dflow/specs/shared/AI-AGENT-GUIDE.md`(命令登錄表)
|
|
55
|
+
與 `dflow/specs/shared/dflow-workflows/`(可執行步驟定義)。實際意義:
|
|
49
56
|
|
|
50
57
|
- 同一個專案可以同時啟用多個工具,而不會有 workflow 規則分歧。
|
|
51
|
-
- 之後切換或新增工具不需要重跑 `init`;執行 `dflow configure-agents` 即可新增 shim
|
|
52
|
-
|
|
58
|
+
- 之後切換或新增工具不需要重跑 `init`;執行 `dflow configure-agents` 即可新增 shim,
|
|
59
|
+
或用 `dflow configure-agents --command-adapters` opt in 工具原生命令入口。
|
|
60
|
+
- 指南與 workflow bundle 共同成為 Dflow workflow 行為的權威來源;兩者都是純 Markdown
|
|
61
|
+
已 commit 進 repo,任何 clone 均可直接讀取。
|
|
53
62
|
|
|
54
63
|
`/dflow:*` 是 canonical 共同詞彙,但各工具的 `/` parser 行為不同:Claude Code
|
|
55
64
|
command adapters 使用 `/dflow:<id>`,GitHub Copilot prompt 選單使用
|
|
@@ -68,11 +68,15 @@ Two things happen when Claude Code starts in this project:
|
|
|
68
68
|
Code's Markdown import syntax to inline the canonical Dflow guide. So
|
|
69
69
|
Claude Code effectively reads both files as one set of instructions.
|
|
70
70
|
|
|
71
|
-
The canonical guide (`dflow/specs/shared/AI-AGENT-GUIDE.md`) is
|
|
72
|
-
|
|
71
|
+
The canonical guide (`dflow/specs/shared/AI-AGENT-GUIDE.md`) is the
|
|
72
|
+
**command registry and router**: project context (track, tech stack, prose
|
|
73
73
|
language), the `/dflow:*` workflow table, source-of-truth file paths, and
|
|
74
|
-
core SDD/DDD rules. The
|
|
75
|
-
|
|
74
|
+
core SDD/DDD rules. The executable workflow steps (Step 1→N, step gates,
|
|
75
|
+
completion checklists) live in the **vendored workflow bundle** that `init`
|
|
76
|
+
projects into `dflow/specs/shared/dflow-workflows/`. Both are plain Markdown
|
|
77
|
+
checked into your repo, so they travel with the project when cloned. The
|
|
78
|
+
`CLAUDE.md` shim stays small precisely so the canonical guide can evolve
|
|
79
|
+
without Claude-Code-specific edits.
|
|
76
80
|
|
|
77
81
|
If a `CLAUDE.md` already existed in the project, `init` does not overwrite
|
|
78
82
|
it. Instead it writes a merge snippet under `dflow/specs/shared/` that you
|
|
@@ -112,9 +116,11 @@ dflow/specs/features/active/. Before I do, I need a short answer on:
|
|
|
112
116
|
The workflow then walks you through spec drafting, behavior examples,
|
|
113
117
|
implementation planning, and finish-feature drift checks. The exact
|
|
114
118
|
sequence depends on which workflow you entered (`/dflow:new-feature`,
|
|
115
|
-
`/dflow:modify-existing`, `/dflow:bug-fix`, etc.).
|
|
116
|
-
|
|
117
|
-
|
|
119
|
+
`/dflow:modify-existing`, `/dflow:bug-fix`, etc.). The executable step
|
|
120
|
+
definitions (Step 1→N, step gates, completion checklists) are in the
|
|
121
|
+
vendored workflow bundle at `dflow/specs/shared/dflow-workflows/`; `init`
|
|
122
|
+
projects this bundle into every initialized project so the workflow steps
|
|
123
|
+
are self-contained and reachable without any external source dependency.
|
|
118
124
|
|
|
119
125
|
Available workflow entry points:
|
|
120
126
|
|
|
@@ -215,8 +221,10 @@ After you select Claude Code, Dflow generates a thin skill:
|
|
|
215
221
|
|
|
216
222
|
- `.claude/skills/dflow/SKILL.md`
|
|
217
223
|
|
|
218
|
-
This skill does not copy workflow steps; its body
|
|
219
|
-
`dflow/specs/shared/AI-AGENT-GUIDE.md
|
|
224
|
+
This skill does not copy workflow steps; its body points to the canonical
|
|
225
|
+
`dflow/specs/shared/AI-AGENT-GUIDE.md` (command registry and routing rules) and
|
|
226
|
+
`dflow/specs/shared/dflow-workflows/` (vendored bundle with executable step
|
|
227
|
+
definitions).
|
|
220
228
|
Its behavior:
|
|
221
229
|
|
|
222
230
|
- **Auto-triggers on** feature / bug-fix workflows, product/domain behavior
|
|
@@ -62,10 +62,14 @@ Claude Code 在這個專案中啟動時,會發生兩件事:
|
|
|
62
62
|
Markdown import 語法,將 canonical Dflow 指南 inline 嵌入。因此 Claude Code
|
|
63
63
|
等效於把兩個檔案當成一組指示來讀取。
|
|
64
64
|
|
|
65
|
-
canonical 指南(`dflow/specs/shared/AI-AGENT-GUIDE.md
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
65
|
+
canonical 指南(`dflow/specs/shared/AI-AGENT-GUIDE.md`)是**命令登錄表與路由器**:
|
|
66
|
+
專案上下文(track、技術棧、文章語言)、`/dflow:*` workflow 表、source-of-truth
|
|
67
|
+
檔案路徑,以及核心 SDD/DDD 規則。可執行的 workflow 步驟(Step 1→N、step gates、
|
|
68
|
+
completion checklists)則放在 `init` 投影進專案的 **vendored workflow bundle**
|
|
69
|
+
(`dflow/specs/shared/dflow-workflows/`)。兩者都是純 Markdown,隨 repo
|
|
70
|
+
一起 commit,任何 clone 都能直接讀取,不需要 Dflow source 或 package 在本機安裝。
|
|
71
|
+
`CLAUDE.md` shim 刻意保持精簡,這樣 canonical 指南就能在不需要 Claude Code
|
|
72
|
+
專屬修改的情況下持續演進。
|
|
69
73
|
|
|
70
74
|
如果專案中已有 `CLAUDE.md`,`init` 不會覆蓋它。它改為在
|
|
71
75
|
`dflow/specs/shared/` 下寫入 merge snippet,讓你手動貼入現有的 `CLAUDE.md`。
|
|
@@ -103,8 +107,10 @@ dflow/specs/features/active/. Before I do, I need a short answer on:
|
|
|
103
107
|
接著這個 workflow 會引導你完成 spec 起草、行為範例、實作計畫,以及
|
|
104
108
|
finish-feature 漂移(drift)檢查。確切的流程取決於你進入的是哪個 workflow
|
|
105
109
|
(`/dflow:new-feature`、`/dflow:modify-existing`、`/dflow:bug-fix` 等)。
|
|
106
|
-
|
|
107
|
-
|
|
110
|
+
可執行的步驟定義(Step 1→N、step gates、completion checklists)存放在
|
|
111
|
+
`dflow/specs/shared/dflow-workflows/` 的 vendored bundle 中;`init` 會把這個
|
|
112
|
+
bundle 投影進每個初始化的專案,因此 workflow 步驟是 self-contained 且可達的,
|
|
113
|
+
不需要任何外部 source dependency。
|
|
108
114
|
|
|
109
115
|
可用的 workflow 入口:
|
|
110
116
|
|
|
@@ -190,8 +196,9 @@ dflow configure-agents --skills
|
|
|
190
196
|
|
|
191
197
|
- `.claude/skills/dflow/SKILL.md`
|
|
192
198
|
|
|
193
|
-
這份 skill 不複製 workflow 步驟,body
|
|
194
|
-
`dflow/specs/shared/AI-AGENT-GUIDE.md
|
|
199
|
+
這份 skill 不複製 workflow 步驟,body 指向 canonical
|
|
200
|
+
`dflow/specs/shared/AI-AGENT-GUIDE.md`(命令登錄表與路由規則)以及
|
|
201
|
+
`dflow/specs/shared/dflow-workflows/`(含可執行步驟定義的 vendored bundle)。
|
|
195
202
|
它的行為:
|
|
196
203
|
|
|
197
204
|
- **自動觸發於** feature / bug-fix workflow、product/domain behavior 變更、新需求、
|
|
@@ -162,20 +162,24 @@ triggers only. It does not create Codex command files and it does not add
|
|
|
162
162
|
equivalent to Claude `.claude/commands` or Copilot `.github/prompts`.
|
|
163
163
|
|
|
164
164
|
When you select `AGENTS.md - Codex / Copilot coding agent` in
|
|
165
|
-
`--command-adapters` mode
|
|
166
|
-
|
|
167
|
-
|
|
165
|
+
`--command-adapters` mode, Dflow writes a trigger list generated from the
|
|
166
|
+
canonical command registry into `AGENTS.md`. Those triggers are still plain
|
|
167
|
+
text prompts, for example:
|
|
168
168
|
|
|
169
169
|
```text
|
|
170
170
|
dflow:new-feature
|
|
171
171
|
```
|
|
172
172
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
173
|
+
As long as `AGENTS.md` is an unmodified Dflow-generated shim — which is exactly
|
|
174
|
+
the case after the standard `init` → `configure-agents --command-adapters`
|
|
175
|
+
flow — Dflow **injects** the trigger section directly into `AGENTS.md`, wrapped
|
|
176
|
+
in markers, with zero manual merge. Re-running re-projects that same section in
|
|
177
|
+
place instead of appending a duplicate.
|
|
176
178
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
+
If `AGENTS.md` was edited after Dflow generated it, or is your own custom file,
|
|
180
|
+
Dflow leaves it untouched and instead writes the trigger section to a merge
|
|
181
|
+
snippet for you to merge manually. In that case the Codex-target merge snippet
|
|
182
|
+
filename is `dflow/specs/shared/AGENTS-md-command-adapters-snippet.md`.
|
|
179
183
|
|
|
180
184
|
### Version-Control Policy for Generated Artifacts (Codex)
|
|
181
185
|
|
package/docs/using-with-codex.md
CHANGED
|
@@ -149,18 +149,20 @@ Claude `.claude/commands` 或 Copilot `.github/prompts` 對等的 Dflow command-
|
|
|
149
149
|
adapter。
|
|
150
150
|
|
|
151
151
|
當你在 `--command-adapters` 模式下選擇 `AGENTS.md - Codex / Copilot coding agent`
|
|
152
|
-
|
|
153
|
-
|
|
152
|
+
時,Dflow 會把從 canonical command registry 產生的 trigger 清單寫進 `AGENTS.md`。
|
|
153
|
+
這些 trigger 仍是文字提示,例如:
|
|
154
154
|
|
|
155
155
|
```text
|
|
156
156
|
dflow:new-feature
|
|
157
157
|
```
|
|
158
158
|
|
|
159
|
-
|
|
160
|
-
|
|
159
|
+
只要 `AGENTS.md` 是 Dflow 產生且未經改動的 shim(標準 `init` → `configure-agents
|
|
160
|
+
--command-adapters` 流程就是如此),Dflow 會把帶 marker 的 trigger 段**直接注入**
|
|
161
|
+
`AGENTS.md`,零手動合併;重複執行會就地重投影同一段、不會重複附加。
|
|
161
162
|
|
|
162
|
-
|
|
163
|
-
|
|
163
|
+
如果 `AGENTS.md` 在 Dflow 產生後被改過、或本來就是你自訂的檔案,Dflow 會保留既有
|
|
164
|
+
檔案不動,改把 trigger 段寫到 merge snippet 供你手動合併。此情況下 Codex 目標的
|
|
165
|
+
merge snippet 檔名是 `dflow/specs/shared/AGENTS-md-command-adapters-snippet.md`。
|
|
164
166
|
|
|
165
167
|
### 產生物的版控政策(Codex)
|
|
166
168
|
|