@aigne/doc-smith 0.9.10 → 0.9.11-beta

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 (308) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +189 -219
  3. package/README.zh.md +270 -0
  4. package/agents/bash-executor/index.mjs +347 -0
  5. package/agents/clear/ai/intent.md +142 -0
  6. package/agents/clear/choose-contents.mjs +13 -65
  7. package/agents/clear/clear-auth-tokens.mjs +17 -21
  8. package/agents/clear/clear-deployment-config.mjs +33 -24
  9. package/agents/clear/index.yaml +1 -9
  10. package/agents/content-checker/ai/intent.md +209 -0
  11. package/agents/content-checker/clean-invalid-docs.mjs +254 -0
  12. package/agents/content-checker/index.mjs +191 -0
  13. package/agents/content-checker/validate-content.mjs +983 -0
  14. package/agents/generate-images/generate-image.yaml +75 -0
  15. package/agents/generate-images/generate-summary.mjs +213 -0
  16. package/agents/generate-images/index.yaml +39 -0
  17. package/agents/generate-images/prepare-generation.mjs +286 -0
  18. package/agents/generate-images/prepare-image-generation.mjs +130 -0
  19. package/{prompts/detail/diagram/generate-image-system.md → agents/generate-images/prompts/system.md} +22 -56
  20. package/agents/generate-images/prompts/user.md +85 -0
  21. package/agents/generate-images/save-image-result.mjs +247 -0
  22. package/agents/generate-images/scan-image-slots.mjs +247 -0
  23. package/agents/localize/index.yaml +19 -42
  24. package/{prompts/translate → agents/localize/prompts}/translate-document.md +0 -139
  25. package/agents/localize/translate-documents/generate-summary.mjs +163 -0
  26. package/agents/localize/translate-documents/load-glossary.mjs +52 -0
  27. package/agents/localize/translate-documents/prepare-translation.mjs +249 -0
  28. package/agents/localize/translate-documents/save-translation.mjs +171 -0
  29. package/agents/localize/translate-documents/translate-document-to-language.mjs +209 -0
  30. package/agents/localize/translate-documents/translate-document.yaml +23 -0
  31. package/agents/localize/translate-documents/translate-to-languages.yaml +10 -0
  32. package/agents/localize/translate-images/check-image-translation.mjs +225 -0
  33. package/agents/localize/translate-images/detect-text/detect-and-update-shared.mjs +148 -0
  34. package/agents/localize/translate-images/detect-text/detect-image-text.yaml +44 -0
  35. package/agents/localize/translate-images/detect-text/detect-images-text.yaml +21 -0
  36. package/agents/localize/translate-images/detect-text/prompts/detect-image-text-system.md +43 -0
  37. package/agents/localize/translate-images/detect-text/prompts/detect-image-text-user.md +14 -0
  38. package/agents/localize/translate-images/detect-text/save-text-detection.mjs +105 -0
  39. package/agents/localize/translate-images/prepare-image-input.mjs +124 -0
  40. package/agents/localize/translate-images/save-image-translation.mjs +172 -0
  41. package/agents/localize/translate-images/scan-doc-images.mjs +165 -0
  42. package/agents/localize/translate-images/translate-doc-images.yaml +24 -0
  43. package/agents/localize/{translate-diagram.yaml → translate-images/translate-image.yaml} +25 -14
  44. package/agents/publish/ai/intent.md +182 -0
  45. package/agents/publish/check.mjs +107 -0
  46. package/agents/publish/index.yaml +9 -14
  47. package/agents/publish/publish-docs.mjs +81 -61
  48. package/agents/publish/translate-meta.mjs +79 -58
  49. package/agents/save-document/index.mjs +260 -0
  50. package/agents/structure-checker/index.mjs +307 -0
  51. package/agents/structure-checker/validate-structure.mjs +477 -0
  52. package/agents/update-image/analyze-feedback.yaml +37 -0
  53. package/agents/update-image/index.yaml +78 -0
  54. package/agents/update-image/load-existing-image.mjs +211 -0
  55. package/agents/update-image/prompts/analyze-feedback-system.md +43 -0
  56. package/agents/update-image/prompts/analyze-feedback-user.md +15 -0
  57. package/aigne.yaml +26 -139
  58. package/package.json +16 -48
  59. package/scripts/README.md +90 -0
  60. package/scripts/install.sh +86 -0
  61. package/scripts/uninstall.sh +52 -0
  62. package/skills/doc-smith/SKILL.md +285 -0
  63. package/skills/doc-smith/ai/intent/sources-improve.md +290 -0
  64. package/skills/doc-smith/references/changeset-guide.md +171 -0
  65. package/skills/doc-smith/references/document-content-guide.md +214 -0
  66. package/skills/doc-smith/references/document-structure-schema.md +138 -0
  67. package/skills/doc-smith/references/patch-guide.md +96 -0
  68. package/skills/doc-smith/references/structure-confirmation-guide.md +133 -0
  69. package/skills/doc-smith/references/structure-planning-guide.md +149 -0
  70. package/skills/doc-smith/references/update-workflow.md +108 -0
  71. package/skills/doc-smith/references/user-intent-guide.md +175 -0
  72. package/skills/doc-smith/references/workspace-initialization.md +376 -0
  73. package/skills/doc-smith-docs-detail/SKILL.md +356 -0
  74. package/skills/doc-smith-docs-detail/ai/intent.md +271 -0
  75. package/skills-entry/doc-smith/ai/intent.md +260 -0
  76. package/skills-entry/doc-smith/index.mjs +66 -0
  77. package/skills-entry/doc-smith/prompt.md +57 -0
  78. package/skills-entry/doc-smith/utils.mjs +27 -0
  79. package/skills-entry/doc-smith-docs-detail/batch.yaml +56 -0
  80. package/skills-entry/doc-smith-docs-detail/index.mjs +95 -0
  81. package/skills-entry/doc-smith-docs-detail/prompt.md +64 -0
  82. package/utils/afs-factory.mjs +183 -0
  83. package/utils/agent-constants.mjs +97 -0
  84. package/utils/{auth-utils.mjs → auth.mjs} +6 -9
  85. package/{agents/utils/update-branding.mjs → utils/branding.mjs} +3 -4
  86. package/utils/config.mjs +261 -0
  87. package/utils/constants.mjs +32 -0
  88. package/utils/deploy.mjs +3 -3
  89. package/utils/docs-converter.mjs +454 -0
  90. package/utils/docs.mjs +212 -0
  91. package/utils/document-paths.mjs +172 -0
  92. package/utils/files.mjs +74 -0
  93. package/utils/git.mjs +65 -0
  94. package/utils/{blocklet.mjs → http.mjs} +18 -0
  95. package/utils/image-slots.mjs +57 -0
  96. package/utils/image-utils.mjs +114 -0
  97. package/utils/project.mjs +95 -0
  98. package/utils/sources-path-resolver.mjs +76 -0
  99. package/utils/{upload-files.mjs → upload.mjs} +3 -3
  100. package/utils/workspace.mjs +371 -0
  101. package/agents/chat/chat-system.md +0 -38
  102. package/agents/chat/index.mjs +0 -59
  103. package/agents/chat/skills/generate-document.yaml +0 -15
  104. package/agents/chat/skills/list-documents.mjs +0 -15
  105. package/agents/chat/skills/update-document.yaml +0 -24
  106. package/agents/clear/clear-document-config.mjs +0 -36
  107. package/agents/clear/clear-document-structure.mjs +0 -102
  108. package/agents/clear/clear-generated-docs.mjs +0 -142
  109. package/agents/clear/clear-media-description.mjs +0 -129
  110. package/agents/create/aggregate-document-structure.mjs +0 -21
  111. package/agents/create/analyze-diagram-type-llm.yaml +0 -159
  112. package/agents/create/analyze-diagram-type.mjs +0 -455
  113. package/agents/create/check-document-structure.yaml +0 -30
  114. package/agents/create/check-need-generate-structure.mjs +0 -138
  115. package/agents/create/document-structure-tools/add-document.mjs +0 -85
  116. package/agents/create/document-structure-tools/delete-document.mjs +0 -116
  117. package/agents/create/document-structure-tools/move-document.mjs +0 -109
  118. package/agents/create/document-structure-tools/update-document.mjs +0 -84
  119. package/agents/create/generate-diagram-image.yaml +0 -91
  120. package/agents/create/generate-structure.yaml +0 -106
  121. package/agents/create/index.yaml +0 -45
  122. package/agents/create/refine-document-structure.yaml +0 -12
  123. package/agents/create/replace-d2-with-image.mjs +0 -610
  124. package/agents/create/update-document-structure.yaml +0 -54
  125. package/agents/create/user-add-document/add-documents-to-structure.mjs +0 -90
  126. package/agents/create/user-add-document/find-documents-to-add-links.yaml +0 -47
  127. package/agents/create/user-add-document/index.yaml +0 -46
  128. package/agents/create/user-add-document/prepare-documents-to-translate.mjs +0 -22
  129. package/agents/create/user-add-document/print-add-document-summary.mjs +0 -63
  130. package/agents/create/user-add-document/review-documents-with-new-links.mjs +0 -110
  131. package/agents/create/user-remove-document/find-documents-with-invalid-links.mjs +0 -78
  132. package/agents/create/user-remove-document/index.yaml +0 -40
  133. package/agents/create/user-remove-document/prepare-documents-to-translate.mjs +0 -22
  134. package/agents/create/user-remove-document/print-remove-document-summary.mjs +0 -53
  135. package/agents/create/user-remove-document/remove-documents-from-structure.mjs +0 -99
  136. package/agents/create/user-remove-document/review-documents-with-invalid-links.mjs +0 -115
  137. package/agents/create/user-review-document-structure.mjs +0 -139
  138. package/agents/create/utils/init-current-content.mjs +0 -34
  139. package/agents/create/utils/merge-document-structures.mjs +0 -36
  140. package/agents/evaluate/code-snippet.mjs +0 -97
  141. package/agents/evaluate/document-structure.yaml +0 -67
  142. package/agents/evaluate/document.yaml +0 -82
  143. package/agents/evaluate/generate-report.mjs +0 -85
  144. package/agents/evaluate/index.yaml +0 -46
  145. package/agents/history/index.yaml +0 -6
  146. package/agents/history/view.mjs +0 -78
  147. package/agents/init/check.mjs +0 -16
  148. package/agents/init/index.mjs +0 -643
  149. package/agents/init/validate.mjs +0 -16
  150. package/agents/localize/choose-language.mjs +0 -107
  151. package/agents/localize/record-translation-history.mjs +0 -23
  152. package/agents/localize/save-doc-translation-or-skip.mjs +0 -18
  153. package/agents/localize/set-review-content.mjs +0 -58
  154. package/agents/localize/translate-document-wrapper.mjs +0 -34
  155. package/agents/localize/translate-document.yaml +0 -24
  156. package/agents/localize/translate-multilingual.yaml +0 -57
  157. package/agents/localize/translate-or-skip-diagram.mjs +0 -52
  158. package/agents/media/batch-generate-media-description.yaml +0 -46
  159. package/agents/media/generate-media-description.yaml +0 -50
  160. package/agents/media/load-media-description.mjs +0 -454
  161. package/agents/prefs/index.mjs +0 -203
  162. package/agents/schema/document-structure-item.yaml +0 -26
  163. package/agents/schema/document-structure-refine-item.yaml +0 -23
  164. package/agents/schema/document-structure.yaml +0 -29
  165. package/agents/update/batch-generate-document.yaml +0 -27
  166. package/agents/update/batch-update-document.yaml +0 -7
  167. package/agents/update/check-diagram-flag.mjs +0 -116
  168. package/agents/update/check-document.mjs +0 -162
  169. package/agents/update/check-generate-diagram.mjs +0 -106
  170. package/agents/update/check-update-is-single.mjs +0 -53
  171. package/agents/update/document-tools/update-document-content.mjs +0 -303
  172. package/agents/update/generate-diagram.yaml +0 -80
  173. package/agents/update/generate-document.yaml +0 -70
  174. package/agents/update/handle-document-update.yaml +0 -103
  175. package/agents/update/index.yaml +0 -69
  176. package/agents/update/pre-check-generate-diagram.yaml +0 -44
  177. package/agents/update/save-and-translate-document.mjs +0 -80
  178. package/agents/update/update-document-detail.yaml +0 -71
  179. package/agents/update/update-single/update-single-document-detail.mjs +0 -322
  180. package/agents/update/update-single-document.yaml +0 -7
  181. package/agents/update/user-review-document.mjs +0 -272
  182. package/agents/utils/action-success.mjs +0 -16
  183. package/agents/utils/analyze-document-feedback-intent.yaml +0 -32
  184. package/agents/utils/analyze-feedback-intent.mjs +0 -253
  185. package/agents/utils/analyze-structure-feedback-intent.yaml +0 -29
  186. package/agents/utils/check-detail-result.mjs +0 -51
  187. package/agents/utils/check-feedback-refiner.mjs +0 -81
  188. package/agents/utils/choose-docs.mjs +0 -251
  189. package/agents/utils/document-icon-generate.yaml +0 -52
  190. package/agents/utils/document-title-streamline.yaml +0 -48
  191. package/agents/utils/ensure-document-icons.mjs +0 -129
  192. package/agents/utils/exit.mjs +0 -6
  193. package/agents/utils/feedback-refiner.yaml +0 -50
  194. package/agents/utils/find-item-by-path.mjs +0 -114
  195. package/agents/utils/find-user-preferences-by-path.mjs +0 -37
  196. package/agents/utils/format-document-structure.mjs +0 -35
  197. package/agents/utils/generate-document-or-skip.mjs +0 -41
  198. package/agents/utils/handle-diagram-operations.mjs +0 -263
  199. package/agents/utils/load-all-document-content.mjs +0 -30
  200. package/agents/utils/load-document-all-content.mjs +0 -96
  201. package/agents/utils/load-sources.mjs +0 -405
  202. package/agents/utils/map-reasoning-effort-level.mjs +0 -15
  203. package/agents/utils/post-generate.mjs +0 -133
  204. package/agents/utils/read-current-document-content.mjs +0 -46
  205. package/agents/utils/save-doc-translation.mjs +0 -30
  206. package/agents/utils/save-doc.mjs +0 -54
  207. package/agents/utils/save-output.mjs +0 -26
  208. package/agents/utils/save-sidebar.mjs +0 -38
  209. package/agents/utils/skip-if-content-exists.mjs +0 -27
  210. package/agents/utils/streamline-document-titles-if-needed.mjs +0 -88
  211. package/agents/utils/transform-detail-data-sources.mjs +0 -45
  212. package/assets/report-template/report.html +0 -198
  213. package/docs-mcp/analyze-content-relevance.yaml +0 -50
  214. package/docs-mcp/analyze-docs-relevance.yaml +0 -59
  215. package/docs-mcp/docs-search.yaml +0 -42
  216. package/docs-mcp/get-docs-detail.mjs +0 -41
  217. package/docs-mcp/get-docs-structure.mjs +0 -16
  218. package/docs-mcp/read-doc-content.mjs +0 -119
  219. package/prompts/common/document/content-rules-core.md +0 -20
  220. package/prompts/common/document/markdown-syntax-rules.md +0 -65
  221. package/prompts/common/document/media-file-list-usage-rules.md +0 -18
  222. package/prompts/common/document/openapi-usage-rules.md +0 -189
  223. package/prompts/common/document/role-and-personality.md +0 -16
  224. package/prompts/common/document/user-preferences.md +0 -9
  225. package/prompts/common/document-structure/conflict-resolution-guidance.md +0 -16
  226. package/prompts/common/document-structure/document-icon-generate.md +0 -116
  227. package/prompts/common/document-structure/document-structure-rules.md +0 -43
  228. package/prompts/common/document-structure/document-title-streamline.md +0 -86
  229. package/prompts/common/document-structure/glossary.md +0 -7
  230. package/prompts/common/document-structure/intj-traits.md +0 -5
  231. package/prompts/common/document-structure/openapi-usage-rules.md +0 -28
  232. package/prompts/common/document-structure/output-constraints.md +0 -18
  233. package/prompts/common/document-structure/user-locale-rules.md +0 -10
  234. package/prompts/common/document-structure/user-preferences.md +0 -9
  235. package/prompts/detail/custom/admonition-usage-rules.md +0 -94
  236. package/prompts/detail/custom/code-block-usage-rules.md +0 -163
  237. package/prompts/detail/custom/custom-components/x-card-usage-rules.md +0 -63
  238. package/prompts/detail/custom/custom-components/x-cards-usage-rules.md +0 -83
  239. package/prompts/detail/custom/custom-components/x-field-desc-usage-rules.md +0 -120
  240. package/prompts/detail/custom/custom-components/x-field-group-usage-rules.md +0 -80
  241. package/prompts/detail/custom/custom-components/x-field-usage-rules.md +0 -189
  242. package/prompts/detail/custom/custom-components-usage-rules.md +0 -18
  243. package/prompts/detail/diagram/generate-image-user.md +0 -81
  244. package/prompts/detail/diagram/guide.md +0 -29
  245. package/prompts/detail/diagram/official-examples.md +0 -712
  246. package/prompts/detail/diagram/pre-check.md +0 -23
  247. package/prompts/detail/diagram/role-and-personality.md +0 -2
  248. package/prompts/detail/diagram/rules.md +0 -46
  249. package/prompts/detail/diagram/system-prompt.md +0 -1139
  250. package/prompts/detail/diagram/user-prompt.md +0 -43
  251. package/prompts/detail/generate/detail-example.md +0 -457
  252. package/prompts/detail/generate/document-rules.md +0 -45
  253. package/prompts/detail/generate/system-prompt.md +0 -61
  254. package/prompts/detail/generate/user-prompt.md +0 -99
  255. package/prompts/detail/jsx/rules.md +0 -6
  256. package/prompts/detail/update/system-prompt.md +0 -121
  257. package/prompts/detail/update/user-prompt.md +0 -41
  258. package/prompts/evaluate/document-structure.md +0 -93
  259. package/prompts/evaluate/document.md +0 -149
  260. package/prompts/media/media-description/system-prompt.md +0 -43
  261. package/prompts/media/media-description/user-prompt.md +0 -17
  262. package/prompts/structure/check-document-structure.md +0 -93
  263. package/prompts/structure/document-rules.md +0 -21
  264. package/prompts/structure/find-documents-to-add-links.md +0 -52
  265. package/prompts/structure/generate/system-prompt.md +0 -13
  266. package/prompts/structure/generate/user-prompt.md +0 -137
  267. package/prompts/structure/review/structure-review-system.md +0 -81
  268. package/prompts/structure/structure-example.md +0 -89
  269. package/prompts/structure/structure-getting-started.md +0 -10
  270. package/prompts/structure/update/system-prompt.md +0 -93
  271. package/prompts/structure/update/user-prompt.md +0 -43
  272. package/prompts/translate/admonition.md +0 -20
  273. package/prompts/translate/code-block.md +0 -33
  274. package/prompts/utils/analyze-document-feedback-intent.md +0 -54
  275. package/prompts/utils/analyze-structure-feedback-intent.md +0 -43
  276. package/prompts/utils/feedback-refiner.md +0 -105
  277. package/types/document-schema.mjs +0 -55
  278. package/types/document-structure-schema.mjs +0 -261
  279. package/utils/check-document-has-diagram.mjs +0 -95
  280. package/utils/conflict-detector.mjs +0 -149
  281. package/utils/constants/index.mjs +0 -620
  282. package/utils/constants/linter.mjs +0 -102
  283. package/utils/d2-utils.mjs +0 -205
  284. package/utils/debug.mjs +0 -3
  285. package/utils/delete-diagram-images.mjs +0 -99
  286. package/utils/diagram-version-utils.mjs +0 -14
  287. package/utils/docs-finder-utils.mjs +0 -548
  288. package/utils/evaluate/report-utils.mjs +0 -132
  289. package/utils/extract-api.mjs +0 -32
  290. package/utils/file-utils.mjs +0 -960
  291. package/utils/history-utils.mjs +0 -203
  292. package/utils/icon-map.mjs +0 -26
  293. package/utils/image-compress.mjs +0 -154
  294. package/utils/kroki-utils.mjs +0 -173
  295. package/utils/linter/index.mjs +0 -50
  296. package/utils/load-config.mjs +0 -78
  297. package/utils/markdown/index.mjs +0 -26
  298. package/utils/markdown-checker.mjs +0 -694
  299. package/utils/mermaid-validator.mjs +0 -140
  300. package/utils/mermaid-worker-pool.mjs +0 -250
  301. package/utils/mermaid-worker.mjs +0 -233
  302. package/utils/openapi/index.mjs +0 -28
  303. package/utils/preferences-utils.mjs +0 -175
  304. package/utils/request.mjs +0 -10
  305. package/utils/sync-diagram-to-translations.mjs +0 -272
  306. package/utils/translate-diagram-images.mjs +0 -807
  307. package/utils/utils.mjs +0 -1354
  308. /package/{prompts/translate → agents/localize/prompts}/glossary.md +0 -0
