@webpresso/agent-kit 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +27 -0
- package/.claude-plugin/plugin.json +73 -0
- package/LICENSE +21 -0
- package/README.md +106 -0
- package/THIRD-PARTY-NOTICES.md +60 -0
- package/bin/_run.js +201 -0
- package/bin/docs-check-internal-links.js +5 -0
- package/bin/docs-check-refs.js +5 -0
- package/bin/docs-check-stale.js +5 -0
- package/bin/docs-lint.js +5 -0
- package/bin/docs-migrate.js +5 -0
- package/bin/wp-check-dev-link.js +5 -0
- package/bin/wp-guard-switch.js +5 -0
- package/bin/wp-post-tool.js +5 -0
- package/bin/wp-pretool-guard.js +5 -0
- package/bin/wp-restore-dev-links.js +5 -0
- package/bin/wp-sessionstart-routing.js +5 -0
- package/bin/wp-stop-qa.js +5 -0
- package/bin/wp-test-quality-check.js +5 -0
- package/bin/wp.js +5 -0
- package/catalog/AGENTS.md.tpl +202 -0
- package/catalog/agent/.audit-budgets.yaml +12 -0
- package/catalog/agent/agents/README.md +22 -0
- package/catalog/agent/agents/code-reviewer.md +34 -0
- package/catalog/agent/agents/doc-writer.md +35 -0
- package/catalog/agent/agents/explorer.md +33 -0
- package/catalog/agent/agents/security-auditor.md +34 -0
- package/catalog/agent/commands/audit-duplication.md +34 -0
- package/catalog/agent/commands/audit.md +219 -0
- package/catalog/agent/commands/brainstorm.md +115 -0
- package/catalog/agent/commands/decide.md +132 -0
- package/catalog/agent/commands/fix-all.md +160 -0
- package/catalog/agent/commands/fix.md +109 -0
- package/catalog/agent/commands/plan-refine.md +103 -0
- package/catalog/agent/commands/pll.md +174 -0
- package/catalog/agent/commands/tph.md +380 -0
- package/catalog/agent/commands/verify.md +9 -0
- package/catalog/agent/correlate.allow.yaml +5 -0
- package/catalog/agent/guides/agent-guardrails.md +116 -0
- package/catalog/agent/guides/parallel-execution.md +79 -0
- package/catalog/agent/guides/plan-audit-checklist.md +189 -0
- package/catalog/agent/guides/skills.md +32 -0
- package/catalog/agent/rules/README.md +30 -0
- package/catalog/agent/rules/agent-guide.md +464 -0
- package/catalog/agent/rules/blueprint-scoping.md +69 -0
- package/catalog/agent/rules/changeset-release.md +161 -0
- package/catalog/agent/rules/cmd-execution.md +121 -0
- package/catalog/agent/rules/context-mode-routing.md +64 -0
- package/catalog/agent/rules/engineering-principles.md +42 -0
- package/catalog/agent/rules/extraction-parity.md +157 -0
- package/catalog/agent/rules/generated-code-governance.md +87 -0
- package/catalog/agent/rules/gstack-routing.md +90 -0
- package/catalog/agent/rules/no-timeout-as-fix.md +90 -0
- package/catalog/agent/rules/package-conventions.md +80 -0
- package/catalog/agent/rules/pre-implementation.md +44 -0
- package/catalog/agent/rules/public-package-safety.md +56 -0
- package/catalog/agent/rules/repo-restrictions.md +175 -0
- package/catalog/agent/rules/rtk-routing.md +50 -0
- package/catalog/agent/rules/supported-agent-clis.md +80 -0
- package/catalog/agent/rules/ts-coding-conventions.md +68 -0
- package/catalog/agent/skills/better-auth-best-practices/SKILL.md +212 -0
- package/catalog/agent/skills/deep-research/SKILL.md +240 -0
- package/catalog/agent/skills/fix/SKILL.md +120 -0
- package/catalog/agent/skills/frontend-design/LICENSE.txt +177 -0
- package/catalog/agent/skills/frontend-design/SKILL.md +189 -0
- package/catalog/agent/skills/hooks-doctor/SKILL.md +77 -0
- package/catalog/agent/skills/logging-best-practices/SKILL.md +145 -0
- package/catalog/agent/skills/logging-best-practices/rules/context.md +157 -0
- package/catalog/agent/skills/logging-best-practices/rules/pitfalls.md +118 -0
- package/catalog/agent/skills/logging-best-practices/rules/structure.md +195 -0
- package/catalog/agent/skills/logging-best-practices/rules/wide-events.md +113 -0
- package/catalog/agent/skills/lore-protocol/SKILL.md +93 -0
- package/catalog/agent/skills/monorepo-navigation/SKILL.md.tpl +57 -0
- package/catalog/agent/skills/monorepo-navigation/examples/webpresso.md +240 -0
- package/catalog/agent/skills/plan-refine/SKILL.md +645 -0
- package/catalog/agent/skills/pll/SKILL.md +85 -0
- package/catalog/agent/skills/react-doctor/SKILL.md +54 -0
- package/catalog/agent/skills/systematic-debugging/CREATION-LOG.md +133 -0
- package/catalog/agent/skills/systematic-debugging/SKILL.md +322 -0
- package/catalog/agent/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/catalog/agent/skills/systematic-debugging/condition-based-waiting.md +120 -0
- package/catalog/agent/skills/systematic-debugging/defense-in-depth.md +128 -0
- package/catalog/agent/skills/systematic-debugging/find-polluter.sh +63 -0
- package/catalog/agent/skills/systematic-debugging/root-cause-tracing.md +183 -0
- package/catalog/agent/skills/systematic-debugging/test-academic.md +14 -0
- package/catalog/agent/skills/systematic-debugging/test-pressure-1.md +65 -0
- package/catalog/agent/skills/systematic-debugging/test-pressure-2.md +75 -0
- package/catalog/agent/skills/systematic-debugging/test-pressure-3.md +75 -0
- package/catalog/agent/skills/tanstack-query/.claude-plugin/plugin.json +12 -0
- package/catalog/agent/skills/tanstack-query/README.md +59 -0
- package/catalog/agent/skills/tanstack-query/SKILL.md +175 -0
- package/catalog/agent/skills/tanstack-query/references/best-practices.md +63 -0
- package/catalog/agent/skills/tanstack-query/references/common-patterns.md +43 -0
- package/catalog/agent/skills/tanstack-query/references/testing.md +44 -0
- package/catalog/agent/skills/tanstack-query/references/top-errors.md +19 -0
- package/catalog/agent/skills/tanstack-query/references/typescript-patterns.md +36 -0
- package/catalog/agent/skills/tanstack-query/rules/tanstack-query.md +41 -0
- package/catalog/agent/skills/tanstack-query/templates/custom-hooks-pattern.tsx +26 -0
- package/catalog/agent/skills/tanstack-query/templates/devtools-setup.tsx +13 -0
- package/catalog/agent/skills/tanstack-query/templates/error-boundary.tsx +52 -0
- package/catalog/agent/skills/tanstack-query/templates/package.json +24 -0
- package/catalog/agent/skills/tanstack-query/templates/provider-setup.tsx +19 -0
- package/catalog/agent/skills/tanstack-query/templates/query-client-config.ts +43 -0
- package/catalog/agent/skills/tanstack-query/templates/use-infinite-query.tsx +61 -0
- package/catalog/agent/skills/tanstack-query/templates/use-mutation-basic.tsx +52 -0
- package/catalog/agent/skills/tanstack-query/templates/use-mutation-optimistic.tsx +48 -0
- package/catalog/agent/skills/tanstack-query/templates/use-query-basic.tsx +77 -0
- package/catalog/agent/skills/tech-debt/SKILL.md +79 -0
- package/catalog/agent/skills/test-driven-development/SKILL.md +403 -0
- package/catalog/agent/skills/test-driven-development/testing-anti-patterns.md +317 -0
- package/catalog/agent/skills/testing-philosophy/SKILL.md +530 -0
- package/catalog/agent/skills/third-party-manifest.json +30 -0
- package/catalog/agent/skills/vercel-react-best-practices/AGENTS.md +2672 -0
- package/catalog/agent/skills/vercel-react-best-practices/README.md +127 -0
- package/catalog/agent/skills/vercel-react-best-practices/SKILL.md +212 -0
- package/catalog/agent/skills/vercel-react-best-practices/metadata.json +15 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/_sections.md +46 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/_template.md +28 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/async-api-routes.md +35 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/async-defer-await.md +80 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/async-dependencies.md +48 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/async-parallel.md +24 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/bundle-conditional.md +37 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +48 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +34 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/bundle-preload.md +44 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/client-event-listeners.md +78 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +74 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +110 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/js-cache-storage.md +68 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/js-length-check-first.md +50 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +38 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +32 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +36 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +72 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +77 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +56 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +36 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/catalog/agent/skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
- package/catalog/agent/skills/verify/SKILL.md +133 -0
- package/catalog/agent/skills/web-design-guidelines/SKILL.md +53 -0
- package/catalog/agent/workflows/README.md +20 -0
- package/catalog/agent/workflows/conf.md +18 -0
- package/catalog/agent/workflows/debug.md +20 -0
- package/catalog/agent/workflows/docs.md +9 -0
- package/catalog/agent/workflows/execute-plan.md +15 -0
- package/catalog/agent/workflows/fix-all-md-warnings.md +13 -0
- package/catalog/agent/workflows/test.md +14 -0
- package/catalog/agent/workflows/write-plan.md +16 -0
- package/catalog/base-kit/.actrc.tmpl +2 -0
- package/catalog/base-kit/.editorconfig.tmpl +23 -0
- package/catalog/base-kit/.github/workflows/ci.webpresso.yml.tmpl +66 -0
- package/catalog/base-kit/.gitignore.tmpl +82 -0
- package/catalog/base-kit/.husky/commit-msg.tmpl +7 -0
- package/catalog/base-kit/.husky/pre-commit.tmpl +10 -0
- package/catalog/base-kit/.secretlintrc.json.tmpl +5 -0
- package/catalog/base-kit/commitlint.config.ts.tmpl +7 -0
- package/catalog/base-kit/e2e/.gitkeep.tmpl +0 -0
- package/catalog/base-kit/pnpm-workspace.yaml.tmpl +49 -0
- package/catalog/base-kit/scripts/audit-secret-provider-quarantine.ts.tmpl +91 -0
- package/catalog/base-kit/scripts/check-no-dev-vars.ts.tmpl +56 -0
- package/catalog/base-kit/test/.gitkeep.tmpl +0 -0
- package/catalog/blueprints/archived/.gitkeep +0 -0
- package/catalog/blueprints/completed/.gitkeep +0 -0
- package/catalog/blueprints/in-progress/.gitkeep +0 -0
- package/catalog/blueprints/parked/.gitkeep +0 -0
- package/catalog/blueprints/planned/.gitkeep +0 -0
- package/catalog/docs/templates/adr.md +38 -0
- package/catalog/docs/templates/blueprint.md +149 -0
- package/catalog/docs/templates/blueprint.yaml +110 -0
- package/catalog/docs/templates/core-doc.yaml +28 -0
- package/catalog/docs/templates/guide.md +31 -0
- package/catalog/docs/templates/guide.yaml +31 -0
- package/catalog/docs/templates/postmortem.md +60 -0
- package/catalog/docs/templates/research.md +37 -0
- package/catalog/docs/templates/runbook.md +39 -0
- package/catalog/docs/templates/system.md +44 -0
- package/catalog/docs/templates/tech-debt.md +78 -0
- package/catalog/vision/VISION.md.tmpl +33 -0
- package/commands/audit.md +13 -0
- package/commands/blueprint.md +28 -0
- package/commands/qa.md +4 -0
- package/commands/test.md +4 -0
- package/dist/esm/ai-memory/checkpoint/saver.d.ts +14 -0
- package/dist/esm/ai-memory/checkpoint/saver.js +28 -0
- package/dist/esm/ai-memory/checkpoint/types.d.ts +75 -0
- package/dist/esm/ai-memory/checkpoint/types.js +2 -0
- package/dist/esm/ai-memory/facts/consolidator.d.ts +23 -0
- package/dist/esm/ai-memory/facts/consolidator.js +134 -0
- package/dist/esm/ai-memory/facts/extractor.d.ts +28 -0
- package/dist/esm/ai-memory/facts/extractor.js +119 -0
- package/dist/esm/ai-memory/facts/types.d.ts +61 -0
- package/dist/esm/ai-memory/facts/types.js +2 -0
- package/dist/esm/ai-memory/hierarchy/retriever.d.ts +47 -0
- package/dist/esm/ai-memory/hierarchy/retriever.js +139 -0
- package/dist/esm/ai-memory/index.d.ts +11 -0
- package/dist/esm/ai-memory/index.js +6 -0
- package/dist/esm/ai-memory/store/sqlite-store.d.ts +28 -0
- package/dist/esm/ai-memory/store/sqlite-store.js +213 -0
- package/dist/esm/ai-prompts/business-canvas.d.ts +52 -0
- package/dist/esm/ai-prompts/business-canvas.js +292 -0
- package/dist/esm/ai-prompts/circuit-breaker.d.ts +35 -0
- package/dist/esm/ai-prompts/circuit-breaker.js +171 -0
- package/dist/esm/ai-prompts/experiment-draft.d.ts +86 -0
- package/dist/esm/ai-prompts/experiment-draft.js +188 -0
- package/dist/esm/ai-prompts/index.d.ts +12 -0
- package/dist/esm/ai-prompts/index.js +11 -0
- package/dist/esm/ai-prompts/persona-context.d.ts +70 -0
- package/dist/esm/ai-prompts/persona-context.js +158 -0
- package/dist/esm/ai-prompts/persona-debate.d.ts +67 -0
- package/dist/esm/ai-prompts/persona-debate.js +172 -0
- package/dist/esm/ai-prompts/persona-tools.d.ts +26 -0
- package/dist/esm/ai-prompts/persona-tools.js +172 -0
- package/dist/esm/ai-prompts/personas.d.ts +16 -0
- package/dist/esm/ai-prompts/personas.js +492 -0
- package/dist/esm/ai-prompts/rachel-planning.d.ts +28 -0
- package/dist/esm/ai-prompts/rachel-planning.js +217 -0
- package/dist/esm/ai-prompts/task-analysis.d.ts +49 -0
- package/dist/esm/ai-prompts/task-analysis.js +434 -0
- package/dist/esm/ai-prompts/types.d.ts +3 -0
- package/dist/esm/ai-prompts/types.js +2 -0
- package/dist/esm/ai-tools/index.d.ts +7 -0
- package/dist/esm/ai-tools/index.js +6 -0
- package/dist/esm/ai-tools/list-files.d.ts +3 -0
- package/dist/esm/ai-tools/list-files.js +93 -0
- package/dist/esm/ai-tools/read-file.d.ts +3 -0
- package/dist/esm/ai-tools/read-file.js +108 -0
- package/dist/esm/ai-tools/search-files.d.ts +3 -0
- package/dist/esm/ai-tools/search-files.js +166 -0
- package/dist/esm/ai-tools/shared/validate-path.d.ts +11 -0
- package/dist/esm/ai-tools/shared/validate-path.js +25 -0
- package/dist/esm/ai-tools/types.d.ts +370 -0
- package/dist/esm/ai-tools/types.js +2 -0
- package/dist/esm/ai-tools/write-file.d.ts +3 -0
- package/dist/esm/ai-tools/write-file.js +165 -0
- package/dist/esm/audit/_budgets.d.ts +28 -0
- package/dist/esm/audit/_budgets.js +60 -0
- package/dist/esm/audit/absolute-path-policy.d.ts +5 -0
- package/dist/esm/audit/absolute-path-policy.js +97 -0
- package/dist/esm/audit/agent-cost.d.ts +3 -0
- package/dist/esm/audit/agent-cost.js +111 -0
- package/dist/esm/audit/agents.d.ts +3 -0
- package/dist/esm/audit/agents.js +331 -0
- package/dist/esm/audit/ai-contracts.d.ts +3 -0
- package/dist/esm/audit/ai-contracts.js +238 -0
- package/dist/esm/audit/architecture-drift.d.ts +33 -0
- package/dist/esm/audit/architecture-drift.js +364 -0
- package/dist/esm/audit/audit-mutation-score.d.ts +43 -0
- package/dist/esm/audit/audit-mutation-score.js +92 -0
- package/dist/esm/audit/audit-no-ambient-root.d.ts +29 -0
- package/dist/esm/audit/audit-no-ambient-root.js +83 -0
- package/dist/esm/audit/audit-tph-detect.d.ts +49 -0
- package/dist/esm/audit/audit-tph-detect.js +248 -0
- package/dist/esm/audit/audit-tph-e2e-detect.d.ts +27 -0
- package/dist/esm/audit/audit-tph-e2e-detect.js +84 -0
- package/dist/esm/audit/audit-tph-e2e-runner.d.ts +8 -0
- package/dist/esm/audit/audit-tph-e2e-runner.js +106 -0
- package/dist/esm/audit/audit-tph-e2e.d.ts +16 -0
- package/dist/esm/audit/audit-tph-e2e.js +17 -0
- package/dist/esm/audit/audit-tph-runner.d.ts +10 -0
- package/dist/esm/audit/audit-tph-runner.js +115 -0
- package/dist/esm/audit/audit-tph.d.ts +17 -0
- package/dist/esm/audit/audit-tph.js +38 -0
- package/dist/esm/audit/blueprint-db-consistency.d.ts +15 -0
- package/dist/esm/audit/blueprint-db-consistency.js +109 -0
- package/dist/esm/audit/blueprint-lifecycle-sql.d.ts +17 -0
- package/dist/esm/audit/blueprint-lifecycle-sql.js +136 -0
- package/dist/esm/audit/broken-refs.d.ts +26 -0
- package/dist/esm/audit/broken-refs.js +181 -0
- package/dist/esm/audit/bucket-boundary.d.ts +21 -0
- package/dist/esm/audit/bucket-boundary.js +330 -0
- package/dist/esm/audit/commit-message-lore.d.ts +41 -0
- package/dist/esm/audit/commit-message-lore.js +113 -0
- package/dist/esm/audit/compile-drift.d.ts +3 -0
- package/dist/esm/audit/compile-drift.js +42 -0
- package/dist/esm/audit/cross-repo-correlation.d.ts +14 -0
- package/dist/esm/audit/cross-repo-correlation.js +50 -0
- package/dist/esm/audit/gitignore-agent-surfaces.d.ts +3 -0
- package/dist/esm/audit/gitignore-agent-surfaces.js +68 -0
- package/dist/esm/audit/hook-surface.d.ts +82 -0
- package/dist/esm/audit/hook-surface.js +251 -0
- package/dist/esm/audit/memory-rotation.d.ts +31 -0
- package/dist/esm/audit/memory-rotation.js +137 -0
- package/dist/esm/audit/memory-unified.d.ts +3 -0
- package/dist/esm/audit/memory-unified.js +46 -0
- package/dist/esm/audit/open-source-licenses.d.ts +4 -0
- package/dist/esm/audit/open-source-licenses.js +224 -0
- package/dist/esm/audit/package-surface.d.ts +7 -0
- package/dist/esm/audit/package-surface.js +674 -0
- package/dist/esm/audit/repo-guardrails.d.ts +89 -0
- package/dist/esm/audit/repo-guardrails.js +875 -0
- package/dist/esm/audit/roadmap-links.d.ts +7 -0
- package/dist/esm/audit/roadmap-links.js +235 -0
- package/dist/esm/audit/run-stryker.d.ts +9 -0
- package/dist/esm/audit/run-stryker.js +24 -0
- package/dist/esm/audit/shell.d.ts +17 -0
- package/dist/esm/audit/shell.js +32 -0
- package/dist/esm/audit/skill-sizes.d.ts +25 -0
- package/dist/esm/audit/skill-sizes.js +153 -0
- package/dist/esm/audit/tech-debt-cadence.d.ts +16 -0
- package/dist/esm/audit/tech-debt-cadence.js +101 -0
- package/dist/esm/audit/tech-debt.d.ts +9 -0
- package/dist/esm/audit/tech-debt.js +107 -0
- package/dist/esm/audit/vision-doc.d.ts +21 -0
- package/dist/esm/audit/vision-doc.js +136 -0
- package/dist/esm/blueprint/aggregate.d.ts +146 -0
- package/dist/esm/blueprint/aggregate.js +217 -0
- package/dist/esm/blueprint/context.d.ts +70 -0
- package/dist/esm/blueprint/context.js +301 -0
- package/dist/esm/blueprint/core/parser.d.ts +53 -0
- package/dist/esm/blueprint/core/parser.js +281 -0
- package/dist/esm/blueprint/core/schema.d.ts +163 -0
- package/dist/esm/blueprint/core/schema.js +98 -0
- package/dist/esm/blueprint/core/types.d.ts +13 -0
- package/dist/esm/blueprint/core/types.js +5 -0
- package/dist/esm/blueprint/core/validation/criteria.d.ts +6 -0
- package/dist/esm/blueprint/core/validation/criteria.js +15 -0
- package/dist/esm/blueprint/core/validation/dependencies.d.ts +19 -0
- package/dist/esm/blueprint/core/validation/dependencies.js +113 -0
- package/dist/esm/blueprint/core/validation/index.d.ts +13 -0
- package/dist/esm/blueprint/core/validation/index.js +11 -0
- package/dist/esm/blueprint/core/validation/links.d.ts +18 -0
- package/dist/esm/blueprint/core/validation/links.js +47 -0
- package/dist/esm/blueprint/core/validation/phases.d.ts +12 -0
- package/dist/esm/blueprint/core/validation/phases.js +18 -0
- package/dist/esm/blueprint/core/validation/state.d.ts +9 -0
- package/dist/esm/blueprint/core/validation/state.js +123 -0
- package/dist/esm/blueprint/core/validation/task-blocks.d.ts +27 -0
- package/dist/esm/blueprint/core/validation/task-blocks.js +48 -0
- package/dist/esm/blueprint/core/validation/task-sections.d.ts +14 -0
- package/dist/esm/blueprint/core/validation/task-sections.js +60 -0
- package/dist/esm/blueprint/core/validation/template.d.ts +9 -0
- package/dist/esm/blueprint/core/validation/template.js +65 -0
- package/dist/esm/blueprint/cross-repo/allowlist.d.ts +28 -0
- package/dist/esm/blueprint/cross-repo/allowlist.js +87 -0
- package/dist/esm/blueprint/cross-repo/audit.d.ts +49 -0
- package/dist/esm/blueprint/cross-repo/audit.js +161 -0
- package/dist/esm/blueprint/cross-repo/resolver.d.ts +28 -0
- package/dist/esm/blueprint/cross-repo/resolver.js +32 -0
- package/dist/esm/blueprint/dag/cycle-detector.d.ts +12 -0
- package/dist/esm/blueprint/dag/cycle-detector.js +46 -0
- package/dist/esm/blueprint/dag/executor.d.ts +140 -0
- package/dist/esm/blueprint/dag/executor.js +292 -0
- package/dist/esm/blueprint/dag/index.d.ts +20 -0
- package/dist/esm/blueprint/dag/index.js +17 -0
- package/dist/esm/blueprint/dag/interfaces.d.ts +56 -0
- package/dist/esm/blueprint/dag/interfaces.js +13 -0
- package/dist/esm/blueprint/dag/local/independence.d.ts +107 -0
- package/dist/esm/blueprint/dag/local/independence.js +231 -0
- package/dist/esm/blueprint/dag/local/index.d.ts +14 -0
- package/dist/esm/blueprint/dag/local/index.js +14 -0
- package/dist/esm/blueprint/dag/local/package-graph.d.ts +66 -0
- package/dist/esm/blueprint/dag/local/package-graph.js +148 -0
- package/dist/esm/blueprint/dag/plan-parser.d.ts +54 -0
- package/dist/esm/blueprint/dag/plan-parser.js +236 -0
- package/dist/esm/blueprint/dag/task-graph-algorithms.d.ts +13 -0
- package/dist/esm/blueprint/dag/task-graph-algorithms.js +236 -0
- package/dist/esm/blueprint/dag/task-graph.d.ts +171 -0
- package/dist/esm/blueprint/dag/task-graph.js +370 -0
- package/dist/esm/blueprint/dag/types.d.ts +17 -0
- package/dist/esm/blueprint/dag/types.js +2 -0
- package/dist/esm/blueprint/db/cold-start.d.ts +8 -0
- package/dist/esm/blueprint/db/cold-start.js +45 -0
- package/dist/esm/blueprint/db/connection.d.ts +8 -0
- package/dist/esm/blueprint/db/connection.js +45 -0
- package/dist/esm/blueprint/db/enums.d.ts +76 -0
- package/dist/esm/blueprint/db/enums.js +37 -0
- package/dist/esm/blueprint/db/ingester.d.ts +25 -0
- package/dist/esm/blueprint/db/ingester.js +307 -0
- package/dist/esm/blueprint/db/legacy-migration.d.ts +41 -0
- package/dist/esm/blueprint/db/legacy-migration.js +122 -0
- package/dist/esm/blueprint/db/migrations/run.d.ts +3 -0
- package/dist/esm/blueprint/db/migrations/run.js +53 -0
- package/dist/esm/blueprint/db/parser/blueprint-db-parser.d.ts +69 -0
- package/dist/esm/blueprint/db/parser/blueprint-db-parser.js +408 -0
- package/dist/esm/blueprint/db/parser/tech-debt-db-parser.d.ts +33 -0
- package/dist/esm/blueprint/db/parser/tech-debt-db-parser.js +134 -0
- package/dist/esm/blueprint/db/paths.d.ts +104 -0
- package/dist/esm/blueprint/db/paths.js +192 -0
- package/dist/esm/blueprint/db/sqlite.d.ts +32 -0
- package/dist/esm/blueprint/db/sqlite.js +46 -0
- package/dist/esm/blueprint/db/template-runner.d.ts +8 -0
- package/dist/esm/blueprint/db/template-runner.js +65 -0
- package/dist/esm/blueprint/db/templates.d.ts +11 -0
- package/dist/esm/blueprint/db/templates.js +226 -0
- package/dist/esm/blueprint/db/workspace-config.d.ts +38 -0
- package/dist/esm/blueprint/db/workspace-config.js +150 -0
- package/dist/esm/blueprint/evidence.d.ts +140 -0
- package/dist/esm/blueprint/evidence.js +152 -0
- package/dist/esm/blueprint/execution/artifacts.d.ts +9 -0
- package/dist/esm/blueprint/execution/artifacts.js +45 -0
- package/dist/esm/blueprint/execution/metadata.d.ts +11 -0
- package/dist/esm/blueprint/execution/metadata.js +46 -0
- package/dist/esm/blueprint/execution/progress-bridge.d.ts +117 -0
- package/dist/esm/blueprint/execution/progress-bridge.js +302 -0
- package/dist/esm/blueprint/execution/types.d.ts +233 -0
- package/dist/esm/blueprint/execution/types.js +99 -0
- package/dist/esm/blueprint/export/spec-kit/_field-map.d.ts +12 -0
- package/dist/esm/blueprint/export/spec-kit/_field-map.js +33 -0
- package/dist/esm/blueprint/export/spec-kit/constitution.d.ts +7 -0
- package/dist/esm/blueprint/export/spec-kit/constitution.js +61 -0
- package/dist/esm/blueprint/export/spec-kit/index.d.ts +13 -0
- package/dist/esm/blueprint/export/spec-kit/index.js +17 -0
- package/dist/esm/blueprint/export/spec-kit/plan.d.ts +7 -0
- package/dist/esm/blueprint/export/spec-kit/plan.js +43 -0
- package/dist/esm/blueprint/export/spec-kit/spec.d.ts +7 -0
- package/dist/esm/blueprint/export/spec-kit/spec.js +35 -0
- package/dist/esm/blueprint/export/spec-kit/tasks.d.ts +3 -0
- package/dist/esm/blueprint/export/spec-kit/tasks.js +32 -0
- package/dist/esm/blueprint/freshness.d.ts +78 -0
- package/dist/esm/blueprint/freshness.js +127 -0
- package/dist/esm/blueprint/graph/index.d.ts +5 -0
- package/dist/esm/blueprint/graph/index.js +5 -0
- package/dist/esm/blueprint/graph/mermaid-parser.d.ts +3 -0
- package/dist/esm/blueprint/graph/mermaid-parser.js +93 -0
- package/dist/esm/blueprint/graph/mermaid-serializer.d.ts +3 -0
- package/dist/esm/blueprint/graph/mermaid-serializer.js +20 -0
- package/dist/esm/blueprint/graph/schema.d.ts +89 -0
- package/dist/esm/blueprint/graph/schema.js +104 -0
- package/dist/esm/blueprint/graph/task-graph-adapter.d.ts +6 -0
- package/dist/esm/blueprint/graph/task-graph-adapter.js +30 -0
- package/dist/esm/blueprint/history/diff.d.ts +36 -0
- package/dist/esm/blueprint/history/diff.js +122 -0
- package/dist/esm/blueprint/index.d.ts +37 -0
- package/dist/esm/blueprint/index.js +46 -0
- package/dist/esm/blueprint/lifecycle/audit.d.ts +17 -0
- package/dist/esm/blueprint/lifecycle/audit.js +423 -0
- package/dist/esm/blueprint/lifecycle/engine.d.ts +38 -0
- package/dist/esm/blueprint/lifecycle/engine.js +157 -0
- package/dist/esm/blueprint/lifecycle/local.d.ts +15 -0
- package/dist/esm/blueprint/lifecycle/local.js +92 -0
- package/dist/esm/blueprint/local.d.ts +21 -0
- package/dist/esm/blueprint/local.js +25 -0
- package/dist/esm/blueprint/markdown/helpers.d.ts +17 -0
- package/dist/esm/blueprint/markdown/helpers.js +92 -0
- package/dist/esm/blueprint/markdown/task-heading.d.ts +8 -0
- package/dist/esm/blueprint/markdown/task-heading.js +19 -0
- package/dist/esm/blueprint/next-action.d.ts +27 -0
- package/dist/esm/blueprint/next-action.js +45 -0
- package/dist/esm/blueprint/project-resolver.d.ts +31 -0
- package/dist/esm/blueprint/project-resolver.js +142 -0
- package/dist/esm/blueprint/projection-ready.d.ts +3 -0
- package/dist/esm/blueprint/projection-ready.js +29 -0
- package/dist/esm/blueprint/projects.d.ts +96 -0
- package/dist/esm/blueprint/projects.js +383 -0
- package/dist/esm/blueprint/query/types.d.ts +53 -0
- package/dist/esm/blueprint/query/types.js +16 -0
- package/dist/esm/blueprint/roadmap.d.ts +24 -0
- package/dist/esm/blueprint/roadmap.js +82 -0
- package/dist/esm/blueprint/service/BlueprintCreationService.d.ts +47 -0
- package/dist/esm/blueprint/service/BlueprintCreationService.js +260 -0
- package/dist/esm/blueprint/service/BlueprintService.d.ts +70 -0
- package/dist/esm/blueprint/service/BlueprintService.js +190 -0
- package/dist/esm/blueprint/service/TechDebtService.d.ts +102 -0
- package/dist/esm/blueprint/service/TechDebtService.js +337 -0
- package/dist/esm/blueprint/service/TrackedDocumentService.d.ts +198 -0
- package/dist/esm/blueprint/service/TrackedDocumentService.js +162 -0
- package/dist/esm/blueprint/service/blueprint-records.d.ts +8 -0
- package/dist/esm/blueprint/service/blueprint-records.js +124 -0
- package/dist/esm/blueprint/service/blueprint-tech-debt-links.d.ts +3 -0
- package/dist/esm/blueprint/service/blueprint-tech-debt-links.js +35 -0
- package/dist/esm/blueprint/service/priority-scoring.d.ts +21 -0
- package/dist/esm/blueprint/service/priority-scoring.js +85 -0
- package/dist/esm/blueprint/service/scanner.d.ts +56 -0
- package/dist/esm/blueprint/service/scanner.js +212 -0
- package/dist/esm/blueprint/sync/auth.d.ts +27 -0
- package/dist/esm/blueprint/sync/auth.js +59 -0
- package/dist/esm/blueprint/sync/client.d.ts +64 -0
- package/dist/esm/blueprint/sync/client.js +232 -0
- package/dist/esm/blueprint/sync/replica.d.ts +55 -0
- package/dist/esm/blueprint/sync/replica.js +139 -0
- package/dist/esm/blueprint/sync/types.d.ts +178 -0
- package/dist/esm/blueprint/sync/types.js +18 -0
- package/dist/esm/blueprint/tech-debt/index.d.ts +9 -0
- package/dist/esm/blueprint/tech-debt/index.js +9 -0
- package/dist/esm/blueprint/tech-debt/parser.d.ts +56 -0
- package/dist/esm/blueprint/tech-debt/parser.js +133 -0
- package/dist/esm/blueprint/tech-debt/query-types.d.ts +130 -0
- package/dist/esm/blueprint/tech-debt/query-types.js +37 -0
- package/dist/esm/blueprint/tech-debt/schema.d.ts +151 -0
- package/dist/esm/blueprint/tech-debt/schema.js +145 -0
- package/dist/esm/blueprint/test-utils/blueprint-mocks.d.ts +31 -0
- package/dist/esm/blueprint/test-utils/blueprint-mocks.js +63 -0
- package/dist/esm/blueprint/tracked-document/index.d.ts +11 -0
- package/dist/esm/blueprint/tracked-document/index.js +11 -0
- package/dist/esm/blueprint/tracked-document/parser.d.ts +113 -0
- package/dist/esm/blueprint/tracked-document/parser.js +197 -0
- package/dist/esm/blueprint/tracked-document/query-types.d.ts +43 -0
- package/dist/esm/blueprint/tracked-document/query-types.js +8 -0
- package/dist/esm/blueprint/tracked-document/schema.d.ts +80 -0
- package/dist/esm/blueprint/tracked-document/schema.js +89 -0
- package/dist/esm/blueprint/types/execution-backend.d.ts +17 -0
- package/dist/esm/blueprint/types/execution-backend.js +16 -0
- package/dist/esm/blueprint/utils/archive.d.ts +69 -0
- package/dist/esm/blueprint/utils/archive.js +209 -0
- package/dist/esm/blueprint/utils/blueprint-root.d.ts +9 -0
- package/dist/esm/blueprint/utils/blueprint-root.js +77 -0
- package/dist/esm/blueprint/utils/conflict.d.ts +125 -0
- package/dist/esm/blueprint/utils/conflict.js +111 -0
- package/dist/esm/blueprint/utils/decision-trace-artifacts.d.ts +16 -0
- package/dist/esm/blueprint/utils/decision-trace-artifacts.js +37 -0
- package/dist/esm/blueprint/utils/errors.d.ts +14 -0
- package/dist/esm/blueprint/utils/errors.js +44 -0
- package/dist/esm/blueprint/utils/freshness.d.ts +21 -0
- package/dist/esm/blueprint/utils/freshness.js +66 -0
- package/dist/esm/blueprint/utils/package-assets.d.ts +6 -0
- package/dist/esm/blueprint/utils/package-assets.js +20 -0
- package/dist/esm/blueprint/utils/string.d.ts +8 -0
- package/dist/esm/blueprint/utils/string.js +10 -0
- package/dist/esm/blueprint/utils/tech-debt-root.d.ts +4 -0
- package/dist/esm/blueprint/utils/tech-debt-root.js +18 -0
- package/dist/esm/blueprint/verification.d.ts +116 -0
- package/dist/esm/blueprint/verification.js +246 -0
- package/dist/esm/build/generate-skills-dir.d.ts +14 -0
- package/dist/esm/build/generate-skills-dir.js +56 -0
- package/dist/esm/ci/act-helper.d.ts +29 -0
- package/dist/esm/ci/act-helper.js +106 -0
- package/dist/esm/ci/act-runner.d.ts +24 -0
- package/dist/esm/ci/act-runner.js +71 -0
- package/dist/esm/cli/auto-update/detect-pm.d.ts +76 -0
- package/dist/esm/cli/auto-update/detect-pm.js +237 -0
- package/dist/esm/cli/auto-update/installer.d.ts +65 -0
- package/dist/esm/cli/auto-update/installer.js +171 -0
- package/dist/esm/cli/auto-update/log.d.ts +46 -0
- package/dist/esm/cli/auto-update/log.js +107 -0
- package/dist/esm/cli/auto-update/run.d.ts +23 -0
- package/dist/esm/cli/auto-update/run.js +116 -0
- package/dist/esm/cli/auto-update/skip.d.ts +34 -0
- package/dist/esm/cli/auto-update/skip.js +84 -0
- package/dist/esm/cli/bootstrap.d.ts +28 -0
- package/dist/esm/cli/bootstrap.js +55 -0
- package/dist/esm/cli/cli.d.ts +11 -0
- package/dist/esm/cli/cli.js +310 -0
- package/dist/esm/cli/commands/audit-core.d.ts +61 -0
- package/dist/esm/cli/commands/audit-core.js +87 -0
- package/dist/esm/cli/commands/audit.d.ts +10 -0
- package/dist/esm/cli/commands/audit.js +273 -0
- package/dist/esm/cli/commands/bench/index.d.ts +6 -0
- package/dist/esm/cli/commands/bench/index.js +54 -0
- package/dist/esm/cli/commands/bench/session-memory.d.ts +129 -0
- package/dist/esm/cli/commands/bench/session-memory.js +242 -0
- package/dist/esm/cli/commands/blueprint/db-commands.d.ts +60 -0
- package/dist/esm/cli/commands/blueprint/db-commands.js +244 -0
- package/dist/esm/cli/commands/blueprint/execution-io.d.ts +80 -0
- package/dist/esm/cli/commands/blueprint/execution-io.js +78 -0
- package/dist/esm/cli/commands/blueprint/execution-spec.d.ts +45 -0
- package/dist/esm/cli/commands/blueprint/execution-spec.js +177 -0
- package/dist/esm/cli/commands/blueprint/execution-state.d.ts +17 -0
- package/dist/esm/cli/commands/blueprint/execution-state.js +38 -0
- package/dist/esm/cli/commands/blueprint/execution.d.ts +74 -0
- package/dist/esm/cli/commands/blueprint/execution.js +256 -0
- package/dist/esm/cli/commands/blueprint/mutations.d.ts +109 -0
- package/dist/esm/cli/commands/blueprint/mutations.js +357 -0
- package/dist/esm/cli/commands/blueprint/router-dispatch.d.ts +50 -0
- package/dist/esm/cli/commands/blueprint/router-dispatch.js +358 -0
- package/dist/esm/cli/commands/blueprint/router-output.d.ts +25 -0
- package/dist/esm/cli/commands/blueprint/router-output.js +190 -0
- package/dist/esm/cli/commands/blueprint/router.d.ts +117 -0
- package/dist/esm/cli/commands/blueprint/router.js +480 -0
- package/dist/esm/cli/commands/blueprint/template-resolver.d.ts +19 -0
- package/dist/esm/cli/commands/blueprint/template-resolver.js +55 -0
- package/dist/esm/cli/commands/ci.d.ts +31 -0
- package/dist/esm/cli/commands/ci.js +76 -0
- package/dist/esm/cli/commands/compile.d.ts +21 -0
- package/dist/esm/cli/commands/compile.js +329 -0
- package/dist/esm/cli/commands/config.d.ts +55 -0
- package/dist/esm/cli/commands/config.js +272 -0
- package/dist/esm/cli/commands/dev.d.ts +17 -0
- package/dist/esm/cli/commands/dev.js +56 -0
- package/dist/esm/cli/commands/docs-core.d.ts +26 -0
- package/dist/esm/cli/commands/docs-core.js +88 -0
- package/dist/esm/cli/commands/docs.d.ts +9 -0
- package/dist/esm/cli/commands/docs.js +46 -0
- package/dist/esm/cli/commands/doctor.d.ts +10 -0
- package/dist/esm/cli/commands/doctor.js +53 -0
- package/dist/esm/cli/commands/e2e.d.ts +22 -0
- package/dist/esm/cli/commands/e2e.js +99 -0
- package/dist/esm/cli/commands/err.d.ts +11 -0
- package/dist/esm/cli/commands/err.js +73 -0
- package/dist/esm/cli/commands/format.d.ts +4 -0
- package/dist/esm/cli/commands/format.js +48 -0
- package/dist/esm/cli/commands/gain/index.d.ts +10 -0
- package/dist/esm/cli/commands/gain/index.js +83 -0
- package/dist/esm/cli/commands/hooks.d.ts +3 -0
- package/dist/esm/cli/commands/hooks.js +21 -0
- package/dist/esm/cli/commands/init/config.d.ts +36 -0
- package/dist/esm/cli/commands/init/config.js +116 -0
- package/dist/esm/cli/commands/init/detect-consumer.d.ts +49 -0
- package/dist/esm/cli/commands/init/detect-consumer.js +279 -0
- package/dist/esm/cli/commands/init/gitignore-patcher.d.ts +9 -0
- package/dist/esm/cli/commands/init/gitignore-patcher.js +133 -0
- package/dist/esm/cli/commands/init/host-visibility.d.ts +37 -0
- package/dist/esm/cli/commands/init/host-visibility.js +105 -0
- package/dist/esm/cli/commands/init/index.d.ts +23 -0
- package/dist/esm/cli/commands/init/index.js +751 -0
- package/dist/esm/cli/commands/init/merge.d.ts +33 -0
- package/dist/esm/cli/commands/init/merge.js +111 -0
- package/dist/esm/cli/commands/init/preflight.d.ts +15 -0
- package/dist/esm/cli/commands/init/preflight.js +87 -0
- package/dist/esm/cli/commands/init/prompts.d.ts +24 -0
- package/dist/esm/cli/commands/init/prompts.js +126 -0
- package/dist/esm/cli/commands/init/scaffold-agent-rules.d.ts +11 -0
- package/dist/esm/cli/commands/init/scaffold-agent-rules.js +58 -0
- package/dist/esm/cli/commands/init/scaffold-agent-skills.d.ts +11 -0
- package/dist/esm/cli/commands/init/scaffold-agent-skills.js +58 -0
- package/dist/esm/cli/commands/init/scaffold-agent.d.ts +15 -0
- package/dist/esm/cli/commands/init/scaffold-agent.js +63 -0
- package/dist/esm/cli/commands/init/scaffold-agents-md.d.ts +16 -0
- package/dist/esm/cli/commands/init/scaffold-agents-md.js +182 -0
- package/dist/esm/cli/commands/init/scaffold-base-kit.d.ts +9 -0
- package/dist/esm/cli/commands/init/scaffold-base-kit.js +183 -0
- package/dist/esm/cli/commands/init/scaffold-blueprints.d.ts +8 -0
- package/dist/esm/cli/commands/init/scaffold-blueprints.js +84 -0
- package/dist/esm/cli/commands/init/scaffold-catalog-ignore.d.ts +14 -0
- package/dist/esm/cli/commands/init/scaffold-catalog-ignore.js +48 -0
- package/dist/esm/cli/commands/init/scaffold-docs.d.ts +8 -0
- package/dist/esm/cli/commands/init/scaffold-docs.js +15 -0
- package/dist/esm/cli/commands/init/scaffold-monorepo-nav.d.ts +19 -0
- package/dist/esm/cli/commands/init/scaffold-monorepo-nav.js +101 -0
- package/dist/esm/cli/commands/init/scaffolders/agent-hooks/codex-global-normalize.d.ts +20 -0
- package/dist/esm/cli/commands/init/scaffolders/agent-hooks/codex-global-normalize.js +258 -0
- package/dist/esm/cli/commands/init/scaffolders/agent-hooks/codex-global-ownership.d.ts +3 -0
- package/dist/esm/cli/commands/init/scaffolders/agent-hooks/codex-global-ownership.js +36 -0
- package/dist/esm/cli/commands/init/scaffolders/agent-hooks/codex-ownership.d.ts +11 -0
- package/dist/esm/cli/commands/init/scaffolders/agent-hooks/codex-ownership.js +62 -0
- package/dist/esm/cli/commands/init/scaffolders/agent-hooks/codex-trust-sync.d.ts +24 -0
- package/dist/esm/cli/commands/init/scaffolders/agent-hooks/codex-trust-sync.js +101 -0
- package/dist/esm/cli/commands/init/scaffolders/agent-hooks/index.d.ts +68 -0
- package/dist/esm/cli/commands/init/scaffolders/agent-hooks/index.js +585 -0
- package/dist/esm/cli/commands/init/scaffolders/agent-hooks/skill-hooks.d.ts +21 -0
- package/dist/esm/cli/commands/init/scaffolders/agent-hooks/skill-hooks.js +123 -0
- package/dist/esm/cli/commands/init/scaffolders/audit-hooks/index.d.ts +16 -0
- package/dist/esm/cli/commands/init/scaffolders/audit-hooks/index.js +65 -0
- package/dist/esm/cli/commands/init/scaffolders/claude-plugin/index.d.ts +33 -0
- package/dist/esm/cli/commands/init/scaffolders/claude-plugin/index.js +67 -0
- package/dist/esm/cli/commands/init/scaffolders/claude-rules/index.d.ts +7 -0
- package/dist/esm/cli/commands/init/scaffolders/claude-rules/index.js +127 -0
- package/dist/esm/cli/commands/init/scaffolders/codex-cli/index.d.ts +17 -0
- package/dist/esm/cli/commands/init/scaffolders/codex-cli/index.js +27 -0
- package/dist/esm/cli/commands/init/scaffolders/codex-mcp/index.d.ts +79 -0
- package/dist/esm/cli/commands/init/scaffolders/codex-mcp/index.js +189 -0
- package/dist/esm/cli/commands/init/scaffolders/context-mode/index.d.ts +24 -0
- package/dist/esm/cli/commands/init/scaffolders/context-mode/index.js +165 -0
- package/dist/esm/cli/commands/init/scaffolders/example-skill/index.d.ts +15 -0
- package/dist/esm/cli/commands/init/scaffolders/example-skill/index.js +31 -0
- package/dist/esm/cli/commands/init/scaffolders/gstack/index.d.ts +92 -0
- package/dist/esm/cli/commands/init/scaffolders/gstack/index.js +228 -0
- package/dist/esm/cli/commands/init/scaffolders/lore-commits/index.d.ts +12 -0
- package/dist/esm/cli/commands/init/scaffolders/lore-commits/index.js +24 -0
- package/dist/esm/cli/commands/init/scaffolders/omc/index.d.ts +41 -0
- package/dist/esm/cli/commands/init/scaffolders/omc/index.js +54 -0
- package/dist/esm/cli/commands/init/scaffolders/omx/index.d.ts +63 -0
- package/dist/esm/cli/commands/init/scaffolders/omx/index.js +251 -0
- package/dist/esm/cli/commands/init/scaffolders/opencode-plugin/index.d.ts +9 -0
- package/dist/esm/cli/commands/init/scaffolders/opencode-plugin/index.js +86 -0
- package/dist/esm/cli/commands/init/scaffolders/rtk/index.d.ts +25 -0
- package/dist/esm/cli/commands/init/scaffolders/rtk/index.js +55 -0
- package/dist/esm/cli/commands/init/scaffolders/runtime-check/index.d.ts +15 -0
- package/dist/esm/cli/commands/init/scaffolders/runtime-check/index.js +37 -0
- package/dist/esm/cli/commands/init/scaffolders/spinner.d.ts +23 -0
- package/dist/esm/cli/commands/init/scaffolders/spinner.js +32 -0
- package/dist/esm/cli/commands/init/scaffolders/subagents/index.d.ts +7 -0
- package/dist/esm/cli/commands/init/scaffolders/subagents/index.js +88 -0
- package/dist/esm/cli/commands/init/scaffolders/version-pin.d.ts +19 -0
- package/dist/esm/cli/commands/init/scaffolders/version-pin.js +95 -0
- package/dist/esm/cli/commands/init/scaffolders/vision/index.d.ts +10 -0
- package/dist/esm/cli/commands/init/scaffolders/vision/index.js +67 -0
- package/dist/esm/cli/commands/init/scaffolders/vision/interview.d.ts +22 -0
- package/dist/esm/cli/commands/init/scaffolders/vision/interview.js +73 -0
- package/dist/esm/cli/commands/init/scaffolders/workspace-config/index.d.ts +28 -0
- package/dist/esm/cli/commands/init/scaffolders/workspace-config/index.js +40 -0
- package/dist/esm/cli/commands/lint.d.ts +4 -0
- package/dist/esm/cli/commands/lint.js +40 -0
- package/dist/esm/cli/commands/mcp.d.ts +4 -0
- package/dist/esm/cli/commands/mcp.js +18 -0
- package/dist/esm/cli/commands/roadmap.d.ts +7 -0
- package/dist/esm/cli/commands/roadmap.js +79 -0
- package/dist/esm/cli/commands/rule.d.ts +8 -0
- package/dist/esm/cli/commands/rule.js +59 -0
- package/dist/esm/cli/commands/skill.d.ts +20 -0
- package/dist/esm/cli/commands/skill.js +160 -0
- package/dist/esm/cli/commands/sync.d.ts +14 -0
- package/dist/esm/cli/commands/sync.js +132 -0
- package/dist/esm/cli/commands/tech-debt/index.d.ts +5 -0
- package/dist/esm/cli/commands/tech-debt/index.js +5 -0
- package/dist/esm/cli/commands/tech-debt/router-dispatch.d.ts +22 -0
- package/dist/esm/cli/commands/tech-debt/router-dispatch.js +436 -0
- package/dist/esm/cli/commands/tech-debt/router.d.ts +10 -0
- package/dist/esm/cli/commands/tech-debt/router.js +30 -0
- package/dist/esm/cli/commands/test.d.ts +12 -0
- package/dist/esm/cli/commands/test.js +88 -0
- package/dist/esm/cli/commands/typecheck.d.ts +18 -0
- package/dist/esm/cli/commands/typecheck.js +57 -0
- package/dist/esm/cli/commands/worktree/router-dispatch.d.ts +39 -0
- package/dist/esm/cli/commands/worktree/router-dispatch.js +217 -0
- package/dist/esm/cli/commands/worktree/router.d.ts +10 -0
- package/dist/esm/cli/commands/worktree/router.js +34 -0
- package/dist/esm/cli/utils.d.ts +45 -0
- package/dist/esm/cli/utils.js +156 -0
- package/dist/esm/codex/app-server/client.d.ts +50 -0
- package/dist/esm/codex/app-server/client.js +202 -0
- package/dist/esm/codex/app-server/types.d.ts +240 -0
- package/dist/esm/codex/app-server/types.js +103 -0
- package/dist/esm/compiler/flatten.d.ts +10 -0
- package/dist/esm/compiler/flatten.js +71 -0
- package/dist/esm/compiler/manifests/_versions.d.ts +7 -0
- package/dist/esm/compiler/manifests/_versions.js +7 -0
- package/dist/esm/compiler/manifests/claude.d.ts +9 -0
- package/dist/esm/compiler/manifests/claude.js +36 -0
- package/dist/esm/compiler/manifests/codex.d.ts +9 -0
- package/dist/esm/compiler/manifests/codex.js +23 -0
- package/dist/esm/compiler/manifests/cursor.d.ts +9 -0
- package/dist/esm/compiler/manifests/cursor.js +28 -0
- package/dist/esm/compiler/manifests/gemini.d.ts +9 -0
- package/dist/esm/compiler/manifests/gemini.js +20 -0
- package/dist/esm/compiler/memory/directives.d.ts +23 -0
- package/dist/esm/compiler/memory/directives.js +108 -0
- package/dist/esm/compiler/memory/directives.schema.d.ts +55 -0
- package/dist/esm/compiler/memory/directives.schema.js +32 -0
- package/dist/esm/compiler/memory/merger.d.ts +17 -0
- package/dist/esm/compiler/memory/merger.js +122 -0
- package/dist/esm/compiler/memory/precedence.d.ts +15 -0
- package/dist/esm/compiler/memory/precedence.js +40 -0
- package/dist/esm/compiler/memory/provenance.d.ts +13 -0
- package/dist/esm/compiler/memory/provenance.js +8 -0
- package/dist/esm/compiler/orphans.d.ts +8 -0
- package/dist/esm/compiler/orphans.js +58 -0
- package/dist/esm/compiler/schema.d.ts +47 -0
- package/dist/esm/compiler/schema.js +49 -0
- package/dist/esm/config/docs-lint/cli/check-internal-links.d.ts +13 -0
- package/dist/esm/config/docs-lint/cli/check-internal-links.js +161 -0
- package/dist/esm/config/docs-lint/cli/check-refs.d.ts +9 -0
- package/dist/esm/config/docs-lint/cli/check-refs.js +165 -0
- package/dist/esm/config/docs-lint/cli/check-stale.d.ts +9 -0
- package/dist/esm/config/docs-lint/cli/check-stale.js +116 -0
- package/dist/esm/config/docs-lint/cli/commands/migrate-command.d.ts +22 -0
- package/dist/esm/config/docs-lint/cli/commands/migrate-command.js +254 -0
- package/dist/esm/config/docs-lint/cli/commands/validate-command.d.ts +28 -0
- package/dist/esm/config/docs-lint/cli/commands/validate-command.js +363 -0
- package/dist/esm/config/docs-lint/cli/factories.d.ts +54 -0
- package/dist/esm/config/docs-lint/cli/factories.js +85 -0
- package/dist/esm/config/docs-lint/cli/fixers/code-language.d.ts +34 -0
- package/dist/esm/config/docs-lint/cli/fixers/code-language.js +277 -0
- package/dist/esm/config/docs-lint/cli/interfaces.d.ts +55 -0
- package/dist/esm/config/docs-lint/cli/interfaces.js +6 -0
- package/dist/esm/config/docs-lint/cli/migrate.d.ts +3 -0
- package/dist/esm/config/docs-lint/cli/migrate.js +53 -0
- package/dist/esm/config/docs-lint/cli/planning-path.d.ts +2 -0
- package/dist/esm/config/docs-lint/cli/planning-path.js +29 -0
- package/dist/esm/config/docs-lint/cli/validate.d.ts +3 -0
- package/dist/esm/config/docs-lint/cli/validate.js +47 -0
- package/dist/esm/config/docs-lint/cli/validators/code-density.d.ts +7 -0
- package/dist/esm/config/docs-lint/cli/validators/code-density.js +15 -0
- package/dist/esm/config/docs-lint/cli/validators/command-safety.d.ts +19 -0
- package/dist/esm/config/docs-lint/cli/validators/command-safety.js +195 -0
- package/dist/esm/config/docs-lint/cli/validators/context-limits.d.ts +58 -0
- package/dist/esm/config/docs-lint/cli/validators/context-limits.js +212 -0
- package/dist/esm/config/docs-lint/cli/validators/deprecated-commands.d.ts +9 -0
- package/dist/esm/config/docs-lint/cli/validators/deprecated-commands.js +112 -0
- package/dist/esm/config/docs-lint/cli/validators/filename.d.ts +12 -0
- package/dist/esm/config/docs-lint/cli/validators/filename.js +128 -0
- package/dist/esm/config/docs-lint/cli/validators/imports.d.ts +30 -0
- package/dist/esm/config/docs-lint/cli/validators/imports.js +163 -0
- package/dist/esm/config/docs-lint/cli/validators/index.d.ts +8 -0
- package/dist/esm/config/docs-lint/cli/validators/index.js +8 -0
- package/dist/esm/config/docs-lint/cli/validators/links.d.ts +30 -0
- package/dist/esm/config/docs-lint/cli/validators/links.js +134 -0
- package/dist/esm/config/docs-lint/cli/validators/markdownlint.d.ts +11 -0
- package/dist/esm/config/docs-lint/cli/validators/markdownlint.js +17 -0
- package/dist/esm/config/docs-lint/cli/validators/structure.d.ts +10 -0
- package/dist/esm/config/docs-lint/cli/validators/structure.js +75 -0
- package/dist/esm/config/docs-lint/generator/frontmatter-validator.d.ts +6 -0
- package/dist/esm/config/docs-lint/generator/frontmatter-validator.js +72 -0
- package/dist/esm/config/docs-lint/generator/index.d.ts +11 -0
- package/dist/esm/config/docs-lint/generator/index.js +10 -0
- package/dist/esm/config/docs-lint/generator/markdown-generator.d.ts +6 -0
- package/dist/esm/config/docs-lint/generator/markdown-generator.js +78 -0
- package/dist/esm/config/docs-lint/generator/template-loader.d.ts +18 -0
- package/dist/esm/config/docs-lint/generator/template-loader.js +66 -0
- package/dist/esm/config/docs-lint/generator/types.d.ts +100 -0
- package/dist/esm/config/docs-lint/generator/types.js +2 -0
- package/dist/esm/config/docs-lint/index.d.ts +34 -0
- package/dist/esm/config/docs-lint/index.js +3 -0
- package/dist/esm/config/docs-lint/parsers/bold-metadata.d.ts +28 -0
- package/dist/esm/config/docs-lint/parsers/bold-metadata.js +176 -0
- package/dist/esm/config/docs-lint/parsers/frontmatter.d.ts +20 -0
- package/dist/esm/config/docs-lint/parsers/frontmatter.js +67 -0
- package/dist/esm/config/docs-lint/parsers/index.d.ts +3 -0
- package/dist/esm/config/docs-lint/parsers/index.js +3 -0
- package/dist/esm/config/docs-lint/schemas/adaptation.d.ts +28 -0
- package/dist/esm/config/docs-lint/schemas/adaptation.js +18 -0
- package/dist/esm/config/docs-lint/schemas/agents.d.ts +76 -0
- package/dist/esm/config/docs-lint/schemas/agents.js +29 -0
- package/dist/esm/config/docs-lint/schemas/audit.d.ts +52 -0
- package/dist/esm/config/docs-lint/schemas/audit.js +20 -0
- package/dist/esm/config/docs-lint/schemas/common.d.ts +68 -0
- package/dist/esm/config/docs-lint/schemas/common.js +73 -0
- package/dist/esm/config/docs-lint/schemas/cookbook.d.ts +48 -0
- package/dist/esm/config/docs-lint/schemas/cookbook.js +21 -0
- package/dist/esm/config/docs-lint/schemas/core.d.ts +189 -0
- package/dist/esm/config/docs-lint/schemas/core.js +54 -0
- package/dist/esm/config/docs-lint/schemas/decision.d.ts +18 -0
- package/dist/esm/config/docs-lint/schemas/decision.js +9 -0
- package/dist/esm/config/docs-lint/schemas/draft.d.ts +36 -0
- package/dist/esm/config/docs-lint/schemas/draft.js +35 -0
- package/dist/esm/config/docs-lint/schemas/evaluation.d.ts +43 -0
- package/dist/esm/config/docs-lint/schemas/evaluation.js +22 -0
- package/dist/esm/config/docs-lint/schemas/implementation-plan.d.ts +62 -0
- package/dist/esm/config/docs-lint/schemas/implementation-plan.js +34 -0
- package/dist/esm/config/docs-lint/schemas/index.d.ts +51 -0
- package/dist/esm/config/docs-lint/schemas/index.js +109 -0
- package/dist/esm/config/docs-lint/schemas/ongoing-initiative.d.ts +99 -0
- package/dist/esm/config/docs-lint/schemas/ongoing-initiative.js +31 -0
- package/dist/esm/config/docs-lint/schemas/parent-roadmap.d.ts +39 -0
- package/dist/esm/config/docs-lint/schemas/parent-roadmap.js +24 -0
- package/dist/esm/config/docs-lint/schemas/research.d.ts +26 -0
- package/dist/esm/config/docs-lint/schemas/research.js +20 -0
- package/dist/esm/config/docs-lint/schemas/rule.d.ts +48 -0
- package/dist/esm/config/docs-lint/schemas/rule.js +12 -0
- package/dist/esm/config/e2e-preset/index.d.ts +17 -0
- package/dist/esm/config/e2e-preset/index.js +29 -0
- package/dist/esm/config/e2e-preset/playwright.d.ts +17 -0
- package/dist/esm/config/e2e-preset/playwright.js +12 -0
- package/dist/esm/config/launch/contracts.d.ts +100 -0
- package/dist/esm/config/launch/contracts.js +13 -0
- package/dist/esm/config/launch/dev-contracts.d.ts +47 -0
- package/dist/esm/config/launch/dev-contracts.js +8 -0
- package/dist/esm/config/launch/dev-manifest.d.ts +42 -0
- package/dist/esm/config/launch/dev-manifest.js +196 -0
- package/dist/esm/config/launch/index.d.ts +14 -0
- package/dist/esm/config/launch/index.js +12 -0
- package/dist/esm/config/launch/launch-profile.d.ts +47 -0
- package/dist/esm/config/launch/launch-profile.js +39 -0
- package/dist/esm/config/launch/provision-stack.d.ts +64 -0
- package/dist/esm/config/launch/provision-stack.js +45 -0
- package/dist/esm/config/oxlint/code-safety.d.ts +19 -0
- package/dist/esm/config/oxlint/code-safety.js +90 -0
- package/dist/esm/config/oxlint/foundation-purity.d.ts +22 -0
- package/dist/esm/config/oxlint/foundation-purity.js +53 -0
- package/dist/esm/config/oxlint/graphql-conventions.d.ts +24 -0
- package/dist/esm/config/oxlint/graphql-conventions.js +204 -0
- package/dist/esm/config/oxlint/import-hygiene.d.ts +35 -0
- package/dist/esm/config/oxlint/import-hygiene.js +208 -0
- package/dist/esm/config/oxlint/index.d.ts +23 -0
- package/dist/esm/config/oxlint/index.js +29 -0
- package/dist/esm/config/oxlint/monorepo-paths.d.ts +19 -0
- package/dist/esm/config/oxlint/monorepo-paths.js +129 -0
- package/dist/esm/config/oxlint/oxlint-config.fixture.d.ts +3 -0
- package/dist/esm/config/oxlint/oxlint-config.fixture.js +5 -0
- package/dist/esm/config/oxlint/query-patterns.d.ts +25 -0
- package/dist/esm/config/oxlint/query-patterns.js +126 -0
- package/dist/esm/config/oxlint/testing-quality.d.ts +36 -0
- package/dist/esm/config/oxlint/testing-quality.js +187 -0
- package/dist/esm/config/oxlint/tier-boundaries.d.ts +36 -0
- package/dist/esm/config/oxlint/tier-boundaries.js +134 -0
- package/dist/esm/config/stryker/index.d.ts +44 -0
- package/dist/esm/config/stryker/index.js +79 -0
- package/dist/esm/config/test-preset/index.d.ts +2 -0
- package/dist/esm/config/test-preset/index.js +2 -0
- package/dist/esm/config/test-preset/vitest.d.ts +26 -0
- package/dist/esm/config/test-preset/vitest.js +31 -0
- package/dist/esm/config/tsconfig/base.json +37 -0
- package/dist/esm/config/tsconfig/cloudflare.json +10 -0
- package/dist/esm/config/tsconfig/library.json +16 -0
- package/dist/esm/config/tsconfig/react-library.json +9 -0
- package/dist/esm/config/tsconfig/react-router.json +10 -0
- package/dist/esm/config/vitest/bun-sqlite-shim.d.ts +14 -0
- package/dist/esm/config/vitest/bun-sqlite-shim.js +14 -0
- package/dist/esm/config/vitest/consumer-package.d.ts +4 -0
- package/dist/esm/config/vitest/consumer-package.js +63 -0
- package/dist/esm/config/vitest/flakiness-reporter.d.ts +7 -0
- package/dist/esm/config/vitest/flakiness-reporter.js +53 -0
- package/dist/esm/config/vitest/generated-runtime-aliases.d.ts +6 -0
- package/dist/esm/config/vitest/generated-runtime-aliases.js +3 -0
- package/dist/esm/config/vitest/node-setup.d.ts +6 -0
- package/dist/esm/config/vitest/node-setup.js +16 -0
- package/dist/esm/config/vitest/node.d.ts +43 -0
- package/dist/esm/config/vitest/node.js +180 -0
- package/dist/esm/config/vitest/pool-defaults.d.ts +11 -0
- package/dist/esm/config/vitest/pool-defaults.js +43 -0
- package/dist/esm/config/vitest/react-router.d.ts +22 -0
- package/dist/esm/config/vitest/react-router.js +83 -0
- package/dist/esm/config/vitest/react-setup.d.ts +13 -0
- package/dist/esm/config/vitest/react-setup.js +27 -0
- package/dist/esm/config/vitest/react.d.ts +22 -0
- package/dist/esm/config/vitest/react.js +85 -0
- package/dist/esm/config/vitest/version-guard.d.ts +7 -0
- package/dist/esm/config/vitest/version-guard.js +42 -0
- package/dist/esm/config/vitest/workers.d.ts +28 -0
- package/dist/esm/config/vitest/workers.js +44 -0
- package/dist/esm/config/workers-test/cloudflare-types.d.ts +30 -0
- package/dist/esm/config/workers-test/cloudflare-types.js +2 -0
- package/dist/esm/config/workers-test/durable-objects.d.ts +60 -0
- package/dist/esm/config/workers-test/durable-objects.js +73 -0
- package/dist/esm/config/workers-test/env.d.ts +58 -0
- package/dist/esm/config/workers-test/env.js +74 -0
- package/dist/esm/config/workers-test/execution-context.d.ts +21 -0
- package/dist/esm/config/workers-test/execution-context.js +22 -0
- package/dist/esm/config/workers-test/index.d.ts +16 -0
- package/dist/esm/config/workers-test/index.js +15 -0
- package/dist/esm/config/workers-test/requests.d.ts +44 -0
- package/dist/esm/config/workers-test/requests.js +71 -0
- package/dist/esm/config/workers-test/setup.d.ts +63 -0
- package/dist/esm/config/workers-test/setup.js +86 -0
- package/dist/esm/content/audit.d.ts +20 -0
- package/dist/esm/content/audit.js +164 -0
- package/dist/esm/content/dispatch.d.ts +32 -0
- package/dist/esm/content/dispatch.js +204 -0
- package/dist/esm/content/loader.d.ts +50 -0
- package/dist/esm/content/loader.js +166 -0
- package/dist/esm/content/schema.d.ts +123 -0
- package/dist/esm/content/schema.js +125 -0
- package/dist/esm/dev/dev-link-state.d.ts +22 -0
- package/dist/esm/dev/dev-link-state.js +51 -0
- package/dist/esm/dev/index.d.ts +2 -0
- package/dist/esm/dev/index.js +2 -0
- package/dist/esm/dev/load-manifest.d.ts +35 -0
- package/dist/esm/dev/load-manifest.js +182 -0
- package/dist/esm/dev/restore-dev-links/index.d.ts +30 -0
- package/dist/esm/dev/restore-dev-links/index.js +103 -0
- package/dist/esm/docs-linter/blueprint-plan.d.ts +80 -0
- package/dist/esm/docs-linter/blueprint-plan.js +427 -0
- package/dist/esm/docs-linter/index.d.ts +8 -0
- package/dist/esm/docs-linter/index.js +7 -0
- package/dist/esm/docs-linter/types.d.ts +16 -0
- package/dist/esm/docs-linter/types.js +8 -0
- package/dist/esm/e2e/command-builder.d.ts +3 -0
- package/dist/esm/e2e/command-builder.js +98 -0
- package/dist/esm/e2e/command-host-adapter.d.ts +30 -0
- package/dist/esm/e2e/command-host-adapter.js +70 -0
- package/dist/esm/e2e/config.d.ts +26 -0
- package/dist/esm/e2e/config.js +39 -0
- package/dist/esm/e2e/execution.d.ts +14 -0
- package/dist/esm/e2e/execution.js +148 -0
- package/dist/esm/e2e/host-adapter.d.ts +6 -0
- package/dist/esm/e2e/host-adapter.js +22 -0
- package/dist/esm/e2e/index.d.ts +9 -0
- package/dist/esm/e2e/index.js +8 -0
- package/dist/esm/e2e/load-host-adapter.d.ts +43 -0
- package/dist/esm/e2e/load-host-adapter.js +150 -0
- package/dist/esm/e2e/run-planner.d.ts +11 -0
- package/dist/esm/e2e/run-planner.js +186 -0
- package/dist/esm/e2e/suite-registry.d.ts +9 -0
- package/dist/esm/e2e/suite-registry.js +30 -0
- package/dist/esm/e2e/types.d.ts +81 -0
- package/dist/esm/e2e/types.js +2 -0
- package/dist/esm/format/errors.d.ts +2 -0
- package/dist/esm/format/errors.js +15 -0
- package/dist/esm/format/format.d.ts +2 -0
- package/dist/esm/format/format.js +16 -0
- package/dist/esm/format/index.d.ts +35 -0
- package/dist/esm/format/index.js +67 -0
- package/dist/esm/hooks/check-dev-link/index.d.ts +19 -0
- package/dist/esm/hooks/check-dev-link/index.js +87 -0
- package/dist/esm/hooks/doctor.d.ts +34 -0
- package/dist/esm/hooks/doctor.js +699 -0
- package/dist/esm/hooks/guard-switch/index.d.ts +3 -0
- package/dist/esm/hooks/guard-switch/index.js +18 -0
- package/dist/esm/hooks/guard-switch/state.d.ts +4 -0
- package/dist/esm/hooks/guard-switch/state.js +30 -0
- package/dist/esm/hooks/post-tool/lint-after-edit.d.ts +17 -0
- package/dist/esm/hooks/post-tool/lint-after-edit.js +57 -0
- package/dist/esm/hooks/pretool-guard/dev-routing.d.ts +21 -0
- package/dist/esm/hooks/pretool-guard/dev-routing.js +658 -0
- package/dist/esm/hooks/pretool-guard/index.d.ts +5 -0
- package/dist/esm/hooks/pretool-guard/index.js +11 -0
- package/dist/esm/hooks/pretool-guard/logger.d.ts +32 -0
- package/dist/esm/hooks/pretool-guard/logger.js +82 -0
- package/dist/esm/hooks/pretool-guard/runner.d.ts +16 -0
- package/dist/esm/hooks/pretool-guard/runner.js +149 -0
- package/dist/esm/hooks/pretool-guard/validators/blueprint.d.ts +3 -0
- package/dist/esm/hooks/pretool-guard/validators/blueprint.js +16 -0
- package/dist/esm/hooks/pretool-guard/validators/command-file.d.ts +3 -0
- package/dist/esm/hooks/pretool-guard/validators/command-file.js +36 -0
- package/dist/esm/hooks/pretool-guard/validators/complexity.d.ts +3 -0
- package/dist/esm/hooks/pretool-guard/validators/complexity.js +24 -0
- package/dist/esm/hooks/pretool-guard/validators/dangerous-commands.d.ts +4 -0
- package/dist/esm/hooks/pretool-guard/validators/dangerous-commands.js +60 -0
- package/dist/esm/hooks/pretool-guard/validators/docs-governance.d.ts +2 -0
- package/dist/esm/hooks/pretool-guard/validators/docs-governance.js +2 -0
- package/dist/esm/hooks/pretool-guard/validators/file-conventions.d.ts +3 -0
- package/dist/esm/hooks/pretool-guard/validators/file-conventions.js +67 -0
- package/dist/esm/hooks/pretool-guard/validators/forbidden-commands.d.ts +66 -0
- package/dist/esm/hooks/pretool-guard/validators/forbidden-commands.js +439 -0
- package/dist/esm/hooks/pretool-guard/validators/index.d.ts +14 -0
- package/dist/esm/hooks/pretool-guard/validators/index.js +26 -0
- package/dist/esm/hooks/pretool-guard/validators/mcp-redirect.d.ts +16 -0
- package/dist/esm/hooks/pretool-guard/validators/mcp-redirect.js +50 -0
- package/dist/esm/hooks/pretool-guard/validators/package-imports.d.ts +10 -0
- package/dist/esm/hooks/pretool-guard/validators/package-imports.js +36 -0
- package/dist/esm/hooks/pretool-guard/validators/package-imports.types.d.ts +8 -0
- package/dist/esm/hooks/pretool-guard/validators/package-imports.types.js +2 -0
- package/dist/esm/hooks/pretool-guard/validators/path-contract.d.ts +15 -0
- package/dist/esm/hooks/pretool-guard/validators/path-contract.js +105 -0
- package/dist/esm/hooks/pretool-guard/validators/plan-frontmatter.d.ts +13 -0
- package/dist/esm/hooks/pretool-guard/validators/plan-frontmatter.js +121 -0
- package/dist/esm/hooks/pretool-guard/validators/skip-result.d.ts +3 -0
- package/dist/esm/hooks/pretool-guard/validators/skip-result.js +4 -0
- package/dist/esm/hooks/pretool-guard/validators/test-quality.d.ts +22 -0
- package/dist/esm/hooks/pretool-guard/validators/test-quality.js +218 -0
- package/dist/esm/hooks/pretool-guard/validators/ux-quality.d.ts +3 -0
- package/dist/esm/hooks/pretool-guard/validators/ux-quality.js +80 -0
- package/dist/esm/hooks/sessionstart/index.d.ts +16 -0
- package/dist/esm/hooks/sessionstart/index.js +122 -0
- package/dist/esm/hooks/sessionstart/update-banner.d.ts +2 -0
- package/dist/esm/hooks/sessionstart/update-banner.js +66 -0
- package/dist/esm/hooks/shared/hook-bootstrap.d.ts +28 -0
- package/dist/esm/hooks/shared/hook-bootstrap.js +62 -0
- package/dist/esm/hooks/shared/mcp-sentinel.d.ts +10 -0
- package/dist/esm/hooks/shared/mcp-sentinel.js +106 -0
- package/dist/esm/hooks/shared/routing-block.d.ts +8 -0
- package/dist/esm/hooks/shared/routing-block.js +140 -0
- package/dist/esm/hooks/shared/types.d.ts +24 -0
- package/dist/esm/hooks/shared/types.js +48 -0
- package/dist/esm/hooks/shared/validators/blueprint.d.ts +17 -0
- package/dist/esm/hooks/shared/validators/blueprint.js +98 -0
- package/dist/esm/hooks/shared/validators/docs-governance.d.ts +3 -0
- package/dist/esm/hooks/shared/validators/docs-governance.js +30 -0
- package/dist/esm/hooks/shared/worktree-root.d.ts +2 -0
- package/dist/esm/hooks/shared/worktree-root.js +46 -0
- package/dist/esm/hooks/stop/qa-changed-files.d.ts +14 -0
- package/dist/esm/hooks/stop/qa-changed-files.js +96 -0
- package/dist/esm/hooks/test-quality-check.d.ts +5 -0
- package/dist/esm/hooks/test-quality-check.js +61 -0
- package/dist/esm/index.d.ts +13 -0
- package/dist/esm/index.js +11 -0
- package/dist/esm/lint/index.d.ts +53 -0
- package/dist/esm/lint/index.js +115 -0
- package/dist/esm/local.d.ts +19 -0
- package/dist/esm/local.js +14 -0
- package/dist/esm/mcp/_tail-hints.d.ts +31 -0
- package/dist/esm/mcp/_tail-hints.js +86 -0
- package/dist/esm/mcp/auto-discover.d.ts +65 -0
- package/dist/esm/mcp/auto-discover.js +108 -0
- package/dist/esm/mcp/blueprint-server.d.ts +137 -0
- package/dist/esm/mcp/blueprint-server.js +2131 -0
- package/dist/esm/mcp/blueprint-server.platform-first.test-harness.d.ts +31 -0
- package/dist/esm/mcp/blueprint-server.platform-first.test-harness.js +216 -0
- package/dist/esm/mcp/blueprint-server.test-harness.d.ts +49 -0
- package/dist/esm/mcp/blueprint-server.test-harness.js +195 -0
- package/dist/esm/mcp/cli.d.ts +10 -0
- package/dist/esm/mcp/cli.js +48 -0
- package/dist/esm/mcp/runners/test.d.ts +36 -0
- package/dist/esm/mcp/runners/test.js +330 -0
- package/dist/esm/mcp/server.d.ts +24 -0
- package/dist/esm/mcp/server.js +142 -0
- package/dist/esm/mcp/tools/_shared/project-root.d.ts +29 -0
- package/dist/esm/mcp/tools/_shared/project-root.js +61 -0
- package/dist/esm/mcp/tools/_shared/redact.d.ts +2 -0
- package/dist/esm/mcp/tools/_shared/redact.js +29 -0
- package/dist/esm/mcp/tools/_shared/result.d.ts +79 -0
- package/dist/esm/mcp/tools/_shared/result.js +85 -0
- package/dist/esm/mcp/tools/_shared/run-command.d.ts +37 -0
- package/dist/esm/mcp/tools/_shared/run-command.js +122 -0
- package/dist/esm/mcp/tools/_shared/test-budget-contract.d.ts +18 -0
- package/dist/esm/mcp/tools/_shared/test-budget-contract.js +24 -0
- package/dist/esm/mcp/tools/_shared/ui-detection.d.ts +2 -0
- package/dist/esm/mcp/tools/_shared/ui-detection.js +19 -0
- package/dist/esm/mcp/tools/audit.d.ts +45 -0
- package/dist/esm/mcp/tools/audit.js +345 -0
- package/dist/esm/mcp/tools/ci-act.d.ts +4 -0
- package/dist/esm/mcp/tools/ci-act.js +91 -0
- package/dist/esm/mcp/tools/e2e.d.ts +31 -0
- package/dist/esm/mcp/tools/e2e.js +116 -0
- package/dist/esm/mcp/tools/format.d.ts +27 -0
- package/dist/esm/mcp/tools/format.js +107 -0
- package/dist/esm/mcp/tools/lint.d.ts +26 -0
- package/dist/esm/mcp/tools/lint.js +229 -0
- package/dist/esm/mcp/tools/qa.d.ts +39 -0
- package/dist/esm/mcp/tools/qa.js +218 -0
- package/dist/esm/mcp/tools/test.d.ts +25 -0
- package/dist/esm/mcp/tools/test.js +112 -0
- package/dist/esm/mcp/tools/typecheck.d.ts +27 -0
- package/dist/esm/mcp/tools/typecheck.js +186 -0
- package/dist/esm/mcp/tools/worker-tail.d.ts +4 -0
- package/dist/esm/mcp/tools/worker-tail.js +121 -0
- package/dist/esm/output-transforms/generic.d.ts +3 -0
- package/dist/esm/output-transforms/generic.js +20 -0
- package/dist/esm/output-transforms/index.d.ts +34 -0
- package/dist/esm/output-transforms/index.js +41 -0
- package/dist/esm/output-transforms/metadata.d.ts +8 -0
- package/dist/esm/output-transforms/metadata.js +24 -0
- package/dist/esm/output-transforms/oxlint.d.ts +3 -0
- package/dist/esm/output-transforms/oxlint.js +85 -0
- package/dist/esm/output-transforms/passthrough.d.ts +3 -0
- package/dist/esm/output-transforms/passthrough.js +11 -0
- package/dist/esm/output-transforms/rulesync.d.ts +3 -0
- package/dist/esm/output-transforms/rulesync.js +80 -0
- package/dist/esm/output-transforms/should-compact.d.ts +7 -0
- package/dist/esm/output-transforms/should-compact.js +14 -0
- package/dist/esm/output-transforms/tsc.d.ts +3 -0
- package/dist/esm/output-transforms/tsc.js +45 -0
- package/dist/esm/output-transforms/vitest.d.ts +3 -0
- package/dist/esm/output-transforms/vitest.js +120 -0
- package/dist/esm/package.json +92 -0
- package/dist/esm/paths/state-root.d.ts +23 -0
- package/dist/esm/paths/state-root.js +121 -0
- package/dist/esm/quality-engine/command-builder.d.ts +141 -0
- package/dist/esm/quality-engine/command-builder.js +285 -0
- package/dist/esm/quality-engine/index.d.ts +15 -0
- package/dist/esm/quality-engine/index.js +16 -0
- package/dist/esm/quality-engine/log-paths.d.ts +44 -0
- package/dist/esm/quality-engine/log-paths.js +73 -0
- package/dist/esm/quality-engine/package-import-rules.d.ts +69 -0
- package/dist/esm/quality-engine/package-import-rules.js +491 -0
- package/dist/esm/quality-engine/target-resolver.d.ts +187 -0
- package/dist/esm/quality-engine/target-resolver.js +552 -0
- package/dist/esm/quality-engine/test-classification.d.ts +7 -0
- package/dist/esm/quality-engine/test-classification.js +85 -0
- package/dist/esm/quality-engine/workspace-config.d.ts +68 -0
- package/dist/esm/quality-engine/workspace-config.js +131 -0
- package/dist/esm/runners/claude-subagent/index.d.ts +11 -0
- package/dist/esm/runners/claude-subagent/index.js +114 -0
- package/dist/esm/runners/claude-subagent/types.d.ts +7 -0
- package/dist/esm/runners/claude-subagent/types.js +5 -0
- package/dist/esm/runners/codex-exec/index.d.ts +16 -0
- package/dist/esm/runners/codex-exec/index.js +105 -0
- package/dist/esm/runners/index.d.ts +3 -0
- package/dist/esm/runners/index.js +2 -0
- package/dist/esm/runners/local-worktree/index.d.ts +19 -0
- package/dist/esm/runners/local-worktree/index.js +85 -0
- package/dist/esm/runners/local-worktree/path.d.ts +10 -0
- package/dist/esm/runners/local-worktree/path.js +14 -0
- package/dist/esm/runners/select.d.ts +12 -0
- package/dist/esm/runners/select.js +38 -0
- package/dist/esm/runners/types.d.ts +70 -0
- package/dist/esm/runners/types.js +62 -0
- package/dist/esm/secret-gate/runner.d.ts +25 -0
- package/dist/esm/secret-gate/runner.js +106 -0
- package/dist/esm/session-memory/fetch-index.d.ts +13 -0
- package/dist/esm/session-memory/fetch-index.js +80 -0
- package/dist/esm/session-memory/repo-hash.d.ts +3 -0
- package/dist/esm/session-memory/repo-hash.js +20 -0
- package/dist/esm/session-memory/session.d.ts +10 -0
- package/dist/esm/session-memory/session.js +105 -0
- package/dist/esm/session-memory/store.d.ts +17 -0
- package/dist/esm/session-memory/store.js +168 -0
- package/dist/esm/session-memory/types.d.ts +58 -0
- package/dist/esm/session-memory/types.js +2 -0
- package/dist/esm/symlinker/consumers.d.ts +97 -0
- package/dist/esm/symlinker/consumers.js +87 -0
- package/dist/esm/symlinker/frontmatter.d.ts +15 -0
- package/dist/esm/symlinker/frontmatter.js +20 -0
- package/dist/esm/symlinker/index.d.ts +84 -0
- package/dist/esm/symlinker/index.js +496 -0
- package/dist/esm/symlinker/test-utils/assert-symlink-resolves.d.ts +12 -0
- package/dist/esm/symlinker/test-utils/assert-symlink-resolves.js +24 -0
- package/dist/esm/symlinker/toml.d.ts +11 -0
- package/dist/esm/symlinker/toml.js +16 -0
- package/dist/esm/symlinker/unified-sync.d.ts +64 -0
- package/dist/esm/symlinker/unified-sync.js +362 -0
- package/dist/esm/telemetry/_endpoint.d.ts +3 -0
- package/dist/esm/telemetry/_endpoint.js +4 -0
- package/dist/esm/telemetry/setup-tthw.d.ts +10 -0
- package/dist/esm/telemetry/setup-tthw.js +34 -0
- package/dist/esm/test/command-builder.d.ts +25 -0
- package/dist/esm/test/command-builder.js +98 -0
- package/dist/esm/test/index.d.ts +3 -0
- package/dist/esm/test/index.js +3 -0
- package/dist/esm/test/target-resolver.d.ts +13 -0
- package/dist/esm/test/target-resolver.js +53 -0
- package/dist/esm/typecheck/index.d.ts +52 -0
- package/dist/esm/typecheck/index.js +135 -0
- package/dist/esm/vite/bundle-budget.d.ts +37 -0
- package/dist/esm/vite/bundle-budget.js +151 -0
- package/dist/esm/vite/chunk-load-recovery.d.ts +18 -0
- package/dist/esm/vite/chunk-load-recovery.js +62 -0
- package/dist/esm/vite/index.d.ts +3 -0
- package/dist/esm/vite/index.js +3 -0
- package/dist/esm/vite/local.d.ts +16 -0
- package/dist/esm/vite/local.js +164 -0
- package/just/dev-kit.just +24 -0
- package/just/e2e-kit.just +13 -0
- package/just/test-kit.just +10 -0
- package/package.json +675 -0
- package/skills/better-auth-best-practices/SKILL.md +212 -0
- package/skills/deep-research/SKILL.md +240 -0
- package/skills/fix/SKILL.md +120 -0
- package/skills/frontend-design/LICENSE.txt +177 -0
- package/skills/frontend-design/SKILL.md +189 -0
- package/skills/hooks-doctor/SKILL.md +77 -0
- package/skills/logging-best-practices/SKILL.md +145 -0
- package/skills/lore-protocol/SKILL.md +93 -0
- package/skills/plan-refine/SKILL.md +645 -0
- package/skills/pll/SKILL.md +85 -0
- package/skills/react-doctor/SKILL.md +54 -0
- package/skills/systematic-debugging/SKILL.md +322 -0
- package/skills/tanstack-query/SKILL.md +175 -0
- package/skills/tech-debt/SKILL.md +79 -0
- package/skills/test-driven-development/SKILL.md +403 -0
- package/skills/testing-philosophy/SKILL.md +530 -0
- package/skills/vercel-react-best-practices/SKILL.md +212 -0
- package/skills/verify/SKILL.md +133 -0
- package/skills/web-design-guidelines/SKILL.md +53 -0
- package/tsconfig/base.json +37 -0
- package/tsconfig/cloudflare.json +10 -0
- package/tsconfig/library.json +16 -0
- package/tsconfig/react-library.json +9 -0
- package/tsconfig/react-router.json +10 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ParsedBlueprintForDb } from '#db/parser/blueprint-db-parser';
|
|
2
|
+
/**
|
|
3
|
+
* Emit constitution.md — Repo-level principles from VISION.md + CLAUDE.md.
|
|
4
|
+
* Pure function, <40 LOC.
|
|
5
|
+
*/
|
|
6
|
+
export declare function emitConstitution(parsed: ParsedBlueprintForDb, repoRoot: string): string;
|
|
7
|
+
//# sourceMappingURL=constitution.d.ts.map
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { readFileSync } from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
/**
|
|
4
|
+
* Emit constitution.md — Repo-level principles from VISION.md + CLAUDE.md.
|
|
5
|
+
* Pure function, <40 LOC.
|
|
6
|
+
*/
|
|
7
|
+
export function emitConstitution(parsed, repoRoot) {
|
|
8
|
+
const visionSection = readFirstSection(path.join(repoRoot, 'VISION.md'));
|
|
9
|
+
const claudeSection = readFirstBulletListOrSection(path.join(repoRoot, 'CLAUDE.md'));
|
|
10
|
+
const sections = ['# Repository Constitution', ''];
|
|
11
|
+
if (visionSection) {
|
|
12
|
+
sections.push(visionSection, '');
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
sections.push(`## Vision\n\n${parsed.title}`, '');
|
|
16
|
+
}
|
|
17
|
+
sections.push('## Key Principles', '');
|
|
18
|
+
if (claudeSection) {
|
|
19
|
+
sections.push(claudeSection);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
sections.push('_See CLAUDE.md for project conventions._');
|
|
23
|
+
}
|
|
24
|
+
return sections.join('\n');
|
|
25
|
+
}
|
|
26
|
+
function readFirstSection(filePath) {
|
|
27
|
+
try {
|
|
28
|
+
const content = readFileSync(filePath, 'utf-8');
|
|
29
|
+
const lines = content.split('\n');
|
|
30
|
+
// Skip frontmatter
|
|
31
|
+
let start = 0;
|
|
32
|
+
if (lines[0] === '---') {
|
|
33
|
+
const end = lines.indexOf('---', 1);
|
|
34
|
+
start = end > 0 ? end + 1 : 0;
|
|
35
|
+
}
|
|
36
|
+
const body = lines.slice(start).join('\n').trimStart();
|
|
37
|
+
// Return up to the second ## heading or first 20 lines
|
|
38
|
+
const match = body.match(/^(#{1,2} .+(?:\n(?!#{1,2} ).+)*)/);
|
|
39
|
+
const fallback = body.split('\n').slice(0, 20).join('\n').trim();
|
|
40
|
+
return match?.[1]?.trim() ?? (fallback.length > 0 ? fallback : null);
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
function readFirstBulletListOrSection(filePath) {
|
|
47
|
+
try {
|
|
48
|
+
const content = readFileSync(filePath, 'utf-8');
|
|
49
|
+
// Find first ## heading and return that section (up to next ##)
|
|
50
|
+
const match = content.match(/^## .+\n([\s\S]*?)(?=\n## |\n# |$)/m);
|
|
51
|
+
if (match)
|
|
52
|
+
return match[0].trim();
|
|
53
|
+
// Fallback: first bullet list block
|
|
54
|
+
const bullets = content.match(/(?:^- .+\n)+/m);
|
|
55
|
+
return bullets ? bullets[0].trim() : null;
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=constitution.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ParsedBlueprintForDb } from '#db/parser/blueprint-db-parser';
|
|
2
|
+
export interface SpecKitBundle {
|
|
3
|
+
readonly spec: string;
|
|
4
|
+
readonly plan: string;
|
|
5
|
+
readonly tasks: string;
|
|
6
|
+
readonly constitution: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Convert a parsed blueprint to spec-kit's 4-file structure.
|
|
10
|
+
* Each file is a non-empty string; no content is duplicated across files.
|
|
11
|
+
*/
|
|
12
|
+
export declare function blueprintToSpecKit(parsed: ParsedBlueprintForDb, repoRoot: string): SpecKitBundle;
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { emitConstitution } from './constitution.js';
|
|
2
|
+
import { emitPlan } from './plan.js';
|
|
3
|
+
import { emitSpec } from './spec.js';
|
|
4
|
+
import { emitTasks } from './tasks.js';
|
|
5
|
+
/**
|
|
6
|
+
* Convert a parsed blueprint to spec-kit's 4-file structure.
|
|
7
|
+
* Each file is a non-empty string; no content is duplicated across files.
|
|
8
|
+
*/
|
|
9
|
+
export function blueprintToSpecKit(parsed, repoRoot) {
|
|
10
|
+
return {
|
|
11
|
+
spec: emitSpec(parsed),
|
|
12
|
+
plan: emitPlan(parsed),
|
|
13
|
+
tasks: emitTasks(parsed),
|
|
14
|
+
constitution: emitConstitution(parsed, repoRoot),
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ParsedBlueprintForDb } from '#db/parser/blueprint-db-parser';
|
|
2
|
+
/**
|
|
3
|
+
* Emit plan.md — Implementation Plan referencing spec.md, grouped by wave.
|
|
4
|
+
* Pure function, <40 LOC.
|
|
5
|
+
*/
|
|
6
|
+
export declare function emitPlan(parsed: ParsedBlueprintForDb): string;
|
|
7
|
+
//# sourceMappingURL=plan.d.ts.map
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { titleLine } from './_field-map.js';
|
|
2
|
+
/**
|
|
3
|
+
* Emit plan.md — Implementation Plan referencing spec.md, grouped by wave.
|
|
4
|
+
* Pure function, <40 LOC.
|
|
5
|
+
*/
|
|
6
|
+
export function emitPlan(parsed) {
|
|
7
|
+
const sections = [
|
|
8
|
+
titleLine(parsed, 'Implementation Plan'),
|
|
9
|
+
'',
|
|
10
|
+
'> See [spec.md](spec.md) for full specification.',
|
|
11
|
+
'',
|
|
12
|
+
'## Architecture',
|
|
13
|
+
'',
|
|
14
|
+
parsed.complexity ? `Complexity: **${parsed.complexity}**` : '_No architecture notes._',
|
|
15
|
+
'',
|
|
16
|
+
'## Waves',
|
|
17
|
+
'',
|
|
18
|
+
];
|
|
19
|
+
if (parsed.tasks.length === 0) {
|
|
20
|
+
sections.push('_No tasks defined._');
|
|
21
|
+
return sections.join('\n');
|
|
22
|
+
}
|
|
23
|
+
const byWave = groupByWave(parsed.tasks);
|
|
24
|
+
for (const [wave, tasks] of byWave) {
|
|
25
|
+
sections.push(`### ${wave}`, '');
|
|
26
|
+
for (const task of tasks) {
|
|
27
|
+
sections.push(`- **${task.taskId}**: ${task.title}`);
|
|
28
|
+
}
|
|
29
|
+
sections.push('');
|
|
30
|
+
}
|
|
31
|
+
return sections.join('\n').trimEnd() + '\n';
|
|
32
|
+
}
|
|
33
|
+
function groupByWave(tasks) {
|
|
34
|
+
const map = new Map();
|
|
35
|
+
for (const task of tasks) {
|
|
36
|
+
const wave = task.wave ?? 'Wave 1';
|
|
37
|
+
const bucket = map.get(wave) ?? [];
|
|
38
|
+
bucket.push(task);
|
|
39
|
+
map.set(wave, bucket);
|
|
40
|
+
}
|
|
41
|
+
return map;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=plan.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ParsedBlueprintForDb } from '#db/parser/blueprint-db-parser';
|
|
2
|
+
/**
|
|
3
|
+
* Emit spec.md — Feature Specification with User Scenarios, Requirements, Review Checklist.
|
|
4
|
+
* Pure function, <40 LOC.
|
|
5
|
+
*/
|
|
6
|
+
export declare function emitSpec(parsed: ParsedBlueprintForDb): string;
|
|
7
|
+
//# sourceMappingURL=spec.d.ts.map
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { overviewSection, REVIEW_CHECKLIST, titleLine } from './_field-map.js';
|
|
2
|
+
/**
|
|
3
|
+
* Emit spec.md — Feature Specification with User Scenarios, Requirements, Review Checklist.
|
|
4
|
+
* Pure function, <40 LOC.
|
|
5
|
+
*/
|
|
6
|
+
export function emitSpec(parsed) {
|
|
7
|
+
const sections = [titleLine(parsed, 'Specification'), ''];
|
|
8
|
+
sections.push(overviewSection(parsed), '');
|
|
9
|
+
sections.push('## User Scenarios', '');
|
|
10
|
+
if (parsed.tasks.length === 0) {
|
|
11
|
+
sections.push('_No tasks defined._');
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
for (const task of parsed.tasks) {
|
|
15
|
+
const criterion = task.acceptanceCriteria[0] ?? task.title;
|
|
16
|
+
sections.push(`- A developer can ${criterion.replace(/^[-*]\s*/, '').toLowerCase()}`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
sections.push('');
|
|
20
|
+
sections.push('## Requirements', '');
|
|
21
|
+
if (parsed.risks.length === 0) {
|
|
22
|
+
sections.push('_No risks documented._');
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
sections.push('The system must handle:');
|
|
26
|
+
sections.push('');
|
|
27
|
+
for (const risk of parsed.risks) {
|
|
28
|
+
sections.push(`- **${risk.severity}**: ${risk.description}`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
sections.push('');
|
|
32
|
+
sections.push(REVIEW_CHECKLIST);
|
|
33
|
+
return sections.join('\n');
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=spec.js.map
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { taskIdLabel, titleLine } from './_field-map.js';
|
|
2
|
+
export function emitTasks(parsed) {
|
|
3
|
+
const sections = [titleLine(parsed, 'Tasks'), ''];
|
|
4
|
+
if (parsed.tasks.length === 0) {
|
|
5
|
+
sections.push('_No tasks defined._');
|
|
6
|
+
return sections.join('\n');
|
|
7
|
+
}
|
|
8
|
+
const byWave = parsed.tasks.reduce((m, t) => {
|
|
9
|
+
const w = t.wave ?? 'Wave 1';
|
|
10
|
+
m.set(w, [...(m.get(w) ?? []), t]);
|
|
11
|
+
return m;
|
|
12
|
+
}, new Map());
|
|
13
|
+
let i = 0;
|
|
14
|
+
for (const [wave, tasks] of byWave) {
|
|
15
|
+
const parallel = tasks.length > 1;
|
|
16
|
+
sections.push(`### ${wave}`, '');
|
|
17
|
+
for (const task of tasks) {
|
|
18
|
+
const p = parallel ? ' [P]' : '';
|
|
19
|
+
const ac = task.acceptanceCriteria[0] ?? '';
|
|
20
|
+
const files = task.files.map((f) => f.filePath).join(', ');
|
|
21
|
+
sections.push(`- [ ] ${taskIdLabel(i)}: ${task.title}${p}`);
|
|
22
|
+
if (ac)
|
|
23
|
+
sections.push(` - Acceptance: ${ac.replace(/^[-*]\s*/, '')}`);
|
|
24
|
+
if (files)
|
|
25
|
+
sections.push(` - Files: ${files}`);
|
|
26
|
+
i++;
|
|
27
|
+
}
|
|
28
|
+
sections.push('');
|
|
29
|
+
}
|
|
30
|
+
return sections.join('\n').trimEnd() + '\n';
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=tasks.js.map
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HEAD-pinned projection freshness (F11 / E11 / R9).
|
|
3
|
+
*
|
|
4
|
+
* The blueprint markdown directory is git-tracked. A `git checkout other-branch`
|
|
5
|
+
* flips on-disk files without touching the SQLite projection, so cached MCP
|
|
6
|
+
* reads can silently return rows for the wrong commit. This module pins HEAD
|
|
7
|
+
* at ingest time and refuses cached reads when HEAD has moved.
|
|
8
|
+
*
|
|
9
|
+
* Storage: a JSON sidecar at `<dbPath>.meta.json`. The sidecar is intentionally
|
|
10
|
+
* decoupled from the SQLite schema so this task does not touch migrations or
|
|
11
|
+
* collide with Task 1.1's path policy. The sidecar is rebuilt by the ingester
|
|
12
|
+
* and may be safely deleted — `checkFreshness` will return
|
|
13
|
+
* `next_action: 'reingest_project'`.
|
|
14
|
+
*
|
|
15
|
+
* Non-goals here:
|
|
16
|
+
* - No long-lived cache. Each call re-reads the sidecar and re-runs
|
|
17
|
+
* `git rev-parse HEAD`.
|
|
18
|
+
* - No watcher / no background invalidation.
|
|
19
|
+
* - No platform-canonical sync.
|
|
20
|
+
*
|
|
21
|
+
* Consumers: `assembleBlueprintContext` (this task) and Task 2.2's MCP
|
|
22
|
+
* handlers (`wp_blueprint_list`, `_get`, `_context`).
|
|
23
|
+
*/
|
|
24
|
+
import { type NextAction } from './next-action.js';
|
|
25
|
+
/**
|
|
26
|
+
* The minimal `BlueprintProjectRef` slice this module needs. Task 1.2 owns
|
|
27
|
+
* the full `BlueprintProjectRef`; we depend only on the fields that drive
|
|
28
|
+
* freshness so the helper stays usable without the full resolver.
|
|
29
|
+
*/
|
|
30
|
+
export interface BlueprintProjectLike {
|
|
31
|
+
readonly worktree_path: string;
|
|
32
|
+
readonly db_path: string;
|
|
33
|
+
}
|
|
34
|
+
export interface ProjectionMetadata {
|
|
35
|
+
/**
|
|
36
|
+
* `git rev-parse HEAD` captured at ingest time, or `null` when the worktree
|
|
37
|
+
* was not a git repo.
|
|
38
|
+
*/
|
|
39
|
+
readonly head_at_ingest: string | null;
|
|
40
|
+
/** Epoch milliseconds at which the projection was last written. */
|
|
41
|
+
readonly ingested_at: number;
|
|
42
|
+
}
|
|
43
|
+
export type FreshnessResult = {
|
|
44
|
+
readonly ok: true;
|
|
45
|
+
readonly head: string | null;
|
|
46
|
+
readonly ingestedAt: number;
|
|
47
|
+
} | {
|
|
48
|
+
readonly ok: false;
|
|
49
|
+
readonly next_action: NextAction;
|
|
50
|
+
};
|
|
51
|
+
export interface RecordProjectionMetadataInput {
|
|
52
|
+
readonly dbPath: string;
|
|
53
|
+
readonly cwd: string;
|
|
54
|
+
readonly ingestedAt: number;
|
|
55
|
+
}
|
|
56
|
+
/** Run `git rev-parse HEAD` in cwd; return null when not a git repo / no commits. */
|
|
57
|
+
export declare function readCurrentHead(cwd: string): string | null;
|
|
58
|
+
/** Read the sidecar metadata for a projection DB. Returns null on miss/parse-failure. */
|
|
59
|
+
export declare function readProjectionMetadata(dbPath: string): ProjectionMetadata | null;
|
|
60
|
+
/**
|
|
61
|
+
* Write the sidecar metadata. Caller (the ingester) supplies the cwd that was
|
|
62
|
+
* just ingested so we capture the right HEAD.
|
|
63
|
+
*/
|
|
64
|
+
export declare function recordProjectionMetadata(input: RecordProjectionMetadataInput): ProjectionMetadata;
|
|
65
|
+
/**
|
|
66
|
+
* Decide whether the projection DB is fresh for the given worktree.
|
|
67
|
+
*
|
|
68
|
+
* Order of checks:
|
|
69
|
+
* 1. DB file missing → `rebuild_db`.
|
|
70
|
+
* 2. Sidecar missing → `reingest_project`.
|
|
71
|
+
* 3. HEAD recorded ≠ HEAD now → `reingest_project`.
|
|
72
|
+
* 4. Otherwise fresh.
|
|
73
|
+
*
|
|
74
|
+
* `null === null` is treated as fresh: a non-git worktree had no HEAD at
|
|
75
|
+
* ingest and still has none.
|
|
76
|
+
*/
|
|
77
|
+
export declare function checkFreshness(project: BlueprintProjectLike): FreshnessResult;
|
|
78
|
+
//# sourceMappingURL=freshness.d.ts.map
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HEAD-pinned projection freshness (F11 / E11 / R9).
|
|
3
|
+
*
|
|
4
|
+
* The blueprint markdown directory is git-tracked. A `git checkout other-branch`
|
|
5
|
+
* flips on-disk files without touching the SQLite projection, so cached MCP
|
|
6
|
+
* reads can silently return rows for the wrong commit. This module pins HEAD
|
|
7
|
+
* at ingest time and refuses cached reads when HEAD has moved.
|
|
8
|
+
*
|
|
9
|
+
* Storage: a JSON sidecar at `<dbPath>.meta.json`. The sidecar is intentionally
|
|
10
|
+
* decoupled from the SQLite schema so this task does not touch migrations or
|
|
11
|
+
* collide with Task 1.1's path policy. The sidecar is rebuilt by the ingester
|
|
12
|
+
* and may be safely deleted — `checkFreshness` will return
|
|
13
|
+
* `next_action: 'reingest_project'`.
|
|
14
|
+
*
|
|
15
|
+
* Non-goals here:
|
|
16
|
+
* - No long-lived cache. Each call re-reads the sidecar and re-runs
|
|
17
|
+
* `git rev-parse HEAD`.
|
|
18
|
+
* - No watcher / no background invalidation.
|
|
19
|
+
* - No platform-canonical sync.
|
|
20
|
+
*
|
|
21
|
+
* Consumers: `assembleBlueprintContext` (this task) and Task 2.2's MCP
|
|
22
|
+
* handlers (`wp_blueprint_list`, `_get`, `_context`).
|
|
23
|
+
*/
|
|
24
|
+
import { execFileSync } from 'node:child_process';
|
|
25
|
+
import { existsSync, readFileSync, writeFileSync } from 'node:fs';
|
|
26
|
+
import { makeNextAction } from './next-action.js';
|
|
27
|
+
// ---------------------------------------------------------------------------
|
|
28
|
+
// Internals
|
|
29
|
+
// ---------------------------------------------------------------------------
|
|
30
|
+
function sidecarPath(dbPath) {
|
|
31
|
+
return `${dbPath}.meta.json`;
|
|
32
|
+
}
|
|
33
|
+
/** Run `git rev-parse HEAD` in cwd; return null when not a git repo / no commits. */
|
|
34
|
+
export function readCurrentHead(cwd) {
|
|
35
|
+
try {
|
|
36
|
+
const sha = execFileSync('git', ['rev-parse', 'HEAD'], {
|
|
37
|
+
cwd,
|
|
38
|
+
encoding: 'utf8',
|
|
39
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
40
|
+
timeout: 5_000,
|
|
41
|
+
}).trim();
|
|
42
|
+
return sha.length > 0 ? sha : null;
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
function isProjectionMetadata(value) {
|
|
49
|
+
if (value === null || typeof value !== 'object')
|
|
50
|
+
return false;
|
|
51
|
+
const obj = value;
|
|
52
|
+
const headOk = obj.head_at_ingest === null || typeof obj.head_at_ingest === 'string';
|
|
53
|
+
const tsOk = typeof obj.ingested_at === 'number' && Number.isFinite(obj.ingested_at);
|
|
54
|
+
return headOk && tsOk;
|
|
55
|
+
}
|
|
56
|
+
// ---------------------------------------------------------------------------
|
|
57
|
+
// Public API
|
|
58
|
+
// ---------------------------------------------------------------------------
|
|
59
|
+
/** Read the sidecar metadata for a projection DB. Returns null on miss/parse-failure. */
|
|
60
|
+
export function readProjectionMetadata(dbPath) {
|
|
61
|
+
const file = sidecarPath(dbPath);
|
|
62
|
+
if (!existsSync(file))
|
|
63
|
+
return null;
|
|
64
|
+
let raw;
|
|
65
|
+
try {
|
|
66
|
+
raw = readFileSync(file, 'utf8');
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
let parsed;
|
|
72
|
+
try {
|
|
73
|
+
parsed = JSON.parse(raw);
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
return isProjectionMetadata(parsed) ? parsed : null;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Write the sidecar metadata. Caller (the ingester) supplies the cwd that was
|
|
82
|
+
* just ingested so we capture the right HEAD.
|
|
83
|
+
*/
|
|
84
|
+
export function recordProjectionMetadata(input) {
|
|
85
|
+
const metadata = {
|
|
86
|
+
head_at_ingest: readCurrentHead(input.cwd),
|
|
87
|
+
ingested_at: input.ingestedAt,
|
|
88
|
+
};
|
|
89
|
+
writeFileSync(sidecarPath(input.dbPath), JSON.stringify(metadata, null, 2) + '\n', 'utf8');
|
|
90
|
+
return metadata;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Decide whether the projection DB is fresh for the given worktree.
|
|
94
|
+
*
|
|
95
|
+
* Order of checks:
|
|
96
|
+
* 1. DB file missing → `rebuild_db`.
|
|
97
|
+
* 2. Sidecar missing → `reingest_project`.
|
|
98
|
+
* 3. HEAD recorded ≠ HEAD now → `reingest_project`.
|
|
99
|
+
* 4. Otherwise fresh.
|
|
100
|
+
*
|
|
101
|
+
* `null === null` is treated as fresh: a non-git worktree had no HEAD at
|
|
102
|
+
* ingest and still has none.
|
|
103
|
+
*/
|
|
104
|
+
export function checkFreshness(project) {
|
|
105
|
+
if (!existsSync(project.db_path)) {
|
|
106
|
+
return {
|
|
107
|
+
ok: false,
|
|
108
|
+
next_action: makeNextAction('rebuild_db', `Projection DB missing at ${project.db_path}; run ingest to rebuild.`),
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
const metadata = readProjectionMetadata(project.db_path);
|
|
112
|
+
if (metadata === null) {
|
|
113
|
+
return {
|
|
114
|
+
ok: false,
|
|
115
|
+
next_action: makeNextAction('reingest_project', `Projection metadata missing for ${project.db_path}; re-ingest the project.`),
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
const current = readCurrentHead(project.worktree_path);
|
|
119
|
+
if (metadata.head_at_ingest !== current) {
|
|
120
|
+
return {
|
|
121
|
+
ok: false,
|
|
122
|
+
next_action: makeNextAction('reingest_project', `HEAD changed since ingest (was ${metadata.head_at_ingest ?? 'none'}, now ${current ?? 'none'}); re-ingest the project.`),
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
return { ok: true, head: current, ingestedAt: metadata.ingested_at };
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=freshness.js.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { graphEdgeSchema, graphEdgeTypeSchema, graphLayoutSchema, graphNodeSchema, graphNodeTypeSchema, normalizedGraphSchema, type GraphEdge, type GraphEdgeType, type GraphLayout, type GraphNode, type GraphNodeType, type NormalizedGraph, } from './schema.js';
|
|
2
|
+
export { parseMermaidToGraph } from './mermaid-parser.js';
|
|
3
|
+
export { serializeGraphToMermaid } from './mermaid-serializer.js';
|
|
4
|
+
export { taskGraphToNormalizedGraph } from './task-graph-adapter.js';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { graphEdgeSchema, graphEdgeTypeSchema, graphLayoutSchema, graphNodeSchema, graphNodeTypeSchema, normalizedGraphSchema, } from './schema.js';
|
|
2
|
+
export { parseMermaidToGraph } from './mermaid-parser.js';
|
|
3
|
+
export { serializeGraphToMermaid } from './mermaid-serializer.js';
|
|
4
|
+
export { taskGraphToNormalizedGraph } from './task-graph-adapter.js';
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { normalizedGraphSchema, } from '#graph/schema';
|
|
2
|
+
const DIRECTION_LINE = /^graph\s+(TD|LR|BT|RL)$/;
|
|
3
|
+
const EDGE_WITH_LABEL = /^([A-Za-z0-9_-]+)(?:\[([^\]]+)\])?\s*--\|([^|]+)\|\s*([A-Za-z0-9_-]+)(?:\[([^\]]+)\])?$/;
|
|
4
|
+
const EDGE_SIMPLE = /^([A-Za-z0-9_-]+)(?:\[([^\]]+)\])?\s*-->\s*([A-Za-z0-9_-]+)(?:\[([^\]]+)\])?$/;
|
|
5
|
+
const NODE_ONLY = /^([A-Za-z0-9_-]+)\[([^\]]+)\]$/;
|
|
6
|
+
function upsertNode(nodes, id, label) {
|
|
7
|
+
const existing = nodes.get(id);
|
|
8
|
+
if (existing) {
|
|
9
|
+
if (label && existing.label === id) {
|
|
10
|
+
nodes.set(id, { ...existing, label });
|
|
11
|
+
}
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
nodes.set(id, {
|
|
15
|
+
id,
|
|
16
|
+
type: 'task',
|
|
17
|
+
label: label ?? id,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
function parseEdge(line, nodes, edges) {
|
|
21
|
+
const labeled = line.match(EDGE_WITH_LABEL);
|
|
22
|
+
if (labeled) {
|
|
23
|
+
const source = labeled[1] ?? '';
|
|
24
|
+
const sourceLabel = labeled[2];
|
|
25
|
+
const edgeLabel = (labeled[3] ?? '').trim();
|
|
26
|
+
const target = labeled[4] ?? '';
|
|
27
|
+
const targetLabel = labeled[5];
|
|
28
|
+
upsertNode(nodes, source, sourceLabel);
|
|
29
|
+
upsertNode(nodes, target, targetLabel);
|
|
30
|
+
edges.push({
|
|
31
|
+
source,
|
|
32
|
+
target,
|
|
33
|
+
type: 'depends_on',
|
|
34
|
+
label: edgeLabel,
|
|
35
|
+
});
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
const simple = line.match(EDGE_SIMPLE);
|
|
39
|
+
if (!simple) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
const source = simple[1] ?? '';
|
|
43
|
+
const sourceLabel = simple[2];
|
|
44
|
+
const target = simple[3] ?? '';
|
|
45
|
+
const targetLabel = simple[4];
|
|
46
|
+
upsertNode(nodes, source, sourceLabel);
|
|
47
|
+
upsertNode(nodes, target, targetLabel);
|
|
48
|
+
edges.push({
|
|
49
|
+
source,
|
|
50
|
+
target,
|
|
51
|
+
type: 'depends_on',
|
|
52
|
+
});
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
export function parseMermaidToGraph(mermaid) {
|
|
56
|
+
const lines = mermaid
|
|
57
|
+
.split('\n')
|
|
58
|
+
.map((line) => line.trim())
|
|
59
|
+
.filter((line) => line.length > 0 && !line.startsWith('%%'))
|
|
60
|
+
.map((line) => (line.endsWith(';') ? line.slice(0, -1).trim() : line));
|
|
61
|
+
if (!lines.length) {
|
|
62
|
+
throw new Error('Mermaid input is empty');
|
|
63
|
+
}
|
|
64
|
+
const directionMatch = lines[0]?.match(DIRECTION_LINE);
|
|
65
|
+
if (!directionMatch?.[1]) {
|
|
66
|
+
throw new Error('Mermaid must start with "graph <direction>"');
|
|
67
|
+
}
|
|
68
|
+
const direction = directionMatch[1];
|
|
69
|
+
const nodes = new Map();
|
|
70
|
+
const edges = [];
|
|
71
|
+
for (const line of lines.slice(1)) {
|
|
72
|
+
if (line === '' || line.startsWith('subgraph') || line === 'end') {
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
if (parseEdge(line, nodes, edges)) {
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
const nodeOnly = line.match(NODE_ONLY);
|
|
79
|
+
if (nodeOnly) {
|
|
80
|
+
const id = nodeOnly[1] ?? '';
|
|
81
|
+
const label = nodeOnly[2] ?? id;
|
|
82
|
+
upsertNode(nodes, id, label);
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
throw new Error(`Unsupported Mermaid line: ${line}`);
|
|
86
|
+
}
|
|
87
|
+
return normalizedGraphSchema.parse({
|
|
88
|
+
nodes: [...nodes.values()],
|
|
89
|
+
edges,
|
|
90
|
+
layout: { direction },
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=mermaid-parser.js.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
function escapeLabel(label) {
|
|
2
|
+
return label.replace(/\[/g, '(').replace(/\]/g, ')');
|
|
3
|
+
}
|
|
4
|
+
export function serializeGraphToMermaid(graph) {
|
|
5
|
+
const direction = graph.layout?.direction ?? 'TD';
|
|
6
|
+
const lines = [`graph ${direction}`];
|
|
7
|
+
for (const node of graph.nodes) {
|
|
8
|
+
lines.push(` ${node.id}[${escapeLabel(node.label)}]`);
|
|
9
|
+
}
|
|
10
|
+
for (const edge of graph.edges) {
|
|
11
|
+
if (edge.label) {
|
|
12
|
+
lines.push(` ${edge.source} --|${escapeLabel(edge.label)}| ${edge.target}`);
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
lines.push(` ${edge.source} --> ${edge.target}`);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return `${lines.join('\n')}\n`;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=mermaid-serializer.js.map
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const graphNodeTypeSchema: z.ZodEnum<{
|
|
3
|
+
blueprint: "blueprint";
|
|
4
|
+
decision: "decision";
|
|
5
|
+
task: "task";
|
|
6
|
+
external: "external";
|
|
7
|
+
milestone: "milestone";
|
|
8
|
+
tech_debt: "tech_debt";
|
|
9
|
+
}>;
|
|
10
|
+
export declare const graphEdgeTypeSchema: z.ZodEnum<{
|
|
11
|
+
depends_on: "depends_on";
|
|
12
|
+
blocks: "blocks";
|
|
13
|
+
relates_to: "relates_to";
|
|
14
|
+
}>;
|
|
15
|
+
export declare const graphNodeSchema: z.ZodObject<{
|
|
16
|
+
id: z.ZodString;
|
|
17
|
+
type: z.ZodEnum<{
|
|
18
|
+
blueprint: "blueprint";
|
|
19
|
+
decision: "decision";
|
|
20
|
+
task: "task";
|
|
21
|
+
external: "external";
|
|
22
|
+
milestone: "milestone";
|
|
23
|
+
tech_debt: "tech_debt";
|
|
24
|
+
}>;
|
|
25
|
+
label: z.ZodString;
|
|
26
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
27
|
+
}, z.core.$strip>;
|
|
28
|
+
export declare const graphEdgeSchema: z.ZodObject<{
|
|
29
|
+
source: z.ZodString;
|
|
30
|
+
target: z.ZodString;
|
|
31
|
+
type: z.ZodEnum<{
|
|
32
|
+
depends_on: "depends_on";
|
|
33
|
+
blocks: "blocks";
|
|
34
|
+
relates_to: "relates_to";
|
|
35
|
+
}>;
|
|
36
|
+
label: z.ZodOptional<z.ZodString>;
|
|
37
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
38
|
+
}, z.core.$strip>;
|
|
39
|
+
export declare const graphLayoutSchema: z.ZodObject<{
|
|
40
|
+
direction: z.ZodDefault<z.ZodEnum<{
|
|
41
|
+
TD: "TD";
|
|
42
|
+
LR: "LR";
|
|
43
|
+
BT: "BT";
|
|
44
|
+
RL: "RL";
|
|
45
|
+
}>>;
|
|
46
|
+
rankdir: z.ZodOptional<z.ZodString>;
|
|
47
|
+
}, z.core.$strip>;
|
|
48
|
+
export declare const normalizedGraphSchema: z.ZodObject<{
|
|
49
|
+
nodes: z.ZodArray<z.ZodObject<{
|
|
50
|
+
id: z.ZodString;
|
|
51
|
+
type: z.ZodEnum<{
|
|
52
|
+
blueprint: "blueprint";
|
|
53
|
+
decision: "decision";
|
|
54
|
+
task: "task";
|
|
55
|
+
external: "external";
|
|
56
|
+
milestone: "milestone";
|
|
57
|
+
tech_debt: "tech_debt";
|
|
58
|
+
}>;
|
|
59
|
+
label: z.ZodString;
|
|
60
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
61
|
+
}, z.core.$strip>>;
|
|
62
|
+
edges: z.ZodArray<z.ZodObject<{
|
|
63
|
+
source: z.ZodString;
|
|
64
|
+
target: z.ZodString;
|
|
65
|
+
type: z.ZodEnum<{
|
|
66
|
+
depends_on: "depends_on";
|
|
67
|
+
blocks: "blocks";
|
|
68
|
+
relates_to: "relates_to";
|
|
69
|
+
}>;
|
|
70
|
+
label: z.ZodOptional<z.ZodString>;
|
|
71
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
72
|
+
}, z.core.$strip>>;
|
|
73
|
+
layout: z.ZodOptional<z.ZodObject<{
|
|
74
|
+
direction: z.ZodDefault<z.ZodEnum<{
|
|
75
|
+
TD: "TD";
|
|
76
|
+
LR: "LR";
|
|
77
|
+
BT: "BT";
|
|
78
|
+
RL: "RL";
|
|
79
|
+
}>>;
|
|
80
|
+
rankdir: z.ZodOptional<z.ZodString>;
|
|
81
|
+
}, z.core.$strip>>;
|
|
82
|
+
}, z.core.$strip>;
|
|
83
|
+
export type GraphNodeType = z.infer<typeof graphNodeTypeSchema>;
|
|
84
|
+
export type GraphEdgeType = z.infer<typeof graphEdgeTypeSchema>;
|
|
85
|
+
export type GraphNode = z.infer<typeof graphNodeSchema>;
|
|
86
|
+
export type GraphEdge = z.infer<typeof graphEdgeSchema>;
|
|
87
|
+
export type GraphLayout = z.infer<typeof graphLayoutSchema>;
|
|
88
|
+
export type NormalizedGraph = z.infer<typeof normalizedGraphSchema>;
|
|
89
|
+
//# sourceMappingURL=schema.d.ts.map
|