@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,206 @@
1
+ # Task Implementer — Orchestrator Prompt
2
+
3
+ > **Purpose:** Template used by `wave-executor` (dispatched by `job-orchestrator`) to dispatch `task-implementer` as a sub-agent.
4
+ > The wave-executor fills in the placeholders below and sends the result as a Task prompt.
5
+ > The task-implementer executes SKILL.md autonomously, writes the full JSON result to a file, and returns a compact STATUS response.
6
+
7
+ ## Data Flow
8
+
9
+ ```
10
+ [job-orchestrator] → dispatches wave-executor per wave (not task-implementer directly)
11
+
12
+ [wave-executor] → extracts tasks → fills template → Task(task-implementer) × N (parallel)
13
+
14
+ [task-implementer] → executes SKILL.md → writes JSON to .metaproject/jobs/<job-name>/results/<task_id>.json
15
+
16
+ [Result] → compact STATUS: DONE response (no inline JSON)
17
+
18
+ [wave-executor] → collects STATUS responses → returns compact WAVE_DONE summary
19
+
20
+ [job-orchestrator] → receives one-line wave summary per wave
21
+ ```
22
+
23
+ ## Step 1: Extract Task Parameters
24
+
25
+ From the issue-analyzer JSON output, extract one task object:
26
+
27
+ ```
28
+ TASK:
29
+ task_id → from tasks[i].task_id
30
+ task_name → from tasks[i].task_name
31
+ task_type → from tasks[i].task_type
32
+ complexity → from tasks[i].complexity
33
+ dependencies → from tasks[i].dependencies (already satisfied — dispatch in dependency_order)
34
+ description → from tasks[i].description
35
+ target_files → from tasks[i].target_files
36
+ acceptance_criteria → from tasks[i].acceptance_criteria
37
+ context → from tasks[i].context
38
+ existing_tests → from tasks[i].existing_tests
39
+ existing_stories → from tasks[i].existing_stories
40
+ module_patterns → from tasks[i].module_patterns
41
+
42
+ WORKSPACE:
43
+ codebase_path → absolute path to project repo (worktree path)
44
+ branch → feature branch name (already checked out in worktree)
45
+ issue_number → GitHub issue number
46
+ issue_title → GitHub issue title
47
+
48
+ JOB_CONTEXT (optional):
49
+ job_name → job folder name
50
+ context_path → <JOBS_ROOT>/<job-name>/ai/context.md
51
+ ```
52
+
53
+ ## Step 2: Validate
54
+
55
+ ```
56
+ ASSERT task_id is not empty → otherwise ABORT: "Missing task_id"
57
+ ASSERT task_type in valid types → otherwise ABORT: "Invalid task_type"
58
+ ASSERT target_files is not empty → otherwise ABORT: "No target files"
59
+ ASSERT codebase_path exists → otherwise ABORT: "Codebase path not found"
60
+ ```
61
+
62
+ ## Step 3: Build Sub-Agent Prompt (regular task)
63
+
64
+ ```
65
+ You are running the task-implementer skill in AUTONOMOUS MODE.
66
+ DO NOT ask the user any questions. Execute the full workflow end-to-end.
67
+
68
+ Load the skill: task-implementer (from skills/task-implementer/SKILL.md)
69
+
70
+ ═══════════════════════════════════════════════
71
+ TASK
72
+ ═══════════════════════════════════════════════
73
+
74
+ {
75
+ "task_id": "<TASK_ID>",
76
+ "task_name": "<TASK_NAME>",
77
+ "task_type": "<TASK_TYPE>",
78
+ "complexity": "<COMPLEXITY>",
79
+ "dependencies": [<DEPENDENCY_LIST>],
80
+ "description": "<DESCRIPTION>",
81
+ "target_files": [<TARGET_FILES_LIST>],
82
+ "acceptance_criteria": [<ACCEPTANCE_CRITERIA_LIST>],
83
+ "context": "<CONTEXT>",
84
+ "existing_tests": [<EXISTING_TESTS_LIST>],
85
+ "existing_stories": [<EXISTING_STORIES_LIST>],
86
+ "module_patterns": "<MODULE_PATTERNS>"
87
+ }
88
+
89
+ ═══════════════════════════════════════════════
90
+ WORKSPACE
91
+ ═══════════════════════════════════════════════
92
+
93
+ CODEBASE_PATH: <CODEBASE_PATH>
94
+ BRANCH: <BRANCH>
95
+ ISSUE_NUMBER: <ISSUE_NUMBER>
96
+ ISSUE_TITLE: <ISSUE_TITLE>
97
+
98
+ <!-- If job context available: -->
99
+ JOB_NAME: <JOB_NAME>
100
+ CONTEXT_PATH: <JOBS_ROOT>/<JOB_NAME>/ai/context.md
101
+
102
+ ═══════════════════════════════════════════════
103
+ AUTOMATION SETTINGS
104
+ ═══════════════════════════════════════════════
105
+
106
+ 1. CONFIRMATION: SKIP. Proceed immediately.
107
+ 2. AUTO COMMIT: true
108
+ 3. VERIFY LINT: true
109
+ 4. VERIFY TYPES: true
110
+ 5. VERIFY TESTS: true
111
+ 6. MAX SELF-FIX ATTEMPTS: 3
112
+
113
+ ═══════════════════════════════════════════════
114
+ EXECUTION INSTRUCTIONS
115
+ ═══════════════════════════════════════════════
116
+
117
+ 1. Load task-implementer SKILL.md
118
+ 2. Execute all 6 phases: RECEIVE → RESEARCH → PLAN → IMPLEMENT → VERIFY → REPORT
119
+ 3. Phase 6: Write full JSON result to <JOBS_ROOT>/<JOB_NAME>/results/<task_id>.json
120
+ 4. Return a compact STATUS response as your FINAL MESSAGE — NO inline JSON:
121
+
122
+ STATUS: DONE
123
+ ## Completed
124
+ - <what was done>
125
+ ## Files changed
126
+ - <file> — <change>
127
+ ## Verification
128
+ - lint: pass / type-check: pass / tests: N passed
129
+ Result file: <JOBS_ROOT>/<JOB_NAME>/results/<task_id>.json
130
+
131
+ DO NOT ask questions. DO NOT stop for user input. DO NOT include the JSON block in your response. Run to completion.
132
+ ```
133
+
134
+ ## Step 4: Build Sub-Agent Prompt (fix task)
135
+
136
+ For fix tasks dispatched from the review loop:
137
+
138
+ ```
139
+ You are running the task-implementer skill in FIX MODE (AUTONOMOUS).
140
+ DO NOT ask the user any questions. Execute the full workflow end-to-end.
141
+
142
+ Load the skill: task-implementer (from skills/task-implementer/SKILL.md)
143
+
144
+ ═══════════════════════════════════════════════
145
+ FIX TASK
146
+ ═══════════════════════════════════════════════
147
+
148
+ {
149
+ "task_id": "fix-<ITERATION>",
150
+ "task_name": "Fix review findings — iteration <ITERATION>",
151
+ "task_type": "fix",
152
+ "complexity": "medium",
153
+ "dependencies": [],
154
+ "description": "Fix review findings from iteration <ITERATION>",
155
+ "target_files": [<FILES_WITH_FINDINGS>],
156
+ "acceptance_criteria": ["All CRITICAL and WARNING findings resolved"],
157
+ "context": "",
158
+ "existing_tests": [],
159
+ "existing_stories": [],
160
+ "module_patterns": ""
161
+ }
162
+
163
+ FIX_CONTEXT:
164
+ {
165
+ "review_feedback": <REVIEW_FINDINGS_JSON>,
166
+ "original_task_ids": [<ORIGINAL_TASK_IDS>],
167
+ "iteration": <ITERATION_NUMBER>
168
+ }
169
+
170
+ WORKSPACE: (same as above)
171
+
172
+ AUTOMATION SETTINGS: (same as above)
173
+
174
+ EXECUTION: Run to completion, return JSON result.
175
+ ```
176
+
177
+ ---
178
+
179
+ ## Example Task Tool Call
180
+
181
+ ```javascript
182
+ Task({
183
+ description: "Implement task-1: <TASK_NAME>",
184
+ subagent_type: "general",
185
+ prompt: "<generated prompt from template above>"
186
+ })
187
+ ```
188
+
189
+ ---
190
+
191
+ ## Parsing the Result (wave-executor)
192
+
193
+ After receiving the sub-agent STATUS response, the wave-executor must:
194
+
195
+ 1. Read the STATUS line: `DONE` | `DONE_WITH_CONCERNS` | `BLOCKED`
196
+ 2. Extract compact summary from the response:
197
+ - Files changed section
198
+ - Verification results
199
+ - Commits (from "Completed" bullets or result file)
200
+ 3. **Read the result file** only when needed (DONE_WITH_CONCERNS or BLOCKED):
201
+ - Path: `<JOBS_ROOT>/<JOB_NAME>/results/<task_id>.json`
202
+ - Fields: task_id, status, files_modified, files_created, commits, lint_result, type_check_result, test_result, acceptance_criteria_met
203
+ 4. Decision based on STATUS:
204
+ - `DONE` → continue, collect commit hashes from response
205
+ - `DONE_WITH_CONCERNS` → read result file, log concerns, continue
206
+ - `BLOCKED` → STOP wave, report to orchestrator with reason
@@ -0,0 +1,51 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://keryx.local/schemas/task-implementer/output-contract.schema.json",
4
+ "title": "Task Implementer Output Contract",
5
+ "description": "JSON result returned by task-implementer after executing a task. Replaces the previous Gherkin format.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": ["task_id", "task_name", "task_type", "status"],
9
+ "properties": {
10
+ "task_id": { "type": "string", "pattern": "^task-[0-9]+$" },
11
+ "task_name": { "type": "string" },
12
+ "task_type": {
13
+ "type": "string",
14
+ "enum": ["ui_component", "store_logic", "service_api", "refactoring", "fix", "mixed"]
15
+ },
16
+ "status": {
17
+ "type": "string",
18
+ "enum": ["success", "partial", "failed"],
19
+ "description": "success: all criteria met, all verifications pass; partial: some criteria met or verification failures; failed: critical blockers"
20
+ },
21
+ "description": { "type": "string", "description": "What was implemented" },
22
+ "files_modified": { "type": "array", "items": { "type": "string" } },
23
+ "files_created": { "type": "array", "items": { "type": "string" } },
24
+ "files_deleted": { "type": "array", "items": { "type": "string" } },
25
+ "commits": { "type": "array", "items": { "type": "string" } },
26
+ "lint_result": {
27
+ "type": "string",
28
+ "description": "pass OR 'N errors: <details>'"
29
+ },
30
+ "type_check_result": {
31
+ "type": "string",
32
+ "description": "pass OR 'N errors: <details>'"
33
+ },
34
+ "test_result": {
35
+ "type": "string",
36
+ "description": "pass OR 'N passed, M failed: <details>' OR 'skipped'"
37
+ },
38
+ "story_result": {
39
+ "type": "string",
40
+ "description": "pass OR 'build error: <details>' OR 'not applicable'"
41
+ },
42
+ "acceptance_criteria_met": {
43
+ "type": "string",
44
+ "description": "all OR 'partial: <list of unmet criteria>' OR none"
45
+ },
46
+ "notes": {
47
+ "type": "string",
48
+ "description": "Warnings, blockers, or additional context"
49
+ }
50
+ }
51
+ }
@@ -0,0 +1,111 @@
1
+ # Task Implementer — Task Request
2
+
3
+ <!--
4
+ ШАБЛОН ЗАПРОСА НА ИМПЛЕМЕНТАЦИЮ ЗАДАЧИ
5
+ =======================================
6
+ Заполняется оркестратором ПЕРЕД запуском task-implementer.
7
+ Все обязательные поля (*) должны быть заполнены.
8
+
9
+ Валидация: input-contract.schema.json
10
+ Использование: orchestrator-prompt.md читает этот файл и формирует промпт для субагента.
11
+ -->
12
+
13
+ ## Task *
14
+
15
+ | Field | Value |
16
+ |-------|-------|
17
+ | Task ID * | `task-1` |
18
+ | Task Name * | `Add validation to pipeline step form` |
19
+ | Task Type * | `ui_component` |
20
+ | Complexity | `medium` |
21
+ | Dependencies | `none` |
22
+
23
+ ## Description *
24
+
25
+ <!-- Полное описание задачи из Scenario issue-analyzer -->
26
+
27
+ Add client-side validation to the pipeline step configuration form. Validate required fields (name, type) before allowing save. Show inline error messages using Ant Design Form validation.
28
+
29
+ ## Target Files *
30
+
31
+ | Path | Action |
32
+ |------|--------|
33
+ | `src/pipelines/components/StepForm.tsx` | `modify` |
34
+ | `src/pipelines/components/StepForm.test.tsx` | `create` |
35
+ | `src/pipelines/components/StepForm.stories.tsx` | `create` |
36
+
37
+ ## Acceptance Criteria *
38
+
39
+ - Required fields show validation errors when empty on submit
40
+ - Form cannot be submitted with invalid data
41
+ - Error messages disappear when field is corrected
42
+ - Validation follows existing form patterns in the project
43
+
44
+ ## Context
45
+
46
+ <!-- Контекст кода: типы, сигнатуры, паттерны -->
47
+
48
+ ```typescript
49
+ // Existing type from src/pipelines/types.ts
50
+ interface StepConfig {
51
+ name: string;
52
+ type: StepType;
53
+ params: Record<string, unknown>;
54
+ }
55
+ ```
56
+
57
+ ## Existing Tests
58
+
59
+ | Path |
60
+ |------|
61
+ | `none` |
62
+
63
+ ## Existing Stories
64
+
65
+ | Path |
66
+ |------|
67
+ | `none` |
68
+
69
+ ## Module Patterns
70
+
71
+ <!-- Как написан похожий код в этом модуле -->
72
+
73
+ Components in `src/pipelines/components/` use `observer()` wrapping, props interfaces named `<Component>Props`, Ant Design `Form` with `useForm` hook. Validation uses `rules` prop on `Form.Item`.
74
+
75
+ ## Workspace *
76
+
77
+ | Field | Value |
78
+ |-------|-------|
79
+ | Codebase Path * | `/Users/dev/<PROJECT>` |
80
+ | Branch * | `feature/4141-add-pipeline-validation` |
81
+ | Issue Number * | `4141` |
82
+ | Issue Title | `Add validation to pipeline step form` |
83
+
84
+ ## Fix Context (only for fix tasks)
85
+
86
+ <!-- Заполняется только если task_type = "fix" и задача пришла из review loop -->
87
+
88
+ | Field | Value |
89
+ |-------|-------|
90
+ | Original Task ID | |
91
+ | Iteration | |
92
+
93
+ ### Review Feedback
94
+
95
+ <!-- Structured findings from reviewers -->
96
+
97
+ | File | Line | Severity | Message | Reviewer |
98
+ |------|------|----------|---------|----------|
99
+ | | | | | |
100
+
101
+ ## Automation Settings *
102
+
103
+ | Setting | Value | Description |
104
+ |---------|-------|-------------|
105
+ | skip_confirmation * | `true` | Must be true for autonomous mode |
106
+ | auto_commit | `true` | Commit changes after implementation |
107
+ | verify_lint | `true` | Run ESLint |
108
+ | verify_types | `true` | Run type-check |
109
+ | verify_tests | `true` | Run tests |
110
+ | verify_stories | `false` | Build storybook |
111
+ | max_self_fix_attempts | `3` | Max self-fix attempts |
@@ -0,0 +1,163 @@
1
+ ---
2
+ name: autodoc-analyst
3
+ description: >
4
+ Phase 2 subagent for autodoc-orchestrator. Deep-dives into a single module
5
+ to extract purpose, structure, public API surface, patterns, and key dependencies.
6
+ Use when: dispatched by autodoc-orchestrator Phase 2 (one instance per module).
7
+ NOT for: direct user invocation.
8
+ version: 1.0.0
9
+ ---
10
+
11
+ # autodoc-analyst
12
+
13
+ ## Purpose
14
+
15
+ Produce a complete semantic understanding of one module that the architect
16
+ and writers can use without re-reading the source code.
17
+
18
+ ## Iron Laws
19
+
20
+ | # | Law |
21
+ |---|-----|
22
+ | 1 | Analyze ONE module per invocation — do not cross module boundaries |
23
+ | 2 | Read actual source files — understanding must come from code, not assumptions |
24
+ | 3 | Prioritize: public interfaces > internal implementation > tests |
25
+ | 4 | Document what the code DOES, not how it does it internally |
26
+ | 5 | Extract concrete examples from code (real function names, real endpoints) |
27
+
28
+ ---
29
+
30
+ ## Input Contract
31
+
32
+ ```yaml
33
+ module:
34
+ slug: "<module slug>"
35
+ path: "<absolute module path>"
36
+ type: "backend | frontend | shared | ..."
37
+ language: "<lang>"
38
+ framework: "<framework>"
39
+ entry_points: ["<file>"]
40
+ project_map: ".metaproject/jobs/<job>/artifacts/project-map.md"
41
+ JOB_DIR: "<job directory>"
42
+ CONFIG: "<from state.json.config>"
43
+ ```
44
+
45
+ ## Output Contract
46
+
47
+ ```yaml
48
+ status: "DONE" | "DONE_WITH_CONCERNS" | "NEEDS_CONTEXT"
49
+ summary: "<3-5 sentences: what the module does, its main components, key patterns>"
50
+ concerns: ["<concern>"]
51
+ artifact_path: ".metaproject/jobs/<job>/artifacts/analysis/<slug>.md"
52
+ ```
53
+
54
+ ---
55
+
56
+ ## Workflow
57
+
58
+ ### Step 1: Entry Point Analysis
59
+
60
+ Read the entry point file(s) listed in project-map. Understand:
61
+ - What is bootstrapped / initialized?
62
+ - What are the top-level exports?
63
+ - What dependencies are injected or imported?
64
+
65
+ ### Step 2: Module Structure Mapping
66
+
67
+ Read directory structure 2-3 levels deep. Identify organizational pattern:
68
+
69
+ | Pattern | Indicators |
70
+ |---------|-----------|
71
+ | Feature-based | `src/features/`, `src/modules/` with self-contained subdirs |
72
+ | Layer-based | `controllers/`, `services/`, `repositories/` at top level |
73
+ | DDD | `domain/`, `application/`, `infrastructure/`, `presentation/` |
74
+ | Component-based (frontend) | `components/`, `pages/`, `hooks/`, `stores/` |
75
+
76
+ ### Step 3: Public API Surface Extraction
77
+
78
+ For **backend modules**:
79
+ - Find controller/router files → extract endpoints (method, path, description)
80
+ - Find DTO/schema files → extract request/response shapes
81
+ - Find exported service methods → extract public operations
82
+
83
+ For **frontend modules**:
84
+ - Find page/route components → extract routes
85
+ - Find exported components → extract component library
86
+ - Find custom hooks → extract hook API
87
+ - Find store/state definitions → extract state shape
88
+
89
+ For **shared/lib modules**:
90
+ - Find index.ts exports → extract public API
91
+ - Find type definitions → extract key types and interfaces
92
+
93
+ ### Step 4: Pattern Detection
94
+
95
+ Identify patterns actually used in the code:
96
+
97
+ | Pattern | What to look for |
98
+ |---------|----------------|
99
+ | Dependency Injection | `@Injectable`, `@Module`, constructor params, containers |
100
+ | Repository pattern | `Repository`, `findById`, `save`, `delete` methods |
101
+ | CQRS | `Command`, `Query`, `Handler`, `Bus` classes |
102
+ | Event-driven | `EventEmitter`, `@OnEvent`, message queue clients |
103
+ | React Query / SWR | `useQuery`, `useMutation` hook patterns |
104
+ | MobX | `@observable`, `@action`, `makeAutoObservable` |
105
+ | Redux | `createSlice`, `createAsyncThunk`, `useSelector` |
106
+
107
+ ### Step 5: Dependencies & Integrations
108
+
109
+ From imports and config files, identify:
110
+ - External services (databases, queues, caches, auth providers)
111
+ - Internal cross-module dependencies
112
+ - Third-party libraries central to the module's function
113
+
114
+ ### Step 6: Write Analysis Artifact
115
+
116
+ ```markdown
117
+ # Module Analysis: <Module Name>
118
+
119
+ ## Purpose
120
+ <1-2 paragraphs: what this module does, what problem it solves>
121
+
122
+ ## Architecture Pattern
123
+ <pattern name + brief explanation>
124
+
125
+ ## Structure
126
+ <annotated directory tree, 2-3 levels>
127
+
128
+ ## Public API
129
+
130
+ ### Endpoints (backend) / Routes (frontend)
131
+ | Method | Path | Description |
132
+ |--------|------|-------------|
133
+
134
+ ### Key Exports / Components / Services
135
+ | Name | Type | Purpose |
136
+ |------|------|---------|
137
+
138
+ ### Data Models / DTOs
139
+ | Model | Fields (key ones) | Used in |
140
+ |-------|------------------|---------|
141
+
142
+ ## Key Patterns Used
143
+ <list with brief explanation of each>
144
+
145
+ ## External Dependencies
146
+ | Dependency | Purpose |
147
+ |-----------|---------|
148
+
149
+ ## Internal Dependencies
150
+ <which other modules this module depends on>
151
+
152
+ ## Configuration
153
+ <env vars, config files, feature flags used>
154
+
155
+ ## Error Handling
156
+ <how errors are handled and propagated>
157
+
158
+ ## Testing
159
+ <test coverage summary, test patterns used>
160
+
161
+ ## Notes & Observations
162
+ <unusual patterns, technical debt, important constraints>
163
+ ```
@@ -0,0 +1,161 @@
1
+ ---
2
+ name: autodoc-architect
3
+ description: >
4
+ Phase 3 subagent for autodoc-orchestrator. Synthesizes all module analyses
5
+ into a system-level architecture description: layers, data flows, integration
6
+ points, and cross-cutting concerns.
7
+ Use when: dispatched by autodoc-orchestrator Phase 3.
8
+ NOT for: direct user invocation.
9
+ version: 1.0.0
10
+ ---
11
+
12
+ # autodoc-architect
13
+
14
+ ## Purpose
15
+
16
+ Derive the overall system architecture from individual module analyses.
17
+ Produce a unified architecture document that captures how the modules
18
+ fit together — something no single module analyst can see alone.
19
+
20
+ ## Iron Laws
21
+
22
+ | # | Law |
23
+ |---|-----|
24
+ | 1 | Read ALL module analysis artifacts — no module may be ignored |
25
+ | 2 | Derive architecture from evidence in the analyses — no assumptions |
26
+ | 3 | Map ALL cross-module interactions found in the analyses |
27
+ | 4 | Identify the system's architectural style (what it IS, not what it should be) |
28
+
29
+ ---
30
+
31
+ ## Input Contract
32
+
33
+ ```yaml
34
+ project_map: ".metaproject/jobs/<job>/artifacts/project-map.md"
35
+ module_analyses: ".metaproject/jobs/<job>/artifacts/analysis/*.md" # read all
36
+ JOB_DIR: "<job directory>"
37
+ ```
38
+
39
+ ## Output Contract
40
+
41
+ ```yaml
42
+ status: "DONE" | "DONE_WITH_CONCERNS"
43
+ summary: "<3-5 sentences: architectural style, key patterns, integration topology>"
44
+ concerns: ["<concern if any>"]
45
+ artifact_path: ".metaproject/jobs/<job>/artifacts/architecture.md"
46
+ ```
47
+
48
+ ---
49
+
50
+ ## Workflow
51
+
52
+ ### Step 1: Read All Artifacts
53
+
54
+ Read `project-map.md` and every `analysis/*.md` file. Build mental model of:
55
+ - How many modules exist and what each does
56
+ - What each module exposes to others
57
+ - What each module depends on
58
+
59
+ ### Step 2: Identify Architectural Style
60
+
61
+ From the evidence across all modules, determine the dominant architectural style:
62
+
63
+ | Style | Indicators |
64
+ |-------|-----------|
65
+ | Monolith | Single deployable, shared DB, shared process |
66
+ | Modular monolith | Single deployable, feature-separated modules, isolated data |
67
+ | Microservices | Multiple deployables, service discovery, message bus |
68
+ | BFF (Backend for Frontend) | Dedicated API layer per client type |
69
+ | Layered (N-tier) | Strict Presentation → Business → Data layers |
70
+ | Event-driven | Async messaging, event sourcing, CQRS |
71
+ | Hexagonal / Clean | Ports+adapters, domain-centric, dependency inversion |
72
+
73
+ ### Step 3: Map System Topology
74
+
75
+ Draw the integration map:
76
+ - Which modules communicate with which
77
+ - What protocol (HTTP, gRPC, message queue, shared DB, direct import)
78
+ - Direction of dependency (A → B means A depends on B)
79
+
80
+ ### Step 4: Identify Cross-Cutting Concerns
81
+
82
+ From evidence across all module analyses:
83
+ - **Authentication**: where it's enforced, what mechanism
84
+ - **Authorization**: RBAC, ABAC, policy-based
85
+ - **Logging**: centralized or per-module, log aggregation
86
+ - **Error handling**: global handlers, error propagation patterns
87
+ - **Caching**: what's cached, where, eviction strategy
88
+ - **Configuration**: how config is injected (env, config service, remote)
89
+ - **Observability**: metrics, tracing, health checks
90
+
91
+ ### Step 5: Data Flow Mapping
92
+
93
+ Trace the main user journeys through the system:
94
+ - Request ingress (API gateway, load balancer, CDN)
95
+ - Processing path (which modules touch the request)
96
+ - Data persistence (which databases/caches are involved)
97
+ - Response path
98
+
99
+ ### Step 6: Write Architecture Artifact
100
+
101
+ ```markdown
102
+ # System Architecture: <Project Name>
103
+
104
+ ## Architectural Style
105
+ <name + 1-paragraph description of why this style is evident in the codebase>
106
+
107
+ ## System Overview
108
+
109
+ ### Components
110
+ | Component | Type | Technology | Responsibility |
111
+ |-----------|------|-----------|---------------|
112
+
113
+ ### Integration Map
114
+ <textual description of connections>
115
+ Module A → Module B (HTTP/REST)
116
+ Module B → Module C (async, RabbitMQ)
117
+ Module B → PostgreSQL (Prisma ORM)
118
+
119
+ ## Layer Breakdown
120
+
121
+ ### <Layer Name>
122
+ <what lives here, what it's responsible for, what it depends on>
123
+
124
+ ## Cross-Cutting Concerns
125
+
126
+ ### Authentication & Authorization
127
+ <mechanism, enforcement points>
128
+
129
+ ### Error Handling
130
+ <strategy, propagation, user-facing errors>
131
+
132
+ ### Logging & Observability
133
+ <approach, tools, what's instrumented>
134
+
135
+ ### Configuration
136
+ <how config reaches services>
137
+
138
+ ### Caching
139
+ <what, where, how>
140
+
141
+ ## Data Flow
142
+
143
+ ### Main Request Path
144
+ 1. <step>
145
+ 2. <step>
146
+ ...
147
+
148
+ ### Key Data Stores
149
+ | Store | Type | Used By | Data |
150
+ |-------|------|---------|------|
151
+
152
+ ## Deployment Architecture
153
+ <what deploys where, containerization, orchestration>
154
+
155
+ ## Key Architectural Decisions
156
+ | Decision | Choice | Evidence from Code |
157
+ |----------|--------|--------------------|
158
+
159
+ ## Technical Observations
160
+ <technical debt, inconsistencies between modules, areas of improvement>
161
+ ```