@aigne/doc-smith 0.8.11-beta → 0.8.11-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.aigne/doc-smith/config.yaml +2 -0
- package/.aigne/doc-smith/output/structure-plan.json +3 -3
- package/.aigne/doc-smith/upload-cache.yaml +252 -0
- package/.github/workflows/publish-docs.yml +67 -0
- package/.release-please-manifest.json +1 -1
- package/CHANGELOG.md +15 -0
- package/README.md +45 -115
- package/agents/clear/choose-contents.mjs +170 -0
- package/agents/clear/clear-auth-tokens.mjs +111 -0
- package/agents/clear/clear-document-config.mjs +39 -0
- package/agents/clear/clear-document-structure.mjs +106 -0
- package/agents/clear/clear-generated-docs.mjs +51 -0
- package/agents/clear/index.yaml +23 -0
- package/agents/evaluate/code-snippet.mjs +93 -0
- package/agents/evaluate/document-structure.yaml +70 -0
- package/agents/evaluate/document.yaml +79 -0
- package/agents/evaluate/generate-report.mjs +78 -0
- package/agents/evaluate/index.yaml +39 -0
- package/agents/generate/document-structure-tools/add-document.mjs +56 -0
- package/agents/generate/document-structure-tools/delete-document.mjs +49 -0
- package/agents/generate/document-structure-tools/move-document.mjs +82 -0
- package/agents/generate/document-structure-tools/update-document.mjs +50 -0
- package/agents/generate/generate-structure.yaml +1 -1
- package/agents/generate/update-document-structure.yaml +42 -0
- package/agents/generate/user-review-document-structure.mjs +6 -4
- package/agents/init/index.mjs +1 -1
- package/agents/publish/publish-docs.mjs +12 -3
- package/agents/translate/choose-language.mjs +1 -1
- package/agents/update/batch-update-document.yaml +7 -0
- package/agents/update/check-update-is-single.mjs +38 -0
- package/agents/update/document-tools/update-document-content.mjs +293 -0
- package/agents/update/index.yaml +4 -10
- package/agents/update/update-document-detail.yaml +52 -0
- package/agents/update/update-single-document.yaml +15 -0
- package/agents/update/user-review-document.mjs +248 -0
- package/agents/utils/choose-docs.mjs +4 -2
- package/agents/utils/format-document-structure.mjs +12 -2
- package/agents/utils/load-document-all-content.mjs +84 -0
- package/agents/utils/load-sources.mjs +4 -1
- package/aigne.yaml +59 -20
- package/assets/report-template/report.html +198 -0
- package/biome.json +14 -2
- package/docs/advanced-how-it-works.ja.md +101 -0
- package/docs/advanced-how-it-works.zh-TW.md +101 -0
- package/docs/advanced-how-it-works.zh.md +20 -20
- package/docs/advanced-quality-assurance.ja.md +96 -0
- package/docs/advanced-quality-assurance.zh-TW.md +96 -0
- package/docs/advanced-quality-assurance.zh.md +18 -18
- package/docs/advanced.ja.md +16 -0
- package/docs/advanced.zh-TW.md +16 -0
- package/docs/advanced.zh.md +4 -4
- package/docs/changelog.ja.md +309 -0
- package/docs/changelog.zh-TW.md +309 -0
- package/docs/changelog.zh.md +23 -23
- package/docs/cli-reference.ja.md +210 -0
- package/docs/cli-reference.zh-TW.md +210 -0
- package/docs/cli-reference.zh.md +21 -21
- package/docs/configuration-interactive-setup.ja.md +135 -0
- package/docs/configuration-interactive-setup.zh-TW.md +135 -0
- package/docs/configuration-interactive-setup.zh.md +29 -29
- package/docs/configuration-language-support.ja.md +94 -0
- package/docs/configuration-language-support.zh-TW.md +94 -0
- package/docs/configuration-language-support.zh.md +13 -13
- package/docs/configuration-llm-setup.ja.md +54 -0
- package/docs/configuration-llm-setup.zh-TW.md +54 -0
- package/docs/configuration-llm-setup.zh.md +12 -12
- package/docs/configuration-preferences.ja.md +129 -0
- package/docs/configuration-preferences.zh-TW.md +129 -0
- package/docs/configuration-preferences.zh.md +36 -36
- package/docs/configuration.ja.md +172 -0
- package/docs/configuration.zh-TW.md +172 -0
- package/docs/configuration.zh.md +49 -49
- package/docs/features-generate-documentation.ja.md +101 -0
- package/docs/features-generate-documentation.zh-TW.md +101 -0
- package/docs/features-generate-documentation.zh.md +17 -17
- package/docs/features-publish-your-docs.ja.md +107 -0
- package/docs/features-publish-your-docs.zh-TW.md +107 -0
- package/docs/features-publish-your-docs.zh.md +22 -22
- package/docs/features-translate-documentation.ja.md +79 -0
- package/docs/features-translate-documentation.zh-TW.md +79 -0
- package/docs/features-translate-documentation.zh.md +12 -12
- package/docs/features-update-and-refine.ja.md +138 -0
- package/docs/features-update-and-refine.zh-TW.md +138 -0
- package/docs/features-update-and-refine.zh.md +21 -21
- package/docs/features.ja.md +52 -0
- package/docs/features.zh-TW.md +52 -0
- package/docs/features.zh.md +8 -8
- package/docs/getting-started.ja.md +123 -0
- package/docs/getting-started.zh-TW.md +123 -0
- package/docs/getting-started.zh.md +24 -24
- package/docs/overview.ja.md +30 -0
- package/docs/overview.zh-TW.md +30 -0
- package/docs/overview.zh.md +8 -8
- package/package.json +19 -11
- package/prompts/common/document/content-rules-core.md +19 -0
- package/prompts/common/document/media-handling-rules.md +9 -0
- package/prompts/common/document/role-and-personality.md +15 -0
- package/prompts/common/document/user-preferences.md +9 -0
- package/prompts/common/document-structure/conflict-resolution-guidance.md +16 -0
- package/prompts/common/document-structure/document-structure-rules.md +45 -0
- package/prompts/common/document-structure/glossary.md +7 -0
- package/prompts/common/document-structure/intj-traits.md +5 -0
- package/prompts/common/document-structure/output-constraints.md +9 -0
- package/prompts/common/document-structure/user-locale-rules.md +10 -0
- package/prompts/common/document-structure/user-preferences.md +9 -0
- package/prompts/detail/custom/custom-components.md +9 -1
- package/prompts/detail/document-rules.md +6 -6
- package/prompts/detail/generate-document.md +5 -45
- package/prompts/detail/update-document.md +145 -0
- package/prompts/evaluate/document-structure.md +94 -0
- package/prompts/evaluate/document.md +149 -0
- package/prompts/structure/document-rules.md +1 -1
- package/prompts/structure/generate-structure-system.md +74 -0
- package/prompts/structure/generate-structure-user.md +41 -0
- package/prompts/structure/update-document-structure.md +118 -0
- package/prompts/translate/translate-document.md +1 -1
- package/prompts/utils/feedback-refiner.md +3 -3
- package/release-please-config.json +1 -7
- package/tests/agents/clear/choose-contents.test.mjs +280 -0
- package/tests/agents/clear/clear-auth-tokens.test.mjs +268 -0
- package/tests/agents/clear/clear-document-config.test.mjs +167 -0
- package/tests/agents/clear/clear-document-structure.test.mjs +374 -0
- package/tests/agents/clear/clear-generated-docs.test.mjs +222 -0
- package/tests/agents/evaluate/code-snippet.test.mjs +163 -0
- package/tests/agents/evaluate/fixtures/api-services.md +87 -0
- package/tests/agents/evaluate/fixtures/js-sdk.md +94 -0
- package/tests/agents/evaluate/generate-report.test.mjs +312 -0
- package/tests/agents/generate/check-document-structure.test.mjs +0 -6
- package/tests/agents/generate/document-structure-tools/add-document.test.mjs +449 -0
- package/tests/agents/generate/document-structure-tools/delete-document.test.mjs +410 -0
- package/tests/agents/generate/document-structure-tools/move-document.test.mjs +476 -0
- package/tests/agents/generate/document-structure-tools/update-document.test.mjs +548 -0
- package/tests/agents/generate/generate-structure.test.mjs +0 -6
- package/tests/agents/generate/user-review-document-structure.test.mjs +9 -9
- package/tests/agents/publish/publish-docs.test.mjs +2 -2
- package/tests/agents/update/check-update-is-single.test.mjs +300 -0
- package/tests/agents/update/document-tools/update-document-content.test.mjs +326 -0
- package/tests/agents/update/user-review-document.test.mjs +561 -0
- package/tests/agents/utils/format-document-structure.test.mjs +100 -0
- package/tests/utils/auth-utils.test.mjs +239 -1
- package/tests/utils/blocklet.test.mjs +9 -7
- package/tests/utils/constants.test.mjs +1 -1
- package/tests/utils/d2-utils.test.mjs +1 -1
- package/tests/utils/deploy.test.mjs +310 -366
- package/tests/utils/kroki-utils.test.mjs +2 -15
- package/tests/utils/linter/fixtures/css/keyword-error.css +1 -0
- package/tests/utils/linter/fixtures/css/missing-semicolon.css +1 -0
- package/tests/utils/linter/fixtures/css/syntax-error.css +1 -0
- package/tests/utils/linter/fixtures/css/undeclare-variable.css +1 -0
- package/tests/utils/linter/fixtures/css/unused-variable.css +2 -0
- package/tests/utils/linter/fixtures/css/valid-code.css +1 -0
- package/tests/utils/linter/fixtures/dockerfile/keyword-error.dockerfile +1 -0
- package/tests/utils/linter/fixtures/dockerfile/missing-semicolon.dockerfile +2 -0
- package/tests/utils/linter/fixtures/dockerfile/syntax-error.dockerfile +2 -0
- package/tests/utils/linter/fixtures/dockerfile/undeclare-variable.dockerfile +1 -0
- package/tests/utils/linter/fixtures/dockerfile/unused-variable.dockerfile +1 -0
- package/tests/utils/linter/fixtures/dockerfile/valid-code.dockerfile +2 -0
- package/tests/utils/linter/fixtures/go/keyword-error.go +5 -0
- package/tests/utils/linter/fixtures/go/missing-semicolon.go +5 -0
- package/tests/utils/linter/fixtures/go/syntax-error.go +6 -0
- package/tests/utils/linter/fixtures/go/undeclare-variable.go +5 -0
- package/tests/utils/linter/fixtures/go/unused-variable.go +5 -0
- package/tests/utils/linter/fixtures/go/valid-code.go +7 -0
- package/tests/utils/linter/fixtures/js/keyword-error.js +3 -0
- package/tests/utils/linter/fixtures/js/missing-semicolon.js +6 -0
- package/tests/utils/linter/fixtures/js/syntax-error.js +4 -0
- package/tests/utils/linter/fixtures/js/undeclare-variable.js +3 -0
- package/tests/utils/linter/fixtures/js/unused-variable.js +7 -0
- package/tests/utils/linter/fixtures/js/valid-code.js +15 -0
- package/tests/utils/linter/fixtures/json/keyword-error.json +1 -0
- package/tests/utils/linter/fixtures/json/missing-semicolon.json +1 -0
- package/tests/utils/linter/fixtures/json/syntax-error.json +1 -0
- package/tests/utils/linter/fixtures/json/undeclare-variable.json +1 -0
- package/tests/utils/linter/fixtures/json/unused-variable.json +1 -0
- package/tests/utils/linter/fixtures/json/valid-code.json +1 -0
- package/tests/utils/linter/fixtures/jsx/keyword-error.jsx +5 -0
- package/tests/utils/linter/fixtures/jsx/missing-semicolon.jsx +5 -0
- package/tests/utils/linter/fixtures/jsx/syntax-error.jsx +5 -0
- package/tests/utils/linter/fixtures/jsx/undeclare-variable.jsx +5 -0
- package/tests/utils/linter/fixtures/jsx/unused-variable.jsx +4 -0
- package/tests/utils/linter/fixtures/jsx/valid-code.jsx +5 -0
- package/tests/utils/linter/fixtures/python/keyword-error.py +3 -0
- package/tests/utils/linter/fixtures/python/missing-semicolon.py +2 -0
- package/tests/utils/linter/fixtures/python/syntax-error.py +3 -0
- package/tests/utils/linter/fixtures/python/undeclare-variable.py +3 -0
- package/tests/utils/linter/fixtures/python/unused-variable.py +6 -0
- package/tests/utils/linter/fixtures/python/valid-code.py +12 -0
- package/tests/utils/linter/fixtures/ruby/keyword-error.rb +2 -0
- package/tests/utils/linter/fixtures/ruby/missing-semicolon.rb +1 -0
- package/tests/utils/linter/fixtures/ruby/syntax-error.rb +2 -0
- package/tests/utils/linter/fixtures/ruby/undeclare-variable.rb +1 -0
- package/tests/utils/linter/fixtures/ruby/unused-variable.rb +2 -0
- package/tests/utils/linter/fixtures/ruby/valid-code.rb +1 -0
- package/tests/utils/linter/fixtures/sass/keyword-error.sass +2 -0
- package/tests/utils/linter/fixtures/sass/missing-semicolon.sass +3 -0
- package/tests/utils/linter/fixtures/sass/syntax-error.sass +3 -0
- package/tests/utils/linter/fixtures/sass/undeclare-variable.sass +2 -0
- package/tests/utils/linter/fixtures/sass/unused-variable.sass +4 -0
- package/tests/utils/linter/fixtures/sass/valid-code.sass +2 -0
- package/tests/utils/linter/fixtures/scss/keyword-error.scss +1 -0
- package/tests/utils/linter/fixtures/scss/missing-semicolon.scss +1 -0
- package/tests/utils/linter/fixtures/scss/syntax-error.scss +1 -0
- package/tests/utils/linter/fixtures/scss/undeclare-variable.scss +1 -0
- package/tests/utils/linter/fixtures/scss/unused-variable.scss +2 -0
- package/tests/utils/linter/fixtures/scss/valid-code.scss +1 -0
- package/tests/utils/linter/fixtures/shell/keyword-error.sh +5 -0
- package/tests/utils/linter/fixtures/shell/missing-semicolon.sh +3 -0
- package/tests/utils/linter/fixtures/shell/syntax-error.sh +4 -0
- package/tests/utils/linter/fixtures/shell/undeclare-variable.sh +3 -0
- package/tests/utils/linter/fixtures/shell/unused-variable.sh +4 -0
- package/tests/utils/linter/fixtures/shell/valid-code.sh +3 -0
- package/tests/utils/linter/fixtures/ts/keyword-error.ts +1 -0
- package/tests/utils/linter/fixtures/ts/missing-semicolon.ts +1 -0
- package/tests/utils/linter/fixtures/ts/syntax-error.ts +1 -0
- package/tests/utils/linter/fixtures/ts/undeclare-variable.ts +1 -0
- package/tests/utils/linter/fixtures/ts/unused-variable.ts +3 -0
- package/tests/utils/linter/fixtures/ts/valid-code.ts +3 -0
- package/tests/utils/linter/fixtures/tsx/keyword-error.tsx +5 -0
- package/tests/utils/linter/fixtures/tsx/missing-semicolon.tsx +5 -0
- package/tests/utils/linter/fixtures/tsx/syntax-error.tsx +5 -0
- package/tests/utils/linter/fixtures/tsx/undeclare-variable.tsx +6 -0
- package/tests/utils/linter/fixtures/tsx/unused-variable.tsx +6 -0
- package/tests/utils/linter/fixtures/tsx/valid-code.tsx +5 -0
- package/tests/utils/linter/fixtures/vue/keyword-error.vue +6 -0
- package/tests/utils/linter/fixtures/vue/missing-semicolon.vue +6 -0
- package/tests/utils/linter/fixtures/vue/syntax-error.vue +6 -0
- package/tests/utils/linter/fixtures/vue/undeclare-variable.vue +6 -0
- package/tests/utils/linter/fixtures/vue/unused-variable.vue +7 -0
- package/tests/utils/linter/fixtures/vue/valid-code.vue +6 -0
- package/tests/utils/linter/fixtures/yaml/keyword-error.yml +1 -0
- package/tests/utils/linter/fixtures/yaml/missing-semicolon.yml +2 -0
- package/tests/utils/linter/fixtures/yaml/syntax-error.yml +1 -0
- package/tests/utils/linter/fixtures/yaml/undeclare-variable.yml +1 -0
- package/tests/utils/linter/fixtures/yaml/unused-variable.yml +2 -0
- package/tests/utils/linter/fixtures/yaml/valid-code.yml +3 -0
- package/tests/utils/linter/index.test.mjs +440 -0
- package/tests/utils/linter/scan-results.mjs +42 -0
- package/tests/utils/markdown/index.test.mjs +478 -0
- package/tests/utils/mermaid-validator.test.mjs +2 -2
- package/tests/utils/utils.test.mjs +3 -1
- package/types/document-schema.mjs +54 -0
- package/types/document-structure-schema.mjs +244 -0
- package/utils/auth-utils.mjs +131 -6
- package/utils/conflict-detector.mjs +5 -1
- package/utils/{constants.mjs → constants/index.mjs} +109 -0
- package/utils/constants/linter.mjs +102 -0
- package/utils/d2-utils.mjs +2 -4
- package/utils/debug.mjs +3 -0
- package/utils/deploy.mjs +81 -385
- package/utils/evaluate/report-utils.mjs +131 -0
- package/utils/file-utils.mjs +36 -1
- package/utils/kroki-utils.mjs +1 -1
- package/utils/linter/index.mjs +50 -0
- package/utils/markdown/index.mjs +26 -0
- package/utils/markdown-checker.mjs +1 -1
- package/utils/utils.mjs +19 -7
- package/prompts/structure/generate-structure.md +0 -161
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
# 更新與優化
|
|
2
|
+
|
|
3
|
+
讓文件與不斷演進的程式碼庫保持同步是一項關鍵任務。AIGNE DocSmith 提供了直接且靈活的方法來讓您的內容保持最新,無論是透過基於程式碼變更的自動更新,還是透過精確、由回饋意見驅動的優化。
|
|
4
|
+
|
|
5
|
+
本指南涵蓋如何:
|
|
6
|
+
|
|
7
|
+
- 在您的原始碼變更時自動更新文件。
|
|
8
|
+
- 使用針對性的回饋意見重新生成特定文件。
|
|
9
|
+
- 調整整體文件結構。
|
|
10
|
+
|
|
11
|
+
### 文件更新工作流程
|
|
12
|
+
|
|
13
|
+
下圖說明了更新文件的不同路徑:
|
|
14
|
+
|
|
15
|
+
```d2 更新工作流程
|
|
16
|
+
direction: down
|
|
17
|
+
|
|
18
|
+
Start: {
|
|
19
|
+
shape: circle
|
|
20
|
+
label: "開始"
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
Code-Change: {
|
|
24
|
+
label: "原始碼或\n設定檔變更"
|
|
25
|
+
shape: rectangle
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
Content-Tweak: {
|
|
29
|
+
label: "需要內容\n改善?"
|
|
30
|
+
shape: rectangle
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
Structure-Tweak: {
|
|
34
|
+
label: "需要結構\n改善?"
|
|
35
|
+
shape: rectangle
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
Start -> Code-Change
|
|
39
|
+
Start -> Content-Tweak
|
|
40
|
+
Start -> Structure-Tweak
|
|
41
|
+
|
|
42
|
+
Code-Change -> Generate-Command: "aigne doc generate"
|
|
43
|
+
|
|
44
|
+
Generate-Command -> Change-Detection: {
|
|
45
|
+
label: "變更偵測"
|
|
46
|
+
shape: diamond
|
|
47
|
+
}
|
|
48
|
+
Change-Detection -> Auto-Regen: "重新生成\n受影響文件"
|
|
49
|
+
|
|
50
|
+
Content-Tweak -> Update-Command: "aigne doc update\n--feedback"
|
|
51
|
+
Update-Command -> Manual-Regen: "重新生成\n特定文件"
|
|
52
|
+
|
|
53
|
+
Structure-Tweak -> Generate-Feedback-Command: "aigne doc generate\n--feedback"
|
|
54
|
+
Generate-Feedback-Command -> Replan: "重新規劃文件\n結構"
|
|
55
|
+
|
|
56
|
+
End: {
|
|
57
|
+
shape: circle
|
|
58
|
+
label: "文件已更新"
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
Auto-Regen -> End
|
|
62
|
+
Manual-Regen -> End
|
|
63
|
+
Replan -> End
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## 透過變更偵測自動更新
|
|
69
|
+
|
|
70
|
+
當您執行 `aigne doc generate` 命令時,DocSmith 會分析您的程式碼庫,偵測自上次執行以來的任何變更,並僅重新生成受影響的文件。此過程可節省時間並減少不必要的 API 呼叫。
|
|
71
|
+
|
|
72
|
+
```shell icon=lucide:terminal
|
|
73
|
+
# DocSmith 將偵測變更並僅更新必要部分
|
|
74
|
+
aigne doc generate
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+

