dflow-sdd-ddd 0.5.0 → 0.6.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 +29 -0
- package/README.en.md +23 -4
- package/README.md +17 -3
- package/docs/evaluating-dflow.en.md +12 -6
- package/docs/evaluating-dflow.md +7 -3
- package/docs/using-with-claude-code.en.md +26 -17
- package/docs/using-with-claude-code.md +23 -15
- package/docs/using-with-codex.en.md +35 -30
- package/docs/using-with-codex.md +31 -26
- package/docs/using-with-github-copilot.en.md +8 -9
- package/docs/using-with-github-copilot.md +9 -8
- package/lib/init.js +11 -6
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,35 @@
|
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
+
## 0.6.0 — 2026-05-21 — Command-adapter 命名修正
|
|
10
|
+
|
|
11
|
+
**Proposals**:PROPOSAL-036(修正 command-adapter 命名 + 各工具叫用現實對齊)
|
|
12
|
+
|
|
13
|
+
**變更**:
|
|
14
|
+
|
|
15
|
+
- **修正 opt-in command adapter 命名 bug**(PROPOSAL-036):0.5.0 的
|
|
16
|
+
`dflow configure-agents --command-adapters` 在 Claude 產生
|
|
17
|
+
`.claude/commands/dflow/dflow-<id>.md`;因 Claude Code 把子目錄 `dflow/`
|
|
18
|
+
當 namespace、再加上檔名的 `dflow-` 前綴,註冊出的指令名變成重複的
|
|
19
|
+
`/dflow:dflow-<id>`。改為產生 `.claude/commands/dflow/<id>.md`,指令名
|
|
20
|
+
回正為 `/dflow:<id>`。
|
|
21
|
+
- **各工具叫用方式對齊實測現實**:command adapter wrapper 與
|
|
22
|
+
`configure-agents` next-steps 文字改為說明三工具實際叫用名 —— Claude Code
|
|
23
|
+
`/dflow:<id>`、GitHub Copilot 選單 `/dflow-<id>`(或 canonical `/dflow:<id>`
|
|
24
|
+
純文字)、Codex CLI 不帶斜線的純文字(如 `dflow:status`)。Codex AGENTS.md
|
|
25
|
+
command-adapters snippet 補上「CLI 攔截斜線指令時改送不帶斜線文字」的指引。
|
|
26
|
+
`README` / `docs/using-with-*` / `docs/evaluating-dflow` / `tutorial`
|
|
27
|
+
同步更新。
|
|
28
|
+
|
|
29
|
+
**⚠️ Breaking change / 遷移**:
|
|
30
|
+
|
|
31
|
+
- 生成路徑重新命名。**從 0.5.0 升級、且曾跑過 `configure-agents
|
|
32
|
+
--command-adapters` 的專案**,須手動刪除舊的
|
|
33
|
+
`.claude/commands/dflow/dflow-*.md`,否則 Claude Code 會同時顯示新舊兩組
|
|
34
|
+
指令名。未使用 command adapters 的專案不受影響。
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
9
38
|
## 0.5.0 — 2026-05-20 — Guide control commands、opt-in command adapters、移除 Gemini
|
|
10
39
|
|
|
11
40
|
**Proposals**:PROPOSAL-032(AI-AGENT-GUIDE 補 status/next/cancel 行為語義 +
|
package/README.en.md
CHANGED
|
@@ -47,8 +47,14 @@ tool, run:
|
|
|
47
47
|
dflow configure-agents
|
|
48
48
|
```
|
|
49
49
|
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
If you also want tool-native command / prompt wrappers, use the opt-in mode:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
dflow configure-agents --command-adapters
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
This command only configures AI instruction files and optional command
|
|
57
|
+
adapters. It does not rerun project initialization or touch existing specs.
|
|
52
58
|
|
|
53
59
|
### Alternative: try without installing
|
|
54
60
|
|
|
@@ -94,7 +100,19 @@ After init, start work through the Dflow workflow in your AI coding agent:
|
|
|
94
100
|
/dflow:pr-review
|
|
95
101
|
```
|
|
96
102
|
|
|
97
|
-
|
|
103
|
+
`/dflow:*` is Dflow's canonical shared vocabulary; each AI tool's `/` parser
|
|
104
|
+
behaves differently. Use these practical invocation forms:
|
|
105
|
+
|
|
106
|
+
| Tool | Recommended invocation |
|
|
107
|
+
|---|---|
|
|
108
|
+
| Claude Code after `--command-adapters` | `/dflow:<id>`, for example `/dflow:new-feature` |
|
|
109
|
+
| GitHub Copilot | `/dflow:<id>` as chat text; `/dflow-<id>` in the VS Code prompt menu |
|
|
110
|
+
| Codex CLI | no-slash plain text `dflow:<id>`, for example `dflow:new-feature` |
|
|
111
|
+
|
|
112
|
+
If your tool does not support custom slash commands, use the workflow name as
|
|
113
|
+
a plain instruction in chat. Dflow is Markdown-based workflow material plus a
|
|
114
|
+
scaffolding CLI, so it can be used with AI coding agents that can read project
|
|
115
|
+
instructions and repository context.
|
|
98
116
|
|
|
99
117
|
For the first adoption pass, use a branch or disposable sample project so your
|
|
100
118
|
team can inspect the generated `dflow/specs/` workspace before bringing the
|
|
@@ -216,7 +234,8 @@ single source of truth, so teams can use multiple AI tools without maintaining
|
|
|
216
234
|
multiple copies of the workflow rules.
|
|
217
235
|
|
|
218
236
|
You can run `dflow configure-agents` later to add more tool shims as the team
|
|
219
|
-
adopts additional AI coding agents.
|
|
237
|
+
adopts additional AI coding agents. If you need Claude / Copilot tool-native
|
|
238
|
+
command entries, use `dflow configure-agents --command-adapters`.
|
|
220
239
|
|
|
221
240
|
For tool-specific walk-throughs of what `init` writes and how Dflow's
|
|
222
241
|
workflow commands appear in a given AI tool, see the per-tool guides under
|
package/README.md
CHANGED
|
@@ -41,7 +41,13 @@ init 流程會詢問是 greenfield 或 brownfield,接著預覽即將建立的
|
|
|
41
41
|
dflow configure-agents
|
|
42
42
|
```
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
若想同時建立工具原生的命令 / prompt wrapper,使用 opt-in 模式:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
dflow configure-agents --command-adapters
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
此指令只設定 AI 指示檔與選配 command adapters,不會重跑專案初始化,也不會動到既有 specs。
|
|
45
51
|
|
|
46
52
|
### 替代路徑:不安裝直接試用
|
|
47
53
|
|
|
@@ -79,7 +85,15 @@ dflow doctor
|
|
|
79
85
|
/dflow:pr-review
|
|
80
86
|
```
|
|
81
87
|
|
|
82
|
-
|
|
88
|
+
`/dflow:*` 是 Dflow 的 canonical 共同詞彙;各 AI 工具的 `/` parser 行為不同。實際輸入方式如下:
|
|
89
|
+
|
|
90
|
+
| 工具 | 建議叫法 |
|
|
91
|
+
|---|---|
|
|
92
|
+
| Claude Code(安裝 `--command-adapters` 後) | `/dflow:<id>`,例如 `/dflow:new-feature` |
|
|
93
|
+
| GitHub Copilot | chat 文字可用 `/dflow:<id>`;VS Code prompt 選單使用 `/dflow-<id>` |
|
|
94
|
+
| Codex CLI | 不帶斜線的純文字 `dflow:<id>`,例如 `dflow:new-feature` |
|
|
95
|
+
|
|
96
|
+
若你的工具不支援自訂 slash command,把 workflow 名稱當成普通對話訊息輸入即可。Dflow 是 Markdown-based 的 workflow 材料加一個 scaffolding CLI,能與任何可讀專案指示與 repo 上下文的 AI 程式設計助理一起運作。
|
|
83
97
|
|
|
84
98
|
第一次採用建議用 branch 或一次性試用專案,讓團隊先檢視產生的 `dflow/specs/` 工作區,再把流程引入正式程式碼。
|
|
85
99
|
|
|
@@ -188,7 +202,7 @@ Dflow 也會為你的 AI 程式設計助理建立或提供可合併的專案指
|
|
|
188
202
|
|
|
189
203
|
若這些檔案已存在,Dflow 不會覆蓋,改寫 merge snippet 到 `dflow/specs/shared/`。專案指南保持單一 source of truth,團隊就能用多個 AI 工具而不必維護多份 workflow 規則。
|
|
190
204
|
|
|
191
|
-
之後團隊採用新 AI 程式設計助理時,可隨時跑 `dflow configure-agents` 新增 shim
|
|
205
|
+
之後團隊採用新 AI 程式設計助理時,可隨時跑 `dflow configure-agents` 新增 shim;若需要 Claude / Copilot 的工具原生命令入口,改用 `dflow configure-agents --command-adapters`。
|
|
192
206
|
|
|
193
207
|
特定工具的 init 寫入內容與 Dflow workflow 命令呈現方式,見 `docs/` 內的 per-tool 指南:
|
|
194
208
|
|
|
@@ -64,13 +64,17 @@ Each shim points back to the canonical
|
|
|
64
64
|
|
|
65
65
|
- Multiple tools can be active in the same project without diverging
|
|
66
66
|
workflow rules.
|
|
67
|
-
- Switching or adding tools later does not require re-running `init`;
|
|
68
|
-
|
|
67
|
+
- Switching or adding tools later does not require re-running `init`; run
|
|
68
|
+
`dflow configure-agents` to add another shim, or
|
|
69
|
+
`dflow configure-agents --command-adapters` to opt in to tool-native command
|
|
70
|
+
entries.
|
|
69
71
|
- The project guide stays the single source of truth for Dflow workflow
|
|
70
72
|
behavior.
|
|
71
73
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
+
`/dflow:*` is the canonical shared vocabulary, but each tool's `/` parser
|
|
75
|
+
behaves differently: Claude Code command adapters use `/dflow:<id>`, the
|
|
76
|
+
GitHub Copilot prompt menu uses `/dflow-<id>` (chat text can still name
|
|
77
|
+
`/dflow:<id>`), and Codex CLI uses no-slash text `dflow:<id>`. Dflow is
|
|
74
78
|
Markdown-based workflow material; it works with any AI agent that can read
|
|
75
79
|
project instructions and repository context.
|
|
76
80
|
|
|
@@ -144,8 +148,10 @@ real codebase.
|
|
|
144
148
|
- Brownfield: [`tutorial/02-brownfield/`](../tutorial/02-brownfield/walkthrough-00-setup.md)
|
|
145
149
|
|
|
146
150
|
5. **Optional: try one workflow command**. Open the sample project in your
|
|
147
|
-
AI tool and ask it to run
|
|
148
|
-
|
|
151
|
+
AI tool and ask it to run the new-feature workflow using that tool's
|
|
152
|
+
invocation form (`/dflow:new-feature` in Claude Code with adapters,
|
|
153
|
+
`/dflow-<id>` from the Copilot prompt menu, or `dflow:new-feature` in
|
|
154
|
+
Codex CLI). Inspect what it writes to `dflow/specs/`.
|
|
149
155
|
|
|
150
156
|
6. **Decide and clean up**. If Dflow does not fit, delete the sample
|
|
151
157
|
directory. There is no global state to clean; nothing was installed
|
package/docs/evaluating-dflow.md
CHANGED
|
@@ -48,10 +48,14 @@ Dflow 支援多種 AI 程式設計助理。跑完 `init` 後,你選取一個
|
|
|
48
48
|
每個 shim 都指向 canonical 的 `dflow/specs/shared/AI-AGENT-GUIDE.md`。實際意義:
|
|
49
49
|
|
|
50
50
|
- 同一個專案可以同時啟用多個工具,而不會有 workflow 規則分歧。
|
|
51
|
-
- 之後切換或新增工具不需要重跑 `init`;執行 `dflow configure-agents` 即可新增 shim
|
|
51
|
+
- 之後切換或新增工具不需要重跑 `init`;執行 `dflow configure-agents` 即可新增 shim,或用 `dflow configure-agents --command-adapters` opt in 工具原生命令入口。
|
|
52
52
|
- 專案指南始終保持為 Dflow workflow 行為的單一 source of truth。
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
`/dflow:*` 是 canonical 共同詞彙,但各工具的 `/` parser 行為不同:Claude Code
|
|
55
|
+
command adapters 使用 `/dflow:<id>`,GitHub Copilot prompt 選單使用
|
|
56
|
+
`/dflow-<id>`(chat 文字仍可說 `/dflow:<id>`),Codex CLI 使用不帶斜線的
|
|
57
|
+
`dflow:<id>`。Dflow 是 Markdown-based 的 workflow 材料,能與任何可讀專案指示與
|
|
58
|
+
repo 上下文的 AI 助理一起運作。
|
|
55
59
|
|
|
56
60
|
關於特定工具的 `init` 寫入內容與 slash command 在對話中的呈現方式,見各工具指南:
|
|
57
61
|
|
|
@@ -111,7 +115,7 @@ Dflow 支援多種 AI 程式設計助理。跑完 `init` 後,你選取一個
|
|
|
111
115
|
- Greenfield:[`tutorial/01-greenfield/`](../tutorial/01-greenfield/walkthrough-00-setup.md)
|
|
112
116
|
- Brownfield:[`tutorial/02-brownfield/`](../tutorial/02-brownfield/walkthrough-00-setup.md)
|
|
113
117
|
|
|
114
|
-
5. **選用:試跑一個 workflow 指令**。在你的 AI
|
|
118
|
+
5. **選用:試跑一個 workflow 指令**。在你的 AI 工具中開啟範例專案,依工具叫法執行 new-feature workflow(Claude Code adapters 用 `/dflow:new-feature`、Copilot prompt 選單用 `/dflow-<id>`、Codex CLI 用 `dflow:new-feature`)。檢查它寫入 `dflow/specs/` 的內容。
|
|
115
119
|
|
|
116
120
|
6. **決定並清理**。若 Dflow 不適合,直接刪除範例目錄。沒有全域狀態需要清除;除了一次性的 `npx` 快取,什麼也沒有安裝。
|
|
117
121
|
|
|
@@ -81,17 +81,19 @@ custom project instructions you already had.
|
|
|
81
81
|
|
|
82
82
|
## Using Dflow Slash Commands in Claude Code
|
|
83
83
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
84
|
+
Dflow's canonical `/dflow:*` names are the shared workflow vocabulary across
|
|
85
|
+
tools. Each tool has different `/` parser behavior, and Claude Code accepts
|
|
86
|
+
`/dflow:<id>` only when that slash command has been registered. Install the
|
|
87
|
+
command adapters below, then invoke the Claude Code registered name:
|
|
87
88
|
|
|
88
89
|
```text
|
|
89
90
|
/dflow:new-feature
|
|
90
91
|
```
|
|
91
92
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
workflow. A typical conversation looks
|
|
93
|
+
After adapters are installed, Claude Code registers
|
|
94
|
+
`.claude/commands/dflow/<id>.md` as `/dflow:<id>`. The wrapper points back to
|
|
95
|
+
the canonical workflow in `AI-AGENT-GUIDE.md`. A typical conversation looks
|
|
96
|
+
like:
|
|
95
97
|
|
|
96
98
|
```text
|
|
97
99
|
You: /dflow:new-feature
|
|
@@ -131,6 +133,11 @@ If you forget a command name, ask Claude Code "what dflow workflows are
|
|
|
131
133
|
available?" — the answer comes from the workflow table it already has
|
|
132
134
|
loaded.
|
|
133
135
|
|
|
136
|
+
If command adapters are not installed yet, or if Claude Code treats a
|
|
137
|
+
slash-prefixed input as an unknown command, resend it as plain text, for
|
|
138
|
+
example `dflow:new-feature` or `Run the Dflow /dflow:new-feature workflow.`,
|
|
139
|
+
so the model can follow the canonical guide.
|
|
140
|
+
|
|
134
141
|
### Optional Command Adapters
|
|
135
142
|
|
|
136
143
|
If you want Claude Code to expose tool-native command entries, run this in an
|
|
@@ -143,14 +150,16 @@ dflow configure-agents --command-adapters
|
|
|
143
150
|
After you select Claude Code, Dflow projects thin wrappers from the command
|
|
144
151
|
registry inside the canonical guide:
|
|
145
152
|
|
|
146
|
-
- `.claude/commands/dflow
|
|
153
|
+
- `.claude/commands/dflow/<id>.md`
|
|
147
154
|
|
|
148
|
-
These wrappers use
|
|
149
|
-
Their body only points to the canonical
|
|
150
|
-
`dflow/specs/shared/AI-AGENT-GUIDE.md`; it
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
155
|
+
These wrappers use Claude Code's directory namespace names, for example
|
|
156
|
+
`/dflow:new-feature`. Their body only points to the canonical
|
|
157
|
+
`/dflow:new-feature` workflow and `dflow/specs/shared/AI-AGENT-GUIDE.md`; it
|
|
158
|
+
does not copy workflow steps. Projects upgraded from Dflow 0.5.0 may still
|
|
159
|
+
have old `.claude/commands/dflow/dflow-*.md` files. Dflow does not delete user
|
|
160
|
+
files automatically; remove those old wrappers manually so Claude Code does
|
|
161
|
+
not show both the old `/dflow:dflow-<id>` names and the new `/dflow:<id>`
|
|
162
|
+
names.
|
|
154
163
|
|
|
155
164
|
## Differences vs Other AI Tools
|
|
156
165
|
|
|
@@ -178,10 +187,10 @@ spec locations, or SDD constraints to `CLAUDE.md`, those belong in
|
|
|
178
187
|
`dflow/specs/shared/AI-AGENT-GUIDE.md` instead. The shim stays small so
|
|
179
188
|
that other tools' shims don't drift away from it.
|
|
180
189
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
run `dflow configure-agents --command-adapters`, the added files are thin
|
|
190
|
+
**`/dflow:*` is not a Claude Code Skill installation.** `init` does not
|
|
191
|
+
install anything into Claude Code's skill system. Without command adapters,
|
|
192
|
+
Dflow names are text triggers the AI recognizes from the workflow table. After
|
|
193
|
+
you run `dflow configure-agents --command-adapters`, the added files are thin
|
|
185
194
|
command wrappers, not a second workflow definition.
|
|
186
195
|
|
|
187
196
|
**Choose either legacy Claude skills or the installed adapter.** If the
|
|
@@ -73,16 +73,18 @@ source-of-truth 檔案路徑,以及核心 SDD/DDD 規則。`CLAUDE.md` shim
|
|
|
73
73
|
|
|
74
74
|
## 在 Claude Code 中使用 Dflow Slash Commands
|
|
75
75
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
76
|
+
Dflow 的 canonical `/dflow:*` 名稱是跨工具共用的 workflow 詞彙;各工具的
|
|
77
|
+
`/` parser 行為不同,Claude Code 需要註冊過的 slash command 才能接受
|
|
78
|
+
`/dflow:<id>` 形式。建議先安裝下方的 command adapters,然後以 Claude Code
|
|
79
|
+
實際註冊的名稱輸入:
|
|
79
80
|
|
|
80
81
|
```text
|
|
81
82
|
/dflow:new-feature
|
|
82
83
|
```
|
|
83
84
|
|
|
84
|
-
Claude Code
|
|
85
|
-
|
|
85
|
+
安裝 adapter 後,Claude Code 會把 `.claude/commands/dflow/<id>.md` 註冊成
|
|
86
|
+
`/dflow:<id>`。Wrapper 會指回 `AI-AGENT-GUIDE.md` 中的 canonical workflow。
|
|
87
|
+
一次典型的對話如下:
|
|
86
88
|
|
|
87
89
|
```text
|
|
88
90
|
You: /dflow:new-feature
|
|
@@ -120,6 +122,10 @@ skill 檔案來執行它們。
|
|
|
120
122
|
如果你忘了指令名稱,問 Claude Code「what dflow workflows are available?」
|
|
121
123
|
即可 —— 答案會從它已載入的 workflow 表中給出。
|
|
122
124
|
|
|
125
|
+
若尚未安裝 command adapters,或 Claude Code 將 slash-prefixed 輸入判定為
|
|
126
|
+
Unknown command,請改用普通文字,例如 `dflow:new-feature` 或
|
|
127
|
+
`Run the Dflow /dflow:new-feature workflow.`,讓模型依 canonical guide 執行。
|
|
128
|
+
|
|
123
129
|
### 選配 Command Adapters
|
|
124
130
|
|
|
125
131
|
如果想讓 Claude Code 看到工具原生的命令入口,可在已初始化的專案中執行:
|
|
@@ -131,13 +137,15 @@ dflow configure-agents --command-adapters
|
|
|
131
137
|
選擇 Claude Code 後,Dflow 會從 canonical guide 內的 command registry
|
|
132
138
|
投影產生薄 wrapper:
|
|
133
139
|
|
|
134
|
-
- `.claude/commands/dflow
|
|
140
|
+
- `.claude/commands/dflow/<id>.md`
|
|
135
141
|
|
|
136
|
-
這些 wrapper 使用
|
|
137
|
-
內容只指向 canonical `/dflow:new-feature`
|
|
138
|
-
`dflow/specs/shared/AI-AGENT-GUIDE.md`,不複製 workflow 步驟。
|
|
139
|
-
|
|
140
|
-
|
|
142
|
+
這些 wrapper 使用 Claude Code 的目錄 namespace 命名,例如
|
|
143
|
+
`/dflow:new-feature`。Wrapper 內容只指向 canonical `/dflow:new-feature`
|
|
144
|
+
workflow 與 `dflow/specs/shared/AI-AGENT-GUIDE.md`,不複製 workflow 步驟。
|
|
145
|
+
從 Dflow 0.5.0 升級的專案可能仍保留舊檔
|
|
146
|
+
`.claude/commands/dflow/dflow-*.md`;Dflow 不會擅自刪除 user 檔,請手動刪除
|
|
147
|
+
這些舊 wrapper,避免 Claude Code 同時顯示舊的 `/dflow:dflow-<id>` 與新的
|
|
148
|
+
`/dflow:<id>`。
|
|
141
149
|
|
|
142
150
|
## 與其他 AI 工具的差異
|
|
143
151
|
|
|
@@ -164,10 +172,10 @@ SDD 約束加入 `CLAUDE.md`,這些內容應該放到
|
|
|
164
172
|
`dflow/specs/shared/AI-AGENT-GUIDE.md`。shim 保持精簡,其他工具的 shim 才不會
|
|
165
173
|
與它產生漂移(drift)。
|
|
166
174
|
|
|
167
|
-
|
|
168
|
-
skill
|
|
169
|
-
|
|
170
|
-
wrapper,不是 workflow 的第二份定義。
|
|
175
|
+
**`/dflow:*` 不是安裝 Claude Code Skill。** `init` 不會在 Claude Code 的
|
|
176
|
+
skill 系統中安裝任何東西。未安裝 command adapters 時,Dflow 名稱只是 AI 從
|
|
177
|
+
workflow 表識別的文字 trigger;安裝 `dflow configure-agents --command-adapters`
|
|
178
|
+
後,新增的是薄 command wrapper,不是 workflow 的第二份定義。
|
|
171
179
|
|
|
172
180
|
**legacy Claude skill 與 installed adapter 擇一。** 如果專案仍保留舊的
|
|
173
181
|
`.claude/skills/sdd-ddd-*` skill,請在 legacy skill 與 `--command-adapters`
|
|
@@ -84,40 +84,41 @@ it. If the existing file does not already point to
|
|
|
84
84
|
`dflow/specs/shared/AGENTS-md-snippet.md` that you can merge manually. This
|
|
85
85
|
avoids destroying custom project instructions you already had.
|
|
86
86
|
|
|
87
|
+
In the `dflow configure-agents --command-adapters` case, the corresponding
|
|
88
|
+
snippet path is `dflow/specs/shared/AGENTS-md-command-adapters-snippet.md`.
|
|
89
|
+
|
|
87
90
|
## Using Dflow Workflow Commands in Codex CLI
|
|
88
91
|
|
|
89
92
|
Codex CLI has its own built-in slash command layer for controlling the CLI
|
|
90
93
|
session. Commands such as `/permissions`, `/model`, `/status`, `/diff`,
|
|
91
94
|
`/review`, and `/init` are Codex CLI controls, not Dflow workflows.
|
|
92
95
|
|
|
93
|
-
Dflow's `/dflow:*` entries are workflow names recognized by the AI
|
|
94
|
-
`AI-AGENT-GUIDE.md`, not registered Codex CLI commands.
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
name the workflow as a plain chat instruction:
|
|
96
|
+
Dflow's canonical `/dflow:*` entries are workflow names recognized by the AI
|
|
97
|
+
through `AI-AGENT-GUIDE.md`, not registered Codex CLI commands. Codex handles
|
|
98
|
+
the leading `/` first, so the reliable form is to remove the leading slash and
|
|
99
|
+
send the same name as plain text:
|
|
98
100
|
|
|
99
101
|
```text
|
|
100
|
-
|
|
102
|
+
dflow:new-feature
|
|
101
103
|
```
|
|
102
104
|
|
|
103
|
-
|
|
104
|
-
model, this shorter form may also work (verify with maintainer):
|
|
105
|
+
Or use a plain chat instruction:
|
|
105
106
|
|
|
106
107
|
```text
|
|
107
|
-
|
|
108
|
+
Run the Dflow dflow:new-feature workflow.
|
|
108
109
|
```
|
|
109
110
|
|
|
110
|
-
If Codex reports an unknown slash command, re-send
|
|
111
|
+
If Codex reports an unknown slash command, re-send it without the slash:
|
|
111
112
|
|
|
112
113
|
```text
|
|
113
|
-
Treat
|
|
114
|
-
|
|
114
|
+
Treat dflow:new-feature as the canonical /dflow:new-feature Dflow workflow
|
|
115
|
+
name. Read dflow/specs/shared/AI-AGENT-GUIDE.md and start that workflow.
|
|
115
116
|
```
|
|
116
117
|
|
|
117
118
|
A typical conversation looks like:
|
|
118
119
|
|
|
119
120
|
```text
|
|
120
|
-
You:
|
|
121
|
+
You: dflow:new-feature
|
|
121
122
|
|
|
122
123
|
Codex CLI: I'll read dflow/specs/shared/AI-AGENT-GUIDE.md first, then use the
|
|
123
124
|
new-feature workflow. Please describe the user-visible capability or business
|
|
@@ -132,21 +133,22 @@ dflow/specs/features/active/. Before I do, I have a few clarifying questions.
|
|
|
132
133
|
|
|
133
134
|
The workflow then walks you through spec drafting, behavior examples,
|
|
134
135
|
implementation planning, and finish-feature drift checks. The exact
|
|
135
|
-
sequence depends on which workflow you entered (
|
|
136
|
-
|
|
136
|
+
sequence depends on which workflow you entered (`dflow:new-feature`,
|
|
137
|
+
`dflow:modify-existing`, `dflow:bug-fix`, etc.; the canonical guide records
|
|
138
|
+
these as `/dflow:*`).
|
|
137
139
|
|
|
138
140
|
Available workflow entry points:
|
|
139
141
|
|
|
140
|
-
|
|
|
142
|
+
| Codex input | Use when |
|
|
141
143
|
|---|---|
|
|
142
|
-
|
|
|
143
|
-
|
|
|
144
|
-
|
|
|
145
|
-
|
|
|
146
|
-
|
|
|
147
|
-
|
|
|
148
|
-
|
|
|
149
|
-
|
|
|
144
|
+
| `dflow:new-feature` | A new user-visible capability or business behavior is requested. |
|
|
145
|
+
| `dflow:modify-existing` | Existing behavior needs to change. |
|
|
146
|
+
| `dflow:bug-fix` | A defect can be described with expected vs actual behavior. |
|
|
147
|
+
| `dflow:new-phase` | An active feature needs another implementation slice. |
|
|
148
|
+
| `dflow:finish-feature` | Implementation is complete and needs drift closure. |
|
|
149
|
+
| `dflow:verify` | Specs, domain docs, implementation, and tests need consistency checks. |
|
|
150
|
+
| `dflow:pr-review` | A change is ready for SDD/DDD review. |
|
|
151
|
+
| `dflow:report-dflow-feedback` | You found a Dflow issue or improvement and want a sanitized upstream feedback draft. |
|
|
150
152
|
|
|
151
153
|
If you forget a workflow name, ask Codex to read
|
|
152
154
|
`dflow/specs/shared/AI-AGENT-GUIDE.md` and list the available Dflow
|
|
@@ -165,13 +167,16 @@ shim includes a trigger list generated from the canonical command registry.
|
|
|
165
167
|
Those triggers are still plain text prompts, for example:
|
|
166
168
|
|
|
167
169
|
```text
|
|
168
|
-
|
|
170
|
+
dflow:new-feature
|
|
169
171
|
```
|
|
170
172
|
|
|
171
173
|
If the project already has a custom `AGENTS.md`, Dflow still preserves that
|
|
172
174
|
file; merge the Dflow pointer manually from the generated snippet or the
|
|
173
175
|
documentation guidance.
|
|
174
176
|
|
|
177
|
+
In this mode, the Codex-target merge snippet filename is
|
|
178
|
+
`dflow/specs/shared/AGENTS-md-command-adapters-snippet.md`.
|
|
179
|
+
|
|
175
180
|
## Differences vs Other AI Tools
|
|
176
181
|
|
|
177
182
|
The canonical guide (`dflow/specs/shared/AI-AGENT-GUIDE.md`) is identical
|
|
@@ -211,11 +216,11 @@ Codex shim has a normal Markdown bullet pointing to the canonical guide, not
|
|
|
211
216
|
an `@...` import. Ask Codex to read `AI-AGENT-GUIDE.md` if it appears to be
|
|
212
217
|
working from the shim alone.
|
|
213
218
|
|
|
214
|
-
**`/dflow:*` is not a Codex CLI built-in slash command.** Codex slash
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
+
**`/dflow:*` is not a Codex CLI built-in slash command.** Codex slash commands
|
|
220
|
+
control the Codex session itself. When raw slash input is intercepted or
|
|
221
|
+
rejected, use the no-slash text form `dflow:<id>`, for example
|
|
222
|
+
`dflow:status`. The model should treat it as the canonical `/dflow:<id>`
|
|
223
|
+
workflow by reading `AI-AGENT-GUIDE.md`.
|
|
219
224
|
|
|
220
225
|
**Codex does not generate command files.** Even with `--command-adapters`,
|
|
221
226
|
Codex only strengthens text-trigger guidance in `AGENTS.md` / merge
|
package/docs/using-with-codex.md
CHANGED
|
@@ -74,39 +74,40 @@ Claude Code、GitHub Copilot 與其他工具。
|
|
|
74
74
|
`dflow/specs/shared/AGENTS-md-snippet.md` 下寫入 merge snippet,
|
|
75
75
|
讓你手動合併。這樣可以避免破壞你已有的自訂專案指示。
|
|
76
76
|
|
|
77
|
+
若是 `dflow configure-agents --command-adapters` 情境,對應檔名為
|
|
78
|
+
`dflow/specs/shared/AGENTS-md-command-adapters-snippet.md`。
|
|
79
|
+
|
|
77
80
|
## 在 Codex CLI 中使用 Dflow Workflow 指令
|
|
78
81
|
|
|
79
82
|
Codex CLI 有自己的內建 slash command 層,用來控制 CLI session。
|
|
80
83
|
`/permissions`、`/model`、`/status`、`/diff`、`/review`、`/init` 等指令
|
|
81
84
|
都是 Codex CLI 控制項,不是 Dflow workflow。
|
|
82
85
|
|
|
83
|
-
Dflow 的 `/dflow:*` 項目是 AI 透過 `AI-AGENT-GUIDE.md` 識別的
|
|
84
|
-
名稱,不是已註冊的 Codex CLI
|
|
85
|
-
|
|
86
|
-
最可靠的方式是以普通對話指示輸入 workflow 名稱:
|
|
86
|
+
Dflow 的 canonical `/dflow:*` 項目是 AI 透過 `AI-AGENT-GUIDE.md` 識別的
|
|
87
|
+
workflow 名稱,不是已註冊的 Codex CLI 指令。Codex 會先處理 `/` 前綴,因此
|
|
88
|
+
最可靠的方式是移除開頭斜線,把同一個名稱當普通文字輸入:
|
|
87
89
|
|
|
88
90
|
```text
|
|
89
|
-
|
|
91
|
+
dflow:new-feature
|
|
90
92
|
```
|
|
91
93
|
|
|
92
|
-
|
|
93
|
-
較短形式(請先向 maintainer 確認):
|
|
94
|
+
或用一句普通對話指示:
|
|
94
95
|
|
|
95
96
|
```text
|
|
96
|
-
|
|
97
|
+
Run the Dflow dflow:new-feature workflow.
|
|
97
98
|
```
|
|
98
99
|
|
|
99
|
-
若 Codex 回報未知 slash command
|
|
100
|
+
若 Codex 回報未知 slash command,改以不帶斜線的純文字重新送出:
|
|
100
101
|
|
|
101
102
|
```text
|
|
102
|
-
Treat
|
|
103
|
-
|
|
103
|
+
Treat dflow:new-feature as the canonical /dflow:new-feature Dflow workflow
|
|
104
|
+
name. Read dflow/specs/shared/AI-AGENT-GUIDE.md and start that workflow.
|
|
104
105
|
```
|
|
105
106
|
|
|
106
107
|
典型的對話如下:
|
|
107
108
|
|
|
108
109
|
```text
|
|
109
|
-
You:
|
|
110
|
+
You: dflow:new-feature
|
|
110
111
|
|
|
111
112
|
Codex CLI: I'll read dflow/specs/shared/AI-AGENT-GUIDE.md first, then use the
|
|
112
113
|
new-feature workflow. Please describe the user-visible capability or business
|
|
@@ -121,20 +122,21 @@ dflow/specs/features/active/. Before I do, I have a few clarifying questions.
|
|
|
121
122
|
|
|
122
123
|
接著這個 workflow 會引導你完成 spec 起草、行為範例、實作計畫,以及
|
|
123
124
|
finish-feature 漂移(drift)檢查。確切的流程取決於你進入的是哪個 workflow
|
|
124
|
-
|
|
125
|
+
(`dflow:new-feature`、`dflow:modify-existing`、`dflow:bug-fix` 等;canonical
|
|
126
|
+
guide 中記為 `/dflow:*`)。
|
|
125
127
|
|
|
126
128
|
可用的 workflow 入口:
|
|
127
129
|
|
|
128
|
-
|
|
|
130
|
+
| Codex 輸入 | 適用情境 |
|
|
129
131
|
|---|---|
|
|
130
|
-
|
|
|
131
|
-
|
|
|
132
|
-
|
|
|
133
|
-
|
|
|
134
|
-
|
|
|
135
|
-
|
|
|
136
|
-
|
|
|
137
|
-
|
|
|
132
|
+
| `dflow:new-feature` | 需要新增一個使用者可見的功能或業務行為。 |
|
|
133
|
+
| `dflow:modify-existing` | 需要修改現有行為。 |
|
|
134
|
+
| `dflow:bug-fix` | 可以用預期行為 vs 實際行為描述的缺陷。 |
|
|
135
|
+
| `dflow:new-phase` | 進行中的 feature 需要另一個實作 slice。 |
|
|
136
|
+
| `dflow:finish-feature` | 實作完成後需要進行漂移(drift)收尾。 |
|
|
137
|
+
| `dflow:verify` | 需要對 spec、領域文件、實作與測試進行一致性檢查。 |
|
|
138
|
+
| `dflow:pr-review` | 變更已準備好進行 SDD/DDD review。 |
|
|
139
|
+
| `dflow:report-dflow-feedback` | 你發現了 Dflow 的問題或改進點,想要一份清理過的上游回饋草稿。 |
|
|
138
140
|
|
|
139
141
|
如果你忘了 workflow 名稱,請 Codex 讀取 `dflow/specs/shared/AI-AGENT-GUIDE.md`
|
|
140
142
|
並列出可用的 Dflow workflow 即可。
|
|
@@ -151,12 +153,15 @@ adapter。
|
|
|
151
153
|
registry 產生的 trigger 清單。這些 trigger 仍是文字提示,例如:
|
|
152
154
|
|
|
153
155
|
```text
|
|
154
|
-
|
|
156
|
+
dflow:new-feature
|
|
155
157
|
```
|
|
156
158
|
|
|
157
159
|
如果專案已有自訂 `AGENTS.md`,Dflow 仍會保留既有檔案;請依產生的 merge snippet
|
|
158
160
|
或文件指引手動合併 Dflow 指標。
|
|
159
161
|
|
|
162
|
+
在這個模式下,Codex 目標的 merge snippet 檔名是
|
|
163
|
+
`dflow/specs/shared/AGENTS-md-command-adapters-snippet.md`。
|
|
164
|
+
|
|
160
165
|
## 與其他 AI 工具的差異
|
|
161
166
|
|
|
162
167
|
canonical 指南(`dflow/specs/shared/AI-AGENT-GUIDE.md`)在各工具之間是相同的。
|
|
@@ -194,9 +199,9 @@ SDD 約束加入 `AGENTS.md`,這些內容應該放到
|
|
|
194
199
|
若 Codex 看起來只從 shim 工作,請要求它讀取 `AI-AGENT-GUIDE.md`。
|
|
195
200
|
|
|
196
201
|
**`/dflow:*` 不是 Codex CLI 的內建 slash command。** Codex slash command 控制
|
|
197
|
-
的是 Codex session 本身。當 slash
|
|
198
|
-
|
|
199
|
-
|
|
202
|
+
的是 Codex session 本身。當 slash 輸入被攔截或拒絕時,改用不帶斜線的普通文字
|
|
203
|
+
`dflow:<id>`,例如 `dflow:status`。模型會依 `AI-AGENT-GUIDE.md` 把它視為
|
|
204
|
+
canonical `/dflow:<id>` workflow。
|
|
200
205
|
|
|
201
206
|
**Codex 不產生命令檔。** 即使使用 `--command-adapters`,Codex 也只強化
|
|
202
207
|
`AGENTS.md` / merge snippet 中的文字 trigger 說明。不要期待 `.claude/commands`、
|
|
@@ -76,13 +76,12 @@ command registry inside the canonical guide:
|
|
|
76
76
|
|
|
77
77
|
- `.github/prompts/dflow-<id>.prompt.md`
|
|
78
78
|
|
|
79
|
-
These prompts use
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
body.
|
|
79
|
+
These prompts use `/dflow-<id>` in the Copilot / VS Code prompt menu, for
|
|
80
|
+
example `/dflow-new-feature`. Their body only points to the canonical
|
|
81
|
+
`/dflow:new-feature` workflow and `dflow/specs/shared/AI-AGENT-GUIDE.md`; it
|
|
82
|
+
does not copy workflow steps. Copilot's `/` parser behavior differs from
|
|
83
|
+
Claude and Codex: the prompt menu entry is `/dflow-<id>`, while chat text may
|
|
84
|
+
still name the canonical `/dflow:<id>` workflow.
|
|
86
85
|
|
|
87
86
|
### Sample Conversation Flow
|
|
88
87
|
|
|
@@ -136,7 +135,7 @@ The canonical guide (`dflow/specs/shared/AI-AGENT-GUIDE.md`) is the same across
|
|
|
136
135
|
- Shim path: Copilot uses `.github/copilot-instructions.md` (not `AGENTS.md` or `CLAUDE.md`).
|
|
137
136
|
- Markdown import: Copilot shim has NO `@dflow/specs/shared/AI-AGENT-GUIDE.md` import. This contrasts with the Claude Code shim, which inlines via an `@` import.
|
|
138
137
|
- Tool model: Copilot is IDE-based (chat panel + inline completions); Codex/Claude Code are CLI-based agents. Copilot interacts through the editor UI rather than a command-line session.
|
|
139
|
-
- Workflow invocation:
|
|
138
|
+
- Workflow invocation: canonical `/dflow:*` is shared vocabulary, but each tool's `/` parser behaves differently. In Copilot chat text, name `/dflow:<id>`; if you opt in to `--command-adapters`, the VS Code prompt menu name is `/dflow-<id>`, such as `/dflow-new-feature`.
|
|
140
139
|
- Permission model: Copilot relies on the IDE's permission and extension sandbox. It may prompt for or be governed by editor-level approvals; CLI tools often have explicit sandbox flags and separate permission gates.
|
|
141
140
|
|
|
142
141
|
## Common Patterns and Gotchas
|
|
@@ -145,7 +144,7 @@ The canonical guide (`dflow/specs/shared/AI-AGENT-GUIDE.md`) is the same across
|
|
|
145
144
|
- If Copilot appears to be working only from the shim text, ask it to open or read `dflow/specs/shared/AI-AGENT-GUIDE.md` before continuing.
|
|
146
145
|
- Copilot's inline completions may suggest code without following Dflow workflows; explicitly request the workflow when you need spec-driven output.
|
|
147
146
|
- Copilot chat context may not automatically include repository instruction files from `.github/` in all IDE versions; behavior varies by Copilot / IDE version (see footer note).
|
|
148
|
-
- Use plain prose to name
|
|
147
|
+
- Use plain prose to name the canonical `/dflow:<id>` workflow when slash-prefixed forms are rejected by the IDE.
|
|
149
148
|
- Prompt adapters are thin wrappers generated from the canonical command registry; do not hand-write or copy Dflow workflow steps under `.github/prompts/`.
|
|
150
149
|
|
|
151
150
|
## Where to Go Next
|
|
@@ -84,11 +84,11 @@ dflow configure-agents --command-adapters
|
|
|
84
84
|
|
|
85
85
|
- `.github/prompts/dflow-<id>.prompt.md`
|
|
86
86
|
|
|
87
|
-
這些 prompt
|
|
88
|
-
|
|
87
|
+
這些 prompt 在 Copilot / VS Code prompt 選單中使用 `/dflow-<id>` 形式,例如
|
|
88
|
+
`/dflow-new-feature`。Prompt 內容只指向 canonical `/dflow:new-feature`
|
|
89
89
|
workflow 與 `dflow/specs/shared/AI-AGENT-GUIDE.md`,不複製 workflow 步驟。
|
|
90
|
-
|
|
91
|
-
|
|
90
|
+
Copilot 的 `/` parser 行為與 Claude / Codex 不同:選單入口是 `/dflow-<id>`,
|
|
91
|
+
但在 chat 文字中也可以直接說 canonical `/dflow:<id>`。
|
|
92
92
|
|
|
93
93
|
### 對話範例
|
|
94
94
|
|
|
@@ -152,9 +152,9 @@ canonical 指南(`dflow/specs/shared/AI-AGENT-GUIDE.md`)在各工具之間
|
|
|
152
152
|
- 工具模型:Copilot 是 IDE-based(chat panel + inline completions);
|
|
153
153
|
Codex / Claude Code 是 CLI-based agent。Copilot 透過編輯器 UI 互動,而非
|
|
154
154
|
command-line session。
|
|
155
|
-
- Workflow
|
|
156
|
-
Copilot
|
|
157
|
-
|
|
155
|
+
- Workflow 呼叫:canonical `/dflow:*` 是共同詞彙,但各工具 `/` parser 行為不同。
|
|
156
|
+
Copilot 可在 chat 文字中使用 `/dflow:<id>`,若已 opt in
|
|
157
|
+
`--command-adapters`,VS Code prompt 選單名則是 `/dflow-<id>`,例如
|
|
158
158
|
`/dflow-new-feature`。
|
|
159
159
|
- Permission 模型:Copilot 依賴 IDE 的 permission 與 extension sandbox。它可能
|
|
160
160
|
受 editor-level approvals 管理;CLI 工具通常有明確的 sandbox flags 與獨立的
|
|
@@ -170,7 +170,8 @@ canonical 指南(`dflow/specs/shared/AI-AGENT-GUIDE.md`)在各工具之間
|
|
|
170
170
|
需要 spec-driven 輸出時,請明確要求執行 workflow。
|
|
171
171
|
- Copilot Chat context 不一定會在所有 IDE 版本中自動包含 `.github/` 目錄下的
|
|
172
172
|
repository 指示檔;行為因 Copilot / IDE 版本而異(見頁尾說明)。
|
|
173
|
-
- 當 slash-prefixed forms 被 IDE 拒絕時,改用普通文字描述
|
|
173
|
+
- 當 slash-prefixed forms 被 IDE 拒絕時,改用普通文字描述 canonical
|
|
174
|
+
`/dflow:<id>` workflow 名稱。
|
|
174
175
|
- Prompt adapter 是從 canonical command registry 產生的薄 wrapper;不要在
|
|
175
176
|
`.github/prompts/` 中手寫或複製 Dflow workflow 步驟。
|
|
176
177
|
|
package/lib/init.js
CHANGED
|
@@ -1134,10 +1134,10 @@ function addCommandAdapterItems(items, aiAgents, commandRegistry) {
|
|
|
1134
1134
|
if (aiAgents.includes('claude')) {
|
|
1135
1135
|
for (const command of commandRegistry) {
|
|
1136
1136
|
items.push({
|
|
1137
|
-
relativePath: `.claude/commands/dflow
|
|
1137
|
+
relativePath: `.claude/commands/dflow/${command.id}.md`,
|
|
1138
1138
|
source: 'generated:claude-command-adapter',
|
|
1139
1139
|
notes: 'command adapter, derived from dflow command registry',
|
|
1140
|
-
content: buildThinCommandWrapper(command),
|
|
1140
|
+
content: buildThinCommandWrapper(command, `/dflow:${command.id}`),
|
|
1141
1141
|
overwrite: true
|
|
1142
1142
|
});
|
|
1143
1143
|
}
|
|
@@ -1149,7 +1149,7 @@ function addCommandAdapterItems(items, aiAgents, commandRegistry) {
|
|
|
1149
1149
|
relativePath: `.github/prompts/dflow-${command.id}.prompt.md`,
|
|
1150
1150
|
source: 'generated:copilot-command-adapter',
|
|
1151
1151
|
notes: 'command adapter, derived from dflow command registry',
|
|
1152
|
-
content: buildThinCommandWrapper(command),
|
|
1152
|
+
content: buildThinCommandWrapper(command, `/dflow-${command.id}`),
|
|
1153
1153
|
overwrite: true
|
|
1154
1154
|
});
|
|
1155
1155
|
}
|
|
@@ -1172,18 +1172,23 @@ Codex does not install Dflow command files. When the developer asks for a
|
|
|
1172
1172
|
canonical Dflow command, treat it as a text trigger, read the canonical guide,
|
|
1173
1173
|
and execute the matching workflow or control command.
|
|
1174
1174
|
|
|
1175
|
+
If the CLI intercepts a slash-prefixed Dflow name such as \`/dflow:status\` as
|
|
1176
|
+
an unknown command, the developer may resend it without the slash, for example
|
|
1177
|
+
\`dflow:status\`. Treat that as the same Dflow text trigger, read the guide,
|
|
1178
|
+
and execute it.
|
|
1179
|
+
|
|
1175
1180
|
Recognized canonical triggers:
|
|
1176
1181
|
|
|
1177
1182
|
${triggers}
|
|
1178
1183
|
`;
|
|
1179
1184
|
}
|
|
1180
1185
|
|
|
1181
|
-
function buildThinCommandWrapper(command) {
|
|
1186
|
+
function buildThinCommandWrapper(command, displayName = command.label) {
|
|
1182
1187
|
const argHint = command.argHint === '-'
|
|
1183
1188
|
? 'Argument hint: none.'
|
|
1184
1189
|
: `Argument hint: ${command.argHint}.`;
|
|
1185
1190
|
|
|
1186
|
-
return `#
|
|
1191
|
+
return `# ${displayName}
|
|
1187
1192
|
|
|
1188
1193
|
Execute the canonical \`${command.label}\` Dflow workflow or control command.
|
|
1189
1194
|
|
|
@@ -1777,7 +1782,7 @@ Recommended next steps:
|
|
|
1777
1782
|
|
|
1778
1783
|
function printConfigureAgentsNextSteps(stdout, commandAdapters = false) {
|
|
1779
1784
|
const commandAdapterStep = commandAdapters
|
|
1780
|
-
? '- Command adapters use
|
|
1785
|
+
? '- Command adapters use tool-specific invocation names: Claude Code `/dflow:<id>`; GitHub Copilot prompt menu `/dflow-<id>` or canonical `/dflow:<id>` as text; Codex CLI plain text without a slash, such as `dflow:status`. Canonical `/dflow:*` names remain defined in dflow/specs/shared/AI-AGENT-GUIDE.md. If upgrading from Dflow 0.5.0, manually remove stale `.claude/commands/dflow/dflow-*.md` files so Claude Code does not show both old and new command names.\n'
|
|
1781
1786
|
: '';
|
|
1782
1787
|
|
|
1783
1788
|
stdout.write(`
|