@dtt_siye/atool 1.1.0

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 (463) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +235 -0
  3. package/VERSION +1 -0
  4. package/agents/code-reviewer.md +29 -0
  5. package/bin/atool.js +235 -0
  6. package/bin/postinstall.js +23 -0
  7. package/hooks/doc-sync-reminder +155 -0
  8. package/hooks/hooks-cursor.json +37 -0
  9. package/hooks/hooks.json +37 -0
  10. package/hooks/prompt-guard +135 -0
  11. package/hooks/session-start +286 -0
  12. package/install.sh +603 -0
  13. package/lib/analyze-source.sh +1265 -0
  14. package/lib/common.sh +1041 -0
  15. package/lib/compute-importance.sh +598 -0
  16. package/lib/detect-stack.sh +354 -0
  17. package/lib/generate-visualization.sh +266 -0
  18. package/lib/install-claude.sh +43 -0
  19. package/lib/install-cursor.sh +281 -0
  20. package/lib/install-hooks.sh +285 -0
  21. package/lib/install-kiro.sh +543 -0
  22. package/lib/install-mcp.sh +99 -0
  23. package/lib/install-skills.sh +129 -0
  24. package/lib/knowledge-graph.sh +1014 -0
  25. package/lib/multi-dimensional-analysis.sh +413 -0
  26. package/lib/pre-scan.sh +1045 -0
  27. package/lib/project-init.sh +552 -0
  28. package/lib/visualization-template.html +545 -0
  29. package/mcp/recommended.json +24 -0
  30. package/package.json +39 -0
  31. package/skills/_superpowers/.claude-plugin/marketplace.json +20 -0
  32. package/skills/_superpowers/.claude-plugin/plugin.json +20 -0
  33. package/skills/_superpowers/.codex/INSTALL.md +67 -0
  34. package/skills/_superpowers/.cursor-plugin/plugin.json +25 -0
  35. package/skills/_superpowers/.gitattributes +18 -0
  36. package/skills/_superpowers/.github/FUNDING.yml +3 -0
  37. package/skills/_superpowers/.github/ISSUE_TEMPLATE/bug_report.md +52 -0
  38. package/skills/_superpowers/.github/ISSUE_TEMPLATE/config.yml +5 -0
  39. package/skills/_superpowers/.github/ISSUE_TEMPLATE/feature_request.md +34 -0
  40. package/skills/_superpowers/.github/ISSUE_TEMPLATE/platform_support.md +23 -0
  41. package/skills/_superpowers/.github/PULL_REQUEST_TEMPLATE.md +87 -0
  42. package/skills/_superpowers/.opencode/INSTALL.md +83 -0
  43. package/skills/_superpowers/.opencode/plugins/superpowers.js +107 -0
  44. package/skills/_superpowers/CHANGELOG.md +13 -0
  45. package/skills/_superpowers/CODE_OF_CONDUCT.md +128 -0
  46. package/skills/_superpowers/GEMINI.md +2 -0
  47. package/skills/_superpowers/LICENSE +21 -0
  48. package/skills/_superpowers/README.md +187 -0
  49. package/skills/_superpowers/RELEASE-NOTES.md +1083 -0
  50. package/skills/_superpowers/agents/code-reviewer.md +48 -0
  51. package/skills/_superpowers/commands/brainstorm.md +5 -0
  52. package/skills/_superpowers/commands/execute-plan.md +5 -0
  53. package/skills/_superpowers/commands/write-plan.md +5 -0
  54. package/skills/_superpowers/docs/README.codex.md +126 -0
  55. package/skills/_superpowers/docs/README.opencode.md +130 -0
  56. package/skills/_superpowers/docs/plans/2025-11-22-opencode-support-design.md +294 -0
  57. package/skills/_superpowers/docs/plans/2025-11-22-opencode-support-implementation.md +1095 -0
  58. package/skills/_superpowers/docs/plans/2025-11-28-skills-improvements-from-user-feedback.md +711 -0
  59. package/skills/_superpowers/docs/plans/2026-01-17-visual-brainstorming.md +571 -0
  60. package/skills/_superpowers/docs/superpowers/plans/2026-01-22-document-review-system.md +301 -0
  61. package/skills/_superpowers/docs/superpowers/plans/2026-02-19-visual-brainstorming-refactor.md +523 -0
  62. package/skills/_superpowers/docs/superpowers/plans/2026-03-11-zero-dep-brainstorm-server.md +479 -0
  63. package/skills/_superpowers/docs/superpowers/plans/2026-03-23-codex-app-compatibility.md +564 -0
  64. package/skills/_superpowers/docs/superpowers/specs/2026-01-22-document-review-system-design.md +136 -0
  65. package/skills/_superpowers/docs/superpowers/specs/2026-02-19-visual-brainstorming-refactor-design.md +162 -0
  66. package/skills/_superpowers/docs/superpowers/specs/2026-03-11-zero-dep-brainstorm-server-design.md +118 -0
  67. package/skills/_superpowers/docs/superpowers/specs/2026-03-23-codex-app-compatibility-design.md +244 -0
  68. package/skills/_superpowers/docs/testing.md +303 -0
  69. package/skills/_superpowers/docs/windows/polyglot-hooks.md +212 -0
  70. package/skills/_superpowers/gemini-extension.json +6 -0
  71. package/skills/_superpowers/hooks/hooks-cursor.json +10 -0
  72. package/skills/_superpowers/hooks/hooks.json +16 -0
  73. package/skills/_superpowers/hooks/run-hook.cmd +46 -0
  74. package/skills/_superpowers/hooks/session-start +57 -0
  75. package/skills/_superpowers/package.json +6 -0
  76. package/skills/_superpowers/skills/brainstorming/SKILL.md +164 -0
  77. package/skills/_superpowers/skills/brainstorming/scripts/frame-template.html +214 -0
  78. package/skills/_superpowers/skills/brainstorming/scripts/helper.js +88 -0
  79. package/skills/_superpowers/skills/brainstorming/scripts/server.cjs +354 -0
  80. package/skills/_superpowers/skills/brainstorming/scripts/start-server.sh +148 -0
  81. package/skills/_superpowers/skills/brainstorming/scripts/stop-server.sh +56 -0
  82. package/skills/_superpowers/skills/brainstorming/spec-document-reviewer-prompt.md +49 -0
  83. package/skills/_superpowers/skills/brainstorming/visual-companion.md +287 -0
  84. package/skills/_superpowers/skills/dispatching-parallel-agents/SKILL.md +182 -0
  85. package/skills/_superpowers/skills/executing-plans/SKILL.md +70 -0
  86. package/skills/_superpowers/skills/finishing-a-development-branch/SKILL.md +200 -0
  87. package/skills/_superpowers/skills/receiving-code-review/SKILL.md +213 -0
  88. package/skills/_superpowers/skills/requesting-code-review/SKILL.md +105 -0
  89. package/skills/_superpowers/skills/requesting-code-review/code-reviewer.md +146 -0
  90. package/skills/_superpowers/skills/subagent-driven-development/SKILL.md +277 -0
  91. package/skills/_superpowers/skills/subagent-driven-development/code-quality-reviewer-prompt.md +26 -0
  92. package/skills/_superpowers/skills/subagent-driven-development/implementer-prompt.md +113 -0
  93. package/skills/_superpowers/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
  94. package/skills/_superpowers/skills/systematic-debugging/CREATION-LOG.md +119 -0
  95. package/skills/_superpowers/skills/systematic-debugging/SKILL.md +296 -0
  96. package/skills/_superpowers/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
  97. package/skills/_superpowers/skills/systematic-debugging/condition-based-waiting.md +115 -0
  98. package/skills/_superpowers/skills/systematic-debugging/defense-in-depth.md +122 -0
  99. package/skills/_superpowers/skills/systematic-debugging/find-polluter.sh +63 -0
  100. package/skills/_superpowers/skills/systematic-debugging/root-cause-tracing.md +169 -0
  101. package/skills/_superpowers/skills/systematic-debugging/test-academic.md +14 -0
  102. package/skills/_superpowers/skills/systematic-debugging/test-pressure-1.md +58 -0
  103. package/skills/_superpowers/skills/systematic-debugging/test-pressure-2.md +68 -0
  104. package/skills/_superpowers/skills/systematic-debugging/test-pressure-3.md +69 -0
  105. package/skills/_superpowers/skills/test-driven-development/SKILL.md +371 -0
  106. package/skills/_superpowers/skills/test-driven-development/testing-anti-patterns.md +299 -0
  107. package/skills/_superpowers/skills/using-git-worktrees/SKILL.md +218 -0
  108. package/skills/_superpowers/skills/using-superpowers/SKILL.md +115 -0
  109. package/skills/_superpowers/skills/using-superpowers/references/codex-tools.md +100 -0
  110. package/skills/_superpowers/skills/using-superpowers/references/gemini-tools.md +33 -0
  111. package/skills/_superpowers/skills/verification-before-completion/SKILL.md +139 -0
  112. package/skills/_superpowers/skills/writing-plans/SKILL.md +152 -0
  113. package/skills/_superpowers/skills/writing-plans/plan-document-reviewer-prompt.md +49 -0
  114. package/skills/_superpowers/skills/writing-skills/SKILL.md +655 -0
  115. package/skills/_superpowers/skills/writing-skills/anthropic-best-practices.md +1150 -0
  116. package/skills/_superpowers/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
  117. package/skills/_superpowers/skills/writing-skills/graphviz-conventions.dot +172 -0
  118. package/skills/_superpowers/skills/writing-skills/persuasion-principles.md +187 -0
  119. package/skills/_superpowers/skills/writing-skills/render-graphs.js +168 -0
  120. package/skills/_superpowers/skills/writing-skills/testing-skills-with-subagents.md +384 -0
  121. package/skills/_superpowers/tests/brainstorm-server/package-lock.json +36 -0
  122. package/skills/_superpowers/tests/brainstorm-server/package.json +10 -0
  123. package/skills/_superpowers/tests/brainstorm-server/server.test.js +427 -0
  124. package/skills/_superpowers/tests/brainstorm-server/windows-lifecycle.test.sh +351 -0
  125. package/skills/_superpowers/tests/brainstorm-server/ws-protocol.test.js +392 -0
  126. package/skills/_superpowers/tests/claude-code/README.md +158 -0
  127. package/skills/_superpowers/tests/claude-code/analyze-token-usage.py +168 -0
  128. package/skills/_superpowers/tests/claude-code/run-skill-tests.sh +187 -0
  129. package/skills/_superpowers/tests/claude-code/test-document-review-system.sh +177 -0
  130. package/skills/_superpowers/tests/claude-code/test-helpers.sh +202 -0
  131. package/skills/_superpowers/tests/claude-code/test-subagent-driven-development-integration.sh +314 -0
  132. package/skills/_superpowers/tests/claude-code/test-subagent-driven-development.sh +165 -0
  133. package/skills/_superpowers/tests/explicit-skill-requests/prompts/action-oriented.txt +3 -0
  134. package/skills/_superpowers/tests/explicit-skill-requests/prompts/after-planning-flow.txt +17 -0
  135. package/skills/_superpowers/tests/explicit-skill-requests/prompts/claude-suggested-it.txt +11 -0
  136. package/skills/_superpowers/tests/explicit-skill-requests/prompts/i-know-what-sdd-means.txt +8 -0
  137. package/skills/_superpowers/tests/explicit-skill-requests/prompts/mid-conversation-execute-plan.txt +3 -0
  138. package/skills/_superpowers/tests/explicit-skill-requests/prompts/please-use-brainstorming.txt +1 -0
  139. package/skills/_superpowers/tests/explicit-skill-requests/prompts/skip-formalities.txt +3 -0
  140. package/skills/_superpowers/tests/explicit-skill-requests/prompts/subagent-driven-development-please.txt +1 -0
  141. package/skills/_superpowers/tests/explicit-skill-requests/prompts/use-systematic-debugging.txt +1 -0
  142. package/skills/_superpowers/tests/explicit-skill-requests/run-all.sh +70 -0
  143. package/skills/_superpowers/tests/explicit-skill-requests/run-claude-describes-sdd.sh +100 -0
  144. package/skills/_superpowers/tests/explicit-skill-requests/run-extended-multiturn-test.sh +113 -0
  145. package/skills/_superpowers/tests/explicit-skill-requests/run-haiku-test.sh +144 -0
  146. package/skills/_superpowers/tests/explicit-skill-requests/run-multiturn-test.sh +143 -0
  147. package/skills/_superpowers/tests/explicit-skill-requests/run-test.sh +136 -0
  148. package/skills/_superpowers/tests/opencode/run-tests.sh +163 -0
  149. package/skills/_superpowers/tests/opencode/setup.sh +73 -0
  150. package/skills/_superpowers/tests/opencode/test-plugin-loading.sh +72 -0
  151. package/skills/_superpowers/tests/opencode/test-priority.sh +198 -0
  152. package/skills/_superpowers/tests/opencode/test-tools.sh +104 -0
  153. package/skills/_superpowers/tests/skill-triggering/prompts/dispatching-parallel-agents.txt +8 -0
  154. package/skills/_superpowers/tests/skill-triggering/prompts/executing-plans.txt +1 -0
  155. package/skills/_superpowers/tests/skill-triggering/prompts/requesting-code-review.txt +3 -0
  156. package/skills/_superpowers/tests/skill-triggering/prompts/systematic-debugging.txt +11 -0
  157. package/skills/_superpowers/tests/skill-triggering/prompts/test-driven-development.txt +7 -0
  158. package/skills/_superpowers/tests/skill-triggering/prompts/writing-plans.txt +10 -0
  159. package/skills/_superpowers/tests/skill-triggering/run-all.sh +60 -0
  160. package/skills/_superpowers/tests/skill-triggering/run-test.sh +88 -0
  161. package/skills/_superpowers/tests/subagent-driven-dev/go-fractals/design.md +81 -0
  162. package/skills/_superpowers/tests/subagent-driven-dev/go-fractals/plan.md +172 -0
  163. package/skills/_superpowers/tests/subagent-driven-dev/go-fractals/scaffold.sh +45 -0
  164. package/skills/_superpowers/tests/subagent-driven-dev/run-test.sh +106 -0
  165. package/skills/_superpowers/tests/subagent-driven-dev/svelte-todo/design.md +70 -0
  166. package/skills/_superpowers/tests/subagent-driven-dev/svelte-todo/plan.md +222 -0
  167. package/skills/_superpowers/tests/subagent-driven-dev/svelte-todo/scaffold.sh +46 -0
  168. package/skills/ai-project-architecture/SKILL.md +632 -0
  169. package/skills/ai-project-architecture/reference/structure-rules.md +406 -0
  170. package/skills/ai-project-architecture/templates/compliance-report.md +300 -0
  171. package/skills/ai-project-architecture/templates/migration-plan.md +433 -0
  172. package/skills/ai-project-architecture/templates/verification-checklist.md +408 -0
  173. package/skills/android-conventions/SKILL.md +125 -0
  174. package/skills/atool-init/SKILL.md +141 -0
  175. package/skills/clarify-before-build/SKILL.md +107 -0
  176. package/skills/code-review/SKILL.md +406 -0
  177. package/skills/code-review/rules/architecture.md +285 -0
  178. package/skills/code-review/rules/coupling-cohesion.md +309 -0
  179. package/skills/code-review/rules/dead-code.md +115 -0
  180. package/skills/code-review/rules/deprecation-debt.md +279 -0
  181. package/skills/code-review/rules/duplication.md +104 -0
  182. package/skills/code-review/rules/error-security.md +143 -0
  183. package/skills/code-review/rules/maintainability.md +203 -0
  184. package/skills/code-review/rules/quality.md +158 -0
  185. package/skills/devops-conventions/SKILL.md +205 -0
  186. package/skills/doc-coauthoring/SKILL.md +392 -0
  187. package/skills/doc-standards-enforcer/SKILL.md +290 -0
  188. package/skills/doc-standards-enforcer/examples/valid-document-example.md +67 -0
  189. package/skills/doc-standards-enforcer/references/101-standards-summary.md +318 -0
  190. package/skills/doc-standards-enforcer/scripts/check_references.py +175 -0
  191. package/skills/doc-standards-enforcer/scripts/fix_common_issues.py +303 -0
  192. package/skills/doc-standards-enforcer/scripts/validate_doc_standards.py +332 -0
  193. package/skills/docx/LICENSE.txt +30 -0
  194. package/skills/docx/SKILL.md +200 -0
  195. package/skills/docx/docx-js.md +350 -0
  196. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  197. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  198. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  199. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  200. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  201. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  202. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  203. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  204. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  205. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  206. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  207. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  208. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  209. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  210. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  211. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  212. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  213. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  214. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  215. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  216. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  217. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  218. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  219. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  220. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  221. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  222. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  223. package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  224. package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  225. package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  226. package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  227. package/skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
  228. package/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  229. package/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  230. package/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  231. package/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  232. package/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  233. package/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  234. package/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  235. package/skills/docx/ooxml/scripts/pack.py +159 -0
  236. package/skills/docx/ooxml/scripts/unpack.py +29 -0
  237. package/skills/docx/ooxml/scripts/validate.py +69 -0
  238. package/skills/docx/ooxml/scripts/validation/__init__.py +15 -0
  239. package/skills/docx/ooxml/scripts/validation/base.py +951 -0
  240. package/skills/docx/ooxml/scripts/validation/docx.py +274 -0
  241. package/skills/docx/ooxml/scripts/validation/pptx.py +315 -0
  242. package/skills/docx/ooxml/scripts/validation/redlining.py +279 -0
  243. package/skills/docx/ooxml.md +610 -0
  244. package/skills/docx/scripts/__init__.py +1 -0
  245. package/skills/docx/scripts/document.py +1276 -0
  246. package/skills/docx/scripts/templates/comments.xml +3 -0
  247. package/skills/docx/scripts/templates/commentsExtended.xml +3 -0
  248. package/skills/docx/scripts/templates/commentsExtensible.xml +3 -0
  249. package/skills/docx/scripts/templates/commentsIds.xml +3 -0
  250. package/skills/docx/scripts/templates/people.xml +3 -0
  251. package/skills/docx/scripts/utilities.py +374 -0
  252. package/skills/flutter-conventions/SKILL.md +70 -0
  253. package/skills/go-conventions/SKILL.md +230 -0
  254. package/skills/harmony-conventions/SKILL.md +156 -0
  255. package/skills/java-conventions/SKILL.md +277 -0
  256. package/skills/pdf/LICENSE.txt +30 -0
  257. package/skills/pdf/SKILL.md +297 -0
  258. package/skills/pdf/forms.md +205 -0
  259. package/skills/pdf/reference.md +612 -0
  260. package/skills/pdf/scripts/check_bounding_boxes.py +70 -0
  261. package/skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
  262. package/skills/pdf/scripts/check_fillable_fields.py +12 -0
  263. package/skills/pdf/scripts/convert_pdf_to_images.py +35 -0
  264. package/skills/pdf/scripts/create_validation_image.py +41 -0
  265. package/skills/pdf/scripts/extract_form_field_info.py +152 -0
  266. package/skills/pdf/scripts/fill_fillable_fields.py +114 -0
  267. package/skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
  268. package/skills/pptx/LICENSE.txt +30 -0
  269. package/skills/pptx/SKILL.md +487 -0
  270. package/skills/pptx/html2pptx.md +625 -0
  271. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  272. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  273. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  274. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  275. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  276. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  277. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  278. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  279. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  280. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  281. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  282. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  283. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  284. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  285. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  286. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  287. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  288. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  289. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  290. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  291. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  292. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  293. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  294. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  295. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  296. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  297. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  298. package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  299. package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  300. package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  301. package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  302. package/skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
  303. package/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  304. package/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  305. package/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  306. package/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  307. package/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  308. package/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  309. package/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  310. package/skills/pptx/ooxml/scripts/pack.py +159 -0
  311. package/skills/pptx/ooxml/scripts/unpack.py +29 -0
  312. package/skills/pptx/ooxml/scripts/validate.py +69 -0
  313. package/skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
  314. package/skills/pptx/ooxml/scripts/validation/base.py +951 -0
  315. package/skills/pptx/ooxml/scripts/validation/docx.py +274 -0
  316. package/skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
  317. package/skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
  318. package/skills/pptx/ooxml.md +427 -0
  319. package/skills/pptx/scripts/html2pptx.js +979 -0
  320. package/skills/pptx/scripts/inventory.py +1020 -0
  321. package/skills/pptx/scripts/rearrange.py +231 -0
  322. package/skills/pptx/scripts/replace.py +385 -0
  323. package/skills/pptx/scripts/thumbnail.py +450 -0
  324. package/skills/project-analyze/SKILL.md +270 -0
  325. package/skills/project-analyze/phases/phase0-discovery.md +278 -0
  326. package/skills/project-analyze/phases/phase0.5-prescan.md +139 -0
  327. package/skills/project-analyze/phases/phase1-inventory.md +94 -0
  328. package/skills/project-analyze/phases/phase2-deep-analysis.md +249 -0
  329. package/skills/project-analyze/phases/phase2a-l4-analysis.md +94 -0
  330. package/skills/project-analyze/phases/phase2b-l5-analysis.md +97 -0
  331. package/skills/project-analyze/phases/phase3-knowledge-graph.md +120 -0
  332. package/skills/project-analyze/phases/phase3a-multi-dimensional.md +61 -0
  333. package/skills/project-analyze/phases/phase4-code-quality.md +81 -0
  334. package/skills/project-analyze/phases/phase5-synthesis.md +284 -0
  335. package/skills/project-analyze/phases/phase6-validation.md +179 -0
  336. package/skills/project-analyze/prompts/code-review-agent.md +122 -0
  337. package/skills/project-analyze/prompts/deep-analysis-agent.md +107 -0
  338. package/skills/project-analyze/prompts/inventory-agent.md +67 -0
  339. package/skills/project-analyze/prompts/l4-analysis-agent.md +98 -0
  340. package/skills/project-analyze/rules/android.md +282 -0
  341. package/skills/project-analyze/rules/devops.md +443 -0
  342. package/skills/project-analyze/rules/generic.md +243 -0
  343. package/skills/project-analyze/rules/go.md +289 -0
  344. package/skills/project-analyze/rules/harmony.md +257 -0
  345. package/skills/project-analyze/rules/java.md +507 -0
  346. package/skills/project-analyze/rules/mobile-flutter.md +315 -0
  347. package/skills/project-analyze/rules/mobile-react-native.md +283 -0
  348. package/skills/project-analyze/rules/mobile-swift.md +323 -0
  349. package/skills/project-analyze/rules/python.md +317 -0
  350. package/skills/project-analyze/rules/rust-tauri.md +243 -0
  351. package/skills/project-analyze/rules/rust.md +296 -0
  352. package/skills/project-analyze/rules/web-nextjs.md +364 -0
  353. package/skills/project-analyze/rules/web-react.md +298 -0
  354. package/skills/project-analyze/rules/web-vue.md +378 -0
  355. package/skills/project-analyze/rules/web.md +390 -0
  356. package/skills/project-query/SKILL.md +224 -0
  357. package/skills/project-query/rules/query-templates.md +212 -0
  358. package/skills/python-conventions/SKILL.md +169 -0
  359. package/skills/react-native-conventions/SKILL.md +73 -0
  360. package/skills/requirements-writer/README.md +153 -0
  361. package/skills/requirements-writer/SKILL.md +341 -0
  362. package/skills/requirements-writer/examples/prd-outline-example.md +217 -0
  363. package/skills/requirements-writer/templates/module-prd-template.md +362 -0
  364. package/skills/requirements-writer/templates/prd-outline-template.md +185 -0
  365. package/skills/requirements-writer/templates/user-story-template.md +1125 -0
  366. package/skills/rust-conventions/SKILL.md +361 -0
  367. package/skills/smart-dispatch/SKILL.md +296 -0
  368. package/skills/smart-dispatch/implementer-prompt.md +146 -0
  369. package/skills/smart-dispatch/reviewer-prompt.md +199 -0
  370. package/skills/software-architecture/SKILL.md +278 -0
  371. package/skills/swift-conventions/SKILL.md +72 -0
  372. package/skills/ui-ux-pro/SKILL.md +140 -0
  373. package/skills/verification-before-completion/SKILL.md +119 -0
  374. package/skills/web-conventions/SKILL.md +259 -0
  375. package/skills/webapp-testing/LICENSE.txt +202 -0
  376. package/skills/webapp-testing/SKILL.md +97 -0
  377. package/skills/webapp-testing/examples/console_logging.py +35 -0
  378. package/skills/webapp-testing/examples/element_discovery.py +40 -0
  379. package/skills/webapp-testing/examples/static_html_automation.py +33 -0
  380. package/skills/webapp-testing/scripts/with_server.py +106 -0
  381. package/skills/writing-plans/SKILL.md +144 -0
  382. package/skills/xlsx/LICENSE.txt +30 -0
  383. package/skills/xlsx/SKILL.md +292 -0
  384. package/skills/xlsx/recalc.py +178 -0
  385. package/templates/CLAUDE.md.android +57 -0
  386. package/templates/CLAUDE.md.devops +50 -0
  387. package/templates/CLAUDE.md.generic +34 -0
  388. package/templates/CLAUDE.md.go +67 -0
  389. package/templates/CLAUDE.md.harmony +54 -0
  390. package/templates/CLAUDE.md.java +56 -0
  391. package/templates/CLAUDE.md.mobile-flutter +38 -0
  392. package/templates/CLAUDE.md.mobile-react-native +37 -0
  393. package/templates/CLAUDE.md.mobile-swift +40 -0
  394. package/templates/CLAUDE.md.python +65 -0
  395. package/templates/CLAUDE.md.rust +68 -0
  396. package/templates/CLAUDE.md.rust-tauri +120 -0
  397. package/templates/CLAUDE.md.web +63 -0
  398. package/templates/COMPONENT.md.android +58 -0
  399. package/templates/COMPONENT.md.devops +54 -0
  400. package/templates/COMPONENT.md.generic +35 -0
  401. package/templates/COMPONENT.md.go +59 -0
  402. package/templates/COMPONENT.md.harmony +63 -0
  403. package/templates/COMPONENT.md.java +69 -0
  404. package/templates/COMPONENT.md.mobile-flutter +56 -0
  405. package/templates/COMPONENT.md.mobile-react-native +55 -0
  406. package/templates/COMPONENT.md.mobile-swift +56 -0
  407. package/templates/COMPONENT.md.python +67 -0
  408. package/templates/COMPONENT.md.rust +57 -0
  409. package/templates/COMPONENT.md.rust-tauri +66 -0
  410. package/templates/COMPONENT.md.web +39 -0
  411. package/templates/README.md.android +71 -0
  412. package/templates/README.md.devops +68 -0
  413. package/templates/README.md.generic +39 -0
  414. package/templates/README.md.go +70 -0
  415. package/templates/README.md.harmony +72 -0
  416. package/templates/README.md.java +73 -0
  417. package/templates/README.md.mobile-flutter +69 -0
  418. package/templates/README.md.mobile-react-native +65 -0
  419. package/templates/README.md.mobile-swift +69 -0
  420. package/templates/README.md.monorepo +59 -0
  421. package/templates/README.md.python +66 -0
  422. package/templates/README.md.rust +69 -0
  423. package/templates/README.md.rust-tauri +149 -0
  424. package/templates/README.md.web +94 -0
  425. package/templates/UI_STYLE.md.android +74 -0
  426. package/templates/UI_STYLE.md.devops +50 -0
  427. package/templates/UI_STYLE.md.generic +31 -0
  428. package/templates/UI_STYLE.md.go +49 -0
  429. package/templates/UI_STYLE.md.harmony +71 -0
  430. package/templates/UI_STYLE.md.java +61 -0
  431. package/templates/UI_STYLE.md.mobile-flutter +70 -0
  432. package/templates/UI_STYLE.md.mobile-react-native +71 -0
  433. package/templates/UI_STYLE.md.mobile-swift +71 -0
  434. package/templates/UI_STYLE.md.python +58 -0
  435. package/templates/UI_STYLE.md.rust +52 -0
  436. package/templates/UI_STYLE.md.rust-tauri +102 -0
  437. package/templates/UI_STYLE.md.web +92 -0
  438. package/templates/cursor-rules.android.mdc +33 -0
  439. package/templates/cursor-rules.devops.mdc +32 -0
  440. package/templates/cursor-rules.generic.mdc +25 -0
  441. package/templates/cursor-rules.go.mdc +34 -0
  442. package/templates/cursor-rules.harmony.mdc +30 -0
  443. package/templates/cursor-rules.java.mdc +30 -0
  444. package/templates/cursor-rules.mobile-flutter.mdc +42 -0
  445. package/templates/cursor-rules.mobile-react-native.mdc +43 -0
  446. package/templates/cursor-rules.mobile-swift.mdc +42 -0
  447. package/templates/cursor-rules.python.mdc +33 -0
  448. package/templates/cursor-rules.rust-tauri.mdc +67 -0
  449. package/templates/cursor-rules.rust.mdc +30 -0
  450. package/templates/cursor-rules.web.mdc +30 -0
  451. package/templates/kiro-steering.android.md +39 -0
  452. package/templates/kiro-steering.devops.md +32 -0
  453. package/templates/kiro-steering.generic.md +28 -0
  454. package/templates/kiro-steering.go.md +41 -0
  455. package/templates/kiro-steering.harmony.md +36 -0
  456. package/templates/kiro-steering.java.md +37 -0
  457. package/templates/kiro-steering.mobile-flutter.md +73 -0
  458. package/templates/kiro-steering.mobile-react-native.md +71 -0
  459. package/templates/kiro-steering.mobile-swift.md +62 -0
  460. package/templates/kiro-steering.python.md +34 -0
  461. package/templates/kiro-steering.rust-tauri.md +50 -0
  462. package/templates/kiro-steering.rust.md +36 -0
  463. package/templates/kiro-steering.web.md +41 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 aTool Contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,235 @@
