@mrciphersmith/keryx 0.2.9

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 (297) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +351 -0
  3. package/dist/cli.js +48427 -0
  4. package/dist/proxy-worker.js +381 -0
  5. package/package.json +63 -0
  6. package/src/gdgraph/affected.test.ts +100 -0
  7. package/src/gdgraph/affected.ts +135 -0
  8. package/src/gdgraph/build-integrity.test.ts +193 -0
  9. package/src/gdgraph/build-lang.test.ts +399 -0
  10. package/src/gdgraph/build.test.ts +120 -0
  11. package/src/gdgraph/build.ts +804 -0
  12. package/src/gdgraph/config.test.ts +47 -0
  13. package/src/gdgraph/config.ts +113 -0
  14. package/src/gdgraph/core-sources.test.ts +99 -0
  15. package/src/gdgraph/core-sources.ts +20 -0
  16. package/src/gdgraph/enrich.ts +79 -0
  17. package/src/gdgraph/fallback.test.ts +153 -0
  18. package/src/gdgraph/find.test.ts +78 -0
  19. package/src/gdgraph/find.ts +107 -0
  20. package/src/gdgraph/pagerank.ts +129 -0
  21. package/src/gdgraph/path.test.ts +56 -0
  22. package/src/gdgraph/path.ts +112 -0
  23. package/src/gdgraph/query.ts +133 -0
  24. package/src/gdgraph/repomap.test.ts +110 -0
  25. package/src/gdgraph/repomap.ts +193 -0
  26. package/src/gdgraph/service.test.ts +59 -0
  27. package/src/gdgraph/service.ts +51 -0
  28. package/src/gdgraph/staleness.ts +20 -0
  29. package/src/gdgraph/symbol.test.ts +89 -0
  30. package/src/gdgraph/symbol.ts +123 -0
  31. package/src/gdgraph/symbols-capability.test.ts +41 -0
  32. package/src/gdgraph/symbols-capability.ts +49 -0
  33. package/src/gdgraph/target.ts +56 -0
  34. package/src/gdgraph/treesitter/adapter.test.ts +249 -0
  35. package/src/gdgraph/treesitter/adapter.ts +213 -0
  36. package/src/gdgraph/treesitter/extract.test.ts +278 -0
  37. package/src/gdgraph/treesitter/extract.ts +389 -0
  38. package/src/gdgraph/treesitter/grammars.ts +110 -0
  39. package/src/gdgraph/treesitter/no-treesitter-import.test.ts +51 -0
  40. package/src/gdgraph/treesitter/resolve-calls.test.ts +38 -0
  41. package/src/gdgraph/types.ts +63 -0
  42. package/src/gdskills/bundled/rules/core/api-contracts.mdc +148 -0
  43. package/src/gdskills/bundled/rules/core/async-patterns.mdc +185 -0
  44. package/src/gdskills/bundled/rules/core/clean-architecture.mdc +163 -0
  45. package/src/gdskills/bundled/rules/core/code-review-ai-assistant.mdc +49 -0
  46. package/src/gdskills/bundled/rules/core/code-review-b091-profile.mdc +48 -0
  47. package/src/gdskills/bundled/rules/core/code-style-patterns.mdc +54 -0
  48. package/src/gdskills/bundled/rules/core/commit-message-formatting.mdc +25 -0
  49. package/src/gdskills/bundled/rules/core/database-patterns.mdc +162 -0
  50. package/src/gdskills/bundled/rules/core/documentation-management.mdc +106 -0
  51. package/src/gdskills/bundled/rules/core/error-handling.mdc +163 -0
  52. package/src/gdskills/bundled/rules/core/execution-metrics.md +99 -0
  53. package/src/gdskills/bundled/rules/core/frontend-assistant.mdc +40 -0
  54. package/src/gdskills/bundled/rules/core/git-rules.mdc +37 -0
  55. package/src/gdskills/bundled/rules/core/gproject-contracts.mdc +198 -0
  56. package/src/gdskills/bundled/rules/core/implementation-doc-mandate.mdc +149 -0
  57. package/src/gdskills/bundled/rules/core/implementation-plans.mdc +58 -0
  58. package/src/gdskills/bundled/rules/core/jobs-documentation.mdc +221 -0
  59. package/src/gdskills/bundled/rules/core/mobx-store-template.mdc +561 -0
  60. package/src/gdskills/bundled/rules/core/model-selection.mdc +53 -0
  61. package/src/gdskills/bundled/rules/core/nestjs-dto.mdc +50 -0
  62. package/src/gdskills/bundled/rules/core/playwright-testing.mdc +321 -0
  63. package/src/gdskills/bundled/rules/core/requirements-management.mdc +35 -0
  64. package/src/gdskills/bundled/rules/core/requirements-package-standard.mdc +103 -0
  65. package/src/gdskills/bundled/rules/core/review-agent-profile.mdc +49 -0
  66. package/src/gdskills/bundled/rules/core/review-strict-profile.mdc +44 -0
  67. package/src/gdskills/bundled/rules/core/rule-management-workflow.mdc +62 -0
  68. package/src/gdskills/bundled/rules/core/security-baseline.mdc +155 -0
  69. package/src/gdskills/bundled/rules/core/shared-definitions.mdc +79 -0
  70. package/src/gdskills/bundled/rules/core/skill-lifecycle.mdc +55 -0
  71. package/src/gdskills/bundled/rules/core/skills-storage-workflow.mdc +88 -0
  72. package/src/gdskills/bundled/rules/core/solid-principles.mdc +149 -0
  73. package/src/gdskills/bundled/rules/core/storybook-guidelines.mdc +36 -0
  74. package/src/gdskills/bundled/rules/core/subagent-context-construction.md +107 -0
  75. package/src/gdskills/bundled/rules/core/subagent-status-protocol.md +169 -0
  76. package/src/gdskills/bundled/rules/core/tdd-workflow.mdc +96 -0
  77. package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.codex.md +47 -0
  78. package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.cursor.md +55 -0
  79. package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.md +352 -0
  80. package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.opencode.md +39 -0
  81. package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.zed.md +29 -0
  82. package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.codex.md +567 -0
  83. package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.cursor.md +567 -0
  84. package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.md +655 -0
  85. package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.opencode.md +567 -0
  86. package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.zed.md +567 -0
  87. package/src/gdskills/bundled/skills/orchestration/context-collector/input-contract.schema.json +134 -0
  88. package/src/gdskills/bundled/skills/orchestration/context-collector/orchestrator-prompt.md +183 -0
  89. package/src/gdskills/bundled/skills/orchestration/context-collector/output-contract.schema.json +208 -0
  90. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.codex.md +1412 -0
  91. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.cursor.md +1412 -0
  92. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.detail.md +735 -0
  93. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.md +468 -0
  94. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.opencode.md +1412 -0
  95. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.zed.md +1412 -0
  96. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/analysis-request.md +62 -0
  97. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/analysis-request.template.md +79 -0
  98. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/input-contract.schema.json +247 -0
  99. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/orchestrator-prompt.md +362 -0
  100. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/output-contract.schema.json +87 -0
  101. package/src/gdskills/bundled/skills/orchestration/feature-dev/SKILL.codex.md +105 -0
  102. package/src/gdskills/bundled/skills/orchestration/feature-dev/SKILL.cursor.md +105 -0
  103. package/src/gdskills/bundled/skills/orchestration/feature-dev/SKILL.md +165 -0
  104. package/src/gdskills/bundled/skills/orchestration/flow-orchestrator/SKILL.md +379 -0
  105. package/src/gdskills/bundled/skills/orchestration/flow-orchestrator/input-contract.schema.json +33 -0
  106. package/src/gdskills/bundled/skills/orchestration/flow-orchestrator/output-contract.schema.json +41 -0
  107. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.codex.md +307 -0
  108. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.cursor.md +307 -0
  109. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.md +373 -0
  110. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.opencode.md +307 -0
  111. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.zed.md +307 -0
  112. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/input-contract.schema.json +130 -0
  113. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/issue-request.template.md +50 -0
  114. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/orchestrator-prompt.md +155 -0
  115. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/output-contract.schema.json +61 -0
  116. package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.codex.md +365 -0
  117. package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.cursor.md +365 -0
  118. package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.md +373 -0
  119. package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.opencode.md +365 -0
  120. package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.zed.md +365 -0
  121. package/src/gdskills/bundled/skills/orchestration/job-documenter/input-contract.schema.json +55 -0
  122. package/src/gdskills/bundled/skills/orchestration/job-documenter/output-contract.schema.json +58 -0
  123. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.codex.md +1701 -0
  124. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.cursor.md +1701 -0
  125. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.md +1734 -0
  126. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.opencode.md +1701 -0
  127. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.zed.md +1701 -0
  128. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/input-contract.schema.json +188 -0
  129. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/orchestrator-prompt.md +179 -0
  130. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/output-contract.schema.json +103 -0
  131. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/state.schema.json +164 -0
  132. package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.codex.md +395 -0
  133. package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.cursor.md +395 -0
  134. package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.md +556 -0
  135. package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.opencode.md +395 -0
  136. package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.zed.md +395 -0
  137. package/src/gdskills/bundled/skills/orchestration/task-implementer/input-contract.schema.json +204 -0
  138. package/src/gdskills/bundled/skills/orchestration/task-implementer/orchestrator-prompt.md +206 -0
  139. package/src/gdskills/bundled/skills/orchestration/task-implementer/output-contract.schema.json +51 -0
  140. package/src/gdskills/bundled/skills/orchestration/task-implementer/task-request.template.md +111 -0
  141. package/src/gdskills/bundled/skills/planning/autodoc-analyst/SKILL.md +163 -0
  142. package/src/gdskills/bundled/skills/planning/autodoc-architect/SKILL.md +161 -0
  143. package/src/gdskills/bundled/skills/planning/autodoc-assembler/SKILL.md +128 -0
  144. package/src/gdskills/bundled/skills/planning/autodoc-orchestrator/SKILL.md +321 -0
  145. package/src/gdskills/bundled/skills/planning/autodoc-scanner/SKILL.md +166 -0
  146. package/src/gdskills/bundled/skills/planning/autodoc-writer/SKILL.md +253 -0
  147. package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.claude.md +46 -0
  148. package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.codex.md +90 -0
  149. package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.cursor.md +90 -0
  150. package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.md +90 -0
  151. package/src/gdskills/bundled/skills/planning/consistency-checker/SKILL.codex.md +33 -0
  152. package/src/gdskills/bundled/skills/planning/consistency-checker/SKILL.cursor.md +33 -0
  153. package/src/gdskills/bundled/skills/planning/consistency-checker/SKILL.md +190 -0
  154. package/src/gdskills/bundled/skills/planning/docpack-orchestrator/SKILL.md +142 -0
  155. package/src/gdskills/bundled/skills/planning/docpack-orchestrator/input-contract.schema.json +31 -0
  156. package/src/gdskills/bundled/skills/planning/docpack-orchestrator/output-contract.schema.json +31 -0
  157. package/src/gdskills/bundled/skills/planning/docpack-review/SKILL.md +80 -0
  158. package/src/gdskills/bundled/skills/planning/docpack-review/input-contract.schema.json +20 -0
  159. package/src/gdskills/bundled/skills/planning/docpack-review/output-contract.schema.json +36 -0
  160. package/src/gdskills/bundled/skills/planning/interview/SKILL.codex.md +181 -0
  161. package/src/gdskills/bundled/skills/planning/interview/SKILL.cursor.md +181 -0
  162. package/src/gdskills/bundled/skills/planning/interview/SKILL.md +187 -0
  163. package/src/gdskills/bundled/skills/planning/interviewer/SKILL.claude.md +94 -0
  164. package/src/gdskills/bundled/skills/planning/interviewer/SKILL.codex.md +99 -0
  165. package/src/gdskills/bundled/skills/planning/interviewer/SKILL.cursor.md +99 -0
  166. package/src/gdskills/bundled/skills/planning/interviewer/SKILL.md +105 -0
  167. package/src/gdskills/bundled/skills/planning/patterns-researcher/SKILL.codex.md +33 -0
  168. package/src/gdskills/bundled/skills/planning/patterns-researcher/SKILL.cursor.md +33 -0
  169. package/src/gdskills/bundled/skills/planning/patterns-researcher/SKILL.md +237 -0
  170. package/src/gdskills/bundled/skills/planning/planner/SKILL.codex.md +33 -0
  171. package/src/gdskills/bundled/skills/planning/planner/SKILL.cursor.md +33 -0
  172. package/src/gdskills/bundled/skills/planning/planner/SKILL.md +190 -0
  173. package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.codex.md +193 -0
  174. package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.cursor.md +193 -0
  175. package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.md +193 -0
  176. package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.opencode.md +193 -0
  177. package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.zed.md +193 -0
  178. package/src/gdskills/bundled/skills/planning/prd-creator/input-contract.schema.json +63 -0
  179. package/src/gdskills/bundled/skills/planning/prd-creator/output-contract.schema.json +175 -0
  180. package/src/gdskills/bundled/skills/planning/problem-definer/SKILL.codex.md +31 -0
  181. package/src/gdskills/bundled/skills/planning/problem-definer/SKILL.cursor.md +31 -0
  182. package/src/gdskills/bundled/skills/planning/problem-definer/SKILL.md +153 -0
  183. package/src/gdskills/bundled/skills/planning/project-discovery/SKILL.codex.md +32 -0
  184. package/src/gdskills/bundled/skills/planning/project-discovery/SKILL.cursor.md +32 -0
  185. package/src/gdskills/bundled/skills/planning/project-discovery/SKILL.md +166 -0
  186. package/src/gdskills/bundled/skills/planning/spec-writer/SKILL.codex.md +44 -0
  187. package/src/gdskills/bundled/skills/planning/spec-writer/SKILL.cursor.md +44 -0
  188. package/src/gdskills/bundled/skills/planning/spec-writer/SKILL.md +243 -0
  189. package/src/gdskills/bundled/skills/planning/stack-advisor/SKILL.codex.md +43 -0
  190. package/src/gdskills/bundled/skills/planning/stack-advisor/SKILL.cursor.md +43 -0
  191. package/src/gdskills/bundled/skills/planning/stack-advisor/SKILL.md +193 -0
  192. package/src/gdskills/bundled/skills/platform/agent-entrypoint-distiller/SKILL.md +47 -0
  193. package/src/gdskills/bundled/skills/platform/claude-md-management/SKILL.codex.md +87 -0
  194. package/src/gdskills/bundled/skills/platform/claude-md-management/SKILL.cursor.md +87 -0
  195. package/src/gdskills/bundled/skills/platform/claude-md-management/SKILL.md +87 -0
  196. package/src/gdskills/bundled/skills/platform/hookify/SKILL.codex.md +100 -0
  197. package/src/gdskills/bundled/skills/platform/hookify/SKILL.cursor.md +100 -0
  198. package/src/gdskills/bundled/skills/platform/hookify/SKILL.md +100 -0
  199. package/src/gdskills/bundled/skills/quality/changelog/SKILL.claude.md +45 -0
  200. package/src/gdskills/bundled/skills/quality/changelog/SKILL.codex.md +84 -0
  201. package/src/gdskills/bundled/skills/quality/changelog/SKILL.cursor.md +84 -0
  202. package/src/gdskills/bundled/skills/quality/changelog/SKILL.md +84 -0
  203. package/src/gdskills/bundled/skills/quality/commit/SKILL.codex.md +66 -0
  204. package/src/gdskills/bundled/skills/quality/commit/SKILL.cursor.md +66 -0
  205. package/src/gdskills/bundled/skills/quality/commit/SKILL.md +66 -0
  206. package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.claude.md +40 -0
  207. package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.codex.md +66 -0
  208. package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.cursor.md +66 -0
  209. package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.md +66 -0
  210. package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.claude.md +45 -0
  211. package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.codex.md +81 -0
  212. package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.cursor.md +81 -0
  213. package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.md +81 -0
  214. package/src/gdskills/bundled/skills/quality/deploy/SKILL.claude.md +42 -0
  215. package/src/gdskills/bundled/skills/quality/deploy/SKILL.codex.md +70 -0
  216. package/src/gdskills/bundled/skills/quality/deploy/SKILL.cursor.md +70 -0
  217. package/src/gdskills/bundled/skills/quality/deploy/SKILL.md +70 -0
  218. package/src/gdskills/bundled/skills/quality/metaproject-security/SKILL.md +103 -0
  219. package/src/gdskills/bundled/skills/quality/perf-check/SKILL.claude.md +48 -0
  220. package/src/gdskills/bundled/skills/quality/perf-check/SKILL.codex.md +83 -0
  221. package/src/gdskills/bundled/skills/quality/perf-check/SKILL.cursor.md +83 -0
  222. package/src/gdskills/bundled/skills/quality/perf-check/SKILL.md +83 -0
  223. package/src/gdskills/bundled/skills/quality/pr/SKILL.codex.md +75 -0
  224. package/src/gdskills/bundled/skills/quality/pr/SKILL.cursor.md +75 -0
  225. package/src/gdskills/bundled/skills/quality/pr/SKILL.md +75 -0
  226. package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.codex.md +364 -0
  227. package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.cursor.md +295 -0
  228. package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.md +378 -0
  229. package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.opencode.md +364 -0
  230. package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.zed.md +38 -0
  231. package/src/gdskills/bundled/skills/quality/pr-issue-documenter/input-contract.schema.json +53 -0
  232. package/src/gdskills/bundled/skills/quality/pr-issue-documenter/output-contract.schema.json +46 -0
  233. package/src/gdskills/bundled/skills/quality/push/SKILL.codex.md +52 -0
  234. package/src/gdskills/bundled/skills/quality/push/SKILL.cursor.md +52 -0
  235. package/src/gdskills/bundled/skills/quality/push/SKILL.md +52 -0
  236. package/src/gdskills/bundled/skills/quality/security-audit/SKILL.claude.md +40 -0
  237. package/src/gdskills/bundled/skills/quality/security-audit/SKILL.codex.md +61 -0
  238. package/src/gdskills/bundled/skills/quality/security-audit/SKILL.cursor.md +61 -0
  239. package/src/gdskills/bundled/skills/quality/security-audit/SKILL.md +61 -0
  240. package/src/gdskills/bundled/skills/quality/test-gen/SKILL.claude.md +30 -0
  241. package/src/gdskills/bundled/skills/quality/test-gen/SKILL.codex.md +75 -0
  242. package/src/gdskills/bundled/skills/quality/test-gen/SKILL.cursor.md +75 -0
  243. package/src/gdskills/bundled/skills/quality/test-gen/SKILL.md +75 -0
  244. package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.codex.md +64 -0
  245. package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.cursor.md +74 -0
  246. package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.md +339 -0
  247. package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.opencode.md +48 -0
  248. package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.zed.md +44 -0
  249. package/src/gdskills/bundled/skills/quality/tests-creator/input-contract.schema.json +121 -0
  250. package/src/gdskills/bundled/skills/quality/tests-creator/output-contract.schema.json +127 -0
  251. package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.codex.md +204 -0
  252. package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.cursor.md +204 -0
  253. package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.md +203 -0
  254. package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.opencode.md +204 -0
  255. package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.zed.md +204 -0
  256. package/src/gdskills/bundled/skills/review/code-b091-review/SKILL.codex.md +209 -0
  257. package/src/gdskills/bundled/skills/review/code-b091-review/SKILL.cursor.md +209 -0
  258. package/src/gdskills/bundled/skills/review/code-b091-review/SKILL.md +208 -0
  259. package/src/gdskills/bundled/skills/review/code-b091-review/SKILL.opencode.md +209 -0
  260. package/src/gdskills/bundled/skills/review/code-b091-review/SKILL.zed.md +209 -0
  261. package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.codex.md +263 -0
  262. package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.cursor.md +263 -0
  263. package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.md +258 -0
  264. package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.opencode.md +263 -0
  265. package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.zed.md +263 -0
  266. package/src/gdskills/bundled/skills/review/code-style-review/SKILL.codex.md +175 -0
  267. package/src/gdskills/bundled/skills/review/code-style-review/SKILL.cursor.md +175 -0
  268. package/src/gdskills/bundled/skills/review/code-style-review/SKILL.md +168 -0
  269. package/src/gdskills/bundled/skills/review/code-style-review/SKILL.opencode.md +175 -0
  270. package/src/gdskills/bundled/skills/review/code-style-review/SKILL.zed.md +175 -0
  271. package/src/gdskills/bundled/skills/review/review-architecture/SKILL.md +360 -0
  272. package/src/gdskills/bundled/skills/review/review-backend/SKILL.md +337 -0
  273. package/src/gdskills/bundled/skills/review/review-clean-code/SKILL.md +477 -0
  274. package/src/gdskills/bundled/skills/review/review-core-boundaries/SKILL.md +93 -0
  275. package/src/gdskills/bundled/skills/review/review-flow-graph/SKILL.md +119 -0
  276. package/src/gdskills/bundled/skills/review/review-frontend/SKILL.md +595 -0
  277. package/src/gdskills/bundled/skills/review/review-frontend-conventions/SKILL.md +144 -0
  278. package/src/gdskills/bundled/skills/review/review-highload/SKILL.md +519 -0
  279. package/src/gdskills/bundled/skills/review/review-logic/SKILL.md +323 -0
  280. package/src/gdskills/bundled/skills/review/review-orchestrator/SKILL.md +927 -0
  281. package/src/gdskills/bundled/skills/review/review-orchestrator/input-contract.schema.json +153 -0
  282. package/src/gdskills/bundled/skills/review/review-orchestrator/output-contract.schema.json +77 -0
  283. package/src/gdskills/bundled/skills/review/review-orchestrator/review-context.schema.json +389 -0
  284. package/src/gdskills/bundled/skills/review/review-orchestrator/reviewer-finding.schema.json +189 -0
  285. package/src/gdskills/bundled/skills/review/review-orchestrator/reviewer-input.schema.json +241 -0
  286. package/src/gdskills/bundled/skills/review/review-performance/SKILL.md +344 -0
  287. package/src/gdskills/bundled/skills/review/review-pr-feedback/SKILL.md +327 -0
  288. package/src/gdskills/bundled/skills/review/review-security-code/SKILL.md +348 -0
  289. package/src/gdskills/bundled/skills/review/review-strict/SKILL.md +328 -0
  290. package/src/gdskills/bundled/skills/review/review-style/SKILL.md +343 -0
  291. package/src/gdskills/bundled/skills/review/review-testing-practices/SKILL.md +134 -0
  292. package/src/gdskills/bundled/skills/shared/git-merge-base.md +33 -0
  293. package/src/gdskills/contracts/agent-event.schema.json +32 -0
  294. package/src/gdskills/contracts/orchestrator-state.schema.json +58 -0
  295. package/src/gdskills/contracts/review-finding.schema.json +59 -0
  296. package/src/gdskills/contracts/subagent-dispatch.schema.json +123 -0
  297. package/src/gdskills/contracts/subagent-result.schema.json +136 -0
