@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
@@ -0,0 +1,270 @@
1
+ ---
2
+ name: project-analyze
3
+ description: "Deep project analysis v5.0 — 7-phase pipeline with five-dimensional analysis framework, 14 node types, 24 edge types, 5-level granularity zooming, interactive visualization (Cytoscape.js), and query system. 5 depth levels (L1-L5): Discovery → Pre-Scan → Inventory → Deep Analysis → Knowledge Graph → Multi-Dimensional Analysis → Code Quality → Document Synthesis → Validation. Checkpoint/resume, incremental docs, large-module decomposition. Zero-KT standard, Chinese output. 触发:分析项目/生成文档/analyze project/generate docs/project analysis"
4
+ version: 5.0.0
5
+ ---
6
+
7
+ # Project Analyzer v5.0
8
+
9
+ 11 阶段流水线深度分析项目,通过知识图谱驱动生成完整文档。支持 16 种技术栈,5 级分析深度(L1-L5),断点续传,超大模块自动拆分。
10
+
11
+ ## 核心原则:Zero-KT(零知识传递)
12
+
13
+ 所有文档满足「Zero-KT」标准:**新人仅凭文档即可独立完成任务,无需向任何人提问**:
14
+ 1. **理解项目**:为什么架构是这样设计的,每个模块为什么存在
15
+ 2. **添加功能**:知道在哪个文件、哪个层、按照什么模式添加
16
+ 3. **修复缺陷**:知道错误可能在哪个模块、如何调试、如何验证
17
+ 4. **理解业务**:知道核心业务术语、业务规则、数据含义
18
+
19
+ **三人测试**:文档必须通过——(1) 新入职开发者能理解 (2) 不看源码能操作 (3) 遇到问题有排查指引。**所有 sub-agent prompt 必须包含此原则作为质量评判标准。**
20
+
21
+ ## 触发条件
22
+
23
+ - 用户说「分析项目」「生成文档」「项目分析」「文档生成」「分析代码」「帮我分析这个项目」
24
+ - 用户说 "analyze project", "analyze codebase", "generate docs", "project analysis", "understand this codebase"
25
+ - 老项目接入 aTool 需要建立文档基线
26
+
27
+ ## 全局输出语言约束(硬性)
28
+
29
+ 所有文档**必须中文**(README.md、COMPONENT.md、UI_STYLE.md、CODE_REVIEW.md、docs/、MODULE-DOC.md、ASCII 图标注)。
30
+ **例外(保持英文)**:代码块、文件路径、技术标识符(变量/函数/类名)、API 路径、包名、Git 分支名。
31
+ **每个 sub-agent prompt 的第一条指令即为此约束,不可遗漏。**
32
+
33
+ ## 分析深度等级
34
+
35
+ | 等级 | 说明 | 适合场景 |
36
+ |------|------|----------|
37
+ | L1 | 结构扫描:目录树 + 依赖表 + 技术栈识别 | 快速概览、>500 文件项目 |
38
+ | L2 | 架构分析:L1 + 架构图 + 数据流 + 模块文档 + docs/ + 代码质量(**默认**) | 大多数场景 |
39
+ | L3 | 深度实现:L2 + 核心函数签名 + 接口定义 + 关键实现细节 + 代码示例 + 设计决策记录 | 关键模块、交接文档 |
40
+ | L4 | 函数级分析:L3 + 逐函数调用链追踪 + 性能热点识别 + 安全审计点 + 数据流路径 | 质量审查、性能优化 |
41
+ | L5 | 跨模块行为推断:L4 + 时序图 + 状态机 + 异常路径追踪 + 数据血缘 | 架构重构、完整技术文档 |
42
+
43
+ **选择规则**:用户未指定 → 默认 L2;<50 文件 → 建议提升到 L3;L3/L4/L5 对所有项目规模可用(通过多批次执行)。**L1 特殊**:Phase 0.5 完全替代 Phase 1(0 AI agents,纯 bash 提取)。
44
+
45
+ ---
46
+
47
+ ## Pipeline Controller
48
+
49
+ ### Execution Flow
50
+
51
+ 1. **Detect IDE** → set execution_mode (parallel/sequential/compressed)
52
+ 2. **Read `analysis-state.json`** (if exists) → determine resume point (see `phases/phase0-discovery.md` 0.5a)
53
+ 3. **Execute Phase 0**: Read `phases/phase0-discovery.md` → detect stack, evaluate scale, compute importance, get user confirmation → write `analysis-state.json`
54
+ 4. **Execute Phase 0.5 (Pre-Scan)**: Run `source lib/pre-scan.sh && pre_scan_project "$PROJECT_ROOT" "$PRESCAN_DIR"` → pure bash structural extraction → output `.atool-docs/pre-scan/{module-slug}.json` + `manifest.json` → write checkpoint `phase0_5_prescan = "completed"`
55
+ 5. Based on Phase 0 + Phase 0.5 pre-scan data → set depth, scale, module list
56
+ 6. **For each phase in pipeline order**:
57
+ - Check preconditions in `analysis-state.json`
58
+ - If not completed:
59
+ - **Read `phases/phase{N}-{name}.md`** for detailed instructions
60
+ - Execute phase → write checkpoint to `analysis-state.json`
61
+ 6. **Phase 6**: Read `phases/phase6-validation.md` → validate all outputs → write summary
62
+
63
+ ### Pipeline Order
64
+
65
+ ```
66
+ Phase 0 → phases/phase0-discovery.md (always)
67
+ Phase 0.5→ phases/phase0.5-prescan.md (always, pure bash, no AI)
68
+ Phase 1 → phases/phase1-inventory.md (always; L1 depth: skip, use Phase 0.5 data)
69
+ Phase 2 → phases/phase2-deep-analysis.md (skip if Kiro)
70
+ Phase 2a → phases/phase2a-l4-analysis.md (only if depth >= L4, skip if Kiro)
71
+ Phase 2b → phases/phase2b-l5-analysis.md (only if depth >= L5, skip if Kiro)
72
+ Phase 3 → phases/phase3-knowledge-graph.md (always, main agent only)
73
+ Phase 3a → phases/phase3a-multi-dimensional.md (always, Kiro: structure only)
74
+ Phase 4 → phases/phase4-code-quality.md (skip if Kiro)
75
+ Phase 5 → phases/phase5-synthesis.md (always)
76
+ Phase 6 → phases/phase6-validation.md (always)
77
+ ```
78
+
79
+ ### IMPORTANT RULE
80
+
81
+ **Before executing ANY phase, you MUST read the corresponding phase file from `phases/phase{N}-{name}.md`. Do not execute from memory. Each phase file contains critical details not duplicated here.**
82
+
83
+ ### Phase 0.5: Pre-Scan (纯 Bash,无 AI)
84
+
85
+ **目标**:使用 grep/awk/jq 秒级提取所有语法元数据,消除 AI 重复读取。
86
+
87
+ **执行**:
88
+ 1. 读取 `analysis-state.json` 获取模块列表和技术栈
89
+ 2. 执行 `source lib/pre-scan.sh && pre_scan_project "$PROJECT_ROOT" "$PRESCAN_DIR"`
90
+ 3. 输出 `.atool-docs/pre-scan/{module-slug}.json` + `manifest.json`
91
+ 4. 写入检查点 `phase0_5_prescan = "completed"`
92
+
93
+ **支持语言**:Python, Java/Kotlin, TypeScript/JavaScript/Vue/Svelte, Go, Rust, 通用 fallback
94
+
95
+ **性能目标**:152 文件/10 模块 < 10 秒(vs AI Phase 1 的 2-4 分钟)
96
+
97
+ **增量扫描**:比对文件 MD5 hash,仅重新扫描变更文件。
98
+
99
+ **降级**:pre-scan 失败时,Phase 1 自动回退到全量 AI 提取(v5.0 行为)。
100
+
101
+ 详细指令:`phases/phase0.5-prescan.md`
102
+
103
+ ### Sub-Agent Prompts
104
+
105
+ When dispatching sub-agents for phases 1, 2, 2a, 4:
106
+ - Read the prompt template from `prompts/{name}-agent.md`
107
+ - Fill in module-specific variables (module name, inventory data, rules content, etc.)
108
+ - Dispatch with the filled prompt
109
+
110
+ | Phase | Prompt Template | Variables to Fill |
111
+ |-------|----------------|-------------------|
112
+ | Phase 1 | `prompts/inventory-agent.md` | file_list, module-slug |
113
+ | Phase 2 | `prompts/deep-analysis-agent.md` | module_name, inventory_json_content, rules_content, stack, project_name, module_list, depth_specific_instructions |
114
+ | Phase 2a | `prompts/l4-analysis-agent.md` | module_name, analysis_json_content, inventory_json_content, file_list |
115
+ | Phase 4 | `prompts/code-review-agent.md` | module_name, inventory_json, relevant_graph_subtree, multi_dimensional_context, file_list |
116
+
117
+ ### Batch Dispatch Rule (Hard Limit)
118
+
119
+ **Maximum 5 concurrent sub-agents at all times.** When modules > 5, dispatch in batches of 5 by importance descending order. Wait for all agents in current batch to complete before dispatching next batch.
120
+
121
+ ---
122
+
123
+ ## Cross-IDE Adaptation
124
+
125
+ ### IDE Detection
126
+
127
+ ```
128
+ if "Agent" tool available (sub-agent dispatch):
129
+ IDE = "claude" → full parallel mode
130
+ elif Cursor environment detected (CURSOR_* env vars):
131
+ IDE = "cursor" → sequential mode
132
+ elif Kiro environment detected:
133
+ IDE = "kiro" → compressed mode
134
+ else:
135
+ IDE = "claude" → default full parallel
136
+ ```
137
+
138
+ ### Phase Availability Matrix
139
+
140
+ | Phase | Claude | Cursor | Kiro | Notes |
141
+ |-------|--------|--------|------|-------|
142
+ | Phase 0 | full | full | full | All IDEs |
143
+ | Phase 0.5 | full (bash) | full (bash) | full (bash) | Pure shell, no AI |
144
+ | Phase 1 | parallel | sequential | compressed (file counts only) | |
145
+ | Phase 2 | parallel | sequential | **skip** | Kiro uses inventory directly |
146
+ | Phase 2a | parallel | sequential | **skip** | L4 function-level |
147
+ | Phase 2b | parallel+aggregate | sequential | **skip** | L5 cross-module |
148
+ | Phase 3 | main agent | main agent | main agent | No sub-agents |
149
+ | Phase 3a | 5 dimensions | 5 dimensions | structure only | v5.0 |
150
+ | Phase 4 | parallel | sequential | **skip** | |
151
+ | Phase 5 | full | full | L1 quality from inventory | |
152
+ | Phase 6 | full | full | full | All IDEs |
153
+
154
+ ### Kiro Compressed Mode
155
+ Phase 0.5: full pre-scan (bash, same as all IDEs). Phase 1: file counts + import/export counts only (no signatures). Phase 5: L1 quality docs from pre-scan inventory. No CODE_REVIEW.md.
156
+
157
+ ### Cursor Sequential Mode
158
+ Modules processed in importance order, one at a time. Progress line per module. Phase 3 and 6 execute normally.
159
+
160
+ ---
161
+
162
+ ## State Management & Checkpoint/Resume
163
+
164
+ ### Checkpoint Write Timing
165
+ After each sub-agent completes a module analysis, immediately write checkpoint to `analysis-state.json`:
166
+ ```
167
+ state.modules[module_slug].{phase}_status = "completed"
168
+ state.modules[module_slug].{phase}_completed_at = now()
169
+ state.checkpoint = { last_completed_phase, last_completed_module, next_pending_module, batch_index, total_batches, timestamp }
170
+ write analysis-state.json
171
+ ```
172
+
173
+ ### Resume Flow
174
+ 1. Read `.atool-docs/analysis-state.json`
175
+ 2. If no state file → full analysis
176
+ 3. If `phase0_5_prescan != "completed"` → execute Phase 0.5
177
+ 4. Detect stale modules (file hash mismatch) → mark for re-analysis
178
+ 5. Determine resume point from checkpoint
179
+ 6. Execute pending phases, skip completed, rerun stale
180
+ 7. Update final state
181
+
182
+ Detailed resume logic: see `phases/phase0-discovery.md` section 0.5a.
183
+
184
+ ### Incremental Document Recovery
185
+ When resuming Phase 5, incrementally update already-generated documents using `<!-- aTool-module-start:{slug} -->` markers. Only regenerate changed modules.
186
+
187
+ ---
188
+
189
+ ## Output File Summary
190
+
191
+ ### Final Deliverables (project directory)
192
+
193
+ | File | Condition |
194
+ |------|-----------|
195
+ | `README.md` | always |
196
+ | `COMPONENT.md` | always |
197
+ | `CODE_REVIEW.md` | L2/L3/L4/L5 |
198
+ | `UI_STYLE.md` | UI projects only |
199
+ | `CLAUDE.md` | append project rules |
200
+ | `.cursor/rules/atool-conventions.mdc` | always |
201
+ | `.kiro/steering/atool-conventions.md` | always |
202
+ | `docs/` (~15 files) | L2/L3/L4/L5 |
203
+
204
+ ### Intermediate Artifacts (.atool-docs/)
205
+
206
+ | File | Phase |
207
+ |------|-------|
208
+ | `analysis-state.json` | Phase 0 |
209
+ | `pre-scan/{module-slug}.json` | Phase 0.5 |
210
+ | `pre-scan/manifest.json` | Phase 0.5 |
211
+ | `inventory/{module-slug}.json` | Phase 1 |
212
+ | `modules/{module-slug}/MODULE-DOC.md` | Phase 2 |
213
+ | `modules/{module-slug}/analysis.json` | Phase 2 |
214
+ | `modules/{module-slug}/references.json` | Phase 2 |
215
+ | `modules/{module-slug}/l4-analysis.json` | Phase 2a (L4+) |
216
+ | `modules/{module-slug}/l5-analysis.json` | Phase 2b (L5) |
217
+ | `cross-module-behavior.json` | Phase 2b (L5) |
218
+ | `knowledge-graph.json` | Phase 3 |
219
+ | `multi-dimensional-analysis.json` | Phase 3a |
220
+ | `query-index.json` | Phase 3a |
221
+ | `visualization/index.html` | Phase 3a |
222
+ | `code-review/{module-slug}.json` | Phase 4 |
223
+
224
+ ### Multi-Project Extra Outputs
225
+
226
+ | File | Description |
227
+ |------|-------------|
228
+ | `.atool-docs/discovery.json` | Project discovery record |
229
+ | `.atool-docs/summaries/{name}/summary.md` | Sub-project summary |
230
+ | `.atool-docs/cross-project-analysis.md` | Cross-project relations |
231
+
232
+ ---
233
+
234
+ ## Error Handling
235
+
236
+ - Analysis state file corrupted → warn user, offer fresh start or manual recovery
237
+ - Pre-scan failure → graceful degradation: skip Phase 0.5, Phase 1 falls back to full AI extraction (v5.0 behavior)
238
+ - Sub-agent fails mid-analysis → mark module as "failed" in state, continue with next module, report in Phase 6
239
+ - Source file read error → skip file, mark in inventory as "unreadable", continue
240
+ - Disk space insufficient → warn immediately, offer partial save
241
+ - Resume with changed state version → auto-migrate v3.0/v4.0 → v5.0 (add missing fields with defaults)
242
+
243
+ ---
244
+
245
+ ## Important Notes
246
+
247
+ - Always check `.atool-docs/` before starting; offer incremental update if exists
248
+ - Never overwrite user-edited content — only fill sections marked as auto-generated
249
+ - Projects >500 files: warn about potential long runtime
250
+ - Output summary report upon completion (modules, files, deliverables)
251
+ - Each module document must be immediately readable (Zero-KT standard)
252
+ - Existing CLAUDE.md: only append project rules section
253
+ - docs/: only update aTool-numbered files (101, 201-801), never modify user-created docs
254
+ - All inferred content marked `[推断]`
255
+ - UI wireframes: UI projects only (web/mobile)
256
+ - **Never fabricate**: only record what is visible in code
257
+
258
+ ---
259
+
260
+ ## Skill Collaboration
261
+
262
+ | Collaborating Skill | Trigger Condition | Interaction |
263
+ |---------------------|-------------------|-------------|
264
+ | code-review | Phase 4 eight-dimension review | References rules/ files |
265
+ | software-architecture | Phase 3a structural layer violation rate >30% | Suggest running |
266
+ | {stack}-conventions | Phase 2 deep analysis | Load stack-level conventions |
267
+ | doc-standards-enforcer | Phase 5 document generation | Validate frontmatter format |
268
+ | smart-dispatch | LARGE/XLARGE projects | Batch parallel by module |
269
+ | project-query | Need to query analysis results | User manually invokes /project-query |
270
+ | clarify-before-build | Before Phase 0 user confirmation | Requirement clarification (auto-injected) |
@@ -0,0 +1,278 @@
1
+ # Phase 0: Discovery & Planning
2
+
3
+ **目标**:检测技术栈、评估规模、制定策略、获得用户确认。
4
+
5
+ ## 前置条件
6
+
7
+ - 无前置阶段(首个阶段)
8
+ - 如存在 `.atool-docs/analysis-state.json`,先执行 Resume 检测(见 0.5a)
9
+
10
+ ## 详细步骤
11
+
12
+ ### 0.1 技术栈检测
13
+
14
+ 复用 `lib/detect-stack.sh` 逻辑:
15
+
16
+ 1. 检查信号文件(package.json, pom.xml, Cargo.toml, go.mod 等)
17
+ 2. 确定具体技术栈(如 `java-spring`, `web-react`, `mobile-swift`)
18
+ 3. Monorepo:检查各子目录信号文件,按栈分组
19
+
20
+ ### 0.2 规模评估与策略选择
21
+
22
+ 统计源文件数(排除 node_modules, build, .git, vendor, target, dist),按规模选择策略:
23
+
24
+ | 规模 | 文件数 | 建议深度 | 覆盖率 | 最大 Agent | 多批次 | 说明 |
25
+ |------|--------|---------|--------|-----------|--------|------|
26
+ | TINY | 1-50 | L3 | 100% | 5 | 否 | 小项目全量深度分析 |
27
+ | SMALL | 51-200 | L2 | 100% | 5 | L3+ 自动分批 | 中小项目,L3+ 按模块分批 |
28
+ | MEDIUM | 201-500 | L2 | 100% | 5 | L3+ 自动分批 | 中型项目,每批 5 模块 |
29
+ | LARGE | 501-1500 | L2 | Top 80% | 5 | L3+ 自动分批 | 非核心模块 L2,核心 L3+ |
30
+ | XLARGE | 1501-5000 | L2 | Top 50% | 5 | L3+ 始终分批 | 核心 L3+,重要 L2,其余 L1 |
31
+ | MEGA | 5001+ | L2 | 用户选择 | 5 | Wave 策略 | 多波策略,Wave 深度递增 |
32
+
33
+ **深度覆盖规则**:建议深度为推荐值,用户可在 Phase 0.6 覆盖为任意深度。LARGE/XLARGE 的覆盖率仅影响 L4/L5 深度的模块范围,所有模块至少 L2。
34
+
35
+ ### 0.2a 批量派发规则(硬性限制)
36
+
37
+ **无论项目规模如何,同时运行的 sub-agent 上限为 5 个。** 这是防止 LLM 并发限制和 API 限流的硬性要求。
38
+
39
+ 当模块数量超过 5 时,按以下规则分批派发:
40
+ 1. 将所有模块按 importance 评分**降序排列**(高重要性模块优先)
41
+ 2. 派发第一批 5 个 agent(Top 5 重要性模块)
42
+ 3. **等待当前批次所有 agent 完成**后再派发下一批
43
+ 4. 重复直到所有模块分析完毕
44
+
45
+ 此规则适用于 Phase 1(Inventory)、Phase 2(Deep Analysis)和 Phase 4(Code Quality)。
46
+
47
+ ### 0.3 重要性评分 (v5.0: 8 因子)
48
+
49
+ 调用 `lib/compute-importance.sh` 计算模块重要性,v5.0 新增 3 个因子:
50
+
51
+ | 因子 | 权重 | 说明 |
52
+ |------|------|------|
53
+ | centrality | 0.20 | 有多少模块 import 此模块 |
54
+ | size | 0.15 | log(file_count+1)/log(max+1) |
55
+ | entry_point | 0.15 | 包含 router/main/controller 文件 |
56
+ | business_critical | 0.15 | 路径包含业务关键词 |
57
+ | recency | 0.10 | 近 30 天 git 提交活跃度 |
58
+ | **layer_core** | **0.10** | **是否在 service/domain 核心业务层** |
59
+ | **api_surface** | **0.10** | **暴露的 API 端点数量** |
60
+ | **data_ownership** | **0.05** | **拥有的数据实体数量** |
61
+
62
+ 总分 0.0-1.0,分三档:deep(>=0.6), catalog(>=0.3), skip(<0.3)。
63
+
64
+ 模块按 importance 降序排列,LARGE/XLARGE 取 Top N。
65
+
66
+ #### 0.3a 架构层检测 (v5.0 NEW)
67
+
68
+ 调用 `lib/knowledge-graph.sh` 的 `detect_architectural_layers()` 进行启发式层检测。
69
+
70
+ 检测 8 种架构层:
71
+ | 层类型 | 匹配模式 |
72
+ |--------|---------|
73
+ | presentation | controller, api, route, view, page, screen, handler, endpoint |
74
+ | service | service, usecase, application, facade, manager, logic |
75
+ | repository | repository, dao, mapper, gateway, persistence, store |
76
+ | domain | domain, model, entity, aggregate, valueobject |
77
+ | infrastructure | config, util, helper, common, shared, infra, middleware |
78
+ | ui | component, widget, layout, template |
79
+ | test | test, spec, mock, fixture, __tests__ |
80
+ | data | schema, migration, seed, database |
81
+
82
+ 检测结果写入 `analysis-state.json` 的 `layers.detected` 和 `layers.assignments`。
83
+ Phase 2 中 sub-agent 会验证和修正这些分配。
84
+
85
+ ### 0.4 MEGA Wave 策略
86
+
87
+ 5001+ 文件项目使用分波分析:
88
+
89
+ ```
90
+ Wave 1 (L1 Quick Scan): 所有模块 → 产出 inventory.json(轻量)
91
+ Wave 2 (L2 Deep): 用户从 Wave 1 结果中选择核心模块(≤20)→ 深度分析
92
+ Wave 3 (L2 Selective): 根据知识图谱发现的关键依赖模块(≤15)→ 补充分析
93
+ Wave 4 (L3/L4/L5 Focused): 用户指定的特定模块(≤5)→ 最深度分析(可选 L3/L4/L5)
94
+ ```
95
+
96
+ 每波结束后向用户展示发现摘要,由用户决定是否继续下一波。
97
+
98
+ ### 0.5 初始化状态文件
99
+
100
+ 写入 `.atool-docs/analysis-state.json`(v5.0 schema):
101
+
102
+ ```json
103
+ {
104
+ "version": "5.0",
105
+ "pipeline": "6-phase",
106
+ "status": "planning",
107
+ "created_at": "2024-01-01T00:00:00Z",
108
+ "updated_at": "2024-01-01T00:00:00Z",
109
+ "stack": "web-react",
110
+ "template": "web",
111
+ "depth": "L4",
112
+ "scale": "MEDIUM",
113
+ "total_files": 342,
114
+ "total_modules": 28,
115
+ "ide": "claude",
116
+ "checkpoint": {
117
+ "last_completed_phase": "phase2",
118
+ "last_completed_module": "user-management",
119
+ "next_pending_module": "order-management",
120
+ "batch_index": 2,
121
+ "total_batches": 6,
122
+ "timestamp": "2024-01-01T00:05:00Z"
123
+ },
124
+ "phases": {
125
+ "phase0_discovery": { "status": "completed", "at": "..." },
126
+ "phase0_5_prescan": "pending",
127
+ "phase1_inventory": { "status": "pending" },
128
+ "phase2_deep_analysis": { "status": "pending" },
129
+ "phase2a_l4_analysis": { "status": "pending" },
130
+ "phase2b_l5_analysis": { "status": "pending" },
131
+ "phase3_knowledge_graph": { "status": "pending" },
132
+ "phase3a_multi_dimensional": { "status": "pending" },
133
+ "phase4_code_quality": { "status": "pending" },
134
+ "phase5_synthesis": { "status": "pending" },
135
+ "phase6_validation": { "status": "pending" }
136
+ },
137
+ "layers": {
138
+ "detected": ["presentation", "service", "repository", "domain", "infrastructure"],
139
+ "assignments": {
140
+ "user-management": "presentation",
141
+ "auth-service": "service",
142
+ "user-repository": "repository"
143
+ },
144
+ "method": "heuristic"
145
+ },
146
+ "multi_dimensional": {
147
+ "structural": { "status": "pending" },
148
+ "behavioral": { "status": "pending" },
149
+ "data": { "status": "pending" },
150
+ "quality": { "status": "pending" },
151
+ "semantic": { "status": "pending" }
152
+ },
153
+ "modules": {
154
+ "user-management": {
155
+ "path": "src/views/user/",
156
+ "importance": 0.87,
157
+ "file_count": 15,
158
+ "file_hashes": { "src/views/user/UserList.vue": "abc123" },
159
+ "phase1_status": "pending",
160
+ "phase2_status": "pending",
161
+ "phase2a_status": "pending",
162
+ "phase2b_status": "pending",
163
+ "phase4_status": "pending",
164
+ "phase5_docs_generated": false,
165
+ "depth_override": null
166
+ }
167
+ },
168
+ "batches": {
169
+ "phase2": {
170
+ "total_batches": 6,
171
+ "current_batch": 0,
172
+ "batch_plan": [
173
+ { "batch": 1, "modules": ["auth", "user-management", "dashboard", "api-core", "store"], "status": "pending" }
174
+ ]
175
+ }
176
+ },
177
+ "depth_plan": {
178
+ "requested_depth": "L4",
179
+ "module_depth_overrides": {},
180
+ "estimated_batches": { "phase2": 6, "phase2a": 6, "phase2b": 4 }
181
+ },
182
+ "strategy": {
183
+ "max_agents": 5,
184
+ "coverage": "100%",
185
+ "sampling": "none"
186
+ }
187
+ }
188
+ ```
189
+
190
+ **向后兼容**:读取 v3.0/v4.0 文件时,`phase3a_multi_dimensional` 默认 "pending",`layers` 和 `multi_dimensional` 默认空,`checkpoint` 默认 null,`depth` 保持原值。
191
+
192
+ ### 0.5a Resume 检测(Phase 0 前置)
193
+
194
+ 执行 Phase 0 之前,检查是否存在可恢复的分析:
195
+
196
+ ```
197
+ state_file = .atool-docs/analysis-state.json
198
+
199
+ if not exists(state_file):
200
+ → 全新分析,执行 Phase 0
201
+
202
+ state = read(state_file)
203
+
204
+ if state.status == "completed":
205
+ → 展示「检测到已完成的分析(技术栈、深度、日期)」
206
+ → 选项: [r=重新分析 / i=增量更新 / n=跳过]
207
+
208
+ else (中断的分析):
209
+ checkpoint = state.checkpoint
210
+ completed_phases = [p for p in state.phases if status == "completed"]
211
+ completed_modules = count modules with phase2_status == "completed"
212
+ stale_modules = modules where file_hashes mismatch
213
+
214
+ → 展示:
215
+ 技术栈: {stack}
216
+ 深度: {depth}
217
+ 已完成阶段: {completed_phases}
218
+ 已完成模块: {completed_modules}/{total_modules}
219
+ 文件变更模块: {stale_modules}(需重新分析)
220
+ 断点: Phase {checkpoint.last_completed_phase}, 模块 {checkpoint.last_completed_module}
221
+ → 选项:
222
+ [c] 从断点恢复(推荐)
223
+ [r] 全部重新分析
224
+ [d] 删除分析数据并退出
225
+ ```
226
+
227
+ ### 0.6 用户确认(必须)
228
+
229
+ 向用户展示分析计划并获得确认:
230
+
231
+ ```
232
+ 📋 分析计划
233
+ 技术栈: web-react (React 18 + TypeScript)
234
+ 项目规模: MEDIUM (342 文件, 28 模块)
235
+
236
+ 推荐深度: L2 (架构分析)
237
+ 可用深度:
238
+ L1 结构扫描 ~5分钟 ~10K tokens
239
+ L2 架构分析(推荐) ~15分钟 ~50K tokens
240
+ L3 深度实现 ~30分钟 ~100K tokens [分6批]
241
+ L4 函数级分析 ~60分钟 ~200K tokens [分6批]
242
+ L5 跨模块行为推断 ~90分钟 ~350K tokens [分6+4批]
243
+
244
+ 策略: 全量深度分析, 最多 5 并行 Agent(按 importance 分批)
245
+ 预估产出: README.md + COMPONENT.md + CODE_REVIEW.md + docs/ 知识库(~15 文件) + IDE 规则
246
+
247
+ 请确认: [回车=推荐深度] / [L1-L5] / [m=混合模块深度] / [n=取消]
248
+ ```
249
+
250
+ #### 0.6a 混合深度配置
251
+
252
+ 如果用户选择 `m`,进入交互式模块深度配置:
253
+
254
+ ```
255
+ 模块深度配置(共 28 模块):
256
+ 默认深度: L2
257
+
258
+ Top 10 模块(按 importance):
259
+ 1. auth (0.95) → L2
260
+ 2. user-management (0.87) → L2
261
+ 3. api-core (0.82) → L2
262
+ ...
263
+
264
+ 输入模块编号和深度(如 "1 L4, 2 L5")或直接回车确认全部使用默认深度:
265
+ ```
266
+
267
+ 混合深度写入 `depth_plan.module_depth_overrides` 字段。
268
+
269
+ ## 输出
270
+
271
+ - `.atool-docs/analysis-state.json` — 初始化的完整状态文件
272
+ - 控制台展示分析计划并获得用户确认
273
+
274
+ > **注意**:Phase 0 完成后,自动进入 Phase 0.5 Pre-Scan(纯 bash 执行,无 AI 介入)
275
+
276
+ ## IDE 适配
277
+
278
+ 所有 IDE 均执行 Phase 0(无差异)。
@@ -0,0 +1,139 @@
1
+ # Phase 0.5: Pre-Scan
2
+
3
+ **目标**:快速结构化元数据提取 — 使用 grep/awk/jq 扫描源码,无需 AI 介入。
4
+
5
+ ## 前置条件
6
+
7
+ - Phase 0 已完成(`analysis-state.json` 包含模块列表和技术栈)
8
+
9
+ ## 详细步骤
10
+
11
+ ### 0.5.1 执行方式
12
+
13
+ 纯 bash 执行,不涉及 AI agent:
14
+
15
+ ```bash
16
+ source lib/pre-scan.sh
17
+ pre_scan_project "$PROJECT_ROOT" "$OUTPUT_DIR"
18
+ ```
19
+
20
+ - `OUTPUT_DIR` 默认为 `.atool-docs/pre-scan/`
21
+ - 内部调用 `detect_stack()` 确定主语言,仅调用相关语言提取器
22
+ - 支持的语言:Python, Java/Kotlin, TypeScript/JavaScript/Vue/Svelte, Go, Rust, 通用 fallback
23
+
24
+ ### 0.5.2 语言提取器
25
+
26
+ 每种语言提取器基于 grep+awk 提取以下结构信息:
27
+
28
+ | 字段 | 提取方式 | 说明 |
29
+ |------|----------|------|
30
+ | imports | `grep -E '^(from \|import )'` | 含 from/import 源、本地/外部标记 |
31
+ | exports | 从 classes + functions 推导 | 非方法函数 + 公开类 |
32
+ | classes | `grep -E '^class '` | 含继承关系 |
33
+ | functions | `grep -E '^def '` | 含参数签名、是否为方法 |
34
+ | decorators | `grep -E '^@'` | 含路由装饰器标记 |
35
+ | api_endpoints | 路由模式匹配 | HTTP 方法 + 路径 |
36
+ | data_models | 基类模式匹配 | ORM/Pydantic/Schema 类型 |
37
+
38
+ ### 0.5.3 增量检测
39
+
40
+ - 每次扫描记录文件 MD5 hash
41
+ - 再次扫描时比对 hash,仅重新扫描变更文件
42
+ - 模块级:如果所有文件 hash 未变,跳过整个模块
43
+
44
+ ### 0.5.4 输出格式
45
+
46
+ **模块级** (`.atool-docs/pre-scan/{module-slug}.json`):
47
+
48
+ ```json
49
+ {
50
+ "module": "auth",
51
+ "scan_metadata": { "scan_timestamp": "...", "extraction_method": "grep+awk+jq" },
52
+ "files": [
53
+ {
54
+ "path": "auth/service.py",
55
+ "hash": "md5",
56
+ "lines": 245,
57
+ "language": "python",
58
+ "imports": [{"from": "fastapi", "import": "Depends", "line": 3, "is_local": false}],
59
+ "exports": [{"name": "AuthService", "type": "class", "line": 15}],
60
+ "classes": [{"name": "AuthService", "bases": ["BaseService"], "line": 15}],
61
+ "functions": [{"name": "authenticate_user", "params": "username,password", "line": 88, "is_method": false}],
62
+ "decorators": [{"name": "router.post(/auth/login)", "line": 87, "is_route": true}],
63
+ "api_endpoints": [{"method": "POST", "path": "/auth/login", "line": 87}],
64
+ "data_models": [],
65
+ "extraction_confidence": "high"
66
+ }
67
+ ],
68
+ "module_summary": {
69
+ "total_files": 5,
70
+ "total_imports": 23,
71
+ "total_exports": 8,
72
+ "total_classes": 3,
73
+ "total_functions": 12,
74
+ "total_api_endpoints": 4,
75
+ "total_data_models": 1,
76
+ "external_deps": [{"package": "fastapi", "count": 5}]
77
+ }
78
+ }
79
+ ```
80
+
81
+ **项目级** (`.atool-docs/pre-scan/manifest.json`):
82
+
83
+ ```json
84
+ {
85
+ "version": "1.0",
86
+ "generated_at": "2026-01-01T00:00:00Z",
87
+ "total_modules": 10,
88
+ "scan_duration_seconds": 5,
89
+ "modules": [{"total_files": 37, "total_classes": 23, ...}]
90
+ }
91
+ ```
92
+
93
+ ### 0.5.5 错误处理
94
+
95
+ - 单文件提取失败时跳过(不影响其他文件)
96
+ - 模块目录不存在时标记 warning 并跳过
97
+ - `extraction_confidence: "low"` 标记通用提取器的结果(AI agent 需验证)
98
+ - 整体失败时优雅降级:Phase 1 回退到全量 AI 提取
99
+
100
+ ## 性能目标
101
+
102
+ | 项目规模 | 目标时间 | 对比 Phase 1 AI |
103
+ |----------|----------|----------------|
104
+ | 50 文件 | <2 秒 | ~30 秒 |
105
+ | 150 文件 | <5 秒 | ~2-4 分钟 |
106
+ | 500 文件 | <15 秒 | ~10+ 分钟 |
107
+
108
+ ## IDE 适配
109
+
110
+ | IDE | 执行方式 |
111
+ |-----|----------|
112
+ | Claude | 纯 bash 执行 |
113
+ | Cursor | 纯 bash 执行 |
114
+ | Kiro | 纯 bash 执行 |
115
+
116
+ 所有 IDE 行为完全一致 — 纯 shell 命令,不涉及 AI。
117
+
118
+ ## 检查点
119
+
120
+ 写入 `analysis-state.json`:
121
+ ```json
122
+ {
123
+ "phases": {
124
+ "phase0_5_prescan": "completed"
125
+ }
126
+ }
127
+ ```
128
+
129
+ 恢复时检查:如果 `phase0_5_prescan != "completed"`,重新执行。
130
+
131
+ ## 与后续阶段的协作
132
+
133
+ | 后续阶段 | 使用方式 |
134
+ |----------|----------|
135
+ | Phase 1 Inventory | 接收 pre-scan JSON,验证 confidence:low 文件,添加语义注释 |
136
+ | Phase 2 Deep Analysis | 接收 pre-scan 摘要,跳过结构提取,专注深度分析 |
137
+ | Phase 2a L4 Analysis | 使用函数行范围定向读取,使用 caller/callee 关系 |
138
+ | Phase 4 Code Review | 使用 pre-computed 基线指标(长函数、嵌套深度等) |
139
+ | L1 深度 | Phase 0.5 完全替代 Phase 1(0 AI agent) |