@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.
- package/LICENSE +21 -0
- package/README.md +351 -0
- package/dist/cli.js +48427 -0
- package/dist/proxy-worker.js +381 -0
- package/package.json +63 -0
- package/src/gdgraph/affected.test.ts +100 -0
- package/src/gdgraph/affected.ts +135 -0
- package/src/gdgraph/build-integrity.test.ts +193 -0
- package/src/gdgraph/build-lang.test.ts +399 -0
- package/src/gdgraph/build.test.ts +120 -0
- package/src/gdgraph/build.ts +804 -0
- package/src/gdgraph/config.test.ts +47 -0
- package/src/gdgraph/config.ts +113 -0
- package/src/gdgraph/core-sources.test.ts +99 -0
- package/src/gdgraph/core-sources.ts +20 -0
- package/src/gdgraph/enrich.ts +79 -0
- package/src/gdgraph/fallback.test.ts +153 -0
- package/src/gdgraph/find.test.ts +78 -0
- package/src/gdgraph/find.ts +107 -0
- package/src/gdgraph/pagerank.ts +129 -0
- package/src/gdgraph/path.test.ts +56 -0
- package/src/gdgraph/path.ts +112 -0
- package/src/gdgraph/query.ts +133 -0
- package/src/gdgraph/repomap.test.ts +110 -0
- package/src/gdgraph/repomap.ts +193 -0
- package/src/gdgraph/service.test.ts +59 -0
- package/src/gdgraph/service.ts +51 -0
- package/src/gdgraph/staleness.ts +20 -0
- package/src/gdgraph/symbol.test.ts +89 -0
- package/src/gdgraph/symbol.ts +123 -0
- package/src/gdgraph/symbols-capability.test.ts +41 -0
- package/src/gdgraph/symbols-capability.ts +49 -0
- package/src/gdgraph/target.ts +56 -0
- package/src/gdgraph/treesitter/adapter.test.ts +249 -0
- package/src/gdgraph/treesitter/adapter.ts +213 -0
- package/src/gdgraph/treesitter/extract.test.ts +278 -0
- package/src/gdgraph/treesitter/extract.ts +389 -0
- package/src/gdgraph/treesitter/grammars.ts +110 -0
- package/src/gdgraph/treesitter/no-treesitter-import.test.ts +51 -0
- package/src/gdgraph/treesitter/resolve-calls.test.ts +38 -0
- package/src/gdgraph/types.ts +63 -0
- package/src/gdskills/bundled/rules/core/api-contracts.mdc +148 -0
- package/src/gdskills/bundled/rules/core/async-patterns.mdc +185 -0
- package/src/gdskills/bundled/rules/core/clean-architecture.mdc +163 -0
- package/src/gdskills/bundled/rules/core/code-review-ai-assistant.mdc +49 -0
- package/src/gdskills/bundled/rules/core/code-review-b091-profile.mdc +48 -0
- package/src/gdskills/bundled/rules/core/code-style-patterns.mdc +54 -0
- package/src/gdskills/bundled/rules/core/commit-message-formatting.mdc +25 -0
- package/src/gdskills/bundled/rules/core/database-patterns.mdc +162 -0
- package/src/gdskills/bundled/rules/core/documentation-management.mdc +106 -0
- package/src/gdskills/bundled/rules/core/error-handling.mdc +163 -0
- package/src/gdskills/bundled/rules/core/execution-metrics.md +99 -0
- package/src/gdskills/bundled/rules/core/frontend-assistant.mdc +40 -0
- package/src/gdskills/bundled/rules/core/git-rules.mdc +37 -0
- package/src/gdskills/bundled/rules/core/gproject-contracts.mdc +198 -0
- package/src/gdskills/bundled/rules/core/implementation-doc-mandate.mdc +149 -0
- package/src/gdskills/bundled/rules/core/implementation-plans.mdc +58 -0
- package/src/gdskills/bundled/rules/core/jobs-documentation.mdc +221 -0
- package/src/gdskills/bundled/rules/core/mobx-store-template.mdc +561 -0
- package/src/gdskills/bundled/rules/core/model-selection.mdc +53 -0
- package/src/gdskills/bundled/rules/core/nestjs-dto.mdc +50 -0
- package/src/gdskills/bundled/rules/core/playwright-testing.mdc +321 -0
- package/src/gdskills/bundled/rules/core/requirements-management.mdc +35 -0
- package/src/gdskills/bundled/rules/core/requirements-package-standard.mdc +103 -0
- package/src/gdskills/bundled/rules/core/review-agent-profile.mdc +49 -0
- package/src/gdskills/bundled/rules/core/review-strict-profile.mdc +44 -0
- package/src/gdskills/bundled/rules/core/rule-management-workflow.mdc +62 -0
- package/src/gdskills/bundled/rules/core/security-baseline.mdc +155 -0
- package/src/gdskills/bundled/rules/core/shared-definitions.mdc +79 -0
- package/src/gdskills/bundled/rules/core/skill-lifecycle.mdc +55 -0
- package/src/gdskills/bundled/rules/core/skills-storage-workflow.mdc +88 -0
- package/src/gdskills/bundled/rules/core/solid-principles.mdc +149 -0
- package/src/gdskills/bundled/rules/core/storybook-guidelines.mdc +36 -0
- package/src/gdskills/bundled/rules/core/subagent-context-construction.md +107 -0
- package/src/gdskills/bundled/rules/core/subagent-status-protocol.md +169 -0
- package/src/gdskills/bundled/rules/core/tdd-workflow.mdc +96 -0
- package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.codex.md +47 -0
- package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.cursor.md +55 -0
- package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.md +352 -0
- package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.opencode.md +39 -0
- package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.zed.md +29 -0
- package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.codex.md +567 -0
- package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.cursor.md +567 -0
- package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.md +655 -0
- package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.opencode.md +567 -0
- package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.zed.md +567 -0
- package/src/gdskills/bundled/skills/orchestration/context-collector/input-contract.schema.json +134 -0
- package/src/gdskills/bundled/skills/orchestration/context-collector/orchestrator-prompt.md +183 -0
- package/src/gdskills/bundled/skills/orchestration/context-collector/output-contract.schema.json +208 -0
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.codex.md +1412 -0
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.cursor.md +1412 -0
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.detail.md +735 -0
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.md +468 -0
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.opencode.md +1412 -0
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.zed.md +1412 -0
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/analysis-request.md +62 -0
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/analysis-request.template.md +79 -0
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/input-contract.schema.json +247 -0
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/orchestrator-prompt.md +362 -0
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/output-contract.schema.json +87 -0
- package/src/gdskills/bundled/skills/orchestration/feature-dev/SKILL.codex.md +105 -0
- package/src/gdskills/bundled/skills/orchestration/feature-dev/SKILL.cursor.md +105 -0
- package/src/gdskills/bundled/skills/orchestration/feature-dev/SKILL.md +165 -0
- package/src/gdskills/bundled/skills/orchestration/flow-orchestrator/SKILL.md +379 -0
- package/src/gdskills/bundled/skills/orchestration/flow-orchestrator/input-contract.schema.json +33 -0
- package/src/gdskills/bundled/skills/orchestration/flow-orchestrator/output-contract.schema.json +41 -0
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.codex.md +307 -0
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.cursor.md +307 -0
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.md +373 -0
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.opencode.md +307 -0
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.zed.md +307 -0
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/input-contract.schema.json +130 -0
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/issue-request.template.md +50 -0
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/orchestrator-prompt.md +155 -0
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/output-contract.schema.json +61 -0
- package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.codex.md +365 -0
- package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.cursor.md +365 -0
- package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.md +373 -0
- package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.opencode.md +365 -0
- package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.zed.md +365 -0
- package/src/gdskills/bundled/skills/orchestration/job-documenter/input-contract.schema.json +55 -0
- package/src/gdskills/bundled/skills/orchestration/job-documenter/output-contract.schema.json +58 -0
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.codex.md +1701 -0
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.cursor.md +1701 -0
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.md +1734 -0
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.opencode.md +1701 -0
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.zed.md +1701 -0
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/input-contract.schema.json +188 -0
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/orchestrator-prompt.md +179 -0
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/output-contract.schema.json +103 -0
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/state.schema.json +164 -0
- package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.codex.md +395 -0
- package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.cursor.md +395 -0
- package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.md +556 -0
- package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.opencode.md +395 -0
- package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.zed.md +395 -0
- package/src/gdskills/bundled/skills/orchestration/task-implementer/input-contract.schema.json +204 -0
- package/src/gdskills/bundled/skills/orchestration/task-implementer/orchestrator-prompt.md +206 -0
- package/src/gdskills/bundled/skills/orchestration/task-implementer/output-contract.schema.json +51 -0
- package/src/gdskills/bundled/skills/orchestration/task-implementer/task-request.template.md +111 -0
- package/src/gdskills/bundled/skills/planning/autodoc-analyst/SKILL.md +163 -0
- package/src/gdskills/bundled/skills/planning/autodoc-architect/SKILL.md +161 -0
- package/src/gdskills/bundled/skills/planning/autodoc-assembler/SKILL.md +128 -0
- package/src/gdskills/bundled/skills/planning/autodoc-orchestrator/SKILL.md +321 -0
- package/src/gdskills/bundled/skills/planning/autodoc-scanner/SKILL.md +166 -0
- package/src/gdskills/bundled/skills/planning/autodoc-writer/SKILL.md +253 -0
- package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.claude.md +46 -0
- package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.codex.md +90 -0
- package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.cursor.md +90 -0
- package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.md +90 -0
- package/src/gdskills/bundled/skills/planning/consistency-checker/SKILL.codex.md +33 -0
- package/src/gdskills/bundled/skills/planning/consistency-checker/SKILL.cursor.md +33 -0
- package/src/gdskills/bundled/skills/planning/consistency-checker/SKILL.md +190 -0
- package/src/gdskills/bundled/skills/planning/docpack-orchestrator/SKILL.md +142 -0
- package/src/gdskills/bundled/skills/planning/docpack-orchestrator/input-contract.schema.json +31 -0
- package/src/gdskills/bundled/skills/planning/docpack-orchestrator/output-contract.schema.json +31 -0
- package/src/gdskills/bundled/skills/planning/docpack-review/SKILL.md +80 -0
- package/src/gdskills/bundled/skills/planning/docpack-review/input-contract.schema.json +20 -0
- package/src/gdskills/bundled/skills/planning/docpack-review/output-contract.schema.json +36 -0
- package/src/gdskills/bundled/skills/planning/interview/SKILL.codex.md +181 -0
- package/src/gdskills/bundled/skills/planning/interview/SKILL.cursor.md +181 -0
- package/src/gdskills/bundled/skills/planning/interview/SKILL.md +187 -0
- package/src/gdskills/bundled/skills/planning/interviewer/SKILL.claude.md +94 -0
- package/src/gdskills/bundled/skills/planning/interviewer/SKILL.codex.md +99 -0
- package/src/gdskills/bundled/skills/planning/interviewer/SKILL.cursor.md +99 -0
- package/src/gdskills/bundled/skills/planning/interviewer/SKILL.md +105 -0
- package/src/gdskills/bundled/skills/planning/patterns-researcher/SKILL.codex.md +33 -0
- package/src/gdskills/bundled/skills/planning/patterns-researcher/SKILL.cursor.md +33 -0
- package/src/gdskills/bundled/skills/planning/patterns-researcher/SKILL.md +237 -0
- package/src/gdskills/bundled/skills/planning/planner/SKILL.codex.md +33 -0
- package/src/gdskills/bundled/skills/planning/planner/SKILL.cursor.md +33 -0
- package/src/gdskills/bundled/skills/planning/planner/SKILL.md +190 -0
- package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.codex.md +193 -0
- package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.cursor.md +193 -0
- package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.md +193 -0
- package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.opencode.md +193 -0
- package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.zed.md +193 -0
- package/src/gdskills/bundled/skills/planning/prd-creator/input-contract.schema.json +63 -0
- package/src/gdskills/bundled/skills/planning/prd-creator/output-contract.schema.json +175 -0
- package/src/gdskills/bundled/skills/planning/problem-definer/SKILL.codex.md +31 -0
- package/src/gdskills/bundled/skills/planning/problem-definer/SKILL.cursor.md +31 -0
- package/src/gdskills/bundled/skills/planning/problem-definer/SKILL.md +153 -0
- package/src/gdskills/bundled/skills/planning/project-discovery/SKILL.codex.md +32 -0
- package/src/gdskills/bundled/skills/planning/project-discovery/SKILL.cursor.md +32 -0
- package/src/gdskills/bundled/skills/planning/project-discovery/SKILL.md +166 -0
- package/src/gdskills/bundled/skills/planning/spec-writer/SKILL.codex.md +44 -0
- package/src/gdskills/bundled/skills/planning/spec-writer/SKILL.cursor.md +44 -0
- package/src/gdskills/bundled/skills/planning/spec-writer/SKILL.md +243 -0
- package/src/gdskills/bundled/skills/planning/stack-advisor/SKILL.codex.md +43 -0
- package/src/gdskills/bundled/skills/planning/stack-advisor/SKILL.cursor.md +43 -0
- package/src/gdskills/bundled/skills/planning/stack-advisor/SKILL.md +193 -0
- package/src/gdskills/bundled/skills/platform/agent-entrypoint-distiller/SKILL.md +47 -0
- package/src/gdskills/bundled/skills/platform/claude-md-management/SKILL.codex.md +87 -0
- package/src/gdskills/bundled/skills/platform/claude-md-management/SKILL.cursor.md +87 -0
- package/src/gdskills/bundled/skills/platform/claude-md-management/SKILL.md +87 -0
- package/src/gdskills/bundled/skills/platform/hookify/SKILL.codex.md +100 -0
- package/src/gdskills/bundled/skills/platform/hookify/SKILL.cursor.md +100 -0
- package/src/gdskills/bundled/skills/platform/hookify/SKILL.md +100 -0
- package/src/gdskills/bundled/skills/quality/changelog/SKILL.claude.md +45 -0
- package/src/gdskills/bundled/skills/quality/changelog/SKILL.codex.md +84 -0
- package/src/gdskills/bundled/skills/quality/changelog/SKILL.cursor.md +84 -0
- package/src/gdskills/bundled/skills/quality/changelog/SKILL.md +84 -0
- package/src/gdskills/bundled/skills/quality/commit/SKILL.codex.md +66 -0
- package/src/gdskills/bundled/skills/quality/commit/SKILL.cursor.md +66 -0
- package/src/gdskills/bundled/skills/quality/commit/SKILL.md +66 -0
- package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.claude.md +40 -0
- package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.codex.md +66 -0
- package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.cursor.md +66 -0
- package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.md +66 -0
- package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.claude.md +45 -0
- package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.codex.md +81 -0
- package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.cursor.md +81 -0
- package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.md +81 -0
- package/src/gdskills/bundled/skills/quality/deploy/SKILL.claude.md +42 -0
- package/src/gdskills/bundled/skills/quality/deploy/SKILL.codex.md +70 -0
- package/src/gdskills/bundled/skills/quality/deploy/SKILL.cursor.md +70 -0
- package/src/gdskills/bundled/skills/quality/deploy/SKILL.md +70 -0
- package/src/gdskills/bundled/skills/quality/metaproject-security/SKILL.md +103 -0
- package/src/gdskills/bundled/skills/quality/perf-check/SKILL.claude.md +48 -0
- package/src/gdskills/bundled/skills/quality/perf-check/SKILL.codex.md +83 -0
- package/src/gdskills/bundled/skills/quality/perf-check/SKILL.cursor.md +83 -0
- package/src/gdskills/bundled/skills/quality/perf-check/SKILL.md +83 -0
- package/src/gdskills/bundled/skills/quality/pr/SKILL.codex.md +75 -0
- package/src/gdskills/bundled/skills/quality/pr/SKILL.cursor.md +75 -0
- package/src/gdskills/bundled/skills/quality/pr/SKILL.md +75 -0
- package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.codex.md +364 -0
- package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.cursor.md +295 -0
- package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.md +378 -0
- package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.opencode.md +364 -0
- package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.zed.md +38 -0
- package/src/gdskills/bundled/skills/quality/pr-issue-documenter/input-contract.schema.json +53 -0
- package/src/gdskills/bundled/skills/quality/pr-issue-documenter/output-contract.schema.json +46 -0
- package/src/gdskills/bundled/skills/quality/push/SKILL.codex.md +52 -0
- package/src/gdskills/bundled/skills/quality/push/SKILL.cursor.md +52 -0
- package/src/gdskills/bundled/skills/quality/push/SKILL.md +52 -0
- package/src/gdskills/bundled/skills/quality/security-audit/SKILL.claude.md +40 -0
- package/src/gdskills/bundled/skills/quality/security-audit/SKILL.codex.md +61 -0
- package/src/gdskills/bundled/skills/quality/security-audit/SKILL.cursor.md +61 -0
- package/src/gdskills/bundled/skills/quality/security-audit/SKILL.md +61 -0
- package/src/gdskills/bundled/skills/quality/test-gen/SKILL.claude.md +30 -0
- package/src/gdskills/bundled/skills/quality/test-gen/SKILL.codex.md +75 -0
- package/src/gdskills/bundled/skills/quality/test-gen/SKILL.cursor.md +75 -0
- package/src/gdskills/bundled/skills/quality/test-gen/SKILL.md +75 -0
- package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.codex.md +64 -0
- package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.cursor.md +74 -0
- package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.md +339 -0
- package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.opencode.md +48 -0
- package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.zed.md +44 -0
- package/src/gdskills/bundled/skills/quality/tests-creator/input-contract.schema.json +121 -0
- package/src/gdskills/bundled/skills/quality/tests-creator/output-contract.schema.json +127 -0
- package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.codex.md +204 -0
- package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.cursor.md +204 -0
- package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.md +203 -0
- package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.opencode.md +204 -0
- package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.zed.md +204 -0
- package/src/gdskills/bundled/skills/review/code-b091-review/SKILL.codex.md +209 -0
- package/src/gdskills/bundled/skills/review/code-b091-review/SKILL.cursor.md +209 -0
- package/src/gdskills/bundled/skills/review/code-b091-review/SKILL.md +208 -0
- package/src/gdskills/bundled/skills/review/code-b091-review/SKILL.opencode.md +209 -0
- package/src/gdskills/bundled/skills/review/code-b091-review/SKILL.zed.md +209 -0
- package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.codex.md +263 -0
- package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.cursor.md +263 -0
- package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.md +258 -0
- package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.opencode.md +263 -0
- package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.zed.md +263 -0
- package/src/gdskills/bundled/skills/review/code-style-review/SKILL.codex.md +175 -0
- package/src/gdskills/bundled/skills/review/code-style-review/SKILL.cursor.md +175 -0
- package/src/gdskills/bundled/skills/review/code-style-review/SKILL.md +168 -0
- package/src/gdskills/bundled/skills/review/code-style-review/SKILL.opencode.md +175 -0
- package/src/gdskills/bundled/skills/review/code-style-review/SKILL.zed.md +175 -0
- package/src/gdskills/bundled/skills/review/review-architecture/SKILL.md +360 -0
- package/src/gdskills/bundled/skills/review/review-backend/SKILL.md +337 -0
- package/src/gdskills/bundled/skills/review/review-clean-code/SKILL.md +477 -0
- package/src/gdskills/bundled/skills/review/review-core-boundaries/SKILL.md +93 -0
- package/src/gdskills/bundled/skills/review/review-flow-graph/SKILL.md +119 -0
- package/src/gdskills/bundled/skills/review/review-frontend/SKILL.md +595 -0
- package/src/gdskills/bundled/skills/review/review-frontend-conventions/SKILL.md +144 -0
- package/src/gdskills/bundled/skills/review/review-highload/SKILL.md +519 -0
- package/src/gdskills/bundled/skills/review/review-logic/SKILL.md +323 -0
- package/src/gdskills/bundled/skills/review/review-orchestrator/SKILL.md +927 -0
- package/src/gdskills/bundled/skills/review/review-orchestrator/input-contract.schema.json +153 -0
- package/src/gdskills/bundled/skills/review/review-orchestrator/output-contract.schema.json +77 -0
- package/src/gdskills/bundled/skills/review/review-orchestrator/review-context.schema.json +389 -0
- package/src/gdskills/bundled/skills/review/review-orchestrator/reviewer-finding.schema.json +189 -0
- package/src/gdskills/bundled/skills/review/review-orchestrator/reviewer-input.schema.json +241 -0
- package/src/gdskills/bundled/skills/review/review-performance/SKILL.md +344 -0
- package/src/gdskills/bundled/skills/review/review-pr-feedback/SKILL.md +327 -0
- package/src/gdskills/bundled/skills/review/review-security-code/SKILL.md +348 -0
- package/src/gdskills/bundled/skills/review/review-strict/SKILL.md +328 -0
- package/src/gdskills/bundled/skills/review/review-style/SKILL.md +343 -0
- package/src/gdskills/bundled/skills/review/review-testing-practices/SKILL.md +134 -0
- package/src/gdskills/bundled/skills/shared/git-merge-base.md +33 -0
- package/src/gdskills/contracts/agent-event.schema.json +32 -0
- package/src/gdskills/contracts/orchestrator-state.schema.json +58 -0
- package/src/gdskills/contracts/review-finding.schema.json +59 -0
- package/src/gdskills/contracts/subagent-dispatch.schema.json +123 -0
- 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
|
+
```
|