@@ -0,0 +1,128 @@
1
+ ---
2
+ name: autodoc-assembler
3
+ description: >
4
+ Phase 5 subagent for autodoc-orchestrator. Assembles all documentation sections
5
+ into a cohesive package: main README.md and navigation index.
6
+ Use when: dispatched by autodoc-orchestrator Phase 5.
7
+ NOT for: direct user invocation.
8
+ version: 1.0.0
9
+ ---
10
+
11
+ # autodoc-assembler
12
+
13
+ ## Purpose
14
+
15
+ Produce the final documentation entry point. Read all generated sections,
16
+ verify cross-references, write the main README and navigation index.
17
+
18
+ ## Iron Laws
19
+
20
+ | # | Law |
21
+ |---|-----|
22
+ | 1 | Read ALL docs/*.md before writing — no section may be skipped |
23
+ | 2 | README.md must be self-contained enough to orient a new developer |
24
+ | 3 | All cross-links between docs must use relative paths |
25
+ | 4 | Do NOT repeat content from sections — summarize and link |
26
+
27
+ ---
28
+
29
+ ## Input Contract
30
+
31
+ ```yaml
32
+ docs_sections: ".metaproject/jobs/<job>/docs/*.md" # all generated sections
33
+ project_map: ".metaproject/jobs/<job>/artifacts/project-map.md"
34
+ architecture: ".metaproject/jobs/<job>/artifacts/architecture.md"
35
+ JOB_DIR: "<job directory>"
36
+ PROJECT_DIR: "<project path>"
37
+ ```
38
+
39
+ ## Output Contract
40
+
41
+ ```yaml
42
+ status: "DONE" | "DONE_WITH_CONCERNS"
43
+ summary: "<2-3 sentences: what's in the final package, any gaps>"
44
+ concerns: ["<missing info, broken cross-refs, TODO items left by writers>"]
45
+ artifact_path: ".metaproject/jobs/<job>/docs/README.md"
46
+ ```
47
+
48
+ ---
49
+
50
+ ## Workflow
51
+
52
+ ### Step 1: Inventory All Sections
53
+
54
+ Read each `docs/*.md` file. Note:
55
+ - What sections were successfully written
56
+ - Any `[TODO: ...]` markers left by writers (collect into concerns)
57
+ - Missing sections that were expected but not generated
58
+
59
+ ### Step 2: Write docs/README.md
60
+
61
+ ```markdown
62
+ # <Project Name>
63
+
64
+ > <one-line description from project-map>
65
+
66
+ ## Overview
67
+ <2-3 paragraphs: what the project is, who it's for, main capabilities>
68
+
69
+ ## Architecture
70
+ <3-5 bullet summary of architectural style and key components>
71
+ → Full details: [Architecture](architecture.md)
72
+
73
+ ## Quick Start
74
+ <condensed 4-step setup: clone → install → configure → run>
75
+ → Full guide: [Onboarding](onboarding.md)
76
+
77
+ ## Documentation
78
+
79
+ | Document | Description |
80
+ |----------|-------------|
81
+ | [Getting Started](onboarding.md) | Setup, local dev, common tasks |
82
+ | [Architecture](architecture.md) | System design, components, data flow |
83
+ | [Module Reference](modules.md) | Per-module breakdown |
84
+ | [API Reference](api-reference.md) | Endpoint documentation |
85
+ | [Data Models](data-models.md) | Schemas and database structure |
86
+
87
+ ## Tech Stack
88
+
89
+ | Layer | Technology |
90
+ |-------|-----------|
91
+ <from project-map>
92
+
93
+ ## Generated By
94
+ This documentation was generated automatically by [autodoc](https://github.com/MrCipherSmith/keryx).
95
+ Generated: <date>
96
+ ```
97
+
98
+ ### Step 3: Write docs/index.md
99
+
100
+ ```markdown
101
+ # Documentation Index
102
+
103
+ ## <Project Name> — Documentation
104
+
105
+ Generated: <date> | Source: `<project path>`
106
+
107
+ ### Contents
108
+
109
+ - **[README](README.md)** — Project overview and quick start
110
+ - **[Getting Started](onboarding.md)** — Full setup guide
111
+ - **[Architecture](architecture.md)** — System design
112
+ - **[Module Reference](modules.md)** — Module-by-module breakdown
113
+ - **[API Reference](api-reference.md)** — REST/gRPC/GraphQL endpoints
114
+ - **[Data Models](data-models.md)** — Database schemas
115
+
116
+ ### Modules Documented
117
+ <list of modules from analysis>
118
+
119
+ ### Coverage Notes
120
+ <any TODOs or gaps noted during generation>
121
+ ```
122
+
123
+ ### Step 4: Return Summary
124
+
125
+ In the response summary, include:
126
+ - Total sections generated
127
+ - Any TODO items that need human review
128
+ - Suggested next steps (e.g., "API reference has 3 endpoints marked TODO: add description")
@@ -0,0 +1,321 @@
1
+ ---
2
+ name: autodoc-orchestrator
3
+ description: >
4
+ Autonomous reverse-engineering documentation pipeline — scans an existing codebase
5
+ and produces comprehensive developer documentation without user involvement after initial setup.
6
+ Use when: "autodoc", "generate docs for my project", "document this codebase",
7
+ "reverse engineer documentation", "create project documentation from code",
8
+ "сгенерируй документацию проекта", "задокументируй кодовую базу",
9
+ "автодок", "autodoc".
10
+ Trigger on: user provides a repo path, asks to document existing code, wants
11
+ onboarding docs, API reference, or architecture overview generated automatically.
12
+ NOT for: writing new PRDs or planning new features (use gproject-orchestrator).
13
+ version: 1.0.0
14
+ ---
15
+
16
+ <!-- SUBAGENT-STOP: If you are a subagent dispatched by another orchestrator, HALT.
17
+ Return STATUS: BLOCKED — autodoc-orchestrator must run as top-level agent only. -->
18
+
19
+ # autodoc-orchestrator
20
+
21
+ ## Purpose
22
+
23
+ Thin orchestrator that drives a 5-phase autonomous documentation pipeline.
24
+ Takes an existing codebase as input, dispatches specialized subagents to scan,
25
+ analyze, and write documentation, and produces a complete documentation package
26
+ with no human gates.
27
+
28
+ ---
29
+
30
+ ## Execution metrics (opt-in)
31
+
32
+ When a USER runs this orchestrator directly (not as a dispatched subagent), at
33
+ the start ask "Collect execution statistics for this run? (yes/no)" per
34
+ `.metaproject/rules/core/execution-metrics.md`. If yes, append the
35
+ `## Execution Metrics` section at the end and save it under the run's artifact
36
+ dir (`.metaproject/data/gdwiki/metrics/` or the docs output dir). Never ask or
37
+ emit it when dispatched as a subagent.
38
+
39
+ ## Iron Laws
40
+
41
+ | # | Law |
42
+ |---|-----|
43
+ | 1 | Orchestrator NEVER reads or summarizes code itself — only subagents do |
44
+ | 2 | Orchestrator NEVER writes documentation content — only subagents do |
45
+ | 3 | Every phase MUST produce artifact files before proceeding |
46
+ | 4 | Phase 2 analysts run in PARALLEL — one per detected module/domain |
47
+ | 5 | Phase 4 writers run in PARALLEL — one per documentation section |
48
+ | 6 | Subagents receive ONLY artifacts listed in their dispatch contract |
49
+ | 7 | If a subagent returns NEEDS_CONTEXT, resolve autonomously before re-dispatching |
50
+
51
+ ---
52
+
53
+ ## Pipeline Overview
54
+
55
+ ```
56
+ Phase 0 Interview (if needed) → collect project path + focus areas
57
+ Phase 1 autodoc-scanner → artifacts/project-map.md
58
+ Phase 2 autodoc-analyst × N → artifacts/analysis/<module>.md [parallel]
59
+ Phase 3 autodoc-architect → artifacts/architecture.md
60
+ Phase 4 autodoc-writer × N → docs/<section>.md [parallel]
61
+ Phase 5 autodoc-assembler → docs/README.md + docs/index.md
62
+ ```
63
+
64
+ ---
65
+
66
+ ## Phase 0: Initialization
67
+
68
+ ### Job Directory Setup
69
+
70
+ 1. Create `jobs/autodoc-<slugified-project-name>/`
71
+ 2. Create subdirectories: `artifacts/`, `artifacts/analysis/`, `docs/`, `ai/`
72
+ 3. Initialize `state.json`
73
+
74
+ ### Input Assessment
75
+
76
+ Evaluate what the user provided:
77
+
78
+ ```
79
+ SUFFICIENT — proceed directly to Phase 1 if ALL of:
80
+ ✓ Project directory path (absolute) is provided
81
+ ✓ Path exists and contains code files
82
+
83
+ NEEDS_INPUT — ask questions if ANY of:
84
+ ✗ No project path given
85
+ ✗ Multiple repos mentioned without clear scope
86
+ ✗ User specified unusual focus (e.g., "only the auth module")
87
+ ```
88
+
89
+ ### Interview (only when NEEDS_INPUT)
90
+
91
+ Ask ONLY what is missing. Maximum 4 questions, always with options:
92
+
93
+ ```
94
+ I need a few details to get started:
95
+
96
+ 1. Project path?
97
+ ○ Type the absolute path to the project root
98
+
99
+ 2. Which parts to document? (default: everything)
100
+ A) Full project — backend + frontend + shared
101
+ B) Backend only
102
+ C) Frontend only
103
+ D) Specific path — [type it]
104
+
105
+ 3. Output language?
106
+ A) English (default)
107
+ B) Russian
108
+ C) Both
109
+
110
+ 4. Existing docs to incorporate? (default: none)
111
+ ○ Path to existing docs/README, or skip
112
+ ```
113
+
114
+ Save answers to `state.json.config`.
115
+
116
+ ---
117
+
118
+ ## Dispatch Protocol
119
+
120
+ Every subagent dispatch follows this contract:
121
+
122
+ ```
123
+ Agent({
124
+ description: "<phase>: <task>",
125
+ prompt: |
126
+ ## Your Role
127
+ You are <agent_role>. Load skill: skills/<skill-name>/SKILL.md
128
+
129
+ ## Task
130
+ <specific task>
131
+
132
+ ## Input Artifacts
133
+ <list of file paths to read>
134
+
135
+ ## Job Context
136
+ JOB_DIR: <absolute path to job directory>
137
+ PROJECT_DIR: <absolute path to project>
138
+ CONFIG: <from state.json.config>
139
+
140
+ ## Output Contract
141
+ 1. Write artifact to: <output path>
142
+ 2. Return ONLY:
143
+ STATUS: DONE | DONE_WITH_CONCERNS | NEEDS_CONTEXT
144
+ summary: (3-5 sentences)
145
+ concerns: (if DONE_WITH_CONCERNS)
146
+ questions: (if NEEDS_CONTEXT — with A/B/C/D options)
147
+ next_phase_hints: (key findings for orchestrator routing)
148
+ })
149
+ ```
150
+
151
+ ### Status Handling
152
+
153
+ ```
154
+ STATUS: DONE
155
+ → Save summary to state.json.phase_summaries
156
+ → Proceed to next phase
157
+
158
+ STATUS: DONE_WITH_CONCERNS
159
+ → Log concerns in state.json
160
+ → Proceed (documentation pipeline continues; concerns noted in final report)
161
+
162
+ STATUS: NEEDS_CONTEXT
163
+ → IF resolvable autonomously (file exists, can be read):
164
+ → Dispatch context-collector or read file directly
165
+ → Re-dispatch subagent with answer
166
+ → IF requires user input:
167
+ → Ask user with A/B/C/D options
168
+ → Re-dispatch with answer
169
+ → Max 2 resolution rounds per phase
170
+ ```
171
+
172
+ ---
173
+
174
+ ## Phase 1: Project Scanning
175
+
176
+ **Subagent**: `autodoc-scanner`
177
+ **Input**: `PROJECT_DIR`, `CONFIG`
178
+ **Output**: `artifacts/project-map.md`
179
+
180
+ After completion, parse `next_phase_hints.modules[]` from the scanner's response.
181
+ This list drives how many parallel analysts to launch in Phase 2.
182
+
183
+ ---
184
+
185
+ ## Phase 2: Deep Analysis (Parallel)
186
+
187
+ **Subagent**: `autodoc-analyst` — one instance per module from project-map
188
+ **Input**: `artifacts/project-map.md` + module path
189
+ **Output**: `artifacts/analysis/<module-slug>.md`
190
+
191
+ Launch ALL analysts simultaneously:
192
+ ```
193
+ Agent × N in parallel, one per module:
194
+ module: frontend → artifacts/analysis/frontend.md
195
+ module: backend → artifacts/analysis/backend.md
196
+ module: shared → artifacts/analysis/shared.md
197
+ ...
198
+ ```
199
+
200
+ Wait for ALL to complete before Phase 3.
201
+
202
+ ---
203
+
204
+ ## Phase 3: Architecture Synthesis
205
+
206
+ **Subagent**: `autodoc-architect`
207
+ **Input**: `artifacts/project-map.md` + ALL `artifacts/analysis/*.md`
208
+ **Output**: `artifacts/architecture.md`
209
+
210
+ ---
211
+
212
+ ## Phase 4: Documentation Writing (Parallel)
213
+
214
+ **Subagent**: `autodoc-writer` — one instance per documentation section
215
+
216
+ Determine sections from Phase 3 output and CONFIG. Standard sections:
217
+
218
+ | Section | Output file | Always? |
219
+ |---------|------------|---------|
220
+ | Onboarding | `docs/onboarding.md` | Yes |
221
+ | Architecture overview | `docs/architecture.md` | Yes |
222
+ | Module reference | `docs/modules.md` | Yes |
223
+ | API reference | `docs/api-reference.md` | Only if APIs detected |
224
+ | Data models | `docs/data-models.md` | Only if schemas detected |
225
+
226
+ Launch ALL writers simultaneously. Wait for ALL to complete.
227
+
228
+ ---
229
+
230
+ ## Phase 5: Assembly
231
+
232
+ **Subagent**: `autodoc-assembler`
233
+ **Input**: ALL `docs/*.md` + `artifacts/architecture.md` + `artifacts/project-map.md`
234
+ **Output**: `docs/README.md` + `docs/index.md`
235
+
236
+ The assembler creates the main entry-point document with links to all sections,
237
+ a brief project overview, and a quick-start section.
238
+
239
+ ---
240
+
241
+ ## State Resumption
242
+
243
+ Check for interrupted jobs on start:
244
+
245
+ ```
246
+ IF jobs/autodoc-*/state.json exists AND status == "in_progress":
247
+ → Show: "Found interrupted autodoc job: <name> at Phase <N>"
248
+ → Ask: A) Resume B) Start fresh C) Show state
249
+ ```
250
+
251
+ ---
252
+
253
+ ## Output Structure
254
+
255
+ ```
256
+ jobs/autodoc-<project>/
257
+ ├── state.json # Pipeline state
258
+ ├── artifacts/
259
+ │ ├── project-map.md # Phase 1
260
+ │ └── analysis/ # Phase 2
261
+ │ ├── frontend.md
262
+ │ ├── backend.md
263
+ │ └── <module>.md
264
+ ├── docs/ # Final documentation
265
+ │ ├── README.md # Main entry point (Phase 5)
266
+ │ ├── index.md # Navigation index (Phase 5)
267
+ │ ├── onboarding.md # Phase 4
268
+ │ ├── architecture.md # Phase 4
269
+ │ ├── modules.md # Phase 4
270
+ │ ├── api-reference.md # Phase 4 (if applicable)
271
+ │ └── data-models.md # Phase 4 (if applicable)
272
+ └── ai/
273
+ └── context.md # Internal context snapshot
274
+ ```
275
+
276
+ ---
277
+
278
+ ## Final Report
279
+
280
+ After Phase 5, present to user:
281
+
282
+ ```
283
+ autodoc complete for: <project name>
284
+
285
+ Documentation generated:
286
+ ✓ docs/README.md — main entry point
287
+ ✓ docs/onboarding.md — setup + dev workflow
288
+ ✓ docs/architecture.md — system architecture
289
+ ✓ docs/modules.md — module reference
290
+ ✓ docs/api-reference.md — API contracts
291
+ ✓ docs/data-models.md — data schemas
292
+
293
+ Modules analyzed: <N> (<list>)
294
+ Concerns: <none | list>
295
+
296
+ Full docs: jobs/autodoc-<name>/docs/
297
+ ```
298
+
299
+ ---
300
+
301
+ ## state.json Template
302
+
303
+ ```json
304
+ {
305
+ "job_name": "autodoc-<slug>",
306
+ "created_at": "<ISO>",
307
+ "current_phase": 0,
308
+ "status": "in_progress",
309
+ "config": {
310
+ "project_dir": null,
311
+ "scope": "full",
312
+ "language": "en",
313
+ "existing_docs": null
314
+ },
315
+ "detected_modules": [],
316
+ "detected_sections": [],
317
+ "phase_summaries": {},
318
+ "concerns": [],
319
+ "history": []
320
+ }
321
+ ```
@@ -0,0 +1,166 @@
1
+ ---
2
+ name: autodoc-scanner
3
+ description: >
4
+ Phase 1 subagent for autodoc-orchestrator. Scans project structure,
5
+ detects stack, identifies module boundaries, entry points, and dependencies.
6
+ Use when: dispatched by autodoc-orchestrator Phase 1.
7
+ NOT for: direct user invocation.
8
+ version: 1.0.0
9
+ ---
10
+
11
+ # autodoc-scanner
12
+
13
+ ## Purpose
14
+
15
+ Produce a complete structural map of the project that downstream analysts
16
+ and writers can rely on without re-scanning the codebase.
17
+
18
+ ## Iron Laws
19
+
20
+ | # | Law |
21
+ |---|-----|
22
+ | 1 | Scan file tree — do NOT read full file contents (use directory listings and targeted reads of package.json, tsconfig, Makefile, etc.) |
23
+ | 2 | Detect module boundaries from directory structure and build config, not from code semantics |
24
+ | 3 | Always list entry points (main files, index files, app bootstraps) |
25
+ | 4 | Return module list in `next_phase_hints.modules[]` — orchestrator uses this to spawn analysts |
26
+
27
+ ---
28
+
29
+ ## Input Contract
30
+
31
+ ```yaml
32
+ PROJECT_DIR: "<absolute path>"
33
+ CONFIG:
34
+ scope: "full | backend | frontend | <custom path>"
35
+ language: "en | ru | both"
36
+ existing_docs: "<path or null>"
37
+ ```
38
+
39
+ ## Output Contract
40
+
41
+ ```yaml
42
+ status: "DONE" | "NEEDS_CONTEXT"
43
+ summary: "<3-5 sentences: project type, module count, stack summary>"
44
+ next_phase_hints:
45
+ modules:
46
+ - slug: "backend"
47
+ path: "<absolute path>"
48
+ type: "backend | frontend | shared | mobile | infra | other"
49
+ language: "TypeScript | Python | Go | ..."
50
+ framework: "NestJS | Express | React | ..."
51
+ entry_points: ["<file>"]
52
+ - slug: "frontend"
53
+ path: "<absolute path>"
54
+ ...
55
+ has_api: true | false
56
+ has_schemas: true | false
57
+ has_tests: true | false
58
+ artifact_path: ".metaproject/jobs/<job>/artifacts/project-map.md"
59
+ ```
60
+
61
+ ---
62
+
63
+ ## Workflow
64
+
65
+ ### Step 1: Project Tree Scan
66
+
67
+ Read top-level directory structure. Identify:
68
+ - Build/package files: `package.json`, `pyproject.toml`, `go.mod`, `Cargo.toml`, `pom.xml`, `Makefile`
69
+ - Workspace configs: `nx.json`, `turbo.json`, `lerna.json`, `pnpm-workspace.yaml`
70
+ - Entry points: `main.*`, `index.*`, `app.*`, `server.*`, `cmd/`
71
+ - Config files: `tsconfig.json`, `vite.config.*`, `webpack.config.*`, `docker-compose.yml`
72
+ - Existing documentation: `README.md`, `docs/`, `CONTRIBUTING.md`
73
+
74
+ ### Step 2: Module Boundary Detection
75
+
76
+ From the directory structure and workspace config, identify module boundaries:
77
+
78
+ ```
79
+ Monorepo (nx/turbo/lerna) → each package/app is a module
80
+ Single repo → detect by: apps/, packages/, src/modules/, src/features/
81
+ Backend indicators: api/, server/, backend/, services/
82
+ Frontend indicators: web/, client/, frontend/, ui/
83
+ Shared/lib indicators: lib/, shared/, common/, packages/
84
+ ```
85
+
86
+ For each detected module, read its `package.json` or equivalent to extract:
87
+ - Name, description
88
+ - Dependencies (framework detection)
89
+ - Scripts (build, test, dev commands)
90
+
91
+ ### Step 3: Stack Detection
92
+
93
+ For each module, determine:
94
+
95
+ | Signal | Detected |
96
+ |--------|---------|
97
+ | `"next"` in deps | Next.js (React, SSR) |
98
+ | `"@nestjs/core"` | NestJS (Node backend) |
99
+ | `"fastapi"` in pyproject | FastAPI (Python backend) |
100
+ | `"react"` in deps (no next) | React SPA |
101
+ | `"vue"` | Vue.js |
102
+ | `go.mod` exists | Go |
103
+ | `Cargo.toml` | Rust |
104
+ | `prisma/` dir | Prisma ORM |
105
+ | `migrations/` dir | SQL database |
106
+ | `swagger` / `openapi` files | REST API with spec |
107
+ | `*.proto` files | gRPC |
108
+ | `graphql/` or `*.graphql` | GraphQL |
109
+
110
+ ### Step 4: Entry Points
111
+
112
+ For each module, find entry point files:
113
+ - Node: `main.ts`, `index.ts`, `app.ts`, `server.ts`
114
+ - Python: `main.py`, `app.py`, `__main__.py`
115
+ - Go: `cmd/*/main.go`, `main.go`
116
+ - Frontend: `main.tsx`, `_app.tsx`, `App.tsx`, `index.html`
117
+
118
+ ### Step 5: API + Schema Detection
119
+
120
+ ```
121
+ has_api = true IF:
122
+ - `swagger.json` / `openapi.yaml` found
123
+ - `*.proto` files found
124
+ - `@nestjs/swagger` in deps
125
+ - FastAPI app detected
126
+ - Express router files found at `routes/` or `*.routes.ts`
127
+
128
+ has_schemas = true IF:
129
+ - `prisma/schema.prisma` found
130
+ - `migrations/` directory found
131
+ - `models/` directory with *.py or *.ts files
132
+ - `*.graphql` schema files found
133
+ ```
134
+
135
+ ### Step 6: Write project-map.md
136
+
137
+ ```markdown
138
+ # Project Map: <Project Name>
139
+
140
+ ## Overview
141
+ - **Type**: monorepo | single-repo
142
+ - **Modules**: <N>
143
+ - **Languages**: <list>
144
+ - **Has API**: yes | no
145
+ - **Has DB schemas**: yes | no
146
+
147
+ ## Modules
148
+
149
+ ### <Module Name> (`<path>`)
150
+ - **Type**: backend | frontend | shared
151
+ - **Language**: <lang>
152
+ - **Framework**: <framework + version>
153
+ - **Entry point**: `<file>`
154
+ - **Key dependencies**: <list>
155
+ - **Build command**: `<cmd>`
156
+ - **Dev command**: `<cmd>`
157
+
158
+ ## Project Structure (condensed)
159
+ <top-2-level directory tree>
160
+
161
+ ## Existing Documentation
162
+ <list of found docs, or "none">
163
+
164
+ ## Detected Integrations
165
+ <databases, queues, external APIs, auth providers>
166
+ ```