@chenguangyao/devflow-kit 0.1.43

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.
Files changed (198) hide show
  1. package/CHANGELOG.md +232 -0
  2. package/LICENSE +21 -0
  3. package/README.md +539 -0
  4. package/bin/devflow.js +9 -0
  5. package/docs/RFC-001-devflow-kit.md +617 -0
  6. package/docs/RFC-002-workflow-kernel.md +134 -0
  7. package/docs/enterprise-integration-supplement.md +274 -0
  8. package/docs/internal-gitlab-setup.md +426 -0
  9. package/docs/marketplace-skills.md +231 -0
  10. package/docs/migration-from-arb.md +232 -0
  11. package/docs/tooling-overview.md +774 -0
  12. package/docs/workflow-orchestration.md +695 -0
  13. package/docs/workflow-ui-prototype.html +271 -0
  14. package/package.json +52 -0
  15. package/schemas/config.schema.json +51 -0
  16. package/schemas/delta.schema.json +22 -0
  17. package/schemas/state.schema.json +130 -0
  18. package/schemas/status-surface.schema.json +197 -0
  19. package/schemas/workflow-confirmation-surface.schema.json +70 -0
  20. package/schemas/workflow-picker.schema.json +94 -0
  21. package/scripts/postinstall.js +101 -0
  22. package/scripts/render-workflow-ui-prototype.js +271 -0
  23. package/skills/apply/SKILL.md +313 -0
  24. package/skills/apply/references/discipline-checklist.md +145 -0
  25. package/skills/apply/references/subagent-implementer-prompt.md +113 -0
  26. package/skills/apply/references/subagent-orchestration.md +150 -0
  27. package/skills/apply/references/subagent-reviewer-prompt.md +180 -0
  28. package/skills/apply/references/tdd-loop.md +287 -0
  29. package/skills/apply/references/when-plan-is-wrong.md +279 -0
  30. package/skills/apply/references/worktree-swarm.md +292 -0
  31. package/skills/archive/SKILL.md +229 -0
  32. package/skills/archive/references/conflict-resolution.md +336 -0
  33. package/skills/archive/references/knowledge-deposit.md +381 -0
  34. package/skills/archive/references/spec-merge.md +365 -0
  35. package/skills/brainstorm/SKILL.md +123 -0
  36. package/skills/brainstorm/references/proposal-template.md +244 -0
  37. package/skills/brainstorm/references/question-catalog.md +168 -0
  38. package/skills/brainstorm/references/session-template.md +184 -0
  39. package/skills/ci-fix/SKILL.md +63 -0
  40. package/skills/ci-fix/references/loop.md +25 -0
  41. package/skills/code-review/SKILL.md +279 -0
  42. package/skills/code-review/references/escalation-playbook.md +192 -0
  43. package/skills/code-review/references/language-cheatsheets/go.md +175 -0
  44. package/skills/code-review/references/language-cheatsheets/java-spring-mybatis.md +246 -0
  45. package/skills/code-review/references/language-cheatsheets/python.md +170 -0
  46. package/skills/code-review/references/language-cheatsheets/vue.md +199 -0
  47. package/skills/code-review/references/output-template.md +275 -0
  48. package/skills/code-review/references/review-checklist.md +251 -0
  49. package/skills/complexity-grading/SKILL.md +259 -0
  50. package/skills/deliver/SKILL.md +271 -0
  51. package/skills/deliver/references/delivery-modes.md +299 -0
  52. package/skills/deliver/references/notify.md +359 -0
  53. package/skills/deliver/references/pr-description.md +319 -0
  54. package/skills/dependency-upgrade/SKILL.md +57 -0
  55. package/skills/dependency-upgrade/references/risk-matrix.md +38 -0
  56. package/skills/df-orchestrator/SKILL.md +407 -0
  57. package/skills/df-orchestrator/references/complexity-grading.md +177 -0
  58. package/skills/df-orchestrator/references/escalation-matrix.md +191 -0
  59. package/skills/df-orchestrator/references/routing-rules.md +290 -0
  60. package/skills/df-orchestrator/references/workflow-state-machine.md +208 -0
  61. package/skills/frontend-quality/SKILL.md +61 -0
  62. package/skills/frontend-quality/references/checklist.md +35 -0
  63. package/skills/handoff-resume/SKILL.md +59 -0
  64. package/skills/handoff-resume/references/handoff-template.md +54 -0
  65. package/skills/plan/SKILL.md +166 -0
  66. package/skills/plan/references/task-breakdown.md +207 -0
  67. package/skills/plan/references/task-sequencing.md +143 -0
  68. package/skills/plan/references/task-template.md +248 -0
  69. package/skills/requirement-analysis/SKILL.md +499 -0
  70. package/skills/requirement-analysis/references/acceptance-criteria.md +183 -0
  71. package/skills/requirement-analysis/references/code-recon.md +151 -0
  72. package/skills/requirement-analysis/references/edge-case-catalog.md +164 -0
  73. package/skills/requirement-analysis/references/requirement-template.md +339 -0
  74. package/skills/requirement-analysis/references/scope-negotiation.md +162 -0
  75. package/skills/security-hardening/SKILL.md +60 -0
  76. package/skills/security-hardening/references/checklist.md +42 -0
  77. package/skills/tech-spec/SKILL.md +388 -0
  78. package/skills/tech-spec/references/api-contract-design.md +172 -0
  79. package/skills/tech-spec/references/decision-records.md +110 -0
  80. package/skills/tech-spec/references/design-template.md +301 -0
  81. package/skills/tech-spec/references/rollout-and-rollback.md +203 -0
  82. package/skills/tech-spec/references/spec-delta-conventions.md +250 -0
  83. package/skills/tech-spec/references/transaction-patterns.md +212 -0
  84. package/skills/test-spec/SKILL.md +219 -0
  85. package/skills/test-spec/references/coverage-strategy.md +218 -0
  86. package/skills/test-spec/references/edge-case-to-test.md +143 -0
  87. package/skills/test-spec/references/test-case-template.md +276 -0
  88. package/skills/verify/SKILL.md +232 -0
  89. package/skills/verify/references/nfr-verification.md +292 -0
  90. package/skills/verify/references/report-templates.md +510 -0
  91. package/skills/verify/references/self-test-guide.md +240 -0
  92. package/skills/verify/references/verify-rollback-map.md +247 -0
  93. package/src/cli/commands/_helpers.js +108 -0
  94. package/src/cli/commands/_submit.js +718 -0
  95. package/src/cli/commands/apply.js +198 -0
  96. package/src/cli/commands/archive.js +180 -0
  97. package/src/cli/commands/checkpoint.js +113 -0
  98. package/src/cli/commands/deliver.js +377 -0
  99. package/src/cli/commands/deploy.js +504 -0
  100. package/src/cli/commands/design.js +158 -0
  101. package/src/cli/commands/disable.js +21 -0
  102. package/src/cli/commands/doctor.js +178 -0
  103. package/src/cli/commands/enable.js +21 -0
  104. package/src/cli/commands/flow.js +645 -0
  105. package/src/cli/commands/help.js +93 -0
  106. package/src/cli/commands/ingest.js +602 -0
  107. package/src/cli/commands/init.js +341 -0
  108. package/src/cli/commands/knowledge.js +523 -0
  109. package/src/cli/commands/logs.js +43 -0
  110. package/src/cli/commands/new.js +202 -0
  111. package/src/cli/commands/plan.js +49 -0
  112. package/src/cli/commands/propose.js +27 -0
  113. package/src/cli/commands/provider.js +698 -0
  114. package/src/cli/commands/report.js +143 -0
  115. package/src/cli/commands/requirement.js +227 -0
  116. package/src/cli/commands/review.js +301 -0
  117. package/src/cli/commands/skills.js +457 -0
  118. package/src/cli/commands/status.js +925 -0
  119. package/src/cli/commands/switch.js +27 -0
  120. package/src/cli/commands/sync.js +47 -0
  121. package/src/cli/commands/test.js +366 -0
  122. package/src/cli/commands/uninstall.js +32 -0
  123. package/src/cli/commands/update.js +74 -0
  124. package/src/cli/commands/verify.js +354 -0
  125. package/src/cli/commands/worktree.js +78 -0
  126. package/src/cli/index.js +72 -0
  127. package/src/cli/parse-args.js +102 -0
  128. package/src/core/autodetect.js +271 -0
  129. package/src/core/change.js +208 -0
  130. package/src/core/checkpoint.js +217 -0
  131. package/src/core/config.js +60 -0
  132. package/src/core/delta.js +290 -0
  133. package/src/core/markers.js +59 -0
  134. package/src/core/paths.js +173 -0
  135. package/src/core/plan-tasks.js +36 -0
  136. package/src/core/project-routing.js +285 -0
  137. package/src/core/projects.js +200 -0
  138. package/src/core/state.js +200 -0
  139. package/src/core/workflow-check.js +177 -0
  140. package/src/core/workflow-init.js +34 -0
  141. package/src/core/workflow-picker.js +154 -0
  142. package/src/core/workflow-policy.js +119 -0
  143. package/src/core/workflow-suggest.js +181 -0
  144. package/src/core/workflow-verify.js +88 -0
  145. package/src/core/workflow.js +433 -0
  146. package/src/core/worktree.js +241 -0
  147. package/src/knowledge/categories.js +107 -0
  148. package/src/knowledge/classify.js +125 -0
  149. package/src/knowledge/deposit.js +414 -0
  150. package/src/knowledge/migrate.js +149 -0
  151. package/src/knowledge/mr.js +219 -0
  152. package/src/knowledge/query.js +131 -0
  153. package/src/knowledge/registry.js +151 -0
  154. package/src/knowledge/sync.js +179 -0
  155. package/src/providers/base.js +74 -0
  156. package/src/providers/drivers/api-yapi.js +78 -0
  157. package/src/providers/drivers/ci-jenkins.js +109 -0
  158. package/src/providers/drivers/intake-confluence.js +544 -0
  159. package/src/providers/drivers/kb-git.js +549 -0
  160. package/src/providers/drivers/kb-weknora.js +472 -0
  161. package/src/providers/drivers/notify-smtp.js +515 -0
  162. package/src/providers/drivers/observability-oss.js +43 -0
  163. package/src/providers/drivers/observability-sls.js +50 -0
  164. package/src/providers/lifecycle.js +135 -0
  165. package/src/providers/loader.js +132 -0
  166. package/src/providers/local.js +190 -0
  167. package/src/providers/userconfig.js +283 -0
  168. package/src/reports/aggregate.js +185 -0
  169. package/src/reports/coverage.js +163 -0
  170. package/src/reports/detect.js +143 -0
  171. package/src/reports/parse.js +236 -0
  172. package/src/templates/files/ci/github.yml +38 -0
  173. package/src/templates/files/ci/gitlab.yml +27 -0
  174. package/src/templates/files/design.md +63 -0
  175. package/src/templates/files/ide/devflow-workflow.md +58 -0
  176. package/src/templates/files/ide/project-overview-reference.md +1 -0
  177. package/src/templates/files/ide/project-overview.md +27 -0
  178. package/src/templates/files/knowledge-index.json +17 -0
  179. package/src/templates/files/knowledge.md +28 -0
  180. package/src/templates/files/meta.json +8 -0
  181. package/src/templates/files/plan.md +38 -0
  182. package/src/templates/files/proposal.md +33 -0
  183. package/src/templates/files/reports/contract-test.md +40 -0
  184. package/src/templates/files/reports/e2e-test.md +30 -0
  185. package/src/templates/files/reports/integration-test.md +36 -0
  186. package/src/templates/files/reports/joint-test.md +58 -0
  187. package/src/templates/files/reports/perf.md +24 -0
  188. package/src/templates/files/reports/regression.md +20 -0
  189. package/src/templates/files/reports/remote-test.md +55 -0
  190. package/src/templates/files/reports/self-test.md +43 -0
  191. package/src/templates/files/reports/smoke-test.md +22 -0
  192. package/src/templates/files/reports/unit-test.md +36 -0
  193. package/src/templates/files/requirement.md +51 -0
  194. package/src/templates/files/review.md +38 -0
  195. package/src/templates/files/tests.md +36 -0
  196. package/src/templates/files/verify.md +32 -0
  197. package/src/templates/index.js +21 -0
  198. package/src/utils/log.js +37 -0
