@aigne/doc-smith 0.8.10-beta → 0.8.10-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 +3 -1
- package/.aigne/doc-smith/preferences.yml +4 -4
- package/.aigne/doc-smith/upload-cache.yaml +180 -0
- package/.release-please-manifest.json +1 -1
- package/CHANGELOG.md +13 -0
- package/README.md +2 -2
- package/RELEASE.md +3 -3
- package/agents/generate/check-need-generate-structure.mjs +40 -18
- package/agents/generate/index.yaml +1 -0
- package/agents/generate/user-review-document-structure.mjs +168 -0
- package/agents/update/generate-and-translate-document.yaml +3 -3
- package/agents/utils/check-feedback-refiner.mjs +2 -0
- package/agents/utils/save-docs.mjs +16 -22
- package/aigne.yaml +1 -0
- package/docs/advanced-how-it-works.md +26 -24
- package/docs/advanced-how-it-works.zh.md +32 -30
- package/docs/advanced-quality-assurance.md +6 -9
- package/docs/advanced-quality-assurance.zh.md +19 -22
- package/docs/cli-reference.md +35 -76
- package/docs/cli-reference.zh.md +48 -89
- package/docs/configuration-interactive-setup.md +18 -18
- package/docs/configuration-interactive-setup.zh.md +33 -33
- package/docs/configuration-language-support.md +12 -12
- package/docs/configuration-language-support.zh.md +20 -20
- package/docs/configuration-llm-setup.md +14 -13
- package/docs/configuration-llm-setup.zh.md +16 -15
- package/docs/configuration-preferences.md +22 -27
- package/docs/configuration-preferences.zh.md +35 -40
- package/docs/configuration.md +31 -45
- package/docs/configuration.zh.md +48 -62
- package/docs/features-generate-documentation.md +6 -7
- package/docs/features-generate-documentation.zh.md +21 -22
- package/docs/features-publish-your-docs.md +38 -30
- package/docs/features-publish-your-docs.zh.md +45 -37
- package/docs/features-translate-documentation.md +14 -74
- package/docs/features-translate-documentation.zh.md +19 -79
- package/docs/features-update-and-refine.md +19 -18
- package/docs/features-update-and-refine.zh.md +33 -32
- package/docs-mcp/get-docs-structure.mjs +1 -1
- package/package.json +2 -2
- package/prompts/detail/document-rules.md +1 -1
- package/prompts/structure/check-document-structure.md +11 -15
- package/tests/agents/generate/check-need-generate-structure.test.mjs +21 -24
- package/tests/agents/generate/user-review-document-structure.test.mjs +294 -0
- package/utils/auth-utils.mjs +2 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Project information for documentation publishing
|
|
2
2
|
projectName: AIGNE DocSmith
|
|
3
3
|
projectDesc: AIGNE DocSmith is a powerful, AI-driven documentation generation tool built on the AIGNE Framework. It automates the creation of detailed, structured, and multi-language documentation directly from your source code.
|
|
4
|
-
projectLogo: https://docsmith.aigne.io/image-bin/uploads/
|
|
4
|
+
projectLogo: https://docsmith.aigne.io/image-bin/uploads/9645caf64b4232699982c4d940b03b90.svg
|
|
5
5
|
|
|
6
6
|
# =============================================================================
|
|
7
7
|
# Documentation Configuration
|
|
@@ -68,3 +68,5 @@ lastGitHead: f3f14b93e6b2e6beb42b2f368c2560ab050dfd03
|
|
|
68
68
|
appUrl: https://docsmith.aigne.io
|
|
69
69
|
# ⚠️ Warning: boardId is auto-generated by system, please do not edit manually
|
|
70
70
|
boardId: "docsmith"
|
|
71
|
+
# Checkout ID for document deployment service
|
|
72
|
+
checkoutId: ""
|
|
@@ -9,7 +9,7 @@ rules:
|
|
|
9
9
|
active: true
|
|
10
10
|
scope: document
|
|
11
11
|
rule: When describing publishing options, should use plain text instead of custom components, and recommend users to run their own Discuss Kit instance while providing relevant links.
|
|
12
|
-
feedback: Publishing options should not use custom components: recommend users to run their own Discuss Kit instance in the text, and add Discuss Kit related links
|
|
12
|
+
feedback: "Publishing options should not use custom components: recommend users to run their own Discuss Kit instance in the text, and add Discuss Kit related links"
|
|
13
13
|
createdAt: 2025-09-07T02:18:22.237Z
|
|
14
14
|
- id: pref_039b58c47bdf95c9
|
|
15
15
|
active: true
|
|
@@ -21,12 +21,12 @@ rules:
|
|
|
21
21
|
active: true
|
|
22
22
|
scope: document
|
|
23
23
|
rule: When describing Discuss Kit, must clearly state that it is a non-open-source service running on the official platform, not a self-hosted instance.
|
|
24
|
-
feedback: In the core features description about document publishing, show the official platform link, run your own Discuss Kit instance, not self-hosted: Discuss Kit is not open source.
|
|
24
|
+
feedback: "In the core features description about document publishing, show the official platform link, run your own Discuss Kit instance, not self-hosted: Discuss Kit is not open source."
|
|
25
25
|
createdAt: 2025-09-07T01:59:12.876Z
|
|
26
26
|
- id: pref_0c239f619329089f
|
|
27
27
|
active: true
|
|
28
28
|
scope: document
|
|
29
|
-
rule: In the core features section, should use plain list format and add descriptions and links for AIGNE Hub and Discuss Kit.
|
|
29
|
+
rule: "In the core features section, should use plain list format and add descriptions and links for AIGNE Hub and Discuss Kit."
|
|
30
30
|
feedback: Core features section should not use custom component lists, change to plain lists, add descriptions and links for AIGNE Hub and Discuss Kit to help users understand these two products
|
|
31
31
|
createdAt: 2025-09-07T01:53:22.969Z
|
|
32
32
|
paths:
|
|
@@ -34,7 +34,7 @@ rules:
|
|
|
34
34
|
- id: pref_4e8aa735b11d8484
|
|
35
35
|
active: true
|
|
36
36
|
scope: document
|
|
37
|
-
rule: In the 'How It Works' document, only show DocSmith implementation details, should not include AIGNE Framework information.
|
|
37
|
+
rule: "In the 'How It Works' document, only show DocSmith implementation details, should not include AIGNE Framework information."
|
|
38
38
|
feedback: How it works section does not need to show AIGNE Framework, only need to show DocSmith implementation
|
|
39
39
|
createdAt: 2025-09-06T13:15:10.272Z
|
|
40
40
|
paths:
|
|
@@ -679,3 +679,183 @@ fcb9e91eb5d96bb427a2cea837c52772d4150f92d644850b6a4602bc43a2043b:
|
|
|
679
679
|
https://docsmith.aigne.io:
|
|
680
680
|
url: https://docsmith.aigne.io/image-bin/uploads/fcb9e91eb5d96bb4.svg
|
|
681
681
|
upload_time: 2025-09-09T08:52:51.108Z
|
|
682
|
+
1e4dff10610c71c41890b1e677af71a8a483eaffcdfe03d9ed5260bd01275d58:
|
|
683
|
+
local_path: .aigne/doc-smith/.tmp/assets/d2/9aa45f34ddbfb189d0dabb4fd6bbdee773e1b93d9c437dce0119935afa0cbe32.svg
|
|
684
|
+
sites:
|
|
685
|
+
https://docsmith.aigne.io:
|
|
686
|
+
url: https://docsmith.aigne.io/image-bin/uploads/1e4dff10610c71c4.svg
|
|
687
|
+
upload_time: 2025-09-15T08:31:20.831Z
|
|
688
|
+
0575876331f46833cf4dd9919b11ba3b41a384b6c2c69d5868e49effb2dc5fc5:
|
|
689
|
+
local_path: .aigne/doc-smith/.tmp/assets/d2/52bef7d565debaef43ee7eec2181c24d087a909405b3fafa759a45df5c087b18.svg
|
|
690
|
+
sites:
|
|
691
|
+
https://docsmith.aigne.io:
|
|
692
|
+
url: https://docsmith.aigne.io/image-bin/uploads/0575876331f46833.svg
|
|
693
|
+
upload_time: 2025-09-15T08:31:22.707Z
|
|
694
|
+
64fd55e9b8127285f39db001cffd796151340469b506a967eaab3b54bdccc26c:
|
|
695
|
+
local_path: .aigne/doc-smith/.tmp/assets/d2/2fc9edefc1348df7031dc376b12bccc42fae98451f86c83ff92c144924f5ab80.svg
|
|
696
|
+
sites:
|
|
697
|
+
https://docsmith.aigne.io:
|
|
698
|
+
url: https://docsmith.aigne.io/image-bin/uploads/64fd55e9b8127285.svg
|
|
699
|
+
upload_time: 2025-09-15T08:31:24.378Z
|
|
700
|
+
84a9a489d9cab8353ca1ffa3309b1e12580be7dd40f6fe71909fb7a0a97e0856:
|
|
701
|
+
local_path: .aigne/doc-smith/.tmp/assets/d2/28fd7c1acbf3166f9d6aec06f4fa31db3a5d96b26de0d80af857cc0f3b28d82e.svg
|
|
702
|
+
sites:
|
|
703
|
+
https://docsmith.aigne.io:
|
|
704
|
+
url: https://docsmith.aigne.io/image-bin/uploads/84a9a489d9cab835.svg
|
|
705
|
+
upload_time: 2025-09-15T08:31:24.599Z
|
|
706
|
+
bc4517d39ff669f3185b66f2fa6586cb195110cd3733039f49cfc099b70240dd:
|
|
707
|
+
local_path: .aigne/doc-smith/.tmp/assets/d2/cbd2943d78da17df4ae1827dcf37320523afa2c754455540d0eefd72fae932d5.svg
|
|
708
|
+
sites:
|
|
709
|
+
https://docsmith.aigne.io:
|
|
710
|
+
url: https://docsmith.aigne.io/image-bin/uploads/bc4517d39ff669f3.svg
|
|
711
|
+
upload_time: 2025-09-15T08:31:24.649Z
|
|
712
|
+
d7551f9fce676609f6b1ed3fc966814acbe8fc4cddd08c939e269f6da6e01b18:
|
|
713
|
+
local_path: .aigne/doc-smith/.tmp/assets/d2/6c2d5fd0b11bbea82be0e2634bb0fef087603fe950b10e6cf4c988e7f27bd507.svg
|
|
714
|
+
sites:
|
|
715
|
+
https://docsmith.aigne.io:
|
|
716
|
+
url: https://docsmith.aigne.io/image-bin/uploads/d7551f9fce676609.svg
|
|
717
|
+
upload_time: 2025-09-15T08:31:24.893Z
|
|
718
|
+
fd265f3486512dd4bd8509cf1e43b2457850176bb5fc856d0261e30ff1f28aa1:
|
|
719
|
+
local_path: .aigne/doc-smith/.tmp/assets/d2/81305e5c9e3adbe30da63e27bdc9bdfdbf46edce579434558145f26fe60ee99a.svg
|
|
720
|
+
sites:
|
|
721
|
+
https://docsmith.aigne.io:
|
|
722
|
+
url: https://docsmith.aigne.io/image-bin/uploads/fd265f3486512dd4.svg
|
|
723
|
+
upload_time: 2025-09-15T08:31:25.415Z
|
|
724
|
+
3cbcedb39de9e0d0de56d7d699615a00beae800e341f9dff0be1f9831b9d7220:
|
|
725
|
+
local_path: .aigne/doc-smith/.tmp/assets/d2/38c86557c522c4e0150b80d205f347add34996779e47e586457fb086dfc64c5c.svg
|
|
726
|
+
sites:
|
|
727
|
+
https://docsmith.aigne.io:
|
|
728
|
+
url: https://docsmith.aigne.io/image-bin/uploads/3cbcedb39de9e0d0.svg
|
|
729
|
+
upload_time: 2025-09-15T08:31:25.671Z
|
|
730
|
+
0eaf5f51d9d723e7cbf2577c2da3e82f471e3e3fc2f106d19f56a891778a3aef:
|
|
731
|
+
local_path: .aigne/doc-smith/.tmp/assets/d2/8ca47d9e0fa8750203b418be8586f656662ea30b9259ddeb143ffd5c49d568a0.svg
|
|
732
|
+
sites:
|
|
733
|
+
https://docsmith.aigne.io:
|
|
734
|
+
url: https://docsmith.aigne.io/image-bin/uploads/0eaf5f51d9d723e7.svg
|
|
735
|
+
upload_time: 2025-09-15T08:31:25.715Z
|
|
736
|
+
4438da955604257d8a8db5dd1fa933378b3b87012c4a885d9b88764869563427:
|
|
737
|
+
local_path: .aigne/doc-smith/.tmp/assets/d2/d82f93e726c285f14a42585aaeabcec650682a8ad7e5c9798922437436600e1e.svg
|
|
738
|
+
sites:
|
|
739
|
+
https://docsmith.aigne.io:
|
|
740
|
+
url: https://docsmith.aigne.io/image-bin/uploads/4438da955604257d.svg
|
|
741
|
+
upload_time: 2025-09-15T08:31:25.905Z
|
|
742
|
+
5bba835a63c0caf9c1cea14ce600904dbe0db237d6c62a45f552a926cf8008bc:
|
|
743
|
+
local_path: .aigne/doc-smith/.tmp/assets/d2/395b6511ffa01359e34b1d1c22abae82139b2eb988d0e34b015228aed03b39a3.svg
|
|
744
|
+
sites:
|
|
745
|
+
https://docsmith.aigne.io:
|
|
746
|
+
url: https://docsmith.aigne.io/image-bin/uploads/5bba835a63c0caf9.svg
|
|
747
|
+
upload_time: 2025-09-15T08:31:26.052Z
|
|
748
|
+
d35ddf8b96aa36f4e32fde88e3ad00253ce35decd0ecabf8d3d2af50f1f5710d:
|
|
749
|
+
local_path: .aigne/doc-smith/.tmp/assets/d2/864048a2d47a45193018b5caf8608c3b5f159761a97eac9c4813a3d9e07da885.svg
|
|
750
|
+
sites:
|
|
751
|
+
https://docsmith.aigne.io:
|
|
752
|
+
url: https://docsmith.aigne.io/image-bin/uploads/d35ddf8b96aa36f4.svg
|
|
753
|
+
upload_time: 2025-09-15T08:31:26.866Z
|
|
754
|
+
16dbd59009ffd80ebf82f766446f6e1925e832cbfe9df5a547702a7f250bf2b3:
|
|
755
|
+
local_path: .aigne/doc-smith/.tmp/assets/d2/48d69eddbbe4263ddbe0c3f7f2f396f6d3cc56a063cd6c536edd817e2e6154fa.svg
|
|
756
|
+
sites:
|
|
757
|
+
https://docsmith.aigne.io:
|
|
758
|
+
url: https://docsmith.aigne.io/image-bin/uploads/16dbd59009ffd80e.svg
|
|
759
|
+
upload_time: 2025-09-15T08:31:27.064Z
|
|
760
|
+
12f7cdf80192f9a3909a72873eed14bbd88b58c92c68154ed3f9088e7777b552:
|
|
761
|
+
local_path: .aigne/doc-smith/.tmp/assets/d2/97707cf8ac1f5f503254b3814f1004619869459ddcc4c289ebb789d5336a7686.svg
|
|
762
|
+
sites:
|
|
763
|
+
https://docsmith.aigne.io:
|
|
764
|
+
url: https://docsmith.aigne.io/image-bin/uploads/12f7cdf80192f9a3.svg
|
|
765
|
+
upload_time: 2025-09-15T08:31:27.074Z
|
|
766
|
+
7c243e620bad76070d4fe26b584cc6134cdcfb92cd87a9f1e5fdc36169390c7f:
|
|
767
|
+
local_path: .aigne/doc-smith/.tmp/assets/d2/c277aa9275295ad1e691085c63be4ead6a6eea9262589ca1f7437b2b49a45214.svg
|
|
768
|
+
sites:
|
|
769
|
+
https://docsmith.aigne.io:
|
|
770
|
+
url: https://docsmith.aigne.io/image-bin/uploads/7c243e620bad7607.svg
|
|
771
|
+
upload_time: 2025-09-15T08:31:27.291Z
|
|
772
|
+
d4cbfef7bd18e8b58a0e932d99ebe50790d3098faad337920ffd447e2239bc53:
|
|
773
|
+
local_path: .aigne/doc-smith/.tmp/assets/d2/f4afbd5d17fe6d77f0210c7d65dd71fe7ae0039f47200b2f176162d1550ddc41.svg
|
|
774
|
+
sites:
|
|
775
|
+
https://docsmith.aigne.io:
|
|
776
|
+
url: https://docsmith.aigne.io/image-bin/uploads/d4cbfef7bd18e8b5.svg
|
|
777
|
+
upload_time: 2025-09-15T08:31:27.311Z
|
|
778
|
+
78530f0fea4c7c9bbd061f01aa94108a894fbb739cadf50af0f92966b7654a2e:
|
|
779
|
+
local_path: .aigne/doc-smith/.tmp/assets/d2/e9846ccaea32a3caa0fe807983decc8efe088a3bd879f4b97078f30c0aa93b8b.svg
|
|
780
|
+
sites:
|
|
781
|
+
https://docsmith.aigne.io:
|
|
782
|
+
url: https://docsmith.aigne.io/image-bin/uploads/78530f0fea4c7c9b.svg
|
|
783
|
+
upload_time: 2025-09-15T08:31:27.522Z
|
|
784
|
+
b48ffb9056a7961973b77dd7c75d1ac03c6f8425b5eec1222d991586faf00fad:
|
|
785
|
+
local_path: .aigne/doc-smith/.tmp/assets/d2/b0455fe35b77e2f8140f3fc86e537449c5b2c4bd90ac5f692e4c31d912ddd14e.svg
|
|
786
|
+
sites:
|
|
787
|
+
https://docsmith.aigne.io:
|
|
788
|
+
url: https://docsmith.aigne.io/image-bin/uploads/b48ffb9056a79619.svg
|
|
789
|
+
upload_time: 2025-09-15T08:31:28.288Z
|
|
790
|
+
f6391f1418793dda4601a83ed00566007b14d79de8d350a0f611526dd2c6bd96:
|
|
791
|
+
local_path: .aigne/doc-smith/.tmp/assets/d2/ddd293213f319d5d381eee32f0526468445a7ccd6d16c2b2aae2f54ec632e156.svg
|
|
792
|
+
sites:
|
|
793
|
+
https://docsmith.aigne.io:
|
|
794
|
+
url: https://docsmith.aigne.io/image-bin/uploads/f6391f1418793dda.svg
|
|
795
|
+
upload_time: 2025-09-15T08:31:28.487Z
|
|
796
|
+
4ca65083aa5011b1bb359648c9bcd25ca8e4e0f9db8d7c1d78bbcc57a893f519:
|
|
797
|
+
local_path: .aigne/doc-smith/.tmp/assets/d2/57d33cb81570f720b9ba6a44584a8d70545aa761f6917ce7c03896ea995a7b9c.svg
|
|
798
|
+
sites:
|
|
799
|
+
https://docsmith.aigne.io:
|
|
800
|
+
url: https://docsmith.aigne.io/image-bin/uploads/4ca65083aa5011b1.svg
|
|
801
|
+
upload_time: 2025-09-15T08:31:28.498Z
|
|
802
|
+
a0f49cec9cb0581454143380c04f0f5e9de21cf4dd2c8e88920b25ad73d5ecb9:
|
|
803
|
+
local_path: .aigne/doc-smith/.tmp/assets/d2/6adde2cae9254e1d6163c4eb26060b7c5ccfdb7e3f330050fa0830fb940437bf.svg
|
|
804
|
+
sites:
|
|
805
|
+
https://docsmith.aigne.io:
|
|
806
|
+
url: https://docsmith.aigne.io/image-bin/uploads/a0f49cec9cb05814.svg
|
|
807
|
+
upload_time: 2025-09-15T08:31:29.934Z
|
|
808
|
+
5f6eff6f75c2d5727eb5188146c7de5852500a0c8c53f568cce08bf0574932f1:
|
|
809
|
+
local_path: .aigne/doc-smith/.tmp/assets/d2/bb951d89940cdcd26babb821411293ac121b1d18ab7d8fa98f0d76a0518fe722.svg
|
|
810
|
+
sites:
|
|
811
|
+
https://docsmith.aigne.io:
|
|
812
|
+
url: https://docsmith.aigne.io/image-bin/uploads/5f6eff6f75c2d572.svg
|
|
813
|
+
upload_time: 2025-09-15T08:31:31.521Z
|
|
814
|
+
bb38d805dca014fba865d76cf9236c4bb5d25000d6022a529efabc85ac697826:
|
|
815
|
+
local_path: .aigne/doc-smith/.tmp/assets/d2/6c404f0415cfabaf16f2d27507c976e0cdc1b8e3a043848542b32a12205c68f7.svg
|
|
816
|
+
sites:
|
|
817
|
+
https://docsmith.aigne.io:
|
|
818
|
+
url: https://docsmith.aigne.io/image-bin/uploads/bb38d805dca014fb.svg
|
|
819
|
+
upload_time: 2025-09-15T09:19:15.767Z
|
|
820
|
+
e125a9bee97a1559f4a05f639fd32338c4b91fd5d9f821cdca9b4a8a225b7282:
|
|
821
|
+
local_path: .aigne/doc-smith/.tmp/assets/d2/be505db11bcffbd1cfe4df9dfc522d3b9aff3cf7bb72768881ed090be634240a.svg
|
|
822
|
+
sites:
|
|
823
|
+
https://docsmith.aigne.io:
|
|
824
|
+
url: https://docsmith.aigne.io/image-bin/uploads/e125a9bee97a1559.svg
|
|
825
|
+
upload_time: 2025-09-15T09:19:16.217Z
|
|
826
|
+
581f7aa1f8d93d59a04fd6b2fa3eeb1410649942fdc300a62228444ca910fa48:
|
|
827
|
+
local_path: .aigne/doc-smith/.tmp/assets/d2/31c9b92f2b30a114fad120e2b2ae150ab4f9e239a6560fba2668179b73a446c0.svg
|
|
828
|
+
sites:
|
|
829
|
+
https://docsmith.aigne.io:
|
|
830
|
+
url: https://docsmith.aigne.io/image-bin/uploads/581f7aa1f8d93d59.svg
|
|
831
|
+
upload_time: 2025-09-15T09:19:16.597Z
|
|
832
|
+
9ca1a93a7f9fe0057cb9a9bf5bad0202d0ef3cd28f6b1857b82e16ccce8d5133:
|
|
833
|
+
local_path: .aigne/doc-smith/.tmp/assets/d2/1edf15b8b1ff3d8607f13fecfcd627773f1284d15cafa8ca0bac0c6624bbb154.svg
|
|
834
|
+
sites:
|
|
835
|
+
https://docsmith.aigne.io:
|
|
836
|
+
url: https://docsmith.aigne.io/image-bin/uploads/9ca1a93a7f9fe005.svg
|
|
837
|
+
upload_time: 2025-09-15T09:19:17.160Z
|
|
838
|
+
2f9c174f56c0e5533ed64108ac3762af640e31d249a82640e4e54c81590b753c:
|
|
839
|
+
local_path: .aigne/doc-smith/.tmp/assets/d2/b908079f1cc54afc4c1c5a6a886d7e091e468015796d3dbb168be328abc22510.svg
|
|
840
|
+
sites:
|
|
841
|
+
https://docsmith.aigne.io:
|
|
842
|
+
url: https://docsmith.aigne.io/image-bin/uploads/2f9c174f56c0e553.svg
|
|
843
|
+
upload_time: 2025-09-15T09:19:17.499Z
|
|
844
|
+
ca88fe5d71038ea7ae1b513eff9e36f3a0c7575b9a987962b41b8c0c8b7833ba:
|
|
845
|
+
local_path: .aigne/doc-smith/.tmp/assets/d2/38dcd78d8fed89db3e10cd132992104c6c1931422e822d7dcc985219e28468f8.svg
|
|
846
|
+
sites:
|
|
847
|
+
https://docsmith.aigne.io:
|
|
848
|
+
url: https://docsmith.aigne.io/image-bin/uploads/ca88fe5d71038ea7.svg
|
|
849
|
+
upload_time: 2025-09-15T09:19:18.564Z
|
|
850
|
+
81b3f8028f9876b12d157e9061c71c41d271ee3518993332ada253a2d81117f7:
|
|
851
|
+
local_path: .aigne/doc-smith/.tmp/assets/d2/b9e214140048bde93680e60ceede78e480d37d5087007768f2d916c62a6d152f.svg
|
|
852
|
+
sites:
|
|
853
|
+
https://docsmith.aigne.io:
|
|
854
|
+
url: https://docsmith.aigne.io/image-bin/uploads/81b3f8028f9876b1.svg
|
|
855
|
+
upload_time: 2025-09-15T09:19:18.680Z
|
|
856
|
+
6b09e27f6cd19989639bca1f59ede5c7d07ea521c87a463a7cd8cf7106dc8917:
|
|
857
|
+
local_path: .aigne/doc-smith/.tmp/assets/d2/832e17e386da95eb568a10a5769cee0698954324d044ae449fc7ce6bc96d87a8.svg
|
|
858
|
+
sites:
|
|
859
|
+
https://docsmith.aigne.io:
|
|
860
|
+
url: https://docsmith.aigne.io/image-bin/uploads/6b09e27f6cd19989.svg
|
|
861
|
+
upload_time: 2025-09-15T09:19:20.715Z
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.8.10-beta.1](https://github.com/AIGNE-io/aigne-doc-smith/compare/v0.8.10-beta...v0.8.10-beta.1) (2025-09-18)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* support document structure review workflow ([#117](https://github.com/AIGNE-io/aigne-doc-smith/issues/117)) ([ec7ae80](https://github.com/AIGNE-io/aigne-doc-smith/commit/ec7ae80b26a1b66928bddef7ac401f633a0f5a2b))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* improve English language consistency and clarity ([#118](https://github.com/AIGNE-io/aigne-doc-smith/issues/118)) ([74c9e8e](https://github.com/AIGNE-io/aigne-doc-smith/commit/74c9e8e19a78767c32da772133662818b8e50715))
|
|
14
|
+
* update doc-smith logo ([#114](https://github.com/AIGNE-io/aigne-doc-smith/issues/114)) ([52ab351](https://github.com/AIGNE-io/aigne-doc-smith/commit/52ab3519d98533f26c1a18203be51e0965c586bc))
|
|
15
|
+
|
|
3
16
|
## [0.8.10-beta](https://github.com/AIGNE-io/aigne-doc-smith/compare/v0.8.9...v0.8.10-beta) (2025-09-16)
|
|
4
17
|
|
|
5
18
|
|
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@ As shown in the diagram, DocSmith integrates seamlessly with other [AIGNE](https
|
|
|
17
17
|
|
|
18
18
|
## Features
|
|
19
19
|
|
|
20
|
-
- **Automated
|
|
20
|
+
- **Automated Document Structure Generation:** Intelligently analyzes your codebase to generate a comprehensive and logical document structure.
|
|
21
21
|
- **AI-Powered Content Generation:** Populates the document structure with detailed, high-quality content.
|
|
22
22
|
- **Multi-Language Support:** Seamlessly translates your documentation into 12 languages including English, Chinese, Japanese, Korean, Spanish, French, German, Portuguese, Russian, Italian, and Arabic.
|
|
23
23
|
- **AIGNE Hub Integration:** Use [AIGNE Hub](https://www.aigne.io/en/hub) as your LLM provider without needing your own API keys, with easy switching between different large language models.
|
|
@@ -231,7 +231,7 @@ Publish your documentation to Discuss Kit platforms:
|
|
|
231
231
|
aigne doc publish
|
|
232
232
|
```
|
|
233
233
|
|
|
234
|
-
**Interactive Publishing:** When run `aigne doc publish
|
|
234
|
+
**Interactive Publishing:** When you run `aigne doc publish`, it will present an interactive menu for you to choose between:
|
|
235
235
|
- **Official Platform:** [docsmith.aigne.io](https://docsmith.aigne.io/app/)
|
|
236
236
|
- **Own Instance:** Your own deployed [Discuss Kit](https://store.blocklet.dev/blocklets/z8ia1WEiBZ7hxURf6LwH21Wpg99vophFwSJdu) instance
|
|
237
237
|
|
package/RELEASE.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
### Release a beta version
|
|
2
2
|
|
|
3
|
-
Create normal
|
|
3
|
+
Create a normal PR, and release-please will automatically create a beta version PR.
|
|
4
4
|
Merge that PR when appropriate.
|
|
5
5
|
|
|
6
6
|
### Release a prod version
|
|
7
7
|
|
|
8
|
-
When you want publish a
|
|
9
|
-
release-please will update PR to release to specific version (without beta).
|
|
8
|
+
When you want to publish a production version, you can run `git commit --allow-empty -m "chore: release x.x.x" -m "Release-As: x.x.x"` to main.
|
|
9
|
+
release-please will update the PR to release to a specific version (without beta).
|
|
10
10
|
Merge that PR when appropriate.
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { access } from "node:fs/promises";
|
|
2
2
|
import { join } from "node:path";
|
|
3
|
+
import chalk from "chalk";
|
|
3
4
|
import { getActiveRulesForScope } from "../../utils/preferences-utils.mjs";
|
|
4
5
|
import {
|
|
5
6
|
getCurrentGitHead,
|
|
@@ -13,23 +14,45 @@ export default async function checkNeedGenerateStructure(
|
|
|
13
14
|
{ originalDocumentStructure, feedback, lastGitHead, docsDir, forceRegenerate, ...rest },
|
|
14
15
|
options,
|
|
15
16
|
) {
|
|
16
|
-
// Check if
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
17
|
+
// Check if originalDocumentStructure is empty and prompt user
|
|
18
|
+
if (!originalDocumentStructure) {
|
|
19
|
+
const choice = await options.prompts.select({
|
|
20
|
+
message:
|
|
21
|
+
"Your project configuration is complete. Would you like to generate the document structure now?",
|
|
22
|
+
choices: [
|
|
23
|
+
{
|
|
24
|
+
name: "Generate now - Start building the document structure",
|
|
25
|
+
value: "generate",
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
name: "Review configuration first - Modify settings before generating",
|
|
29
|
+
value: "later",
|
|
30
|
+
},
|
|
31
|
+
],
|
|
25
32
|
});
|
|
26
33
|
|
|
27
|
-
if (
|
|
28
|
-
|
|
29
|
-
|
|
34
|
+
if (choice === "later") {
|
|
35
|
+
console.log(`\nConfiguration file: ${chalk.cyan("./.aigne/doc-smith/config.yaml")}`);
|
|
36
|
+
console.log(
|
|
37
|
+
"Review and modify your configuration as needed, then run 'aigne doc generate' to continue.",
|
|
38
|
+
);
|
|
39
|
+
|
|
40
|
+
// In test environment, return a special result instead of exiting
|
|
41
|
+
if (process.env.NODE_ENV === "test") {
|
|
42
|
+
return {
|
|
43
|
+
userDeferred: true,
|
|
44
|
+
documentStructure: null,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
process.exit(0);
|
|
30
49
|
}
|
|
31
50
|
}
|
|
32
51
|
|
|
52
|
+
// Check if we need to regenerate document structure
|
|
53
|
+
let shouldRegenerate = false;
|
|
54
|
+
let finalFeedback = feedback;
|
|
55
|
+
|
|
33
56
|
// If no feedback and originalDocumentStructure exists, check for git changes
|
|
34
57
|
if (originalDocumentStructure) {
|
|
35
58
|
// If no lastGitHead, check if _sidebar.md exists to determine if we should regenerate
|
|
@@ -85,7 +108,7 @@ export default async function checkNeedGenerateStructure(
|
|
|
85
108
|
};
|
|
86
109
|
}
|
|
87
110
|
|
|
88
|
-
const
|
|
111
|
+
const planningAgent = options.context.agents["refineDocumentStructure"];
|
|
89
112
|
|
|
90
113
|
// Get user preferences for document structure and global scope
|
|
91
114
|
const structureRules = getActiveRulesForScope("structure", []);
|
|
@@ -98,11 +121,11 @@ export default async function checkNeedGenerateStructure(
|
|
|
98
121
|
// Convert rule texts to string format for passing to the agent
|
|
99
122
|
const userPreferences = ruleTexts.length > 0 ? ruleTexts.join("\n\n") : "";
|
|
100
123
|
|
|
101
|
-
const result = await options.context.invoke(
|
|
102
|
-
|
|
124
|
+
const result = await options.context.invoke(planningAgent, {
|
|
125
|
+
...rest,
|
|
103
126
|
originalDocumentStructure,
|
|
104
127
|
userPreferences,
|
|
105
|
-
|
|
128
|
+
feedback: finalFeedback || "",
|
|
106
129
|
});
|
|
107
130
|
|
|
108
131
|
let message = "";
|
|
@@ -144,7 +167,7 @@ export default async function checkNeedGenerateStructure(
|
|
|
144
167
|
}
|
|
145
168
|
|
|
146
169
|
if (hasUpdated) {
|
|
147
|
-
message = `\n###
|
|
170
|
+
message = `\n### Project Information Updated\n\nSaved to \`.aigne/doc-smith/config.yaml\`:\n\n${message}\n\n`;
|
|
148
171
|
}
|
|
149
172
|
}
|
|
150
173
|
} catch (error) {
|
|
@@ -155,7 +178,6 @@ export default async function checkNeedGenerateStructure(
|
|
|
155
178
|
return {
|
|
156
179
|
...result,
|
|
157
180
|
feedback: "", // clear feedback
|
|
158
|
-
documentStructureFeedback: submittedFeedback,
|
|
159
181
|
projectInfoMessage: message,
|
|
160
182
|
originalDocumentStructure: originalDocumentStructure
|
|
161
183
|
? originalDocumentStructure
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { getActiveRulesForScope } from "../../utils/preferences-utils.mjs";
|
|
2
|
+
|
|
3
|
+
function formatDocumentStructure(structure) {
|
|
4
|
+
// Build a tree structure for better display
|
|
5
|
+
const nodeMap = new Map();
|
|
6
|
+
const rootNodes = [];
|
|
7
|
+
|
|
8
|
+
// First pass: create node map
|
|
9
|
+
structure.forEach((node) => {
|
|
10
|
+
nodeMap.set(node.path, {
|
|
11
|
+
...node,
|
|
12
|
+
children: [],
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
// Second pass: build tree structure
|
|
17
|
+
structure.forEach((node) => {
|
|
18
|
+
if (node.parentId) {
|
|
19
|
+
const parent = nodeMap.get(node.parentId);
|
|
20
|
+
if (parent) {
|
|
21
|
+
parent.children.push(nodeMap.get(node.path));
|
|
22
|
+
} else {
|
|
23
|
+
rootNodes.push(nodeMap.get(node.path));
|
|
24
|
+
}
|
|
25
|
+
} else {
|
|
26
|
+
rootNodes.push(nodeMap.get(node.path));
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
function printNode(node, depth = 0) {
|
|
31
|
+
const INDENT_SPACES = " ";
|
|
32
|
+
const FOLDER_ICON = "📁";
|
|
33
|
+
const FILE_ICON = "📄";
|
|
34
|
+
const indent = INDENT_SPACES.repeat(depth);
|
|
35
|
+
const prefix = depth === 0 ? FOLDER_ICON : FILE_ICON;
|
|
36
|
+
|
|
37
|
+
console.log(`${indent}${prefix} ${node.title}`);
|
|
38
|
+
|
|
39
|
+
if (node.children && node.children.length > 0) {
|
|
40
|
+
node.children.forEach((child) => {
|
|
41
|
+
printNode(child, depth + 1);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return { rootNodes, printNode };
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export default async function userReviewDocumentStructure({ documentStructure, ...rest }, options) {
|
|
50
|
+
// Check if document structure exists
|
|
51
|
+
if (!documentStructure || !Array.isArray(documentStructure) || documentStructure.length === 0) {
|
|
52
|
+
console.log("No document structure was generated to review.");
|
|
53
|
+
return { documentStructure };
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// Ask user if they want to review the document structure
|
|
57
|
+
const needReview = await options.prompts.select({
|
|
58
|
+
message:
|
|
59
|
+
"Would you like to review the document structure?\n You can modify titles, reorganize sections, or refine content outlines.",
|
|
60
|
+
choices: [
|
|
61
|
+
{
|
|
62
|
+
name: "Looks good - proceed with current structure",
|
|
63
|
+
value: "no",
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
name: "Review and provide feedback",
|
|
67
|
+
value: "yes",
|
|
68
|
+
},
|
|
69
|
+
],
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
if (needReview === "no") {
|
|
73
|
+
return { documentStructure };
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
let currentStructure = documentStructure;
|
|
77
|
+
|
|
78
|
+
const MAX_ITERATIONS = 100;
|
|
79
|
+
let iterationCount = 0;
|
|
80
|
+
while (iterationCount < MAX_ITERATIONS) {
|
|
81
|
+
iterationCount++;
|
|
82
|
+
|
|
83
|
+
// Print current document structure in a user-friendly format
|
|
84
|
+
console.log(`\n${"=".repeat(50)}`);
|
|
85
|
+
console.log("Current Document Structure");
|
|
86
|
+
console.log("=".repeat(50));
|
|
87
|
+
|
|
88
|
+
const { rootNodes, printNode } = formatDocumentStructure(currentStructure);
|
|
89
|
+
|
|
90
|
+
if (rootNodes.length === 0) {
|
|
91
|
+
console.log("No document structure found.");
|
|
92
|
+
} else {
|
|
93
|
+
rootNodes.forEach((node) => printNode(node));
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
console.log(`${"=".repeat(50)}\n`);
|
|
97
|
+
|
|
98
|
+
// Ask for feedback
|
|
99
|
+
const feedback = await options.prompts.input({
|
|
100
|
+
message:
|
|
101
|
+
"How would you like to improve the structure?\n" +
|
|
102
|
+
" • Rename, reorganize, add, or remove sections\n" +
|
|
103
|
+
" • Adjust content outlines for clarity\n\n" +
|
|
104
|
+
" Press Enter to finish reviewing:",
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
// If no feedback, break the loop
|
|
108
|
+
if (!feedback?.trim()) {
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
// Get the refineDocumentStructure agent
|
|
113
|
+
const refineAgent = options.context.agents["refineDocumentStructure"];
|
|
114
|
+
if (!refineAgent) {
|
|
115
|
+
console.log(
|
|
116
|
+
"Unable to process your feedback - the structure refinement feature is unavailable.",
|
|
117
|
+
);
|
|
118
|
+
console.log("Please try again later or contact support if this continues.");
|
|
119
|
+
break;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// Get user preferences
|
|
123
|
+
const structureRules = getActiveRulesForScope("structure", []);
|
|
124
|
+
const globalRules = getActiveRulesForScope("global", []);
|
|
125
|
+
const allApplicableRules = [...structureRules, ...globalRules];
|
|
126
|
+
const ruleTexts = allApplicableRules.map((rule) => rule.rule);
|
|
127
|
+
const userPreferences = ruleTexts.length > 0 ? ruleTexts.join("\n\n") : "";
|
|
128
|
+
|
|
129
|
+
try {
|
|
130
|
+
// Call refineDocumentStructure agent with feedback
|
|
131
|
+
const result = await options.context.invoke(refineAgent, {
|
|
132
|
+
...rest,
|
|
133
|
+
feedback: feedback.trim(),
|
|
134
|
+
originalDocumentStructure: currentStructure,
|
|
135
|
+
userPreferences,
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
if (result.documentStructure) {
|
|
139
|
+
currentStructure = result.documentStructure;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// Check if feedback should be saved as user preference
|
|
143
|
+
const feedbackRefinerAgent = options.context.agents["checkFeedbackRefiner"];
|
|
144
|
+
if (feedbackRefinerAgent) {
|
|
145
|
+
try {
|
|
146
|
+
await options.context.invoke(feedbackRefinerAgent, {
|
|
147
|
+
documentStructureFeedback: feedback.trim(),
|
|
148
|
+
stage: "structure",
|
|
149
|
+
});
|
|
150
|
+
} catch (refinerError) {
|
|
151
|
+
console.warn("Could not save feedback as user preference:", refinerError.message);
|
|
152
|
+
console.warn("Your feedback was applied but not saved as a preference.");
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
} catch (error) {
|
|
156
|
+
console.error("Error processing your feedback:");
|
|
157
|
+
console.error(`Type: ${error.name}`);
|
|
158
|
+
console.error(`Message: ${error.message}`);
|
|
159
|
+
console.error(`Stack: ${error.stack}`);
|
|
160
|
+
console.log("\nPlease try rephrasing your feedback or continue with the current structure.");
|
|
161
|
+
break;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
return { documentStructure: currentStructure };
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
userReviewDocumentStructure.taskTitle = "User review and modify document structure";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
type: team
|
|
2
2
|
name: generateAndTranslateDocument
|
|
3
|
-
description: Generate
|
|
3
|
+
description: Generate and translate documents
|
|
4
4
|
skills:
|
|
5
5
|
- ../utils/transform-detail-datasources.mjs
|
|
6
6
|
- type: team
|
|
@@ -70,12 +70,12 @@ input_schema:
|
|
|
70
70
|
type: array
|
|
71
71
|
items:
|
|
72
72
|
type: string
|
|
73
|
-
description: Included file
|
|
73
|
+
description: Included file name patterns
|
|
74
74
|
excludePatterns:
|
|
75
75
|
type: array
|
|
76
76
|
items:
|
|
77
77
|
type: string
|
|
78
|
-
description: Excluded file
|
|
78
|
+
description: Excluded file name patterns
|
|
79
79
|
outputDir:
|
|
80
80
|
type: string
|
|
81
81
|
description: Output directory
|
|
@@ -42,38 +42,32 @@ export default async function saveDocs({
|
|
|
42
42
|
console.error("Failed to cleanup invalid .md files:", err.message);
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
const message =
|
|
45
|
+
const message = `# ✅ Documentation Generated Successfully!
|
|
46
46
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
### 🚀 Next Steps
|
|
47
|
+
Generated **${documentStructure.length}** documents and saved to: \`${docsDir}\`
|
|
48
|
+
${projectInfoMessage || ""}
|
|
49
|
+
## 🚀 Next Steps
|
|
51
50
|
|
|
52
|
-
|
|
51
|
+
**Publish Your Documentation**
|
|
53
52
|
|
|
54
|
-
|
|
55
|
-
aigne doc publish
|
|
56
|
-
\`\`\`
|
|
53
|
+
Generate a shareable preview link for your team:
|
|
57
54
|
|
|
58
|
-
|
|
55
|
+
\`aigne doc publish\`
|
|
59
56
|
|
|
60
|
-
|
|
57
|
+
## 🔧 Optional Actions
|
|
61
58
|
|
|
62
|
-
|
|
59
|
+
**Update Specific Documents**
|
|
63
60
|
|
|
64
|
-
|
|
65
|
-
aigne doc update
|
|
66
|
-
\`\`\`
|
|
61
|
+
Regenerate content for individual documents:
|
|
67
62
|
|
|
68
|
-
|
|
63
|
+
\`aigne doc update\`
|
|
69
64
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
65
|
+
**Refine Document Structure**
|
|
66
|
+
|
|
67
|
+
Review and improve your documentation organization:
|
|
68
|
+
|
|
69
|
+
\`aigne doc generate\`
|
|
75
70
|
|
|
76
|
-
---
|
|
77
71
|
`;
|
|
78
72
|
|
|
79
73
|
// Shutdown mermaid worker pool to ensure clean exit
|