|
|
78
|
+
|
|
79
|
+
### 強制完整重新生成
|
|
80
|
+
|
|
81
|
+
如果您需要從頭開始重新生成所有文件,忽略任何快取或先前的狀態,請使用 `--forceRegenerate` 標記。這在進行重大的設定變更後,或當您想確保一個完全全新的建置時非常有用。
|
|
82
|
+
|
|
83
|
+
```shell icon=lucide:terminal
|
|
84
|
+
# 從頭開始重新生成所有文件
|
|
85
|
+
aigne doc generate --forceRegenerate
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## 優化單一文件
|
|
91
|
+
|
|
92
|
+
若要在沒有相應程式碼變更的情況下改善特定文件,`aigne doc update` 命令允許您提供針對內容優化的具體指示。
|
|
93
|
+
|
|
94
|
+
您可以用兩種方式使用此命令:互動式或直接透過命令列參數。
|
|
95
|
+
|
|
96
|
+
### 互動模式
|
|
97
|
+
|
|
98
|
+
若要獲得引導式體驗,請在不帶任何參數的情況下執行此命令。DocSmith 將會顯示一個選單,讓您選擇要更新的文件。選擇後,系統會提示您輸入回饋意見。
|
|
99
|
+
|
|
100
|
+
```shell icon=lucide:terminal
|
|
101
|
+
# 開始互動式更新流程
|
|
102
|
+
aigne doc update
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+

