@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
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.9.11-beta](https://github.com/AIGNE-io/aigne-doc-smith/compare/v0.9.10...v0.9.11-beta) (2026-01-16)
4
+
5
+
6
+ ### Features
7
+
8
+ * migrate to new skills-based architecture ([#370](https://github.com/AIGNE-io/aigne-doc-smith/issues/370)) ([bcd706a](https://github.com/AIGNE-io/aigne-doc-smith/commit/bcd706a29cf8df4d013df4f49c1d30a28ce856c4))
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * pin jaison to 2.0.2 ([d70901d](https://github.com/AIGNE-io/aigne-doc-smith/commit/d70901dcc9f914408a0ffa9dff820e5f9a3cd25f))
14
+
3
15
  ## [0.9.10](https://github.com/AIGNE-io/aigne-doc-smith/compare/v0.9.10-beta...v0.9.10) (2025-12-22)
4
16
 
5
17
  ## [0.9.10-beta](https://github.com/AIGNE-io/aigne-doc-smith/compare/v0.9.9...v0.9.10-beta) (2025-12-18)
package/README.md CHANGED
@@ -1,302 +1,272 @@
1
- [![GitHub stars](https://img.shields.io/github/stars/AIGNE-io/aigne-doc-smith?style=flat-square)](https://github.com/AIGNE-io/aigne-doc-smith/stargazers)
2
- [![NPM Version](https://img.shields.io/npm/v/@aigne/doc-smith?style=flat-square)](https://www.npmjs.com/package/@aigne/doc-smith)
3
- [![NPM Downloads](https://img.shields.io/npm/dm/@aigne/doc-smith?style=flat-square)](https://www.npmjs.com/package/@aigne/doc-smith)
4
- [![Open Issues](https://img.shields.io/github/issues-raw/AIGNE-io/aigne-doc-smith?style=flat-square)](https://github.com/AIGNE-io/aigne-doc-smith/issues)
5
- [![License](https://img.shields.io/github/license/AIGNE-io/aigne-doc-smith?style=flat-square)](https://github.com/AIGNE-io/aigne-doc-smith/blob/main/LICENSE)
6
- [![codecov](https://codecov.io/gh/AIGNE-io/aigne-doc-smith/graph/badge.svg?token=95TQO2NKYC)](https://codecov.io/gh/AIGNE-io/aigne-doc-smith)
1
+ # DocSmith
7
2
 
8
- # AIGNE DocSmith
3
+ AI-powered documentation generation tool built on the Aigne Framework.
9
4
 
10
- > 🚀 **AI-powered documentation that understands your code**
5
+ [中文文档](./README.zh.md)
11
6
 
12
- AIGNE DocSmith is a powerful, AI-driven documentation tool built on the [AIGNE Framework](https://www.aigne.io/en/framework). It automatically analyzes your codebase to generate comprehensive, structured, and multi-language documentation that stays in sync with your code.
7
+ ## Features
13
8
 
14
- ## 🎯 Why DocSmith?
9
+ DocSmith is a complete documentation generation system that provides:
10
+ - 📚 Generate comprehensive documentation from code repositories, text files, and media resources
11
+ - 🏗️ Build organized documentation structures and documentation sites
12
+ - 📝 Intelligently analyze workspace content and generate structured documentation
13
+ - 🔄 Convert code/project content into readable documentation
14
+ - 🌍 Multi-language support and documentation localization
15
+ - 🖼️ Automatic generation and updating of documentation images
16
+ - 📤 One-click publishing to multiple platforms
15
17
 
16
- - **🧠 Intelligent Analysis**: Understands your code's structure, patterns, and intent.
17
- - **📚 Comprehensive Coverage**: Generates everything from API references to user guides.
18
- - **🌍 Global Ready**: Supports 12 languages with professional-grade translation.
19
- - **🔄 Always Current**: Automatically detects changes and updates documentation accordingly.
20
- - **⚡ Zero Config**: Works out of the box with smart defaults and auto-detection.
18
+ Supports generating:
19
+ - Technical documentation
20
+ - User guides
21
+ - API references
22
+ - Tutorials and examples
23
+ - Product documentation
21
24
 
22
- ## AIGNE Ecosystem
25
+ ### User Intent Analysis
23
26
 
24
- DocSmith is part of the [AIGNE](https://www.aigne.io) ecosystem, a comprehensive AI application development platform.
27
+ DocSmith automatically analyzes workspace content to infer:
28
+ - **Target audience** - Primary readers of the documentation (developers, operators, end users, etc.)
29
+ - **Use cases** - Context in which users consult the documentation (first contact, development integration, troubleshooting, etc.)
30
+ - **Documentation focus** - Documentation type (user guide, API reference, quick start, architecture overview, etc.)
25
31
 
26
- ![AIGNE Ecosystem Architecture](https://docsmith.aigne.io/image-bin/uploads/def424c20bbdb3c77483894fe0e22819.png)
32
+ Inference results are presented to users for confirmation, with support for multiple rounds of adjustments until satisfied.
27
33
 
28
- As shown in the diagram, DocSmith integrates seamlessly with other [AIGNE](https://www.aigne.io) components, leveraging the platform's AI capabilities and infrastructure.
34
+ ### Structure Confirmation Mechanism
29
35
 
30
- ## Features
36
+ Before generating documentation, DocSmith displays the planned documentation structure:
37
+ - Total number of documents and hierarchy
38
+ - Title, description, and source files for each document
39
+ - Clear emoji indicators for quick browsing
31
40
 
32
- ### 🤖 AI-Powered Generation
41
+ Users can:
42
+ - Delete/add documents
43
+ - Adjust hierarchy (merge, split, adjust parent-child relationships)
44
+ - Modify content scope
33
45
 
34
- - **Smart Structure Planning**: Analyzes your codebase to create a logical and comprehensive documentation structure.
35
- - **Intelligent Content Creation**: Generates detailed, contextual content that explains both the "what" and the "why."
36
- - **Adaptive Writing Styles**: Supports multiple documentation styles, including Technical, User-Friendly, and Developer-Focused.
46
+ Actual content generation begins only after user confirms the structure.
37
47
 
38
- ### 🌍 Multi-Language Support
48
+ ## Project Structure
39
49
 
40
- - **12 Language Support**: English, Chinese (Simplified & Traditional), Japanese, Korean, Spanish, French, German, Portuguese, Russian, Italian, and Arabic.
41
- - **Professional Translation**: Provides context-aware translations that maintain technical accuracy.
42
- - **Glossary Integration**: Ensures consistent terminology across all languages.
43
-
44
- ### 🔗 Seamless Integration
45
-
46
- - **AIGNE Hub Integration**: Use the [AIGNE Hub](https://www.aigne.io/en/hub) without API keys and switch between Google Gemini, OpenAI GPT, Claude, and more.
47
- - **Multiple LLM Support**: Bring your own API keys for OpenAI, Anthropic, Google, and other providers.
48
- - **One-Click Publishing**: Publish your docs and generate shareable links for your team. Publish to [docsmith.aigne.io](https://docsmith.aigne.io/app/) or your own [Discuss Kit](https://www.web3kit.rocks/discuss-kit) instance.
49
-
50
- ### 🔄 Smart Updates
51
-
52
- - **Change Detection**: Automatically identifies code changes and updates the relevant documentation.
53
- - **Targeted Regeneration**: Updates specific sections with custom feedback and requirements.
54
- - **Version Awareness**: Maintains a history of your documentation and tracks changes over time.
55
-
56
- ## 🚀 Quick Start
57
-
58
- ### Prerequisites
59
-
60
- - Node.js 20+ and npm/pnpm
61
- - No API keys required (uses the AIGNE Hub by default).
62
-
63
- ### 📦 Installation
64
-
65
- Install the AIGNE CLI globally:
66
-
67
- ```bash
68
- npm install -g @aigne/cli
69
50
  ```
70
-
71
- Verify the installation:
72
-
73
- ```bash
74
- aigne doc --help
51
+ aigne-doc-smith/
52
+ ├── aigne.yaml # Aigne framework configuration
53
+ ├── package.json # Project dependencies and metadata
54
+ ├── CLAUDE.md # Claude Code project description
55
+ ├── README.md # This file
56
+
57
+ ├── agents/ # Specialized Agents
58
+ │ ├── bash-executor/ # Bash command execution agent
59
+ │ ├── clear/ # Configuration cleanup agent
60
+ │ ├── content-checker/ # Content checking agent
61
+ │ ├── generate-images/ # Image generation agent
62
+ │ ├── localize/ # Documentation localization agent
63
+ │ ├── publish/ # Documentation publishing agent
64
+ │ ├── save-document/ # Document saving agent
65
+ │ ├── structure-checker/ # Structure checking agent
66
+ │ └── update-image/ # Image update agent
67
+
68
+ ├── skills/ # Skill definitions
69
+ │ └── doc-smith/ # DocSmith Skill
70
+ │ ├── SKILL.md # Skill main document
71
+ │ └── references/ # Reference documents
72
+
73
+ ├── skills-entry/ # Aigne framework entry configuration
74
+ │ └── doc-smith/
75
+ │ ├── index.yaml # Main entry configuration
76
+ │ └── prompt.md # Prompt template
77
+
78
+ ├── utils/ # Utility library
79
+ │ ├── config.mjs # Configuration management
80
+ │ ├── docs.mjs # Document processing
81
+ │ ├── git.mjs # Git operations
82
+ │ ├── image-utils.mjs # Image utilities
83
+ │ ├── workspace.mjs # Workspace management
84
+ │ └── ... # More utilities
85
+
86
+ └── scripts/ # Helper scripts
87
+ └── ...
75
88
  ```
76
89
 
77
- ### 🎉 Generate Your First Documentation
90
+ ## Quick Start
78
91
 
79
- Navigate to your project directory and run:
92
+ ### 1. Install Aigne CLI
80
93
 
81
94
  ```bash
82
- # One command to generate your documentation
83
- aigne doc create
95
+ npm install -g @aigne/cli
84
96
  ```
85
97
 
86
- DocSmith will:
87
-
88
- 1. 🔍 Auto-detect your project's structure and tech stack.
89
- 2. 🎯 Guide you through an interactive setup (first time only).
90
- 3. 📝 Generate comprehensive documentation.
91
- 4. 🌍 Optionally translate it into multiple languages.
92
- 5. 🚀 Publish it to your preferred platform.
98
+ ### 2. Start DocSmith
93
99
 
94
- ## 🔧 Advanced Configuration
95
-
96
- ### LLM Providers
97
-
98
- DocSmith supports multiple AI providers:
99
-
100
- **🎯 AIGNE Hub (Recommended)**
101
-
102
- - ✅ No API keys required.
103
- - ✅ Easy model switching.
104
- - ✅ Built-in rate limiting and optimization.
100
+ Run directly in your project root:
105
101
 
106
102
  ```bash
107
- # Switch models effortlessly
108
- aigne doc create --model google:gemini-2.5-pro
109
- aigne doc create --model anthropic:claude-sonnet-4-5
110
- aigne doc create --model openai:gpt-4o
103
+ cd my-project
104
+ aigne doc
111
105
  ```
112
106
 
113
- **🔑 Custom API Keys**
114
- Configure your own API keys for direct provider access:
115
-
116
- - OpenAI GPT models
117
- - Anthropic Claude models
118
- - Google Gemini models
119
- - and more...
107
+ On first execution, Aigne CLI will automatically install DocSmith and start the interactive documentation generation process.
120
108
 
121
- ## 📖 Usage Guide
109
+ **Automatic Initialization:**
122
110
 
123
- ### Core Commands
111
+ DocSmith will automatically:
112
+ - Detect the current project
113
+ - Create workspace in `.aigne/doc-smith/` directory
114
+ - Generate config.yaml configuration file
124
115
 
125
- #### 📝 Generate Documentation
116
+ **Completed During Conversation:**
126
117
 
127
- ```bash
128
- # Smart generation with auto-configuration
129
- aigne doc create
118
+ DocSmith will guide you through:
119
+ 1. Ask for output language (if not specified)
120
+ 2. Analyze project content
121
+ 3. Infer user intent
122
+ 4. Plan documentation structure
123
+ 5. Generate structured Markdown documentation
130
124
 
131
- # Force a complete regeneration of the documentation
132
- aigne doc create --forceRegenerate
125
+ ### 3. Generated Directory Structure
133
126
 
134
- # Generate with custom feedback
135
- aigne doc create --feedback "Add more API examples and troubleshooting sections"
136
127
  ```
137
-
138
- #### 🔄 Update Existing Documents
139
-
140
- ```bash
141
- # Interactively select and update a document
142
- aigne doc update
143
-
144
- # Update specific document with feedback
145
- aigne doc update --docs overview.md --feedback "Add comprehensive FAQ section"
128
+ my-project/
129
+ ├── .aigne/
130
+ │ └── doc-smith/ # DocSmith workspace
131
+ │ ├── config.yaml # Configuration file
132
+ │ ├── intent/ # User intent
133
+ │ ├── planning/ # Documentation structure planning
134
+ │ ├── docs/ # Generated documentation
135
+ │ │ ├── overview.md
136
+ │ │ ├── getting-started.md
137
+ │ │ └── api/
138
+ │ │ └── authentication.md
139
+ │ └── cache/ # Temporary data
140
+ └── (other project files...)
146
141
  ```
147
142
 
148
- #### 🌍 Multi-Language Translation
143
+ ### 4. Independent Workspace Mode (Optional)
149
144
 
150
- ```bash
151
- # Interactive translation with smart language selection
152
- aigne doc localize
153
-
154
- # Translate specific documents into multiple languages
155
- aigne doc localize --langs zh --langs ja --docs examples.md --docs overview.md
156
-
157
- # Translate with a custom glossary for consistent terminology
158
- aigne doc localize --glossary @path/to/glossary.md --feedback "Use technical terminology consistently"
159
- ```
160
-
161
- #### 🚀 Publishing & Deployment
145
+ To separate documentation project from source code, use independent workspace:
162
146
 
163
147
  ```bash
164
- # Interactive publishing with platform selection
165
- aigne doc publish
166
-
167
- # Publish to a custom Discuss Kit instance
168
- aigne doc publish --appUrl https://your-discuss-kit-instance.com
148
+ # Create independent workspace
149
+ mkdir my-docs
150
+ cd my-docs
151
+ aigne doc
169
152
  ```
170
153
 
171
- #### ⚙️ Configuration Management
154
+ Independent mode supports multiple data source configuration:
172
155
 
173
- ```bash
174
- # Interactive configuration setup
175
- aigne doc init
156
+ ```yaml
157
+ # config.yaml
158
+ sources:
159
+ - name: "main"
160
+ type: local-path
161
+ path: "../my-project"
176
162
 
177
- # View the current configuration
178
- aigne doc prefs
163
+ - name: "other-repo"
164
+ type: git-clone
165
+ url: "https://github.com/example/repo.git"
166
+ branch: "main"
179
167
  ```
180
168
 
181
- ### Configuration Options
182
-
183
- DocSmith automatically detects your project's structure, but you can customize it to your needs:
184
-
185
- - **📝 Documentation Styles**: Technical, User-Friendly, Developer-Focused, Academic
186
- - **🎯 Target Audiences**: Developers, End Users, System Administrators, Business Users
187
- - **🌍 Languages**: Choose from 12 supported languages.
188
- - **📁 Source Paths**: Customize which files and directories to analyze.
189
- - **📤 Output Settings**: Configure the documentation structure and formatting.
190
-
191
- ## 🌐 Supported Languages
192
-
193
- DocSmith provides professional-grade translations for 12 languages:
194
-
195
- | Language | Code | Support Level |
196
- | --------- | ------- | ------------- |
197
- | English | `en` | ✅ Native |
198
- | 简体中文 | `zh-CN` | ✅ Full |
199
- | 繁體中文 | `zh-TW` | ✅ Full |
200
- | 日本語 | `ja` | ✅ Full |
201
- | 한국어 | `ko` | ✅ Full |
202
- | Español | `es` | ✅ Full |
203
- | Français | `fr` | ✅ Full |
204
- | Deutsch | `de` | ✅ Full |
205
- | Português | `pt-BR` | ✅ Full |
206
- | Русский | `ru` | ✅ Full |
207
- | Italiano | `it` | ✅ Full |
208
- | العربية | `ar` | ✅ Full |
169
+ ## Core Features
209
170
 
210
- ## 🤝 Contributing
171
+ ### Documentation Generation
172
+ - Intelligent analysis of source code and project structure
173
+ - Automatic inference of user intent and target audience
174
+ - Generation of structured Markdown documentation
175
+ - Support for documentation hierarchy planning and confirmation
211
176
 
212
- We welcome contributions from the community! Here's how you can help:
177
+ ### Image Management
178
+ - Automatic generation of documentation images
179
+ - Image placeholder system support
180
+ - Batch update and edit images
181
+ - Multiple image generation model support
213
182
 
214
- ### 🐛 Reporting Issues
183
+ ### Multi-language Support
184
+ - Documentation localization and translation
185
+ - Multi-language documentation structure management
186
+ - Automatic synchronization of different language versions
215
187
 
216
- - 🔍 [Search existing issues](https://github.com/AIGNE-io/aigne-doc-smith/issues) first.
217
- - 📝 Use our issue templates for bug reports and feature requests.
218
- - 🚨 Include clear reproduction steps and details about your environment.
188
+ ### Publishing and Deployment
189
+ - One-click publishing to multiple platforms
190
+ - Custom publishing configuration support
191
+ - Documentation site building and deployment
219
192
 
220
- ### 💡 Feature Requests
193
+ ## Development
221
194
 
222
- - 🌟 Share your ideas in [GitHub Discussions](https://github.com/AIGNE-io/aigne-doc-smith/discussions).
223
- - 📋 Check our [roadmap](https://github.com/AIGNE-io/aigne-doc-smith/projects) for planned features.
224
- - 🗳️ Vote on existing feature requests.
225
-
226
- ### 🔧 Development Setup
195
+ ### Install Dependencies
227
196
 
228
197
  ```bash
229
- # Clone the repository
230
- git clone https://github.com/AIGNE-io/aigne-doc-smith.git
231
- cd aigne-doc-smith
232
-
233
- # Install dependencies
234
198
  pnpm install
199
+ ```
235
200
 
236
- # Run tests
237
- pnpm test
201
+ ### Code Quality
238
202
 
239
- # Run the linter
203
+ Project uses Biome for code linting and formatting:
204
+
205
+ ```bash
206
+ # Check code
240
207
  pnpm run lint
241
208
 
242
- # Automatically fix lint errors
209
+ # Auto fix
243
210
  pnpm run lint:fix
244
211
  ```
245
212
 
246
- ### 📜 Code of Conduct
213
+ ### Modifying Agents
247
214
 
248
- Please follow our community guidelines and maintain respectful, constructive communication.
215
+ To add or modify agents:
249
216
 
250
- ## 💼 Enterprise & Production Use
217
+ 1. Create or modify agent in `agents/` directory
218
+ 2. Register new agent in `aigne.yaml`
219
+ 3. Write agent prompts and configuration files
251
220
 
252
- ### 🏢 Enterprise Features
221
+ ### Modifying Utility Functions
253
222
 
254
- - **Team Collaboration**: Multi-user workflows with role-based access.
255
- - **Custom Branding**: White-label your documentation with your brand's identity.
256
- - **API Integration**: Use REST APIs for automated documentation pipelines.
257
- - **Analytics**: Track documentation usage and effectiveness.
223
+ To extend or optimize utility functions:
258
224
 
259
- ### 🔒 Security & Compliance
225
+ 1. Add or modify utility functions in `utils/` directory
226
+ 2. Ensure ES module syntax (`.mjs` files)
227
+ 3. Import and use where needed
260
228
 
261
- - **Private Cloud**: Deploy on your own infrastructure.
262
- - **SSO Integration**: Connect with your existing identity providers.
263
- - **Audit Logs**: Complete activity tracking and compliance reporting.
264
- - **Data Privacy**: Your code never leaves your environment in private deployments.
229
+ ## Tech Stack
265
230
 
266
- ### 📞 Support & Services
231
+ - **Aigne Framework** - AI agent orchestration framework
232
+ - **Node.js** - Runtime environment (ES modules)
233
+ - **pnpm** - Package manager
234
+ - **Biome** - Code linting and formatting
235
+ - **YAML** - Configuration and data format
267
236
 
268
- - **Priority Support**: Get direct access to our engineering team.
269
- - **Custom Training**: We offer team onboarding and best practices workshops.
270
- - **Professional Services**: We provide custom integrations and deployment assistance.
237
+ ## Notes
271
238
 
272
- [Contact us](https://www.aigne.io/contact) for enterprise licensing and deployment options.
239
+ - Ensure Node.js (v18+) and pnpm are installed
240
+ - Ensure Git is installed (for submodule and version management)
241
+ - Anthropic API key or other LLM provider configuration required
242
+ - Image generation features require corresponding API key configuration
273
243
 
274
- ## 📊 Community & Resources
244
+ ## Migration Guide
275
245
 
276
- ### 📚 Documentation & Tutorials
246
+ If you previously used an older version (`.aigne/doc-smith/` directory structure), we recommend:
247
+ 1. Create a new workspace directory
248
+ 2. Regenerate documentation
249
+ 3. Old version data can be manually migrated to the new workspace directory structure
277
250
 
278
- - 📖 [Documentation](https://docsmith.aigne.io/docs/)
251
+ ## Version
279
252
 
280
- ### 💬 Community Support
253
+ Current version: `0.9.11`
281
254
 
282
- - 🐦 [Twitter](https://twitter.com/arcblock_io) - For updates and announcements.
283
- - 🎮 [Community](https://community.arcblock.io/discussions/boards/aigne) - For real-time community chat.
255
+ ## Support
284
256
 
285
- ### 🏆 Showcase
257
+ For issues or suggestions, please open an issue in the project.
286
258
 
287
- See DocSmith in action with these real-world examples:
259
+ ## Author
288
260
 
289
- - [Docs Repository](https://docsmith.aigne.io/app) - Generated with DocSmith.
261
+ **Arcblock** - [blocklet@arcblock.io](mailto:blocklet@arcblock.io)
290
262
 
291
- ## 📄 License
263
+ GitHub: [@blocklet](https://github.com/blocklet)
292
264
 
293
- This project is licensed under the **Elastic License 2.0**. See the [LICENSE](LICENSE) file for details.
265
+ ## License
294
266
 
295
- ### What does this mean?
267
+ Elastic-2.0 License
296
268
 
297
- - **Free for most use cases**: Including personal projects, internal use, and most commercial applications.
298
- - ✅ **Open source**: The full source code is available for review and contributions.
299
- - ✅ **Commercial friendly**: Use it in your business applications and services.
300
- - ❌ **Restrictions**: You cannot offer DocSmith as a competing hosted service.
269
+ ## Related Links
301
270
 
302
- [Learn more about the Elastic License 2.0](https://www.elastic.co/licensing/elastic-license)
271
+ - [Aigne Framework](https://www.npmjs.com/package/@aigne/cli)
272
+ - [Arcblock](https://www.arcblock.io/)