@@ -0,0 +1,138 @@
1
+ # 文档结构 Schema
2
+
3
+ 本参考定义了 `document-structure.yaml` 的完整 schema。
4
+
5
+ ## 完整的 YAML 结构
6
+
7
+ ```yaml
8
+ project:
9
+ title: "项目名称" # 必需:项目名称
10
+ description: "项目概述" # 必需:项目简要描述
11
+
12
+ documents: # 必需:文档对象数组
13
+ - title: "文档标题" # 必需:文档标题
14
+ description: "简要摘要" # 必需:此文档涵盖的内容
15
+ path: "/filename" # 必需:相对于 docs/ 的文件夹路径
16
+ # 示例:/overview, /getting-started, /api/authentication
17
+ sourcePaths: # 必需:源文件路径数组(相对路径,不使用 'workspace:' 前缀)
18
+ - "src/main.py" # 为此文档内容提供信息的文件
19
+ - "README.md" # 如果没有特定源文件则使用空数组 []
20
+ icon: "lucide:book-open" # 仅顶层文档必需
21
+ # 必须是有效的 Lucide 图标名称:"lucide:icon-name"
22
+ # 示例:lucide:book-open, lucide:settings, lucide:code
23
+ # 嵌套文档省略此字段
24
+ children: # 可选:嵌套文档(相同结构)
25
+ - title: "嵌套文档"
26
+ description: "详细信息"
27
+ path: "/section/nested"
28
+ sourcePaths:
29
+ - "src/utils.py"
30
+ # 嵌套文档不需要 icon
31
+ ```
32
+
33
+ ## 字段详解
34
+
35
+ ### project
36
+ - **title**:项目名称(字符串)
37
+ - **description**:项目简要概述(字符串)
38
+
39
+ ### documents(数组)
40
+ 每个文档对象包含:
41
+
42
+ - **title**(必需):文档的显示标题
43
+ - **description**(必需):内容简要摘要
44
+ - **path**(必需):相对于 `docs/` 的文件夹路径
45
+ - 必须以 `/` 开头
46
+ - 可以包含子目录:`/api/authentication`
47
+ - **sourcePaths**(必需):源文件路径数组
48
+ - 相对于工作区根目录的路径
49
+ - 不要包含 `workspace:` 前缀
50
+ - 如果没有特定源文件则使用 `[]`
51
+ - **icon**(仅顶层文档必需):Lucide 图标标识符
52
+ - 格式:`lucide:icon-name`
53
+ - 仅用于根级别的文档(不是子文档)
54
+ - 示例:`lucide:home`, `lucide:file-text`, `lucide:settings`
55
+ - 可用图标请参见 https://lucide.dev/icons
56
+ - **children**(可选):具有相同结构的嵌套文档数组
57
+ - 可以嵌套多层
58
+ - 子文档不需要 icons
59
+
60
+ ## 示例
61
+
62
+ 基本的 YAML 结构示例:
63
+
64
+ ### 扁平结构示例
65
+ ```yaml
66
+ project:
67
+ title: "项目名称"
68
+ description: "项目简要描述"
69
+
70
+ documents:
71
+ - title: "概述"
72
+ description: "项目介绍和核心概念"
73
+ path: "/overview"
74
+ sourcePaths:
75
+ - "README.md"
76
+ icon: "lucide:home"
77
+
78
+ - title: "快速开始"
79
+ description: "安装、配置和第一个示例"
80
+ path: "/getting-started"
81
+ sourcePaths:
82
+ - "docs/installation.md"
83
+ icon: "lucide:rocket"
84
+
85
+ - title: "API 参考"
86
+ description: "API 使用说明"
87
+ path: "/api"
88
+ sourcePaths:
89
+ - "src/api/"
90
+ icon: "lucide:code"
91
+ ```
92
+
93
+ ### 嵌套结构示例
94
+ ```yaml
95
+ project:
96
+ title: "项目名称"
97
+ description: "项目简要描述"
98
+
99
+ documents:
100
+ - title: "概述"
101
+ description: "项目介绍"
102
+ path: "/overview"
103
+ sourcePaths:
104
+ - "README.md"
105
+ icon: "lucide:home"
106
+
107
+ - title: "核心功能"
108
+ description: "主要功能模块说明"
109
+ path: "/features"
110
+ sourcePaths:
111
+ - "src/core/"
112
+ icon: "lucide:box"
113
+ children:
114
+ - title: "子功能 A"
115
+ description: "子功能详细说明"
116
+ path: "/features/feature-a"
117
+ sourcePaths:
118
+ - "src/feature-a/"
119
+
120
+ - title: "子功能 B"
121
+ description: "子功能详细说明"
122
+ path: "/features/feature-b"
123
+ sourcePaths:
124
+ - "src/feature-b/"
125
+ ```
126
+
127
+ **注意**:选择扁平还是嵌套结构应基于 SKILL.md 中的判断标准,而非模仿示例。
128
+
129
+ ## 最佳实践
130
+
131
+ 1. **基于实际内容决策**:根据实际的源文件内容量和独立性选择结构,参考 SKILL.md 中的判断标准
132
+ 2. **避免内容重复**:如果子文档之间有重复内容,应该合并
133
+ 3. **逻辑层次**:在父主题下组织相关文档
134
+ 4. **清晰路径**:使用与文档标题匹配的描述性路径名称
135
+ 5. **相关源文件**:包含所有为文档内容提供信息的文件
136
+ 6. **合适的图标**:选择代表文档用途的图标(仅顶层文档需要)
137
+ 7. **控制深度**:避免嵌套过深(建议最多 2 层)
138
+ 8. **一致的描述**:保持描述简洁但信息丰富
@@ -0,0 +1,96 @@
1
+ # PATCH 标记处理指南
2
+
3
+ ## 核心定位
4
+
5
+ PATCH 是**文档内的确定性文本改动标记**,只执行准确的变更。
6
+
7
+ **关键特点**:
8
+ - 精确指定修改内容
9
+ - 执行后必须删除标记
10
+ - 优先级高于结构重写
11
+
12
+ ## PATCH 标记格式
13
+
14
+ ### 格式 1:替换内容(Original + Revised)
15
+
16
+ ```markdown
17
+ ::: PATCH
18
+ # Original
19
+ 旧内容
20
+
21
+ # Revised
22
+ 新内容
23
+ :::
24
+ ```
25
+
26
+ ### 格式 2:插入内容
27
+
28
+ ```markdown
29
+ ::: PATCH
30
+ # Insert After: "## 章节标题"
31
+
32
+ 新增的内容
33
+ :::
34
+ ```
35
+
36
+ 支持的插入指令:
37
+ - `# Insert After: "锚点"` - 在锚点后插入
38
+ - `# Insert Before: "锚点"` - 在锚点前插入
39
+
40
+ ### 格式 3:删除内容
41
+
42
+ ```markdown
43
+ ::: PATCH
44
+ # Delete
45
+
46
+ 要删除的内容
47
+ :::
48
+ ```
49
+
50
+ ## 执行流程
51
+
52
+ ### 1. 扫描 PATCH
53
+
54
+ 使用 Grep 查找所有 PATCH 标记:
55
+
56
+ ```bash
57
+ pattern: ":::\s*PATCH"
58
+ path: docs/
59
+ output_mode: files_with_matches
60
+ ```
61
+
62
+ ### 2. 执行 PATCH
63
+
64
+ 对每个 PATCH 块:
65
+ 1. 解析 PATCH 类型(替换/插入/删除)
66
+ 2. 定位目标位置
67
+ 3. 执行变更
68
+ 4. **删除整个 `::: PATCH ... :::` 块**
69
+
70
+ ### 3. 处理错误
71
+
72
+ | 错误类型 | 处理方式 |
73
+ |---------|---------|
74
+ | **Original 不存在** | 展示最接近内容,询问用户 |
75
+ | **多个匹配** | 列出所有匹配位置,询问用户 |
76
+ | **锚点不存在** | 展示文档结构,询问用户 |
77
+
78
+ ## 执行要点
79
+
80
+ - **优先级**:PATCH 先于结构重写执行
81
+ - **批量处理**:一次性扫描所有文档
82
+ - **必须删除标记**:执行后删除 `::: PATCH ... :::` 块,避免重复执行
83
+
84
+ ## 与 Changeset 的关系
85
+
86
+ - PATCH 直接标记在文档正文中,不要求写在 Changeset 文件中
87
+ - 执行顺序:`读取 Changeset → 扫描 PATCH → 执行 PATCH → 应用 Changeset 修改`
88
+
89
+ ## 输出摘要
90
+
91
+ ```markdown
92
+ ✓ PATCH 应用:N 处精确修改
93
+ - overview.md: 修正定位说明
94
+ - quick-start.md: 新增环境要求章节
95
+ - api.md: 删除过时说明
96
+ ```
@@ -0,0 +1,133 @@
1
+ # 文档结构确认指南
2
+
3
+ 本文档提供如何向用户展示文档结构并处理反馈的详细指南。
4
+
5
+ ## 目的
6
+
7
+ 这是避免浪费资源的关键检查点。在生成文档内容前,必须确保规划的结构符合用户需求。
8
+
9
+ ## 展示方式
10
+
11
+ 以清晰、易读的方式向用户展示规划的文档结构。
12
+
13
+ ### 必须包含的信息
14
+
15
+ 1. **文档总数**:让用户快速了解规模
16
+ 2. **文档层次结构**:顶层文档及其子文档
17
+ 3. **每个文档的标题、描述**:让用户理解每个文档的内容
18
+
19
+ ### 标准展示格式
20
+
21
+ 使用 emoji、编号和缩进来增强可读性:
22
+
23
+ ```
24
+ 📋 文档结构规划完成
25
+
26
+ 根据用户意图,我规划了以下 5 个文档:
27
+
28
+ 1. 📘 概述 (/overview.md)
29
+ - 项目介绍和核心概念
30
+
31
+ 2. 🚀 快速开始 (/getting-started.md)
32
+ - 安装、配置和第一个示例
33
+
34
+ 3. 💻 API 参考 (/api.md)
35
+ - API 使用说明
36
+ - 源文件:src/api/
37
+ └── 3.1 认证 (/api/authentication.md)
38
+ - 认证方式和示例
39
+ └── 3.2 端点 (/api/endpoints.md)
40
+ - 所有 API 端点详情
41
+
42
+ 4. ❓ FAQ (/faq.md)
43
+ - 常见问题解答
44
+
45
+ 5. 🔧 故障排查 (/troubleshooting.md)
46
+ - 常见问题和解决方案
47
+
48
+ ---
49
+
50
+ [使用 AskUserQuestion 工具]
51
+ 问题:文档结构是否符合您的需求?
52
+ 选项:✅ 确认,开始生成文档
53
+ ```
54
+
55
+ ### 推荐的 Emoji 使用
56
+
57
+ - 📘 概述/介绍
58
+ - 🚀 快速开始
59
+ - 💻 API/代码
60
+ - 🔧 配置/工具
61
+ - 📖 指南/教程
62
+ - ❓ FAQ/帮助
63
+ - 🏗️ 架构/设计
64
+ - 🔍 故障排查
65
+ - 📊 示例/演示
66
+ - ⚙️ 配置/设置
67
+
68
+ ## 处理用户反馈
69
+
70
+ 识别用户意图并执行相应操作:
71
+
72
+ ### 反馈类型
73
+
74
+ 1. **删除文档**:从 document-structure.yaml 删除条目,如果是父文档则连同子文档一起删除
75
+ 2. **添加文档**:确定位置、title、description、path、sourcePaths 和 icon(如果是顶层文档)
76
+ 3. **调整层次**:合并/拆分子文档,或调整父子关系
77
+ 4. **修改内容范围**:更新 description 和 sourcePaths
78
+ 5. **确认无误**:进入步骤 6 生成文档内容
79
+
80
+ ### 操作要点
81
+
82
+ - 每次修改后更新文档总数
83
+ - 重新展示完整结构
84
+ - 简要说明做了什么改动
85
+ - 询问用户是否确认
86
+
87
+ ## 交互示例
88
+
89
+ ```
90
+ Agent: 📋 文档结构规划完成
91
+ [展示 5 个文档的结构]
92
+
93
+ ---
94
+
95
+ [Agent 使用 AskUserQuestion 工具]
96
+ 问题:文档结构是否符合您的需求?
97
+ 选项:✅ 确认,开始生成文档
98
+
99
+ ---
100
+
101
+ User: [选择 ✏️ Other] FAQ 和故障排查合并,API 参考不要拆分
102
+
103
+ ---
104
+
105
+ Agent: 好的,我将进行以下调整:
106
+ 1. 合并 FAQ 和故障排查
107
+ 2. 合并 API 参考的子文档
108
+
109
+ 📋 更新后的文档结构
110
+ [展示 3 个文档的结构]
111
+
112
+ ---
113
+
114
+ [Agent 使用 AskUserQuestion 工具]
115
+ 问题:文档结构是否符合您的需求?
116
+ 选项:✅ 确认,开始生成文档
117
+
118
+ ---
119
+
120
+ User: ✅ 确认,开始生成文档
121
+
122
+ ---
123
+
124
+ Agent: 收到确认,开始生成文档内容...
125
+ ```
126
+
127
+ ## 关键原则
128
+
129
+ 1. **每次修改后都要重新展示完整结构** - 不要只说"已修改"
130
+ 2. **支持多轮调整** - 耐心处理用户的每一次反馈
131
+ 3. **用户确认后才进入步骤 6** - 绝对不要在确认前开始生成内容
132
+ 4. **清晰传达变化** - 简要说明改动内容
133
+ 5. **理解用户意图** - 反馈可能不够精确,需要确认理解是否正确
@@ -0,0 +1,149 @@
1
+ # 文档结构规划指南
2
+
3
+ **文件位置**: `planning/document-structure.yaml`
4
+ **权限**: AI 可重写/更新,可重算
5
+
6
+ 本文档提供如何规划文档结构和决定是否拆分的详细指南。
7
+
8
+ ## 核心原则
9
+
10
+ **规划必须依据用户意图**
11
+
12
+ 在规划文档结构时,持续参考 `intent/user-intent.md` 中的内容:
13
+ - **目标用户决定文档类型**:技术开发者需要 API 参考,最终用户需要使用指南
14
+ - **使用场景决定文档范围**:快速上手只需核心功能,深入学习才需要完整架构
15
+ - **侧重点决定详细程度**:使用指南型文档重实践轻原理,参考手册型文档要全面覆盖
16
+
17
+ ## 常见问题及避免方法
18
+
19
+ ### ❌ 不看用户意图,直接按代码结构规划
20
+
21
+ 导致文档大而全,不聚焦用户需求。应该先参考 intent/user-intent.md,只为用户需要的模块创建文档。
22
+
23
+ ### ❌ 规划了用户不需要的文档
24
+
25
+ 浪费资源生成无用文档。应该严格按照 intent/user-intent.md 中的"文档侧重点"规划。
26
+
27
+ ### ❌ 文档粒度与用户需求不匹配
28
+
29
+ 顺序任务应合并成单一文档,独立模块才考虑拆分。
30
+
31
+ ## 规划策略
32
+
33
+ ### 1. 最小必要原则
34
+
35
+ 只规划用户意图中明确需要的文档。
36
+
37
+ **检查清单**:
38
+ - [ ] 这个文档是否在 intent/user-intent.md 的使用场景中?
39
+ - [ ] 这个文档是否符合文档侧重点?
40
+ - [ ] 如果去掉这个文档,用户会缺失重要信息吗?
41
+
42
+ ### 2. 聚焦核心场景
43
+
44
+ 优先覆盖用户的主要使用场景。
45
+
46
+ **优先级排序**:
47
+ 1. intent/user-intent.md 中明确提到的场景
48
+ 2. 对目标用户最重要的功能
49
+ 3. 可选的高级特性
50
+
51
+ ### 3. 适度深度
52
+
53
+ 根据用户需求决定嵌套层级。
54
+
55
+ **深度指南**:
56
+ - 最终用户:扁平结构(1 层)
57
+ - 开发者:适度嵌套(1-2 层)
58
+ - 复杂系统:合理嵌套(2-3 层)
59
+
60
+ ## 拆分判断标准
61
+
62
+ ### 应该拆分为子文档
63
+
64
+ **必须满足以下 3-4 个条件**:
65
+
66
+ 1. **内容量大**
67
+ - 父主题包含 4 个以上主要章节
68
+ - 单页阅读体验差(预计超过 500 行)
69
+
70
+ 2. **独立性强**
71
+ - 每个子主题都有丰富的独立内容
72
+ - 至少 3 个段落或 3+ 小节
73
+ - 可以独立理解,不强依赖其他子主题
74
+
75
+ 3. **无重复**
76
+ - 子文档之间没有明显内容重复
77
+ - 子文档与父文档之间没有明显内容重复
78
+
79
+ 4. **独立查阅**
80
+ - 用户经常需要单独查阅某个子主题
81
+ - 而非顺序通读全部内容
82
+
83
+ **示例:应该拆分**
84
+
85
+ API 参考拆分为用户、订单、支付三个子文档,因为每个类别内容丰富、相对独立、开发者会单独查阅。
86
+
87
+ ### 不应该拆分
88
+
89
+ **有以下任一情况**:
90
+
91
+ 1. **子文档内容单薄**
92
+ - 预计少于 3 段内容
93
+ - 没有足够的源文件支持
94
+
95
+ 2. **存在内容重复或相互依赖**
96
+ - 子文档之间有明显的内容重复
97
+ - 必须同时阅读多个子文档才能理解
98
+
99
+ 3. **顺序完成的步骤**
100
+ - 用户需要按顺序完成所有步骤
101
+ - 如:安装 → 配置 → 首次运行
102
+
103
+ 4. **拆分后父文档变空壳**
104
+ - 父文档只剩导航链接
105
+ - 没有实质内容
106
+
107
+ **示例:不应该拆分**
108
+
109
+ 快速开始不应拆分为安装、配置、首次运行三个子文档,因为这是顺序步骤,用户需要连续完成,拆分反而增加导航负担。应该合并为单一文档。
110
+
111
+ ## 结构评估清单
112
+
113
+ 在创建 document-structure.yaml 之前,对每个可能的嵌套结构使用此清单:
114
+
115
+ ### 支持拆分的信号
116
+
117
+ 满足 3+ 个时考虑拆分:
118
+
119
+ - [ ] 父主题源文件内容丰富,预计生成 4+ 个主要章节
120
+ - [ ] 每个子主题都有足够的源文件和独立内容(预计 3 段或 3+ 小节)
121
+ - [ ] 子主题之间相对独立,用户可能单独查阅(如不同的 API 类别)
122
+ - [ ] 工作区中已有按模块组织的源文件结构
123
+
124
+ ### 反对拆分的信号
125
+
126
+ 有 2+ 个时保持扁平:
127
+
128
+ - [ ] 子主题源文件内容单薄,预计每个少于 3 段
129
+ - [ ] 子主题之间有明显的顺序依赖或内容重复
130
+ - [ ] 用户需要按顺序完成(如安装 → 配置 → 首次运行)
131
+ - [ ] 源文件没有明确的模块划分
132
+
133
+ ### 决策
134
+
135
+ 综合评估后选择最适合用户的结构。
136
+
137
+ ## 平衡原则
138
+
139
+ **优先考虑用户体验,根据实际内容量和用户需求决定结构。**
140
+
141
+ 当难以决定时,问自己:
142
+ 1. 这个结构对用户友好吗?
143
+ 2. 用户能快速找到需要的信息吗?
144
+ 3. 是否有不必要的导航层级?
145
+
146
+ **经验法则**:
147
+ - 有疑虑时,选择更简单的结构
148
+ - 扁平优于嵌套
149
+ - 少即是多
@@ -0,0 +1,108 @@
1
+ # 文档更新执行流程
2
+
3
+ ## 流程概览
4
+
5
+ ```
6
+ 检测文档状态 → 识别输入类型 → 解析修改请求 → 执行修改 → 展示摘要
7
+ ```
8
+
9
+ ## 步骤 1:检测文档状态
10
+
11
+ 检查 `docs/` 目录:
12
+ - **不存在** → 告知用户先执行文档生成流程
13
+ - **存在** → 继续更新流程
14
+
15
+ ## 步骤 2:识别输入类型
16
+
17
+ 根据用户消息判断输入类型:
18
+
19
+ | 输入类型 | 识别特征 | 下一步 |
20
+ |---------|---------|--------|
21
+ | **Changeset 文件** | 用户提供 `.md` 文件路径 | 读取文件,参见 [changeset-guide.md](changeset-guide.md) |
22
+ | **PATCH 标记** | 用户提到"PATCH 标记"或"应用 PATCH" | 扫描文档,参见 [patch-guide.md](patch-guide.md) |
23
+ | **自然语言** | 直接描述修改需求 | 分析并分类为下列类型之一 |
24
+
25
+ ### 自然语言修改的分类
26
+
27
+ 分析用户请求,识别修改类型:
28
+
29
+ **全局语义修改** - 跨多个文档的规则
30
+ - 关键词:`所有`、`统一`、`全部`、`删除`
31
+ - 示例:`"所有 API 改为 API 接口"`、`"删除所有第一人称"`
32
+
33
+ **局部结构重写** - 特定章节的补充或重组
34
+ - 关键词:`补充`、`添加`、`重写`、`重组`
35
+ - 示例:`"overview.md 补充项目背景"`、`"快速开始添加环境要求章节"`
36
+
37
+ **PATCH 级修改** - 用户提供精确的替换内容
38
+ - 特征:给出原文和修订文本
39
+ - 建议:引导用户使用 PATCH 标记格式
40
+
41
+ ## 步骤 3:执行修改
42
+
43
+ ### 执行优先级
44
+
45
+ 严格按以下顺序执行,避免冲突:
46
+
47
+ ```
48
+ 1. 读取 Changeset(如果有)→ 建立全局约束
49
+ 2. 扫描并执行所有 PATCH → 确定性变更
50
+ 3. 应用全局语义修改 → 跨文档规则
51
+ 4. 执行局部结构重写 → 章节级改写
52
+ 5. 一致性检查 → 术语、链接、格式
53
+ ```
54
+
55
+ ### 冲突处理原则
56
+
57
+ 当多个修改类型发生冲突时:
58
+
59
+ | 冲突场景 | 处理原则 |
60
+ |---------|---------|
61
+ | **PATCH vs 重写** | PATCH 先执行,重写在 PATCH 结果基础上进行 |
62
+ | **全局 vs 局部** | 局部(更具体)优先,在摘要中说明覆盖 |
63
+ | **澄清 vs 其他** | 澄清(需求理解)优先级最高 |
64
+
65
+ ## 步骤 4:展示变更摘要
66
+
67
+ 执行完成后,使用以下格式展示摘要:
68
+
69
+ ```markdown
70
+ 已完成文档更新:
71
+
72
+ ✓ 全局语义修改:N 条规则应用到 M 个文档
73
+ - [规则描述](X 处修改)
74
+
75
+ ✓ 局部结构重写:N 个章节
76
+ - [文档名]: [章节名]
77
+
78
+ ✓ PATCH 应用:N 处精确修改
79
+ - [文档名]: [修改描述]
80
+
81
+ 修改的文件:
82
+ - [文件路径 1]
83
+ - [文件路径 2]
84
+ ...
85
+
86
+ [如有验收标准] 验收对齐:
87
+ ☑ [标准 1]
88
+ ☑ [标准 2]
89
+ ☐ [未满足项] - [原因和建议]
90
+ ```
91
+
92
+ ## 执行要点
93
+
94
+ - **理解意图**:仔细分析修改请求,确定类型和范围
95
+ - **完整读取**:编辑时文档时,为了避免修改遗漏,确保读取文档的全部内容
96
+ - **批量执行**:同类修改一次性处理,减少读写
97
+ - **保持一致**:全局修改必须应用到所有匹配位置
98
+ - **验证完整**:修改后检查语法、链接、术语一致性
99
+ - **清晰反馈**:详细列出所有修改,说明冲突取舍
100
+
101
+ ## 错误处理
102
+
103
+ | 错误类型 | 处理方式 |
104
+ |---------|---------|
105
+ | **位置不存在** | 展示最接近匹配,询问确认 |
106
+ | **修改冲突** | 说明冲突原因,询问优先级 |
107
+ | **结构不匹配** | 展示当前结构,询问如何处理 |
108
+ | **信息不足** | 标注需澄清的问题,不要编造 |