@aigne/doc-smith 0.9.8-alpha.3 → 0.9.8-alpha.5

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 (257) hide show
  1. package/CLAUDE.md +43 -0
  2. package/README.md +94 -250
  3. package/aigne.yaml +5 -146
  4. package/doc-smith/SKILL.md +117 -0
  5. package/doc-smith/references/changeset_schema.md +118 -0
  6. package/doc-smith/references/document_structure_schema.md +139 -0
  7. package/doc-smith/references/document_update_guide.md +193 -0
  8. package/doc-smith/references/structure_confirmation_guide.md +133 -0
  9. package/doc-smith/references/structure_planning_guide.md +146 -0
  10. package/doc-smith/references/user_intent_guide.md +172 -0
  11. package/doc-smith.yaml +114 -0
  12. package/main-system-prompt.md +56 -0
  13. package/package.json +3 -69
  14. package/scripts/README.md +90 -0
  15. package/scripts/install.sh +86 -0
  16. package/scripts/uninstall.sh +52 -0
  17. package/CHANGELOG.md +0 -994
  18. package/LICENSE +0 -93
  19. package/agentic-agents/common/base-info.md +0 -53
  20. package/agentic-agents/common/completer.md +0 -54
  21. package/agentic-agents/common/planner.md +0 -168
  22. package/agentic-agents/common/worker.md +0 -93
  23. package/agentic-agents/create/index.yaml +0 -129
  24. package/agentic-agents/create/objective.md +0 -44
  25. package/agentic-agents/create/set-custom-prompt.mjs +0 -27
  26. package/agentic-agents/detail/index.yaml +0 -95
  27. package/agentic-agents/detail/objective.md +0 -9
  28. package/agentic-agents/detail/set-custom-prompt.mjs +0 -88
  29. package/agentic-agents/predict-resources/index.yaml +0 -44
  30. package/agentic-agents/predict-resources/instructions.md +0 -61
  31. package/agentic-agents/structure/design-rules.md +0 -39
  32. package/agentic-agents/structure/index.yaml +0 -86
  33. package/agentic-agents/structure/objective.md +0 -14
  34. package/agentic-agents/structure/review-criteria.md +0 -55
  35. package/agentic-agents/structure/set-custom-prompt.mjs +0 -78
  36. package/agentic-agents/utils/init-workspace-cache.mjs +0 -171
  37. package/agentic-agents/utils/load-base-sources.mjs +0 -20
  38. package/agentic-agents/workspace-cache-sharing-design.md +0 -671
  39. package/agents/chat/chat-system.md +0 -38
  40. package/agents/chat/index.mjs +0 -59
  41. package/agents/chat/skills/generate-document.yaml +0 -15
  42. package/agents/chat/skills/list-documents.mjs +0 -15
  43. package/agents/chat/skills/update-document.yaml +0 -24
  44. package/agents/clear/choose-contents.mjs +0 -192
  45. package/agents/clear/clear-auth-tokens.mjs +0 -88
  46. package/agents/clear/clear-deployment-config.mjs +0 -49
  47. package/agents/clear/clear-document-config.mjs +0 -36
  48. package/agents/clear/clear-document-structure.mjs +0 -102
  49. package/agents/clear/clear-generated-docs.mjs +0 -142
  50. package/agents/clear/clear-media-description.mjs +0 -129
  51. package/agents/clear/index.yaml +0 -26
  52. package/agents/create/analyze-diagram-type-llm.yaml +0 -160
  53. package/agents/create/analyze-diagram-type.mjs +0 -297
  54. package/agents/create/check-document-structure.yaml +0 -30
  55. package/agents/create/check-need-generate-structure.mjs +0 -105
  56. package/agents/create/document-structure-tools/add-document.mjs +0 -85
  57. package/agents/create/document-structure-tools/delete-document.mjs +0 -116
  58. package/agents/create/document-structure-tools/move-document.mjs +0 -109
  59. package/agents/create/document-structure-tools/update-document.mjs +0 -84
  60. package/agents/create/generate-diagram-image.yaml +0 -60
  61. package/agents/create/generate-structure.yaml +0 -117
  62. package/agents/create/index.yaml +0 -49
  63. package/agents/create/refine-document-structure.yaml +0 -12
  64. package/agents/create/replace-d2-with-image.mjs +0 -625
  65. package/agents/create/update-document-structure.yaml +0 -54
  66. package/agents/create/user-add-document/add-documents-to-structure.mjs +0 -90
  67. package/agents/create/user-add-document/find-documents-to-add-links.yaml +0 -47
  68. package/agents/create/user-add-document/index.yaml +0 -46
  69. package/agents/create/user-add-document/prepare-documents-to-translate.mjs +0 -22
  70. package/agents/create/user-add-document/print-add-document-summary.mjs +0 -63
  71. package/agents/create/user-add-document/review-documents-with-new-links.mjs +0 -110
  72. package/agents/create/user-remove-document/find-documents-with-invalid-links.mjs +0 -78
  73. package/agents/create/user-remove-document/index.yaml +0 -40
  74. package/agents/create/user-remove-document/prepare-documents-to-translate.mjs +0 -22
  75. package/agents/create/user-remove-document/print-remove-document-summary.mjs +0 -53
  76. package/agents/create/user-remove-document/remove-documents-from-structure.mjs +0 -99
  77. package/agents/create/user-remove-document/review-documents-with-invalid-links.mjs +0 -115
  78. package/agents/create/user-review-document-structure.mjs +0 -140
  79. package/agents/create/utils/init-current-content.mjs +0 -34
  80. package/agents/create/utils/merge-document-structures.mjs +0 -30
  81. package/agents/evaluate/code-snippet.mjs +0 -97
  82. package/agents/evaluate/document-structure.yaml +0 -67
  83. package/agents/evaluate/document.yaml +0 -82
  84. package/agents/evaluate/generate-report.mjs +0 -85
  85. package/agents/evaluate/index.yaml +0 -46
  86. package/agents/history/index.yaml +0 -6
  87. package/agents/history/view.mjs +0 -78
  88. package/agents/init/check.mjs +0 -16
  89. package/agents/init/index.mjs +0 -275
  90. package/agents/init/validate.mjs +0 -16
  91. package/agents/localize/choose-language.mjs +0 -107
  92. package/agents/localize/index.yaml +0 -58
  93. package/agents/localize/record-translation-history.mjs +0 -23
  94. package/agents/localize/translate-document.yaml +0 -24
  95. package/agents/localize/translate-multilingual.yaml +0 -51
  96. package/agents/media/batch-generate-media-description.yaml +0 -46
  97. package/agents/media/generate-media-description.yaml +0 -50
  98. package/agents/media/load-media-description.mjs +0 -256
  99. package/agents/prefs/index.mjs +0 -203
  100. package/agents/publish/index.yaml +0 -26
  101. package/agents/publish/publish-docs.mjs +0 -356
  102. package/agents/publish/translate-meta.mjs +0 -103
  103. package/agents/schema/document-structure-item.yaml +0 -26
  104. package/agents/schema/document-structure-refine-item.yaml +0 -23
  105. package/agents/schema/document-structure.yaml +0 -29
  106. package/agents/update/batch-generate-document.yaml +0 -27
  107. package/agents/update/batch-update-document.yaml +0 -7
  108. package/agents/update/check-diagram-flag.mjs +0 -116
  109. package/agents/update/check-document.mjs +0 -162
  110. package/agents/update/check-generate-diagram.mjs +0 -106
  111. package/agents/update/check-sync-image-flag.mjs +0 -55
  112. package/agents/update/check-update-is-single.mjs +0 -53
  113. package/agents/update/document-tools/update-document-content.mjs +0 -303
  114. package/agents/update/generate-diagram.yaml +0 -63
  115. package/agents/update/generate-document.yaml +0 -70
  116. package/agents/update/handle-document-update.yaml +0 -103
  117. package/agents/update/index.yaml +0 -79
  118. package/agents/update/pre-check-generate-diagram.yaml +0 -44
  119. package/agents/update/save-and-translate-document.mjs +0 -76
  120. package/agents/update/sync-images-and-exit.mjs +0 -148
  121. package/agents/update/update-document-detail.yaml +0 -71
  122. package/agents/update/update-single/update-single-document-detail.mjs +0 -280
  123. package/agents/update/update-single-document.yaml +0 -7
  124. package/agents/update/user-review-document.mjs +0 -272
  125. package/agents/utils/action-success.mjs +0 -16
  126. package/agents/utils/analyze-document-feedback-intent.yaml +0 -32
  127. package/agents/utils/analyze-feedback-intent.mjs +0 -136
  128. package/agents/utils/analyze-structure-feedback-intent.yaml +0 -29
  129. package/agents/utils/check-detail-result.mjs +0 -38
  130. package/agents/utils/check-feedback-refiner.mjs +0 -81
  131. package/agents/utils/choose-docs.mjs +0 -293
  132. package/agents/utils/document-icon-generate.yaml +0 -52
  133. package/agents/utils/document-title-streamline.yaml +0 -48
  134. package/agents/utils/ensure-document-icons.mjs +0 -129
  135. package/agents/utils/exit.mjs +0 -6
  136. package/agents/utils/feedback-refiner.yaml +0 -50
  137. package/agents/utils/find-item-by-path.mjs +0 -114
  138. package/agents/utils/find-user-preferences-by-path.mjs +0 -37
  139. package/agents/utils/format-document-structure.mjs +0 -35
  140. package/agents/utils/generate-document-or-skip.mjs +0 -41
  141. package/agents/utils/handle-diagram-operations.mjs +0 -263
  142. package/agents/utils/load-all-document-content.mjs +0 -30
  143. package/agents/utils/load-document-all-content.mjs +0 -84
  144. package/agents/utils/load-sources.mjs +0 -405
  145. package/agents/utils/map-reasoning-effort-level.mjs +0 -15
  146. package/agents/utils/post-generate.mjs +0 -144
  147. package/agents/utils/read-current-document-content.mjs +0 -46
  148. package/agents/utils/save-doc-translation.mjs +0 -61
  149. package/agents/utils/save-doc.mjs +0 -88
  150. package/agents/utils/save-output.mjs +0 -26
  151. package/agents/utils/save-sidebar.mjs +0 -51
  152. package/agents/utils/skip-if-content-exists.mjs +0 -27
  153. package/agents/utils/streamline-document-titles-if-needed.mjs +0 -88
  154. package/agents/utils/transform-detail-data-sources.mjs +0 -45
  155. package/agents/utils/update-branding.mjs +0 -84
  156. package/assets/report-template/report.html +0 -198
  157. package/docs-mcp/analyze-content-relevance.yaml +0 -50
  158. package/docs-mcp/analyze-docs-relevance.yaml +0 -59
  159. package/docs-mcp/docs-search.yaml +0 -42
  160. package/docs-mcp/get-docs-detail.mjs +0 -41
  161. package/docs-mcp/get-docs-structure.mjs +0 -16
  162. package/docs-mcp/read-doc-content.mjs +0 -119
  163. package/prompts/common/document/content-rules-core.md +0 -20
  164. package/prompts/common/document/markdown-syntax-rules.md +0 -65
  165. package/prompts/common/document/media-file-list-usage-rules.md +0 -18
  166. package/prompts/common/document/openapi-usage-rules.md +0 -189
  167. package/prompts/common/document/role-and-personality.md +0 -16
  168. package/prompts/common/document/user-preferences.md +0 -9
  169. package/prompts/common/document-structure/conflict-resolution-guidance.md +0 -16
  170. package/prompts/common/document-structure/document-icon-generate.md +0 -116
  171. package/prompts/common/document-structure/document-structure-rules.md +0 -43
  172. package/prompts/common/document-structure/document-title-streamline.md +0 -86
  173. package/prompts/common/document-structure/glossary.md +0 -7
  174. package/prompts/common/document-structure/intj-traits.md +0 -5
  175. package/prompts/common/document-structure/openapi-usage-rules.md +0 -28
  176. package/prompts/common/document-structure/output-constraints.md +0 -18
  177. package/prompts/common/document-structure/user-locale-rules.md +0 -10
  178. package/prompts/common/document-structure/user-preferences.md +0 -9
  179. package/prompts/detail/custom/admonition-usage-rules.md +0 -94
  180. package/prompts/detail/custom/code-block-usage-rules.md +0 -163
  181. package/prompts/detail/custom/custom-components/x-card-usage-rules.md +0 -63
  182. package/prompts/detail/custom/custom-components/x-cards-usage-rules.md +0 -83
  183. package/prompts/detail/custom/custom-components/x-field-desc-usage-rules.md +0 -120
  184. package/prompts/detail/custom/custom-components/x-field-group-usage-rules.md +0 -80
  185. package/prompts/detail/custom/custom-components/x-field-usage-rules.md +0 -189
  186. package/prompts/detail/custom/custom-components-usage-rules.md +0 -18
  187. package/prompts/detail/diagram/generate-image-system.md +0 -135
  188. package/prompts/detail/diagram/generate-image-user.md +0 -32
  189. package/prompts/detail/diagram/guide.md +0 -29
  190. package/prompts/detail/diagram/official-examples.md +0 -712
  191. package/prompts/detail/diagram/pre-check.md +0 -23
  192. package/prompts/detail/diagram/role-and-personality.md +0 -2
  193. package/prompts/detail/diagram/rules.md +0 -46
  194. package/prompts/detail/diagram/system-prompt.md +0 -1139
  195. package/prompts/detail/diagram/user-prompt.md +0 -43
  196. package/prompts/detail/generate/detail-example.md +0 -457
  197. package/prompts/detail/generate/document-rules.md +0 -45
  198. package/prompts/detail/generate/system-prompt.md +0 -61
  199. package/prompts/detail/generate/user-prompt.md +0 -99
  200. package/prompts/detail/jsx/rules.md +0 -6
  201. package/prompts/detail/update/system-prompt.md +0 -121
  202. package/prompts/detail/update/user-prompt.md +0 -41
  203. package/prompts/evaluate/document-structure.md +0 -93
  204. package/prompts/evaluate/document.md +0 -149
  205. package/prompts/media/media-description/system-prompt.md +0 -43
  206. package/prompts/media/media-description/user-prompt.md +0 -17
  207. package/prompts/structure/check-document-structure.md +0 -93
  208. package/prompts/structure/document-rules.md +0 -21
  209. package/prompts/structure/find-documents-to-add-links.md +0 -52
  210. package/prompts/structure/generate/system-prompt.md +0 -13
  211. package/prompts/structure/generate/user-prompt.md +0 -137
  212. package/prompts/structure/review/structure-review-system.md +0 -81
  213. package/prompts/structure/structure-example.md +0 -89
  214. package/prompts/structure/structure-getting-started.md +0 -10
  215. package/prompts/structure/update/system-prompt.md +0 -93
  216. package/prompts/structure/update/user-prompt.md +0 -43
  217. package/prompts/translate/admonition.md +0 -20
  218. package/prompts/translate/code-block.md +0 -33
  219. package/prompts/translate/glossary.md +0 -6
  220. package/prompts/translate/translate-document.md +0 -305
  221. package/prompts/utils/analyze-document-feedback-intent.md +0 -54
  222. package/prompts/utils/analyze-structure-feedback-intent.md +0 -43
  223. package/prompts/utils/feedback-refiner.md +0 -105
  224. package/types/document-schema.mjs +0 -55
  225. package/types/document-structure-schema.mjs +0 -261
  226. package/utils/auth-utils.mjs +0 -275
  227. package/utils/blocklet.mjs +0 -104
  228. package/utils/check-document-has-diagram.mjs +0 -95
  229. package/utils/conflict-detector.mjs +0 -149
  230. package/utils/constants/index.mjs +0 -620
  231. package/utils/constants/linter.mjs +0 -102
  232. package/utils/d2-utils.mjs +0 -198
  233. package/utils/debug.mjs +0 -3
  234. package/utils/delete-diagram-images.mjs +0 -99
  235. package/utils/deploy.mjs +0 -86
  236. package/utils/docs-finder-utils.mjs +0 -623
  237. package/utils/evaluate/report-utils.mjs +0 -132
  238. package/utils/extract-api.mjs +0 -32
  239. package/utils/file-utils.mjs +0 -960
  240. package/utils/history-utils.mjs +0 -203
  241. package/utils/icon-map.mjs +0 -26
  242. package/utils/image-compress.mjs +0 -75
  243. package/utils/kroki-utils.mjs +0 -173
  244. package/utils/linter/index.mjs +0 -50
  245. package/utils/load-config.mjs +0 -107
  246. package/utils/markdown/index.mjs +0 -26
  247. package/utils/markdown-checker.mjs +0 -694
  248. package/utils/mermaid-validator.mjs +0 -140
  249. package/utils/mermaid-worker-pool.mjs +0 -250
  250. package/utils/mermaid-worker.mjs +0 -233
  251. package/utils/openapi/index.mjs +0 -28
  252. package/utils/preferences-utils.mjs +0 -175
  253. package/utils/request.mjs +0 -10
  254. package/utils/store/index.mjs +0 -45
  255. package/utils/sync-diagram-to-translations.mjs +0 -262
  256. package/utils/upload-files.mjs +0 -231
  257. package/utils/utils.mjs +0 -1354