1
+ # aTool - AI 开发者工具集
2
+
3
+ [![Version](https://img.shields.io/badge/version-0.3.0-blue.svg)](VERSION)
4
+ [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
5
+ [![Shell](https://img.shields.io/badge/shell-bash-4EAA25.svg)](install.sh)
6
+
7
+ > 一键配置 AI IDE 的 Skills、MCP Servers、Hooks 和项目规则。让任何水平的开发者,通过在 IDE 中正常聊天,就能获得资深架构师的判断力、高级工程师的代码质量标准、和技术文档专家的交付质量。
8
+
9
+ **一条命令,30 秒完成配置:**
10
+
11
+ ```bash
12
+ git clone --recursive https://github.com/user/atool.git && cd atool
13
+ ./install.sh --all --yes
14
+ ```
15
+
16
+ ---
17
+
18
+ ## 支持的 IDE
19
+
20
+ | IDE | Skills | Hooks | 强制执行 | 特色 |
21
+ |-----|--------|-------|---------|------|
22
+ | **Claude Code** | ✅ SKILL.md | ✅ 全局(3 个) | **高** | Slash 命令 + 并行 Agent |
23
+ | **Cursor** | ✅ .mdc Rules | ⚠️ 项目级(3 个) | **中** | alwaysApply + globs 智能加载 |
24
+ | **Kiro** | ✅ Steering Markdown | ❌ | **低** | 合并精简 43→~8 文件(token -87%) |
25
+
26
+ ---
27
+
28
+ ## 核心理念
29
+
30
+ 1. **开箱即用** — 安装后在 IDE 中正常聊天,AI 自动加载工作流和编码规范
31
+ 2. **项目自适应** — 自动检测 17 种技术栈,匹配对应编码规范(零配置)
32
+ 3. **老旧代码分析** — 多 Agent 并行深度分析,5 分钟理解 30 分钟的代码
33
+ 4. **文档自动同步** — 代码修改后自动提醒并更新文档,确保交付质量
34
+
35
+ ---
36
+
37
+ ## 快速开始
38
+
39
+ ```bash
40
+ # 1. 安装到所有 IDE
41
+ ./install.sh --all --yes
42
+
43
+ # 2. 初始化项目(自动检测技术栈 + 生成规则模板)
44
+ ./install.sh --project /path/to/your/project
45
+
46
+ # 或在 Claude Code 中一步到位:
47
+ # /atool-init
48
+ ```
49
+
50
+ > 详细安装指南参见 [docs/02-getting-started.md](docs/02-getting-started.md)
51
+
52
+ ---
53
+
54
+ ## CLI 选项
55
+
56
+ | 选项 | 描述 |
57
+ |------|------|
58
+ | `--all` | 安装到所有已检测到的 IDE |
59
+ | `--claude` / `--cursor` / `--kiro` | 仅安装到指定 IDE |
60
+ | `--project PATH` | 初始化项目(检测技术栈 + 生成模板) |
61
+ | `--analyze PATH` | 准备项目深度分析目录(配合 project-analyze skill) |
62
+ | `--update` | 一步式更新(git pull + 自动重装变更组件) |
63
+ | `--uninstall` | 移除所有 aTool 配置 |
64
+ | `--dry-run` | 预览模式,不做任何实际修改 |
65
+ | `--force` | 强制覆盖(默认:合并 + 备份) |
66
+ | `--check-updates` | 检查更新(不安装) |
67
+ | `--yes` | 跳过确认提示 |
68
+ | `--version` / `--help` | 版本号 / 帮助信息 |
69
+
70
+ ---
71
+
72
+ ## 工作流全景
73
+
74
+ aTool 通过三层自动化防线串联所有功能,用户无需知道 skill 名称,正常聊天即可触发:
75
+
76
+ ```
77
+ 意图澄清(防幻觉) → 栈感知(自动规范) → 质量闭环(文档同步)
78
+ ```
79
+
80
+ **用户说「帮我写个用户注册接口」→** AI 自动评估复杂度 → 问清需求 → 按 Spring 分层规范生成代码 → 自动更新文档 → 完成前验证
81
+
82
+ 详见 [docs/03-workflow.md](docs/03-workflow.md) — 含交互式流程图、三层泳道图、IDE 对比、用户旅程
83
+
84
+ ---
85
+
86
+ ## 功能一览
87
+
88
+ ### Skills(31 个)
89
+
90
+ | 类型 | 数量 | 代表 Skills |
91
+ |------|:----:|------------|
92
+ | 技术栈规范 | 11 | java-conventions, web-conventions, python-conventions, go-conventions ... |
93
+ | 项目分析 | 1 | project-analyze — v5.0 五维分析框架,14 节点 × 24 边知识图谱,Cytoscape.js 可视化,8 因子评分,断点续传 |
94
+ | 项目查询 | 1 | project-query — 分析结果结构化查询系统 |
95
+ | 代码审查 | 1 | code-review — 8 维度评分 + CODE_REVIEW.md 报告 |
96
+ | 架构设计 | 1 | software-architecture — 风格选型 + 高并发 + DDD |
97
+ | 工作流 | 4 | brainstorming, clarify-before-build, smart-dispatch, writing-plans |
98
+ | 社区核心 | 6 | ai-project-architecture, doc-coauthoring, ui-ux-pro, webapp-testing ... |
99
+ | Office | 4 | pdf, docx, pptx, xlsx |
100
+ | Superpowers | ~15 | using-superpowers, TDD, debugging, verification ... |
101
+
102
+ 详见 [docs/04-skills.md](docs/04-skills.md)
103
+
104
+ ### Hooks(3 个自动拦截)
105
+
106
+ | Hook | 触发时机 | 作用 |
107
+ |------|----------|------|
108
+ | session-start | 每次新会话 | 注入 Skill 目录 + 项目栈 + 文档状态 + 澄清规则 |
109
+ | prompt-guard | 每条用户消息 | 实现类请求时注入澄清提醒(Tier 0-3 分级) |
110
+ | doc-sync-reminder | Write/Edit 后 | 源码变更后检查文档新鲜度,过期时提醒同步 |
111
+
112
+ 详见 [docs/05-hooks.md](docs/05-hooks.md)
113
+
114
+ ### MCP Servers(5 个)
115
+
116
+ context7(文档查询), filesystem(文件访问), git(版本控制), sequential-thinking(结构化推理), playwright(浏览器自动化)
117
+
118
+ 详见 [docs/07-mcp-servers.md](docs/07-mcp-servers.md)
119
+
120
+ ### 技术栈检测(17 种)
121
+
122
+ Java/Spring, React/Next.js, Vue/Nuxt, Svelte, Python, Go, Rust/Tauri, Android, iOS/Swift, Flutter, React Native, HarmonyOS, DevOps/K8s — 自动检测,零配置。
123
+
124
+ ### 项目模板
125
+
126
+ 根据技术栈自动生成 `CLAUDE.md` + `README.md` + `COMPONENT.md` + `UI_STYLE.md` + Cursor rules + Kiro steering,含真实项目数据(组件清单、路由表、依赖信息等)。
127
+
128
+ 详见 [docs/06-templates.md](docs/06-templates.md)
129
+
130
+ ---
131
+
132
+ ## 文档目录
133
+
134
+ | 文档 | 内容 |
135
+ |------|------|
136
+ | [docs/01-overview.md](docs/01-overview.md) | 项目概览 — 文档中心首页,含目录索引和阅读路径 |
137
+ | [docs/02-getting-started.md](docs/02-getting-started.md) | 快速开始 — 安装指南、环境检查、各 IDE 使用方式 |
138
+ | [docs/03-workflow.md](docs/03-workflow.md) | 工作流全景图 — 端到端流程、三层防线、IDE 对比、用户旅程 |
139
+ | [docs/04-skills.md](docs/04-skills.md) | Skills 系统 — 30 个 skill 详解、触发机制、开发规范 |
140
+ | [docs/05-hooks.md](docs/05-hooks.md) | Hooks 系统 — 3 个 hook 触发链、配置方式、跨 IDE 适配 |
141
+ | [docs/06-templates.md](docs/06-templates.md) | 模板系统 — 14 种技术栈检测、模板生成、变量替换 |
142
+ | [docs/07-mcp-servers.md](docs/07-mcp-servers.md) | MCP 服务器 — 5 个推荐服务器配置说明 |
143
+ | [docs/08-ide-support.md](docs/08-ide-support.md) | IDE 支持 — Claude Code / Cursor / Kiro 能力对比、适配策略 |
144
+ | [docs/09-architecture.md](docs/09-architecture.md) | 系统架构设计 — 模块结构、数据流、关键设计决策 |
145
+ | [docs/10-testing.md](docs/10-testing.md) | 测试指南 — 16 个测试套件、Fixture 说明、编写新测试 |
146
+ | [docs/11-advanced-features.md](docs/11-advanced-features.md) | 高级功能 — Agent 定义、jq 自动下载、环境变量、Monorepo |
147
+ | [docs/12-contributing.md](docs/12-contributing.md) | 贡献指南 — 开发规范、测试、添加新 skill/技术栈 |
148
+
149
+ ---
150
+
151
+ ## 平台支持
152
+
153
+ | | macOS | Linux | Windows |
154
+ |---|:-----:|:-----:|:-------:|
155
+ | 安装脚本 | ✅ | ✅ | ✅ Git Bash / WSL |
156
+ | 全部功能 | ✅ | ✅ | ✅ |
157
+ | IDE 支持 | ✅ | ✅ | ✅ |
158
+
159
+ ---
160
+
161
+ ## 更新与卸载
162
+
163
+ ```bash
164
+ # 更新(一步式:拉取代码 + 自动重装变更组件)
165
+ ./install.sh --update
166
+
167
+ # 检查更新
168
+ ./install.sh --check-updates
169
+
170
+ # 卸载(动态扫描并移除所有 aTool 组件)
171
+ ./install.sh --uninstall
172
+ ```
173
+
174
+ 更新策略:Skills 按内容 checksum 增量更新,Cursor/Kiro staging 按 checksum 比较,MCP 使用 JSON 深度合并,Hooks 按 MD5 校验。详见 [docs/09-architecture.md](docs/09-architecture.md)。
175
+
176
+ ---
177
+
178
+ ## 项目结构
179
+
180
+ ```
181
+ aTool/
182
+ ├── install.sh # 主入口(CLI 参数解析 + 安装调度)
183
+ ├── VERSION # 版本号
184
+ ├── lib/ # 核心库(15 个模块)
185
+ │ ├── common.sh # 公共函数、日志、JSON 工具、模板替换、版本检测
186
+ │ ├── detect-stack.sh # 技术栈检测引擎(17 种)
187
+ │ ├── analyze-source.sh # 源码分析模块(18+ 扫描函数)
188
+ │ ├── project-init.sh # 项目初始化(monorepo + 单项目)
189
+ │ ├── install-{skills,hooks,mcp,claude,cursor,kiro}.sh
190
+ │ ├── compute-importance.sh # 模块重要性评分(8 因子加权)
191
+ │ ├── knowledge-graph.sh # 知识图谱工具(v5.0 共 11 个公开函数,CK 度量,介数中心性)
192
+ │ ├── multi-dimensional-analysis.sh # 五维分析框架(结构/行为/数据/质量/语义)
193
+ │ ├── generate-visualization.sh # Cytoscape.js 知识图谱可视化生成
194
+ │ └── visualization-template.html # 可视化 HTML 模板
195
+ ├── skills/ # Skills 集合(31 个)
196
+ │ ├── _superpowers/ # Superpowers git submodule(v5.0.6)
197
+ │ ├── {11 conventions}/ # 技术栈编码规范
198
+ │ ├── project-analyze/ # 深度项目分析 v5.0(五维分析 + 知识图谱 + 可视化 + 8 因子评分)
199
+ │ ├── project-query/ # 分析结果结构化查询系统
200
+ │ ├── code-review/ # 代码质量审查 v0.3
201
+ │ ├── software-architecture/ # 架构设计 v1.0
202
+ │ ├── smart-dispatch/ # 并行计划执行
203
+ │ └── {community,office}/ # 社区 + Office skills
204
+ ├── hooks/ # Hook 脚本(session-start, prompt-guard, doc-sync-reminder)
205
+ ├── mcp/ # MCP 服务器配置
206
+ ├── templates/ # 项目模板(79 个文件,13 栈 × 6 类型 + 1 monorepo)
207
+ ├── agents/ # Agent 规则定义
208
+ ├── tests/ # 测试(15 个套件 + 1 runner,850+ 用例)
209
+ └── docs/ # 项目文档
210
+ ```
211
+
212
+ ---
213
+
214
+ ## 开发
215
+
216
+ ```bash
217
+ # 运行全部测试
218
+ ./tests/test-run-all.sh
219
+
220
+ # 单个测试
221
+ ./tests/test-detect-stack.sh # 技术栈检测(47 用例)
222
+ ./tests/test-skill-conversion.sh # Skill 格式转换(45 用例)
223
+ ./tests/test-core-workflows.sh # 核心链路集成(61 用例)
224
+
225
+ # Dry-run 预览
226
+ ./install.sh --dry-run --all
227
+ ```
228
+
229
+ 欢迎贡献!详见 [docs/12-contributing.md](docs/12-contributing.md)。
230
+
231
+ ---
232
+
233
+ ## 许可证
234
+
235
+ [MIT License](LICENSE) - Copyright (c) 2025 aTool Contributors
package/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.3.0
@@ -0,0 +1,29 @@
1
+ # Code Reviewer Agent
2
+
3
+ You are a thorough code reviewer. Review code changes against project conventions and best practices.
4
+
5
+ ## Review Checklist
6
+
7
+ 1. **Correctness**: Does the code do what it's supposed to? Are there logic errors?
8
+ 2. **Code Style**: Does it follow the project's language/framework conventions?
9
+ 3. **Error Handling**: Are errors properly handled and propagated?
10
+ 4. **Security**: Are there any security vulnerabilities (injection, XSS, etc.)?
11
+ 5. **Performance**: Are there obvious performance issues (N+1 queries, unnecessary allocations)?
12
+ 6. **Testing**: Are there appropriate tests? Do they cover edge cases?
13
+ 7. **Documentation**: Are public APIs documented? Is the code self-explanatory?
14
+
15
+ ## Review Format
16
+
17
+ For each issue found:
18
+ - **Severity**: Critical / Warning / Suggestion
19
+ - **Location**: File and line number
20
+ - **Description**: What the issue is
21
+ - **Recommendation**: How to fix it
22
+
23
+ ## Guidelines
24
+
25
+ - Be constructive, not dismissive
26
+ - Explain why something is an issue, not just that it is
27
+ - Acknowledge good practices when you see them
28
+ - Prioritize issues by severity
29
+ - Suggest specific code changes when possible
package/bin/atool.js ADDED
@@ -0,0 +1,235 @@
1
+ #!/usr/bin/env node
2
+ // @ts-check
3
+ 'use strict';
4
+
5
+ const { execFileSync, execSync } = require('child_process');
6
+ const path = require('path');
7
+ const fs = require('fs');
8
+
9
+ // ── Resolve paths ────────────────────────────────────────────────────────────
10
+ const ROOT_DIR = path.resolve(__dirname, '..');
11
+ const VERSION_FILE = path.join(ROOT_DIR, 'VERSION');
12
+ const INSTALL_SH = path.join(ROOT_DIR, 'install.sh');
13
+
14
+ // ── Helpers ──────────────────────────────────────────────────────────────────
15
+
16
+ function readVersion() {
17
+ try {
18
+ return fs.readFileSync(VERSION_FILE, 'utf8').trim();
19
+ } catch {
20
+ return 'unknown';
21
+ }
22
+ }
23
+
24
+ function isWindows() {
25
+ return process.platform === 'win32';
26
+ }
27
+
28
+ /**
29
+ * Find bash executable on Windows (Git Bash or WSL).
30
+ * Returns the path to bash or null if not found.
31
+ */
32
+ function findBashOnWindows() {
33
+ const candidates = [
34
+ // Git for Windows
35
+ 'C:\\Program Files\\Git\\bin\\bash.exe',
36
+ 'C:\\Program Files (x86)\\Git\\bin\\bash.exe',
37
+ path.join(process.env.LOCALAPPDATA || '', 'Programs', 'Git', 'bin', 'bash.exe'),
38
+ path.join(process.env.PROGRAMFILES || '', 'Git', 'bin', 'bash.exe'),
39
+ ];
40
+
41
+ for (const candidate of candidates) {
42
+ if (fs.existsSync(candidate)) {
43
+ return candidate;
44
+ }
45
+ }
46
+
47
+ // Try PATH lookup
48
+ try {
49
+ const which = execSync('where bash', { encoding: 'utf8' }).trim().split('\n')[0];
50
+ if (which && fs.existsSync(which)) return which;
51
+ } catch {
52
+ // not on PATH
53
+ }
54
+
55
+ return null;
56
+ }
57
+
58
+ /**
59
+ * Run install.sh via bash with the given arguments.
60
+ */
61
+ function runInstallSh(args) {
62
+ const argList = Array.isArray(args) ? args : [args];
63
+
64
+ if (isWindows()) {
65
+ const bash = findBashOnWindows();
66
+ if (!bash) {
67
+ console.error('Error: Bash not found on Windows.');
68
+ console.error('Install Git for Windows (https://git-scm.com) and try again.');
69
+ console.error('');
70
+ console.error('Alternatively, run manually in Git Bash:');
71
+ console.error(` bash "${INSTALL_SH}" ${argList.join(' ')}`);
72
+ process.exit(1);
73
+ }
74
+ execFileSync(bash, [INSTALL_SH, ...argList], {
75
+ stdio: 'inherit',
76
+ cwd: ROOT_DIR,
77
+ env: { ...process.env, ATOOL_ROOT: ROOT_DIR },
78
+ });
79
+ } else {
80
+ // macOS / Linux — delegate directly to bash
81
+ execFileSync('bash', [INSTALL_SH, ...argList], {
82
+ stdio: 'inherit',
83
+ cwd: ROOT_DIR,
84
+ env: { ...process.env, ATOOL_ROOT: ROOT_DIR },
85
+ });
86
+ }
87
+ }
88
+
89
+ // ── CLI Argument Parsing ─────────────────────────────────────────────────────
90
+
91
+ function parseArgs(argv) {
92
+ const args = argv.slice(2);
93
+ const command = args[0] || 'help';
94
+ const flags = args.slice(1);
95
+
96
+ return { command, flags };
97
+ }
98
+
99
+ function hasFlag(flags, name) {
100
+ return flags.includes(`--${name}`) || flags.includes(`-${name}`);
101
+ }
102
+
103
+ // ── Command Handlers ─────────────────────────────────────────────────────────
104
+
105
+ function cmdInstall(flags) {
106
+ const installArgs = [];
107
+
108
+ if (hasFlag(flags, 'all')) {
109
+ installArgs.push('--all');
110
+ }
111
+ if (hasFlag(flags, 'yes') || hasFlag(flags, 'y')) {
112
+ installArgs.push('--yes');
113
+ }
114
+ if (hasFlag(flags, 'claude')) {
115
+ installArgs.push('--claude');
116
+ }
117
+ if (hasFlag(flags, 'cursor')) {
118
+ installArgs.push('--cursor');
119
+ }
120
+ if (hasFlag(flags, 'kiro')) {
121
+ installArgs.push('--kiro');
122
+ }
123
+ if (hasFlag(flags, 'dry-run')) {
124
+ installArgs.push('--dry-run');
125
+ }
126
+ if (hasFlag(flags, 'force')) {
127
+ installArgs.push('--force');
128
+ }
129
+
130
+ // Pass through --project and --analyze with their values
131
+ const flagsList = flags.join(' ');
132
+ const projectMatch = flagsList.match(/--project\s+(\S+)/);
133
+ if (projectMatch) {
134
+ installArgs.push('--project', projectMatch[1]);
135
+ }
136
+ const analyzeMatch = flagsList.match(/--analyze\s+(\S+)/);
137
+ if (analyzeMatch) {
138
+ installArgs.push('--analyze', analyzeMatch[1]);
139
+ }
140
+
141
+ if (installArgs.length === 0) {
142
+ installArgs.push('--all');
143
+ }
144
+
145
+ runInstallSh(installArgs);
146
+ }
147
+
148
+ function cmdUpdate(flags) {
149
+ const updateArgs = ['--update'];
150
+ if (hasFlag(flags, 'yes') || hasFlag(flags, 'y')) {
151
+ updateArgs.push('--yes');
152
+ }
153
+ runInstallSh(updateArgs);
154
+ }
155
+
156
+ function cmdCheckUpdates() {
157
+ const installedVersion = readVersion();
158
+ const output = {
159
+ installedVersion,
160
+ packageVersion: require(path.join(ROOT_DIR, 'package.json')).version,
161
+ platform: process.platform,
162
+ arch: process.arch,
163
+ };
164
+
165
+ console.log(JSON.stringify(output, null, 2));
166
+ }
167
+
168
+ function cmdVersion() {
169
+ const version = readVersion();
170
+ console.log(`aTool v${version}`);
171
+ }
172
+
173
+ function cmdHelp() {
174
+ const version = readVersion();
175
+ console.log(`aTool - AI Developer Toolkit v${version}`);
176
+ console.log('');
177
+ console.log('Usage:');
178
+ console.log(' atool install [--all] [--yes] [--claude] [--cursor] [--kiro]');
179
+ console.log(' atool update [--yes]');
180
+ console.log(' atool check-updates');
181
+ console.log(' atool version');
182
+ console.log(' atool help');
183
+ console.log('');
184
+ console.log('Commands:');
185
+ console.log(' install Install aTool to detected AI IDEs (default: --all)');
186
+ console.log(' update Update aTool to the latest version');
187
+ console.log(' check-updates Check installed version info (JSON output)');
188
+ console.log(' version Show current version');
189
+ console.log(' help Show this help message');
190
+ console.log('');
191
+ console.log('Options:');
192
+ console.log(' --all Install to all detected IDEs');
193
+ console.log(' --claude Install to Claude Code CLI only');
194
+ console.log(' --cursor Install to Cursor only');
195
+ console.log(' --kiro Install to Kiro only');
196
+ console.log(' --yes, -y Skip confirmation prompts');
197
+ console.log(' --dry-run Preview mode — no changes made');
198
+ console.log(' --force Overwrite existing configs');
199
+ console.log(' --project PATH Initialize a project');
200
+ console.log(' --analyze PATH Prepare project for deep analysis');
201
+ }
202
+
203
+ // ── Main ─────────────────────────────────────────────────────────────────────
204
+
205
+ function main() {
206
+ const { command, flags } = parseArgs(process.argv);
207
+
208
+ switch (command) {
209
+ case 'install':
210
+ case 'i':
211
+ cmdInstall(flags);
212
+ break;
213
+ case 'update':
214
+ case 'u':
215
+ cmdUpdate(flags);
216
+ break;
217
+ case 'check-updates':
218
+ case 'check':
219
+ cmdCheckUpdates();
220
+ break;
221
+ case 'version':
222
+ case '-v':
223
+ case '--version':
224
+ cmdVersion();
225
+ break;
226
+ case 'help':
227
+ case '-h':
228
+ case '--help':
229
+ default:
230
+ cmdHelp();
231
+ break;
232
+ }
233
+ }
234
+
235
+ main();
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env node
2
+ // @ts-check
3
+ 'use strict';
4
+
5
+ const path = require('path');
6
+ const fs = require('fs');
7
+
8
+ const ROOT_DIR = path.resolve(__dirname, '..');
9
+ const VERSION_FILE = path.join(ROOT_DIR, 'VERSION');
10
+
11
+ function readVersion() {
12
+ try {
13
+ return fs.readFileSync(VERSION_FILE, 'utf8').trim();
14
+ } catch {
15
+ return 'unknown';
16
+ }
17
+ }
18
+
19
+ const version = readVersion();
20
+ console.log(`aTool installed successfully (v${version})`);
21
+ console.log('');
22
+ console.log('Run "atool install --all --yes" to configure your AI IDEs.');
23
+ console.log('Or open aTool Monitor to get started with the GUI.');