|
|
106
|
+
|
|
107
|
+
### 直接透過命令列更新
|
|
108
|
+
|
|
109
|
+
為了更快速的工作流程或撰寫腳本,您可以使用標記直接指定文件和回饋意見。這允許進行精確、非互動式的更新。
|
|
110
|
+
|
|
111
|
+
```shell icon=lucide:terminal
|
|
112
|
+
# 帶有回饋意見以更新特定文件
|
|
113
|
+
aigne doc update --docs overview.md --feedback "Add a more detailed FAQ section at the end."
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
`update` 命令的主要參數:
|
|
117
|
+
|
|
118
|
+
| 參數 | 說明 |
|
|
119
|
+
| ---------- | ------------------------------------------------------------------------------------------------ |
|
|
120
|
+
| `--docs` | 您想更新的文件的路徑。您可以多次使用此標記進行批次更新。 |
|
|
121
|
+
| `--feedback` | 重新生成內容時要使用的具體指示。 |
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## 優化整體結構
|
|
126
|
+
|
|
127
|
+
除了優化單一文件的內容,您還可以調整整體的文件結構。如果某個部分缺失或現有組織可以改進,您可以向 `generate` 命令提供回饋意見。
|
|
128
|
+
|
|
129
|
+
此命令指示 DocSmith 根據您的新輸入重新評估整個文件計畫。
|
|
130
|
+
|
|
131
|
+
```shell icon=lucide:terminal
|
|
132
|
+
# 帶有特定回饋意見以重新生成文件結構
|
|
133
|
+
aigne doc generate --feedback "Remove the 'About' section and add a detailed 'API Reference'."
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
這種方法最適合對文件的目錄進行高層次的變更,而非逐行的內容編輯。
|
|
137
|
+
|
|
138
|
+
有了這些工具,您可以維護與您的專案一同演進的準確文件。一旦您的內容被優化,您就可以將其提供給全球的受眾。請在[翻譯文件](./features-translate-documentation.md)指南中了解如何操作。
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 更新与优化
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
让文档与不断演进的代码库保持同步是一项至关重要的任务。AIGNE DocSmith 提供了直接而灵活的方法来保持您的内容最新,无论是通过基于代码变更的自动更新,还是通过精确的、由反馈驱动的优化。
|
|
4
4
|
|
|
5
5
|
本指南将介绍如何:
|
|
6
6
|
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
### 文档更新工作流
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
下图说明了更新文档可以采用的不同路径:
|
|
14
14
|
|
|
15
15
|
```d2 Update Workflows
|
|
16
16
|
direction: down
|
|
@@ -67,18 +67,18 @@ Replan -> End
|
|
|
67
67
|
|
|
68
68
|
## 通过变更检测自动更新
|
|
69
69
|
|
|
70
|
-
当您运行 `aigne doc generate` 命令时,DocSmith
|
|
70
|
+
当您运行 `aigne doc generate` 命令时,DocSmith 会分析您的代码库,检测自上次运行以来的任何变更,并仅重新生成受影响的文档。这个过程可以节省时间并减少不必要的 API 调用。
|
|
71
71
|
|
|
72
72
|
```shell icon=lucide:terminal
|
|
73
|
-
# DocSmith
|
|
73
|
+
# DocSmith 将检测变更并仅更新必要的内容
|
|
74
74
|
aigne doc generate
|
|
75
75
|
```
|
|
76
76
|
|
|
77
|
-

|
|
78
78
|
|
|
79
79
|
### 强制完全重新生成
|
|
80
80
|
|
|
81
|
-
如果您需要从头开始重新生成所有文档,忽略任何缓存或先前的状态,请使用 `--forceRegenerate`
|
|
81
|
+
如果您需要从头开始重新生成所有文档,忽略任何缓存或先前的状态,请使用 `--forceRegenerate` 标志。这在进行重大配置更改后或当您希望确保完全重新构建时非常有用。
|
|
82
82
|
|
|
83
83
|
```shell icon=lucide:terminal
|
|
84
84
|
# 从头开始重新生成所有文档
|
|
@@ -89,50 +89,50 @@ aigne doc generate --forceRegenerate
|
|
|
89
89
|
|
|
90
90
|
## 优化单个文档
|
|
91
91
|
|
|
92
|
-
|
|
92
|
+
要在没有相应代码变更的情况下改进特定文档,`aigne doc update` 命令允许您为内容优化提供有针对性的指令。
|
|
93
93
|
|
|
94
|
-
|
|
94
|
+
您可以通过两种方式使用此命令:交互式或直接通过命令行参数。
|
|
95
95
|
|
|
96
96
|
### 交互模式
|
|
97
97
|
|
|
98
|
-
|
|
98
|
+
要获得引导式体验,请在不带任何参数的情况下运行该命令。DocSmith 将会显示一个菜单,供您选择要更新的文档。选择后,系统将提示您输入反馈。
|
|
99
99
|
|
|
100
100
|
```shell icon=lucide:terminal
|
|
101
|
-
#
|
|
101
|
+
# 启动交互式更新过程
|
|
102
102
|
aigne doc update
|
|
103
103
|
```
|
|
104
104
|
|
|
105
|
-