@@ -1,620 +0,0 @@
1
- // Default file patterns for inclusion and exclusion
2
- export const DEFAULT_INCLUDE_PATTERNS = Object.freeze([
3
- // Python
4
- "*.py",
5
- "*.pyi",
6
- "*.pyx",
7
- // JavaScript/TypeScript
8
- "*.js",
9
- "*.jsx",
10
- "*.ts",
11
- "*.tsx",
12
- "*.mjs",
13
- "*.mts",
14
- // C/C++
15
- "*.c",
16
- "*.cc",
17
- "*.cpp",
18
- "*.cxx",
19
- "*.c++",
20
- "*.h",
21
- "*.hpp",
22
- "*.hxx",
23
- "*.h++",
24
- // JVM Languages
25
- "*.java",
26
- "*.kt",
27
- "*.scala",
28
- "*.groovy",
29
- "*.gvy",
30
- "*.gy",
31
- "*.gsh",
32
- "*.clj",
33
- "*.cljs",
34
- "*.cljx",
35
- // .NET Languages
36
- "*.cs",
37
- "*.vb",
38
- "*.fs",
39
- // Functional Languages
40
- "*.f",
41
- "*.ml",
42
- "*.sml",
43
- "*.lisp",
44
- "*.lsp",
45
- "*.cl",
46
- // Systems Programming
47
- "*.rs",
48
- "*.go",
49
- "*.nim",
50
- "*.asm",
51
- "*.s",
52
- // Web Technologies
53
- "*.html",
54
- "*.htm",
55
- "*.css",
56
- "*.php",
57
- // Scripting Languages
58
- "*.rb",
59
- "*.pl",
60
- "*.ps1",
61
- "*.lua",
62
- "*.tcl",
63
- // Mobile/Modern Languages
64
- "*.swift",
65
- "*.dart",
66
- "*.ex",
67
- "*.exs",
68
- "*.erl",
69
- "*.jl",
70
- // Data Science
71
- "*.r",
72
- "*.R",
73
- "*.m",
74
- // Other Languages
75
- "*.pas",
76
- "*.cob",
77
- "*.cbl",
78
- "*.pro",
79
- "*.prolog",
80
- "*.sql",
81
- // Documentation & Config
82
- "*.md",
83
- "*.rst",
84
- "*.json",
85
- "*.yaml",
86
- "*.yml",
87
- "*Dockerfile",
88
- "*Makefile",
89
- // Media files
90
- "*.jpg",
91
- "*.jpeg",
92
- "*.png",
93
- "*.gif",
94
- "*.bmp",
95
- "*.webp",
96
- "*.svg",
97
- "*.mp4",
98
- "*.mov",
99
- "*.avi",
100
- "*.mkv",
101
- "*.webm",
102
- "*.m4v",
103
- ]);
104
-
105
- export const DEFAULT_EXCLUDE_PATTERNS = Object.freeze([
106
- "**/doc-smith/**",
107
- "**/.aigne/**",
108
- "**/vendor/**",
109
- "**/temp/**",
110
- "**/*venv/**",
111
- "*.venv/**",
112
- "**/dist/**",
113
- "**/*build/**",
114
- "**/*experimental/**",
115
- "**/*deprecated/**",
116
- "**/misc/**",
117
- "**/legacy/**",
118
- ".git/**",
119
- ".github/**",
120
- ".next/**",
121
- ".vscode/**",
122
- "**/obj/**",
123
- "**/bin/**",
124
- "**/*node_modules/**",
125
- "*.log",
126
- "**/pnpm-lock.yaml",
127
- "**/yarn.lock",
128
- "**/package-lock.json",
129
- "**/pnpm-lock.json",
130
- "**/bun.lockb",
131
- "**/bun.lock",
132
- "**/bun.lockb",
133
- ]);
134
-
135
- // Supported languages for documentation
136
- export const SUPPORTED_LANGUAGES = [
137
- { code: "en", label: "English (en)", sample: "Hello" },
138
- { code: "zh", label: "简体中文 (zh)", sample: "你好" },
139
- { code: "zh-TW", label: "繁體中文 (zh-TW)", sample: "你好" },
140
- { code: "ja", label: "日本語 (ja)", sample: "こんにちは" },
141
- { code: "ko", label: "한국어 (ko)", sample: "안녕하세요" },
142
- { code: "es", label: "Español (es)", sample: "Hola" },
143
- { code: "fr", label: "Français (fr)", sample: "Bonjour" },
144
- { code: "de", label: "Deutsch (de)", sample: "Hallo" },
145
- { code: "pt", label: "Português (pt)", sample: "Olá" },
146
- { code: "ru", label: "Русский (ru)", sample: "Привет" },
147
- { code: "it", label: "Italiano (it)", sample: "Ciao" },
148
- { code: "ar", label: "العربية (ar)", sample: "مرحبا" },
149
- ];
150
-
151
- // Predefined document generation styles based on primary purpose
152
- export const DOCUMENT_STYLES = {
153
- getStarted: {
154
- name: "Get started quickly",
155
- description: "Help new users go from zero to working in <30 minutes",
156
- content:
157
- "Optimizes for: Speed, essential steps, working examples.\nSkips: Complex edge cases, theoretical background.",
158
- },
159
- completeTasks: {
160
- name: "Complete specific tasks",
161
- description: "Guide users through common workflows and use cases",
162
- content:
163
- "Optimizes for: Step-by-step instructions, practical scenarios.\nSkips: Deep technical internals, getting started basics.",
164
- },
165
- findAnswers: {
166
- name: "Find answers fast",
167
- description: "Provide searchable reference for all features and APIs",
168
- content:
169
- "Optimizes for: Comprehensive coverage, searchability, examples.\n Skips: Narrative flow, beginner explanations.",
170
- },
171
- understandSystem: {
172
- name: "Understand the system",
173
- description: "Explain how it works, why design decisions were made",
174
- content:
175
- "Optimizes for: Architecture, concepts, decision rationale.\nSkips: Quick wins, copy-paste solutions.",
176
- },
177
- solveProblems: {
178
- name: "Troubleshoot common issues",
179
- description: "Help users troubleshoot and fix issues",
180
- content:
181
- "Optimizes for: Error scenarios, diagnostics, solutions.\nSkips: Happy path tutorials, feature overviews.",
182
- },
183
- mixedPurpose: {
184
- name: "Serve multiple purposes",
185
- description: "Comprehensive documentation covering multiple needs",
186
- content:
187
- "Optimizes for: Balanced coverage, multiple entry points.\nTrade-off: Longer, requires good navigation.",
188
- },
189
- };
190
-
191
- // Predefined target audiences based on who will read the documentation most often
192
- export const TARGET_AUDIENCES = {
193
- endUsers: {
194
- name: "End users (non-technical)",
195
- description: "People who use the product but don't code",
196
- content:
197
- "Writing: Plain language, UI-focused, avoid technical terms.\nExamples: Screenshots, step-by-step clicks, business outcomes.",
198
- },
199
- developers: {
200
- name: "Developers integrating your product/API",
201
- description: "Engineers adding this to their projects",
202
- content:
203
- "Writing: Code-first, copy-paste ready, technical accuracy.\nExamples: SDK usage, API calls, configuration snippets.",
204
- },
205
- devops: {
206
- name: "DevOps / SRE / Infrastructure teams",
207
- description: "Teams deploying, monitoring, maintaining systems",
208
- content:
209
- "Writing: Operations-focused, troubleshooting emphasis.\nExamples: Deployment configs, monitoring setup, scaling guides.",
210
- },
211
- decisionMakers: {
212
- name: "Technical decision makers",
213
- description: "Architects, leads evaluating or planning implementation",
214
- content:
215
- "Writing: High-level first, drill-down details available.\nExamples: Architecture diagrams, comparison tables, trade-offs.",
216
- },
217
- supportTeams: {
218
- name: "Support teams",
219
- description: "People helping others use the product",
220
- content:
221
- "Writing: Diagnostic-focused, common issues prominent.\nExamples: Troubleshooting flows, FAQ format, escalation paths.",
222
- },
223
- mixedTechnical: {
224
- name: "Mixed technical audience",
225
- description: "Developers, DevOps, and technical users",
226
- content:
227
- "Writing: Layered complexity, multiple entry points.\nExamples: Progressive disclosure, role-based navigation.",
228
- },
229
- };
230
-
231
- // Reader knowledge level - what do readers typically know when they arrive?
232
- export const READER_KNOWLEDGE_LEVELS = {
233
- completeBeginners: {
234
- name: "Is a total beginner, starting from scratch",
235
- description: "New to this domain/technology entirely",
236
- content:
237
- "Content: Define terms, explain concepts, assume nothing.\nStructure: Linear progression, prerequisite checks.\nTone: Patient, educational, confidence-building.",
238
- },
239
- domainFamiliar: {
240
- name: "Has used similar tools before",
241
- description: "Know the problem space, new to this specific solution",
242
- content:
243
- 'Content: Focus on differences, migration, unique features.\nStructure: Comparison-heavy, "coming from X" sections.\nTone: Efficient, highlight advantages, skip basics.',
244
- },
245
- experiencedUsers: {
246
- name: "Is an expert trying to do something specific",
247
- description: "Regular users needing reference/advanced topics",
248
- content:
249
- "Content: Dense information, edge cases, performance tips.\nStructure: Reference-style, searchable, task-oriented.\nTone: Concise, technical precision, assume competence.",
250
- },
251
- emergencyTroubleshooting: {
252
- name: "Emergency/troubleshooting",
253
- description: "Something's broken, need to fix it quickly",
254
- content:
255
- "Content: Symptom → diagnosis → solution format.\nStructure: Problem-first, solution-prominent, escalation paths.\nTone: Clear, actionable, confidence-inspiring.",
256
- },
257
- exploringEvaluating: {
258
- name: "Is evaluating this tool against others",
259
- description: "Trying to understand if this fits their needs",
260
- content:
261
- "Content: Use cases, comparisons, getting started quickly.\nStructure: Multiple entry points, progressive commitment.\nTone: Persuasive but honest, show value quickly.",
262
- },
263
- };
264
-
265
- // Documentation depth - how comprehensive should the documentation be?
266
- export const DOCUMENTATION_DEPTH = {
267
- essentialOnly: {
268
- name: "Essential only",
269
- description: "Cover the 80% use cases, keep it concise",
270
- content:
271
- "Scope: Core features, happy paths, common patterns.\nLength: Shorter sections, key examples only.\nMaintenance: Easier to keep current.",
272
- },
273
- balancedCoverage: {
274
- name: "Balanced coverage",
275
- description: "Good depth with practical examples [RECOMMENDED]",
276
- content:
277
- "Scope: Most features, some edge cases, multiple examples.\nLength: Moderate sections, varied example types.\nMaintenance: Reasonable update burden.",
278
- },
279
- comprehensive: {
280
- name: "Comprehensive",
281
- description: "Cover all features, edge cases, and advanced scenarios",
282
- content:
283
- "Scope: Everything, all parameters, extensive examples.\nLength: Detailed sections, comprehensive coverage.\nMaintenance: Higher update complexity.",
284
- },
285
- aiDecide: {
286
- name: "Let AI decide",
287
- description: "Analyze code complexity and suggest appropriate depth",
288
- content:
289
- "Scope: Adaptive based on codebase analysis.\nAI considers: API surface area, complexity, existing patterns.",
290
- },
291
- };
292
-
293
- // Purpose to Knowledge Level mapping for default suggestions
294
- export const PURPOSE_TO_KNOWLEDGE_MAPPING = {
295
- getStarted: "completeBeginners", // Get started → Complete beginners
296
- findAnswers: "experiencedUsers", // Find answers → Experienced users
297
- solveProblems: "emergencyTroubleshooting", // Solve problems → Emergency/troubleshooting
298
- exploringEvaluating: "exploringEvaluating", // Exploring → Exploring/evaluating
299
- };
300
-
301
- // Documentation Depth recommendation logic
302
- export const DEPTH_RECOMMENDATION_LOGIC = {
303
- // Purpose-based recommendations (highest priority)
304
- purposes: {
305
- getStarted: "essentialOnly", // Get started → Essential
306
- },
307
- // Audience-based recommendations (medium priority)
308
- audiences: {
309
- decisionMakers: "balancedCoverage", // Decision makers → Balanced
310
- },
311
- // Knowledge level-based recommendations (lowest priority)
312
- knowledgeLevels: {
313
- experiencedUsers: "comprehensive", // Experienced users → Comprehensive
314
- },
315
- };
316
-
317
- // Component mount point ID for Discuss Kit
318
- export const DISCUSS_KIT_DID = "z8ia1WEiBZ7hxURf6LwH21Wpg99vophFwSJdu";
319
- export const MEDIA_KIT_DID = "z8ia1mAXo8ZE7ytGF36L5uBf9kD2kenhqFGp9";
320
-
321
- export const PAYMENT_KIT_DID = "z2qaCNvKMv5GjouKdcDWexv6WqtHbpNPQDnAk";
322
-
323
- // Default application URL for the document deployment website.
324
- export const CLOUD_SERVICE_URL_PROD = "https://docsmith.aigne.io";
325
- export const CLOUD_SERVICE_URL_STAGING = "https://staging.docsmith.aigne.io";
326
-
327
- // Discuss Kit related URLs
328
- export const DISCUSS_KIT_STORE_URL =
329
- "https://store.blocklet.dev/blocklets/z8ia1WEiBZ7hxURf6LwH21Wpg99vophFwSJdu";
330
- export const BLOCKLET_ADD_COMPONENT_DOCS =
331
- "https://www.arcblock.io/docs/blocklet-developer/en/7zbw0GQXgcD6sCcjVfwqqT2s";
332
-
333
- // Supported file extensions for content reading
334
- export const SUPPORTED_FILE_EXTENSIONS = [".txt", ".md", ".json", ".yaml", ".yml"];
335
-
336
- // Token count threshold for intelligent source path suggestion
337
- export const INTELLIGENT_SUGGESTION_TOKEN_THRESHOLD = 600000;
338
-
339
- // Conflict rules configuration for documentation generation
340
- export const CONFLICT_RULES = {
341
- // Internal conflicts within the same question (multi-select conflicts)
342
- internalConflicts: {
343
- // Note: Most conflicts can be resolved through intelligent documentation structure
344
- // Only keeping conflicts that represent fundamental incompatibilities
345
- },
346
-
347
- // Cross-question conflicts (conflicts between different questions)
348
- crossConflicts: [
349
- {
350
- conditions: {
351
- documentPurpose: ["getStarted"],
352
- readerKnowledgeLevel: ["experiencedUsers"],
353
- },
354
- severity: "severe",
355
- reason:
356
- "Quick start tutorials are not suitable for experienced users who need advanced features and best practices",
357
- action: "filter",
358
- conflictingOptions: {
359
- readerKnowledgeLevel: ["experiencedUsers"],
360
- },
361
- },
362
- {
363
- conditions: {
364
- documentPurpose: ["findAnswers"],
365
- readerKnowledgeLevel: ["completeBeginners"],
366
- },
367
- severity: "severe",
368
- reason:
369
- "API reference documentation skips beginner explanations and is not suitable for complete beginners",
370
- action: "filter",
371
- conflictingOptions: {
372
- readerKnowledgeLevel: ["completeBeginners"],
373
- },
374
- },
375
- {
376
- conditions: {
377
- documentPurpose: ["understandSystem"],
378
- readerKnowledgeLevel: ["emergencyTroubleshooting"],
379
- },
380
- severity: "severe",
381
- reason:
382
- "System architecture explanations are not suitable for emergency troubleshooting scenarios",
383
- action: "filter",
384
- conflictingOptions: {
385
- readerKnowledgeLevel: ["emergencyTroubleshooting"],
386
- },
387
- },
388
- {
389
- conditions: {
390
- targetAudienceTypes: ["endUsers"],
391
- readerKnowledgeLevel: ["experiencedUsers"],
392
- },
393
- severity: "severe",
394
- reason: "Non-technical users are typically not experienced technical users",
395
- action: "filter",
396
- conflictingOptions: {
397
- readerKnowledgeLevel: ["experiencedUsers"],
398
- },
399
- },
400
- {
401
- conditions: {
402
- targetAudienceTypes: ["decisionMakers"],
403
- readerKnowledgeLevel: ["emergencyTroubleshooting"],
404
- },
405
- severity: "severe",
406
- reason: "Decision makers typically do not directly handle emergency technical failures",
407
- action: "filter",
408
- conflictingOptions: {
409
- readerKnowledgeLevel: ["emergencyTroubleshooting"],
410
- },
411
- },
412
- ],
413
- };
414
-
415
- // Conflict resolution rules - defines how to handle conflicts when users select conflicting options
416
- export const CONFLICT_RESOLUTION_RULES = {
417
- // Document purpose conflicts that can be resolved through documentation structure
418
- documentPurpose: [
419
- {
420
- conflictItems: ["getStarted", "findAnswers"],
421
- strategy: "layered_structure",
422
- description: "Quick start and API reference conflict, resolved through layered structure",
423
- },
424
- {
425
- conflictItems: ["getStarted", "understandSystem"],
426
- strategy: "separate_sections",
427
- description:
428
- "Quick start and system understanding conflict, resolved through separate sections",
429
- },
430
- {
431
- conflictItems: ["completeTasks", "understandSystem"],
432
- strategy: "concepts_then_practice",
433
- description:
434
- "Task guidance and system understanding conflict, resolved through concepts-then-practice structure",
435
- },
436
- {
437
- conflictItems: ["findAnswers", "solveProblems"],
438
- strategy: "reference_with_troubleshooting",
439
- description:
440
- "API reference and problem solving conflict, resolved through reference with troubleshooting",
441
- },
442
- ],
443
-
444
- // Target audience conflicts that can be resolved through documentation structure
445
- targetAudienceTypes: [
446
- {
447
- conflictItems: ["endUsers", "developers"],
448
- strategy: "separate_user_paths",
449
- description: "End users and developers conflict, resolved through separate user paths",
450
- },
451
- {
452
- conflictItems: ["endUsers", "devops"],
453
- strategy: "role_based_sections",
454
- description: "End users and DevOps conflict, resolved through role-based sections",
455
- },
456
- {
457
- conflictItems: ["developers", "decisionMakers"],
458
- strategy: "progressive_disclosure",
459
- description:
460
- "Developers and decision makers conflict, resolved through progressive disclosure",
461
- },
462
- ],
463
- };
464
-
465
- // Resolution strategy descriptions
466
- export const RESOLUTION_STRATEGIES = {
467
- layered_structure: (items) =>
468
- `Detected "${items.join('" and "')}" purpose conflict. Resolution strategy: Create layered documentation structure
469
- - Quick start section: Uses "get started" style - optimizes for speed, key steps, working examples, skips complex edge cases
470
- - API reference section: Uses "find answers" style - comprehensive coverage, searchability, rich examples, skips narrative flow
471
- - Ensure sections complement rather than conflict with each other`,
472
-
473
- separate_sections: (items) =>
474
- `Detected "${items.join('" and "')}" purpose conflict. Resolution strategy: Create separate sections
475
- - Quick start section: Uses "get started" style - focuses on practical operations, completable within 30 minutes
476
- - System understanding section: Uses "understand system" style - dedicated to explaining architecture, concepts, design decision rationale
477
- - Meet different depth needs through clear section separation`,
478
-
479
- concepts_then_practice: (items) =>
480
- `Detected "${items.join('" and "')}" purpose conflict. Resolution strategy: Use progressive "concepts-then-practice" structure
481
- - Concepts section: Uses "understand system" style - first explains core concepts and architecture principles
482
- - Practice section: Uses "complete tasks" style - then provides specific step guidance and practical scenarios
483
- - Ensure smooth transition between theory and practice`,
484
-
485
- reference_with_troubleshooting: (items) =>
486
- `Detected "${items.join('" and "')}" purpose conflict. Resolution strategy: Integrate troubleshooting into API reference
487
- - API reference section: Uses "find answers" style - comprehensive feature documentation and parameter descriptions
488
- - Troubleshooting section: Uses "solve problems" style - add common issues and diagnostic methods for each feature
489
- - Create dedicated problem diagnosis index for quick location`,
490
-
491
- separate_user_paths: (items) =>
492
- `Detected "${items.join('" and "')}" audience conflict. Resolution strategy: Create separate user paths
493
- - User guide path: Uses "end users" style - simple language, UI operations, screenshot instructions, business outcome oriented
494
- - Developer guide path: Uses "developers" style - code-first, technical precision, SDK examples, configuration snippets
495
- - Provide clear path navigation for users to choose appropriate entry point`,
496
-
497
- role_based_sections: (items) =>
498
- `Detected "${items.join('" and "')}" audience conflict. Resolution strategy: Organize content by role
499
- - Create dedicated sections for different roles, each section uses corresponding audience style
500
- - Ensure content depth and expression precisely match the needs and background of corresponding audience
501
- - Provide cross-references between sections to facilitate collaborative understanding between roles`,
502
-
503
- progressive_disclosure: (items) =>
504
- `Detected "${items.join('" and "')}" audience conflict. Resolution strategy: Use progressive information disclosure
505
- - Overview level: Uses "decision makers" style - high-level architecture diagrams, decision points, business value
506
- - Detail level: Uses "developers" style - technical implementation details, code examples, best practices
507
- - Ensure smooth transition from strategic to tactical`,
508
- };
509
-
510
- export const D2_CONFIG = `vars: {
511
- d2-config: {
512
- layout-engine: elk
513
- theme-id: 105
514
- theme-overrides: {
515
- N1: "#161B1A"
516
- N2: "#02A996"
517
- N4: "#E6E8EC"
518
- N5: "#E3FDF6"
519
- B2: "#161B1A"
520
- B3: "#BEF4EB"
521
- B4: "transparent"
522
- B5: "#D1F6EC"
523
- B6: "#E4FFF0"
524
- AA4: "#D1F6EC"
525
- AB4: "#BEF4EB"
526
- }
527
- }
528
- }`;
529
-
530
- export const KROKI_CONCURRENCY = 5;
531
- export const D2_CONCURRENCY = 10;
532
- export const FILE_CONCURRENCY = 3;
533
- export const DOC_SMITH_DIR = ".aigne/doc-smith";
534
- export const TMP_DIR = ".tmp";
535
- export const TMP_DOCS_DIR = "docs";
536
- export const TMP_ASSETS_DIR = "assets";
537
-
538
- export const DOC_ACTION = {
539
- translate: "translate",
540
- update: "update",
541
- clear: "clear",
542
- };
543
-
544
- // Default thinking effort level, available options: 'lite', 'standard', 'pro'
545
- // This level can be defined by the user in the config file to influence reasoning effort mapping
546
- export const DEFAULT_THINKING_EFFORT_LEVEL = "standard";
547
-
548
- // Default reasoning effort level, available options: 'minimal', 'low', 'medium', 'high'
549
- export const DEFAULT_REASONING_EFFORT_LEVEL = "low";
550
-
551
- export const DEFAULT_REASONING_EFFORT_VALUE = 500;
552
-
553
- export const REASONING_EFFORT_LEVELS = {
554
- minimal: {
555
- lite: 100,
556
- standard: 300,
557
- pro: 500,
558
- },
559
- low: {
560
- lite: 200,
561
- standard: 500,
562
- pro: 1000,
563
- },
564
- medium: {
565
- lite: 300,
566
- standard: 800,
567
- pro: 1500,
568
- },
569
- high: {
570
- lite: 500,
571
- standard: 1000,
572
- pro: 2000,
573
- },
574
- };
575
-
576
- // Diagram styles - visual styles for diagram generation
577
- export const DIAGRAM_STYLES = {
578
- modern: {
579
- name: "Modern",
580
- description: "Modern, clean, professional style with contemporary design elements",
581
- prompt:
582
- "Modern, clean, professional diagram style with contemporary design elements, smooth lines, and a professional color scheme",
583
- },
584
- standard: {
585
- name: "Standard Flowchart",
586
- description: "Standard flowchart style with traditional symbols and formats",
587
- prompt:
588
- "Standard flowchart style with traditional symbols (rectangles for processes, diamonds for decisions, arrows for flows), clear and conventional formatting",
589
- },
590
- "hand-drawn": {
591
- name: "Hand-drawn",
592
- description: "Hand-drawn style with natural, organic lines and sketch-like appearance",
593
- prompt:
594
- "Hand-drawn, sketch-like style with natural, organic lines, slightly imperfect shapes, and a casual, approachable appearance",
595
- },
596
- anthropomorphic: {
597
- name: "Anthropomorphic",
598
- description: "Anthropomorphic style with personified elements and vivid imagery",
599
- prompt:
600
- "Anthropomorphic style with personified elements, vivid and lively imagery, characters or objects with human-like features, engaging and memorable",
601
- },
602
- flat: {
603
- name: "Flat Design",
604
- description: "Flat design style without shadows or 3D effects",
605
- prompt:
606
- "Flat design style with no shadows, gradients, or 3D effects, clean geometric shapes, bold colors, and minimalist aesthetics",
607
- },
608
- minimalist: {
609
- name: "Minimalist",
610
- description: "Minimalist style with minimal elements and maximum clarity",
611
- prompt:
612
- "Minimalist style with the fewest possible elements, maximum clarity, simple shapes, ample white space, and essential information only",
613
- },
614
- "3d": {
615
- name: "3D",
616
- description: "3D style with three-dimensional effects and perspective",
617
- prompt:
618
- "3D style with three-dimensional effects, perspective, depth, shadows, and realistic spatial relationships",
619
- },
620
- };