@@ -0,0 +1,232 @@
1
+ # 从 arb-workflow-kit 迁移到 devflow-kit
2
+
3
+ > 适用范围:已经在用 `arb-workflow-kit`(及其配套 `arb-knowledge` / `qs-bridge`)的项目,想平滑切到 `devflow-kit`。
4
+ > 目标:**保留全部历史 change / 知识资产**,工作流体验向前兼容,内网集成以可插拔 provider 形式延续。
5
+
6
+ ## TL;DR
7
+
8
+ ```bash
9
+ # 1. 装 devflow-kit
10
+ npm i -g devflow-kit
11
+
12
+ # 2. 在仓库根目录跑迁移向导(只读 dry-run,不改任何文件)
13
+ devflow migrate from-arb --dry-run
14
+
15
+ # 3. 满意后真正迁移
16
+ devflow migrate from-arb
17
+
18
+ # 4. 迁移知识库布局(arb-7 → improved-9)
19
+ devflow knowledge migrate --from=arb-7 --to=improved-9
20
+
21
+ # 5. 装回内网集成(用 qs-bridge 适配器,而不是直接依赖)
22
+ devflow provider add intake.qs-bridge
23
+ devflow provider add issue.qs-bridge
24
+ devflow provider add ci.qs-bridge
25
+
26
+ # 6. 健康检查
27
+ devflow doctor
28
+ ```
29
+
30
+ ## 1. 概念对照
31
+
32
+ | arb-workflow-kit | devflow-kit | 说明 |
33
+ |------------------|-------------|------|
34
+ | `dev-workflow` SKILL(1 个总编排器 + 16 个子技能) | `devflow` CLI(核心/扩展 SKILL.md + state.json 状态机) | 编排从"AI 指令"下沉到"CLI + 状态文件" |
35
+ | `.dev-workflow/<task>/` | `devflow/changes/<slug>/` | "task" → "change",更接近 OpenSpec 模型 |
36
+ | `state.yaml` | `state.json`(JSON Schema 校验) | 同义,JSON 便于工具消费 |
37
+ | `00-brainstorm.md ~ 09-archive.md` 编号文件 | `proposal.md / requirement.md / design.md / plan.md / review.md / verify.md / learnings.md`(无编号,语义命名) | 减少机械感,新增 OpenSpec 风格 `delta/` 目录 |
38
+ | `level: L1/L2/L3` 在 state.yaml | `state.json.level` + `state.json.enabled` | 文档懒生成:L1 只生成 6 个核心,L2/L3 按 `enabled` 扩 |
39
+ | `arb-knowledge`(7 大类目) | `devflow/knowledge/`(改良 4 域 9 类) | 见 §3 详细映射,有自动迁移命令 |
40
+ | `qs-bridge` 直接依赖 | `devflow/providers.json` 中的 `intake.qs-bridge / issue.qs-bridge / ...` 适配器 | 内网工具变可选 provider |
41
+ | `MR-bot` 自动评论 | `devflow deliver --pr` + 任意 vcs provider | 不锁死 GitLab |
42
+ | `arb-knowledge-cli`(批同步) | `devflow knowledge sync`(sha256 增量,多 driver)| 多了 sha 增量与多源 |
43
+
44
+ ## 2. 目录映射
45
+
46
+ ### change folder
47
+
48
+ ```
49
+ .dev-workflow/ → devflow/
50
+ └── 2025-q4-add-coupon/ → ├── changes/coupon-grant-api/
51
+ ├── state.yaml → │ ├── state.json
52
+ ├── 00-brainstorm.md → │ ├── proposal.md ← 内容直接搬
53
+ ├── 01-requirement.md → │ ├── requirement.md
54
+ ├── 02-tech-spec.md → │ ├── design.md ← 改名
55
+ ├── 03-test-spec.md → │ ├── tests.md ← 改名
56
+ ├── 04-plan.md → │ ├── plan.md
57
+ ├── 05-apply.md → │ ├── (合并入 plan/state) ← 不再独立
58
+ ├── 06-review.md → │ ├── review.md
59
+ ├── 07-verify.md → │ ├── verify.md
60
+ ├── 08-deliver.md → │ ├── (合并入 state.phases.deliver)
61
+ ├── 09-archive.md → │ ├── (合并入 state.phases.archive)
62
+ ├── learnings.md → │ ├── learnings.md
63
+ └── refs/ → │ └── refs/
64
+ ├── archive/ ← 已交付的整个 change folder 移到这里
65
+ ├── specs/ ← 新概念:稳定能力描述
66
+ └── knowledge/ ← 见 §3
67
+ ```
68
+
69
+ `devflow migrate from-arb` 自动:
70
+ 1. 重命名编号文件 → 语义文件(`02-tech-spec.md` → `design.md`)
71
+ 2. 把 `state.yaml` 转成 `state.json`,推断 phase
72
+ 3. 创建空的 `delta/` 占位(已归档的 change 不强制补 delta,但会在 README 提示)
73
+ 4. 在 `state.json.migrated_from` 写入原路径,便于追溯
74
+
75
+ ### 知识库
76
+
77
+ | arb-knowledge(7 类) | devflow improved-9 | 说明 |
78
+ |----------------------|--------------------|------|
79
+ | `1-业务概念/` | `1-domain/concepts/` | 名词、术语 |
80
+ | `2-业务规则/` | `1-domain/rules/` | 决策表、合规规则 |
81
+ | `3-业务流程/` | `1-domain/scenarios/` | 场景、用户故事 |
82
+ | `4-接口/` | `2-system/contracts/` | API、Kafka events、protobuf |
83
+ | `5-技术决策/` | `2-system/decisions/` | ADR、架构决策 |
84
+ | `6-排查记录/` | `3-ops/incidents/` | 故障复盘 |
85
+ | `7-其他/` | `4-archive/solutions/` | 兜底,等待二次梳理 |
86
+ | (新增) | `2-system/services/` | 模块概述 — arb 缺失 |
87
+ | (新增) | `3-ops/runbooks/` | SOP/排查手册 — arb 缺失 |
88
+ | (新增) | `3-ops/environments/` | 环境/基础设施 — arb 缺失 |
89
+
90
+ 执行:`devflow knowledge migrate --from=arb-7 --to=improved-9`
91
+ - 按上表逐目录 `mv`,冲突文件保留不覆盖
92
+ - 自动清理空目录
93
+ - 写 `devflow/knowledge/.migration.log`(JSON 报告)
94
+ - 不会触碰 `.meta.json` 中已有的 `external` 字段(WeKnora 的 uuid 关联保留)
95
+
96
+ ### qs-bridge → provider
97
+
98
+ ```
99
+ 原直接调用:
100
+ $ qs-bridge wiki get https://<your-wiki-host>/x/abc
101
+
102
+ devflow 抽象:
103
+ $ devflow ingest https://<your-wiki-host>/x/abc
104
+ ↑ 路由到 providers.json 里的 intake.qs-bridge,内部仍调 `qs-bridge wiki get`
105
+ ```
106
+
107
+ `devflow/providers.json` 示例:
108
+
109
+ ```json
110
+ {
111
+ "intake.qs-bridge": {
112
+ "type": "intake",
113
+ "driver": "qs-bridge",
114
+ "config": {
115
+ "binPath": "/usr/local/bin/qs-bridge",
116
+ "timeoutMs": 30000
117
+ }
118
+ },
119
+ "issue.qs-bridge": {
120
+ "type": "issue",
121
+ "driver": "qs-bridge",
122
+ "config": { "project": "MARKETING" }
123
+ },
124
+ "ci.qs-bridge": {
125
+ "type": "ci",
126
+ "driver": "qs-bridge",
127
+ "config": { "jenkinsBase": "https://<your-jenkins-host>" }
128
+ },
129
+ "kb.weknora": {
130
+ "type": "kb",
131
+ "driver": "weknora",
132
+ "config": {
133
+ "endpoint": "${env:WEKNORA_ENDPOINT}",
134
+ "kb_id": "${env:WEKNORA_KB_ID}",
135
+ "token": "${env:WEKNORA_TOKEN}"
136
+ }
137
+ }
138
+ }
139
+ ```
140
+
141
+ `${env:NAME}` 会在 load 时展开,token 不落到磁盘明文。
142
+
143
+ ## 3. 工作流命令对照
144
+
145
+ | arb-workflow-kit 调用 | devflow-kit | 备注 |
146
+ |-----------------------|-------------|------|
147
+ | 把 wiki 链接发给 AI,让 `dev-workflow` 启动 | `devflow ingest <url>` | wiki-first 入口,不再依赖会话上下文 |
148
+ | AI 自动新建 `.dev-workflow/<task>/00-brainstorm.md` | `devflow new <slug>`(fallback)或 `devflow ingest`(主路) | 同 |
149
+ | AI 询问"是否完成 brainstorm,可否进入 requirement?" | `df propose` → `df requirement` | 阶段切换显式化 |
150
+ | AI 自动写 `02-tech-spec.md` | `df design`,可选 `--with-spec` 生成 delta 占位 | spec delta 是 OpenSpec 风格 |
151
+ | AI 自动写 `04-plan.md` | `df plan` | 保留 superpowers `writing-plans` 风格 |
152
+ | AI 边改代码边更新 `05-apply.md` | `devflow apply --note "..."`,`state.phases.apply.iterations++` | 不再独立 markdown |
153
+ | AI 完成代码 → MR-bot 评论 | `devflow review` × 3 轮 + `devflow deliver --pr` | vcs provider 决定具体 PR 平台 |
154
+ | AI 把 7 类测试报告塞进 `07-verify.md` | `devflow test <kind>` 聚合写入 `reports/test-report.md#<kind>`,`devflow verify finalize` 强校验 | 一份报告,每类 section 仍机器可读 |
155
+ | AI 触发 MR-bot 提交 | `devflow deliver --pr` 自动嵌入 `test-report.md#self-test` | 走任意 vcs provider |
156
+ | AI 移文件到 `archive/` | `devflow archive` 自动合并 spec delta | 自动化 |
157
+
158
+ ## 4. 自动化脚本(`devflow migrate from-arb`)的内部逻辑
159
+
160
+ ```pseudo
161
+ for each .dev-workflow/<task>/:
162
+ 1. parse state.yaml
163
+ 2. mkdir devflow/changes/<slug>/
164
+ 3. for f in 00-brainstorm 01-requirement 02-tech-spec 03-test-spec ...:
165
+ rename to semantic name
166
+ 4. write state.json:
167
+ slug = task name
168
+ level = state.yaml.level
169
+ enabled = derive from level (L1: 4 / L2: 7 / L3: 9)
170
+ phases = derive from existing files (file present → done)
171
+ migrated_from = ".dev-workflow/<task>"
172
+ 5. mkdir delta/{added,modified,removed}/
173
+ 6. echo "<task>" >> devflow/.migration-log
174
+
175
+ for each arb-knowledge/<n-类目>/:
176
+ call devflow knowledge migrate (§2)
177
+
178
+ for each provider currently in arb 配置:
179
+ 生成 providers.json 条目
180
+ ```
181
+
182
+ ## 5. 风险与回退
183
+
184
+ | 风险 | 缓解 |
185
+ |------|------|
186
+ | 改名后老脚本找不到 `00-brainstorm.md` | 迁移命令默认保留 `.dev-workflow.bak/` 副本 |
187
+ | `state.yaml` 字段缺失 | 迁移时给默认值 + 在 `state.json.migration_warnings[]` 标记 |
188
+ | qs-bridge CLI 路径变化 | provider config 显式 `binPath`,`devflow doctor` 检测 |
189
+ | weknora token 变化 | `devflow provider relogin kb.weknora --force` |
190
+ | 真不想迁,想回退 | 删 `devflow/`,从 `.dev-workflow.bak/` 还原 |
191
+
192
+ ## 6. 分阶段迁移建议
193
+
194
+ 如果你的项目大、historic change 多,推荐按 4 步迁:
195
+
196
+ ```
197
+ Week 1: devflow init + devflow migrate from-arb --dry-run (只看,不动)
198
+ 讨论 §2 / §3 是否可接受
199
+ Week 2: devflow migrate from-arb (改名 + state.json)
200
+ 旧 .dev-workflow.bak 保留
201
+ 所有 新 change 用 devflow 命令
202
+ Week 3: devflow knowledge migrate --from=arb-7 (知识库)
203
+ 配 providers.json
204
+ CI 加 .github/workflows/devflow.yml
205
+ Week 4: devflow doctor 全绿
206
+ 删 .dev-workflow.bak
207
+ 给团队培训(skills/df-orchestrator/SKILL.md + AGENTS.md)
208
+ ```
209
+
210
+ ## 7. 团队培训重点
211
+
212
+ - "我以前问 AI: `开始 brainstorm` " → 现在:`devflow ingest <url>`,然后让 AI 在 brainstorm SKILL 指导下写 `proposal.md`
213
+ - "我以前看 `state.yaml` 的 phase" → 现在:`devflow status`,phase 从 `state.json.phase` 读
214
+ - "我以前 commit `02-tech-spec.md`" → 现在:commit `design.md` + `delta/added/<capability>.md`
215
+ - "我以前要装 qs-bridge / arb-knowledge-cli / ..." → 现在:`npm i -g devflow-kit`,内网集成由 provider 按需安装
216
+
217
+ ## 8. FAQ
218
+
219
+ **Q: 我们项目同时有 arb-workflow-kit 和别的工具(比如 OpenSpec)产物,能共存吗?**
220
+ A: `devflow/` 与 `openspec/` 可以共存。devflow 的 `delta/` 模型本来就借鉴 OpenSpec,迁移时也支持 `devflow migrate from-openspec`(roadmap)。
221
+
222
+ **Q: AI 会不会因为指令格式变了失忆?**
223
+ A: `devflow init` 会写 `.claude/CLAUDE.md / .cursor/rules/devflow.mdc / AGENTS.md` 三个 IDE 指令文件,把"phase → 应该看哪个 SKILL.md"映射讲清楚。换 IDE 不用重新教 AI。
224
+
225
+ **Q: 内网 wiki 是 qs-bridge 之外的工具(Confluence/Notion),怎么办?**
226
+ A: `intake.confluence / intake.notion` 已有 driver,在 `providers.json` 直接配 endpoint + token 即可。
227
+
228
+ **Q: 知识库已经在 WeKnora 上跑了,迁布局会不会丢同步关系?**
229
+ A: 不会。`devflow knowledge migrate` 只动文件位置,不动 `.meta.json` 里的 `external.<provider>.uuid`,下一次 `devflow knowledge sync` 会自动 PUT 到 WeKnora 同一文档(URL 路径变了但 uuid 不变)。
230
+
231
+ **Q: 我们的 dev-workflow 改过定制版,改了 prompt,迁移后定制还在吗?**
232
+ A: SKILL.md 是文本,可以继续在 `.cursor/skills/` 或 `~/.claude/skills/` 下 hook,通过 `devflow skills install --hook=before:design` 注入额外指令(roadmap)。