|
|
106
106
|
|
|
107
107
|
### 直接通过命令行更新
|
|
108
108
|
|
|
109
|
-
|
|
109
|
+
为了实现更快的工作流或脚本编写,您可以使用标志直接指定文档和反馈。这允许进行精确的非交互式更新。
|
|
110
110
|
|
|
111
111
|
```shell icon=lucide:terminal
|
|
112
112
|
# 使用反馈更新特定文档
|
|
113
|
-
aigne doc update --docs overview.md --feedback "
|
|
113
|
+
aigne doc update --docs overview.md --feedback "在末尾添加更详细的常见问题解答部分。"
|
|
114
114
|
```
|
|
115
115
|
|
|
116
116
|
`update` 命令的关键参数:
|
|
117
117
|
|
|
118
|
-
|
|
|
118
|
+
| 参数 | 描述 |
|
|
119
119
|
| ---------- | ------------------------------------------------------------------------------------------------ |
|
|
120
|
-
| `--docs` |
|
|
121
|
-
| `--feedback` |
|
|
120
|
+
| `--docs` | 您想要更新的文档的路径。您可以多次使用此标志进行批量更新。 |
|
|
121
|
+
| `--feedback` | 重新生成内容时使用的具体指令。 |
|
|
122
122
|
|
|
123
123
|
---
|
|
124
124
|
|
|
125
125
|
## 优化整体结构
|
|
126
126
|
|
|
127
|
-
|
|
127
|
+
除了优化单个文档的内容外,您还可以调整整体文档结构。如果缺少某个部分或现有组织结构可以改进,您可以向 `generate` 命令提供反馈。
|
|
128
128
|
|
|
129
|
-
|
|
129
|
+
此命令指示 DocSmith 根据您的新输入重新评估整个文档计划。
|
|
130
130
|
|
|
131
131
|
```shell icon=lucide:terminal
|
|
132
132
|
# 使用特定反馈重新生成文档结构
|
|
133
|
-
aigne doc generate --feedback "
|
|
133
|
+
aigne doc generate --feedback "删除‘关于’部分,并添加详细的‘API 参考’。"
|
|
134
134
|
```
|
|
135
135
|
|
|
136
|
-
|
|
136
|
+
这种方法最适合对文档目录进行高层级更改,而不是逐行编辑内容。
|
|
137
137
|
|
|
138
|
-
|
|
138
|
+
借助这些工具,您可以维护与项目一同演进的准确文档。内容优化后,您可以将其提供给全球受众。在 [翻译文档](./features-translate-documentation.md) 指南中了解如何操作。
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# コア機能
|
|
2
|
+
|
|
3
|
+
AIGNE DocSmithは、ドキュメントのライフサイクルを管理するための一連のコマンドを提供します。初期作成からグローバルな配布までをサポートします。このプロセスは、ドキュメントの生成、改良、翻訳、公開という標準的なワークフローに整理されています。
|
|
4
|
+
|
|
5
|
+
```d2
|
|
6
|
+
direction: down
|
|
7
|
+
|
|
8
|
+
Generate: {
|
|
9
|
+
label: "1. 生成\naigne doc generate"
|
|
10
|
+
shape: rectangle
|
|
11
|
+
description: "ソースコードから完全なドキュメントセットを作成します。"
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
Refine: {
|
|
15
|
+
label: "2. 更新と改良\naigne doc update"
|
|
16
|
+
shape: rectangle
|
|
17
|
+
description: "ドキュメントをコードと同期させ、的を絞ったフィードバックを適用します。"
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
Translate: {
|
|
21
|
+
label: "3. 翻訳\naigne doc translate"
|
|
22
|
+
shape: rectangle
|
|
23
|
+
description: "グローバルな読者のために、コンテンツを複数の言語にローカライズします。"
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
Publish: {
|
|
27
|
+
label: "4. 公開\naigne doc publish"
|
|
28
|
+
shape: rectangle
|
|
29
|
+
description: "ドキュメントをパブリックまたはプライベートなプラットフォームにデプロイします。"
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
Generate -> Refine -> Translate -> Publish
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
以下のセクションで、DocSmithの主な機能について説明します。
|
|
36
|
+
|
|
37
|
+
<x-cards data-columns="2">
|
|
38
|
+
<x-card data-title="ドキュメントの生成" data-icon="lucide:file-plus-2" data-href="/features/generate-documentation">
|
|
39
|
+
単一のコマンドを使用して、ソースコードから完全なドキュメントセットを作成します。
|
|
40
|
+
</x-card>
|
|
41
|
+
<x-card data-title="更新と改良" data-icon="lucide:edit" data-href="/features/update-and-refine">
|
|
42
|
+
ドキュメントをコードの変更と同期させたり、的を絞ったフィードバックで特定のドキュメントを再生成したりします。
|
|
43
|
+
</x-card>
|
|
44
|
+
<x-card data-title="ドキュメントの翻訳" data-icon="lucide:languages" data-href="/features/translate-documentation">
|
|
45
|
+
コンテンツを複数のサポートされている言語に翻訳し、プロジェクトを世界中のユーザーに利用可能にします。
|
|
46
|
+
</x-card>
|
|
47
|
+
<x-card data-title="ドキュメントの公開" data-icon="lucide:send" data-href="/features/publish-your-docs">
|
|
48
|
+
生成されたドキュメントを公式のDocSmithプラットフォームまたは自己ホスト型のインスタンスに公開します。
|
|
49
|
+
</x-card>
|
|
50
|
+
</x-cards>
|
|
51
|
+
|
|
52
|
+
これらの機能は、ドキュメント作成のための構造化されたワークフローを提供します。利用可能なすべてのコマンドとそのオプションの詳細なリストについては、[CLIコマンドリファレンス](./cli-reference.md)を参照してください。
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# 核心功能
|
|
2
|
+
|
|
3
|
+
AIGNE DocSmith 提供了一組指令來管理您的文件生命週期,從初始建立到全球發布。整個過程被組織成一個標準化的工作流程:產生、優化、翻譯和發布您的文件。
|
|
4
|
+
|
|
5
|
+
```d2
|
|
6
|
+
direction: down
|
|
7
|
+
|
|
8
|
+
Generate: {
|
|
9
|
+
label: "1. 產生\naigne doc generate"
|
|
10
|
+
shape: rectangle
|
|
11
|
+
description: "從您的原始碼建立一套完整的文件。"
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
Refine: {
|
|
15
|
+
label: "2. 更新與優化\naigne doc update"
|
|
16
|
+
shape: rectangle
|
|
17
|
+
description: "保持文件與程式碼同步,並應用針對性的回饋。"
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
Translate: {
|
|
21
|
+
label: "3. 翻譯\naigne doc translate"
|
|
22
|
+
shape: rectangle
|
|
23
|
+
description: "將內容本地化為多種語言,以服務全球受眾。"
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
Publish: {
|
|
27
|
+
label: "4. 發布\naigne doc publish"
|
|
28
|
+
shape: rectangle
|
|
29
|
+
description: "將您的文件部署到公開或私有平台。"
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
Generate -> Refine -> Translate -> Publish
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
在以下章節中探索 DocSmith 的主要功能:
|
|
36
|
+
|
|
37
|
+
<x-cards data-columns="2">
|
|
38
|
+
<x-card data-title="產生文件" data-icon="lucide:file-plus-2" data-href="/features/generate-documentation">
|
|
39
|
+
使用單一指令從您的原始碼建立一套完整的文件。
|
|
40
|
+
</x-card>
|
|
41
|
+
<x-card data-title="更新與優化" data-icon="lucide:edit" data-href="/features/update-and-refine">
|
|
42
|
+
讓您的文件與程式碼變更保持同步,或根據針對性的回饋重新產生特定文件。
|
|
43
|
+
</x-card>
|
|
44
|
+
<x-card data-title="翻譯文件" data-icon="lucide:languages" data-href="/features/translate-documentation">
|
|
45
|
+
將您的內容翻譯成多種支援的語言,讓您的專案能接觸到全球受眾。
|
|
46
|
+
</x-card>
|
|
47
|
+
<x-card data-title="發布您的文件" data-icon="lucide:send" data-href="/features/publish-your-docs">
|
|
48
|
+
將您產生的文件發布到官方 DocSmith 平台或您自己託管的實例。
|
|
49
|
+
</x-card>
|
|
50
|
+
</x-cards>
|
|
51
|
+
|
|
52
|
+
這些功能為文件提供了一個結構化的工作流程。有關所有可用指令及其選項的詳細清單,請參閱 [CLI 指令參考](./cli-reference.md)。
|
package/docs/features.zh.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 核心功能
|
|
2
2
|
|
|
3
|
-
AIGNE DocSmith
|
|
3
|
+
AIGNE DocSmith 提供了一组命令来管理您的文档生命周期,从初始创建到全球分发。该过程被组织成一个标准工作流:生成、优化、翻译和发布您的文档。
|
|
4
4
|
|
|
5
5
|
```d2
|
|
6
6
|
direction: down
|
|
@@ -8,7 +8,7 @@ direction: down
|
|
|
8
8
|
Generate: {
|
|
9
9
|
label: "1. 生成\naigne doc generate"
|
|
10
10
|
shape: rectangle
|
|
11
|
-
description: "
|
|
11
|
+
description: "从您的源代码创建一套完整的文档。"
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
Refine: {
|
|
@@ -32,21 +32,21 @@ Publish: {
|
|
|
32
32
|
Generate -> Refine -> Translate -> Publish
|
|
33
33
|
```
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
在以下部分中探索 DocSmith 的主要功能:
|
|
36
36
|
|
|
37
37
|
<x-cards data-columns="2">
|
|
38
38
|
<x-card data-title="生成文档" data-icon="lucide:file-plus-2" data-href="/features/generate-documentation">
|
|
39
|
-
|
|
39
|
+
使用单个命令从您的源代码创建一套完整的文档。
|
|
40
40
|
</x-card>
|
|
41
41
|
<x-card data-title="更新与优化" data-icon="lucide:edit" data-href="/features/update-and-refine">
|
|
42
|
-
|
|
42
|
+
使您的文档与代码更改保持同步,或根据有针对性的反馈重新生成特定文档。
|
|
43
43
|
</x-card>
|
|
44
44
|
<x-card data-title="翻译文档" data-icon="lucide:languages" data-href="/features/translate-documentation">
|
|
45
|
-
|
|
45
|
+
将您的内容翻译成多种支持的语言,使您的项目能够触达全球受众。
|
|
46
46
|
</x-card>
|
|
47
47
|
<x-card data-title="发布您的文档" data-icon="lucide:send" data-href="/features/publish-your-docs">
|
|
48
|
-
将您生成的文档发布到官方 DocSmith
|
|
48
|
+
将您生成的文档发布到官方 DocSmith 平台或您自己自托管的实例。
|
|
49
49
|
</x-card>
|
|
50
50
|
</x-cards>
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
这些功能为文档工作提供了一个结构化的工作流。有关所有可用命令及其选项的详细列表,请参阅 [CLI 命令参考](./cli-reference.md)。
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# はじめに
|
|
2
|
+
|
|
3
|
+
このガイドでは、AIGNE DocSmithをインストールし、プロジェクトを設定し、ソースコードから完全なドキュメント一式を生成するためのステップバイステップのウォークスルーを提供します。
|
|
4
|
+
|
|
5
|
+
## ステップ1: 前提条件
|
|
6
|
+
|
|
7
|
+
始める前に、システムにNode.jsとそのパッケージマネージャーであるnpmがインストールされていることを確認してください。DocSmithは、Node.js環境で実行されるコマンドラインツールです。
|
|
8
|
+
|
|
9
|
+
### Node.jsのインストール
|
|
10
|
+
|
|
11
|
+
以下に、さまざまなオペレーティングシステムにNode.jsをインストールするための簡単な手順を示します。
|
|
12
|
+
|
|
13
|
+
**Windows**
|
|
14
|
+
1. 公式の[Node.jsウェブサイト](https://nodejs.org/)からインストーラーをダウンロードします。
|
|
15
|
+
2. `.msi`インストーラーを実行し、インストールウィザードの手順に従います。
|
|
16
|
+
|
|
17
|
+
**macOS**
|
|
18
|
+
|
|
19
|
+
推奨される方法は[Homebrew](https://brew.sh/)を使用することです:
|
|
20
|
+
|
|
21
|
+
```bash Terminal icon=lucide:apple
|
|
22
|
+
# Install Homebrew if you don't have it
|
|
23
|
+
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
|
24
|
+
|
|
25
|
+
# Install Node.js
|
|
26
|
+
brew install node
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
または、[Node.jsウェブサイト](https://nodejs.org/)から`.pkg`インストーラーをダウンロードすることもできます。
|
|
30
|
+
|
|
31
|
+
**Linux**
|
|
32
|
+
|
|
33
|
+
Ubuntu/Debianベースのシステムの場合:
|
|
34
|
+
|
|
35
|
+
```bash Terminal icon=lucide:laptop
|
|
36
|
+
sudo apt update
|
|
37
|
+
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
|
|
38
|
+
sudo apt-get install -y nodejs
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
CentOS/RHEL/Fedoraベースのシステムの場合:
|
|
42
|
+
|
|
43
|
+
```bash Terminal icon=lucide:laptop
|
|
44
|
+
curl -fsSL https://rpm.nodesource.com/setup_lts.x | sudo bash -
|
|
45
|
+
sudo yum install nodejs
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### 確認
|
|
49
|
+
|
|
50
|
+
インストール後、ターミナルでこれらのコマンドを実行して、Node.jsとnpmが利用可能であることを確認します:
|
|
51
|
+
|
|
52
|
+
```bash Terminal
|
|
53
|
+
node --version
|
|
54
|
+
npm --version
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## ステップ2: AIGNE CLIのインストール
|
|
58
|
+
|
|
59
|
+
The DocSmithツールは、AIGNEコマンドラインインターフェース(CLI)に含まれています。npmを使用してAIGNE CLIの最新バージョンをグローバルにインストールします:
|
|
60
|
+
|
|
61
|
+
```bash Terminal icon=logos:npm
|
|
62
|
+
npm i -g @aigne/cli
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
インストールが完了したら、ドキュメンテーションツールのヘルプコマンドを実行して確認します:
|
|
66
|
+
|
|
67
|
+
```bash Terminal
|
|
68
|
+
aigne doc -h
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
このコマンドはDocSmithのヘルプメニューを表示し、使用準備が整っていることを確認します。
|
|
72
|
+
|
|
73
|
+
## ステップ3: ドキュメントの生成
|
|
74
|
+
|
|
75
|
+
CLIがインストールされたら、単一のコマンドでドキュメントを生成できます。ターミナルでプロジェクトのルートディレクトリに移動し、次を実行します:
|
|
76
|
+
|
|
77
|
+
```bash Terminal icon=lucide:sparkles
|
|
78
|
+
aigne doc generate
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### 自動設定
|
|
82
|
+
|
|
83
|
+
プロジェクトでこのコマンドを初めて実行すると、DocSmithは設定が存在しないことを検出し、対話式のセットアップウィザードを自動的に起動します。
|
|
84
|
+
|
|
85
|
+

|
|
86
|
+
|
|
87
|
+
ドキュメントの特性を定義するための一連の質問が表示されます。これには以下が含まれます:
|
|
88
|
+
|
|
89
|
+
- 主な目的とスタイル。
|
|
90
|
+
- 対象読者。
|
|
91
|
+
- 主要言語と翻訳用の追加言語。
|
|
92
|
+
- AIが分析するためのソースコードのパス。
|
|
93
|
+
- 生成されたドキュメントの出力ディレクトリ。
|
|
94
|
+
|
|
95
|
+

|
|
96
|
+
|
|
97
|
+
設定が完了すると、DocSmithはソースコードの分析、ドキュメント構造の計画、コンテンツの生成に進みます。
|
|
98
|
+
|
|
99
|
+

|
|
100
|
+
|
|
101
|
+
## ステップ4: 出力の確認
|
|
102
|
+
|
|
103
|
+
生成プロセスが終了すると、ターミナルに確認メッセージが表示されます。
|
|
104
|
+
|
|
105
|
+

|
|
106
|
+
|
|
107
|
+
新しいドキュメントは、セットアッププロセス中に指定した出力ディレクトリで利用可能になりました。デフォルトの場所は `.aigne/doc-smith/docs` です。
|
|
108
|
+
|
|
109
|
+
## 次のステップ
|
|
110
|
+
|
|
111
|
+
最初のドキュメントセットを生成したので、他の機能を試すことができます:
|
|
112
|
+
|
|
113
|
+
<x-cards>
|
|
114
|
+
<x-card data-title="コア機能" data-icon="lucide:box" data-href="/features">
|
|
115
|
+
ドキュメントの更新からオンラインでの公開まで、主要なコマンドと機能を探ります。
|
|
116
|
+
</x-card>
|
|
117
|
+
<x-card data-title="設定ガイド" data-icon="lucide:settings" data-href="/configuration">
|
|
118
|
+
config.yamlファイルを編集して、ドキュメントのスタイル、対象読者、言語を微調整する方法を学びます。
|
|
119
|
+
</x-card>
|
|
120
|
+
<x-card data-title="CLIコマンドリファレンス" data-icon="lucide:terminal" data-href="/cli-reference">
|
|
121
|
+
利用可能なすべての `aigne doc` コマンドとそのオプションの完全なリファレンスを取得します。
|
|
122
|
+
</x-card>
|
|
123
|
+
</x-cards>
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# 入門指南
|
|
2
|
+
|
|
3
|
+
本指南將逐步引導您安裝 AIGNE DocSmith、設定專案,並從您的原始碼產生一套完整的說明文件。
|
|
4
|
+
|
|
5
|
+
## 步驟 1:先決條件
|
|
6
|
+
|
|
7
|
+
在開始之前,請確保您的系統上已安裝 Node.js 及其套件管理器 npm。DocSmith 是一個在 Node.js 環境中執行的命令列工具。
|
|
8
|
+
|
|
9
|
+
### 安裝 Node.js
|
|
10
|
+
|
|
11
|
+
以下是在各種作業系統上安裝 Node.js 的簡要說明。
|
|
12
|
+
|
|
13
|
+
**Windows**
|
|
14
|
+
1. 從 [Node.js 官方網站](https://nodejs.org/) 下載安裝程式。
|
|
15
|
+
2. 執行 `.msi` 安裝程式並依照安裝精靈的步驟進行。
|
|
16
|
+
|
|
17
|
+
**macOS**
|
|
18
|
+
|
|
19
|
+
建議的方法是使用 [Homebrew](https://brew.sh/):
|
|
20
|
+
|
|
21
|
+
```bash Terminal icon=lucide:apple
|
|
22
|
+
# 如果您尚未安裝 Homebrew,請先安裝
|
|
23
|
+
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
|
24
|
+
|
|
25
|
+
# 安裝 Node.js
|
|
26
|
+
brew install node
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
或者,您也可以從 [Node.js 網站](https://nodejs.org/) 下載 `.pkg` 安裝程式。
|
|
30
|
+
|
|
31
|
+
**Linux**
|
|
32
|
+
|
|
33
|
+
對於基於 Ubuntu/Debian 的系統:
|
|
34
|
+
|
|
35
|
+
```bash Terminal icon=lucide:laptop
|
|
36
|
+
sudo apt update
|
|
37
|
+
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
|
|
38
|
+
sudo apt-get install -y nodejs
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
對於基於 CentOS/RHEL/Fedora 的系統:
|
|
42
|
+
|
|
43
|
+
```bash Terminal icon=lucide:laptop
|
|
44
|
+
curl -fsSL https://rpm.nodesource.com/setup_lts.x | sudo bash -
|
|
45
|
+
sudo yum install nodejs
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### 驗證
|
|
49
|
+
|
|
50
|
+
安裝完成後,請在您的終端機中執行以下指令,以驗證 Node.js 和 npm 是否可用:
|
|
51
|
+
|
|
52
|
+
```bash Terminal
|
|
53
|
+
node --version
|
|
54
|
+
npm --version
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## 步驟 2:安裝 AIGNE CLI
|
|
58
|
+
|
|
59
|
+
DocSmith 工具包含在 AIGNE 命令列介面 (CLI) 中。請使用 npm 全域安裝最新版本的 AIGNE CLI:
|
|
60
|
+
|
|
61
|
+
```bash Terminal icon=logos:npm
|
|
62
|
+
npm i -g @aigne/cli
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
安裝完成後,請執行說明文件的說明指令來驗證:
|
|
66
|
+
|
|
67
|
+
```bash Terminal
|
|
68
|
+
aigne doc -h
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
此指令將顯示 DocSmith 的說明選單,確認其已準備就緒可供使用。
|
|
72
|
+
|
|
73
|
+
## 步驟 3:產生您的說明文件
|
|
74
|
+
|
|
75
|
+
安裝 CLI 後,您只需一個指令即可產生文件。請在終端機中導覽至您專案的根目錄並執行:
|
|
76
|
+
|
|
77
|
+
```bash Terminal icon=lucide:sparkles
|
|
78
|
+
aigne doc generate
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### 自動設定
|
|
82
|
+
|
|
83
|
+
當您首次在專案中執行此指令時,DocSmith 會偵測到尚無設定,並自動啟動一個互動式設定精靈。
|
|
84
|
+
|
|
85
|
+

|
|
86
|
+
|
|
87
|
+
系統將會提示您一系列問題,以定義說明文件的特性,包括:
|
|
88
|
+
|
|
89
|
+
- 主要目的與風格。
|
|
90
|
+
- 預期的目標讀者。
|
|
91
|
+
- 主要語言及任何用於翻譯的其他語言。
|
|
92
|
+
- 供 AI 分析的原始碼路徑。
|
|
93
|
+
- 產生文件的輸出目錄。
|
|
94
|
+
|
|
95
|
+

|
|
96
|
+
|
|
97
|
+
設定完成後,DocSmith 將會開始分析您的原始碼、規劃文件結構並產生內容。
|
|
98
|
+
|
|
99
|
+

|
|
100
|
+
|
|
101
|
+
## 步驟 4:檢閱您的輸出
|
|
102
|
+
|
|
103
|
+
產生過程結束後,您的終端機中將會顯示一則確認訊息。
|
|
104
|
+
|
|
105
|
+

|
|
106
|
+
|
|
107
|
+
您新的說明文件現在位於您在設定過程中指定的輸出目錄中。預設位置是 `.aigne/doc-smith/docs`。
|
|
108
|
+
|
|
109
|
+
## 接下來呢?
|
|
110
|
+
|
|
111
|
+
現在您已經產生了第一份文件,可以探索其他功能:
|
|
112
|
+
|
|
113
|
+
<x-cards>
|
|
114
|
+
<x-card data-title="核心功能" data-icon="lucide:box" data-href="/features">
|
|
115
|
+
探索主要指令與功能,從更新文件到線上發布。
|
|
116
|
+
</x-card>
|
|
117
|
+
<x-card data-title="設定指南" data-icon="lucide:settings" data-href="/configuration">
|
|
118
|
+
了解如何透過編輯 config.yaml 檔案來微調您文件的風格、目標讀者和語言。
|
|
119
|
+
</x-card>
|
|
120
|
+
<x-card data-title="CLI 指令參考" data-icon="lucide:terminal" data-href="/cli-reference">
|
|
121
|
+
取得所有可用的 `aigne doc` 指令及其選項的完整參考。
|
|
122
|
+
</x-card>
|
|
123
|
+
</x-cards>
|