@shrkcrft/inspector 0.1.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +15 -0
- package/dist/acceptance-replay.d.ts +63 -0
- package/dist/acceptance-replay.d.ts.map +1 -0
- package/dist/acceptance-replay.js +240 -0
- package/dist/action-hint-diagnostics.d.ts +32 -0
- package/dist/action-hint-diagnostics.d.ts.map +1 -0
- package/dist/action-hint-diagnostics.js +133 -0
- package/dist/adoption-check.d.ts +28 -0
- package/dist/adoption-check.d.ts.map +1 -0
- package/dist/adoption-check.js +181 -0
- package/dist/adoption-checkpoint.d.ts +97 -0
- package/dist/adoption-checkpoint.d.ts.map +1 -0
- package/dist/adoption-checkpoint.js +209 -0
- package/dist/adoption-merge-preview.d.ts +28 -0
- package/dist/adoption-merge-preview.d.ts.map +1 -0
- package/dist/adoption-merge-preview.js +254 -0
- package/dist/adoption-report-renderer.d.ts +33 -0
- package/dist/adoption-report-renderer.d.ts.map +1 -0
- package/dist/adoption-report-renderer.js +257 -0
- package/dist/adoption-state.d.ts +100 -0
- package/dist/adoption-state.d.ts.map +1 -0
- package/dist/adoption-state.js +296 -0
- package/dist/adoption-three-way.d.ts +46 -0
- package/dist/adoption-three-way.d.ts.map +1 -0
- package/dist/adoption-three-way.js +181 -0
- package/dist/agent-brief.d.ts +77 -0
- package/dist/agent-brief.d.ts.map +1 -0
- package/dist/agent-brief.js +490 -0
- package/dist/agent-contract-gate.d.ts +108 -0
- package/dist/agent-contract-gate.d.ts.map +1 -0
- package/dist/agent-contract-gate.js +412 -0
- package/dist/agent-contract-templates.d.ts +63 -0
- package/dist/agent-contract-templates.d.ts.map +1 -0
- package/dist/agent-contract-templates.js +346 -0
- package/dist/agent-contract.d.ts +65 -0
- package/dist/agent-contract.d.ts.map +1 -0
- package/dist/agent-contract.js +555 -0
- package/dist/agent-handoff.d.ts +123 -0
- package/dist/agent-handoff.d.ts.map +1 -0
- package/dist/agent-handoff.js +470 -0
- package/dist/agent-instructions.d.ts +2 -0
- package/dist/agent-instructions.d.ts.map +1 -0
- package/dist/agent-instructions.js +21 -0
- package/dist/agent-orchestration.d.ts +61 -0
- package/dist/agent-orchestration.d.ts.map +1 -0
- package/dist/agent-orchestration.js +285 -0
- package/dist/agent-task-prep.d.ts +31 -0
- package/dist/agent-task-prep.d.ts.map +1 -0
- package/dist/agent-task-prep.js +73 -0
- package/dist/ai-readiness.d.ts +30 -0
- package/dist/ai-readiness.d.ts.map +1 -0
- package/dist/ai-readiness.js +279 -0
- package/dist/api-report.d.ts +51 -0
- package/dist/api-report.d.ts.map +1 -0
- package/dist/api-report.js +254 -0
- package/dist/apply-dispatch-trace.d.ts +93 -0
- package/dist/apply-dispatch-trace.d.ts.map +1 -0
- package/dist/apply-dispatch-trace.js +283 -0
- package/dist/apply-gate-result.d.ts +52 -0
- package/dist/apply-gate-result.d.ts.map +1 -0
- package/dist/apply-gate-result.js +44 -0
- package/dist/architecture-map.d.ts +118 -0
- package/dist/architecture-map.d.ts.map +1 -0
- package/dist/architecture-map.js +543 -0
- package/dist/area-explore.d.ts +75 -0
- package/dist/area-explore.d.ts.map +1 -0
- package/dist/area-explore.js +438 -0
- package/dist/area-map.d.ts +43 -0
- package/dist/area-map.d.ts.map +1 -0
- package/dist/area-map.js +197 -0
- package/dist/asset-provenance.d.ts +123 -0
- package/dist/asset-provenance.d.ts.map +1 -0
- package/dist/asset-provenance.js +209 -0
- package/dist/barrel-operations.d.ts +45 -0
- package/dist/barrel-operations.d.ts.map +1 -0
- package/dist/barrel-operations.js +159 -0
- package/dist/boundaries-changed-only.d.ts +62 -0
- package/dist/boundaries-changed-only.d.ts.map +1 -0
- package/dist/boundaries-changed-only.js +97 -0
- package/dist/boundary-suggestions.d.ts +20 -0
- package/dist/boundary-suggestions.d.ts.map +1 -0
- package/dist/boundary-suggestions.js +51 -0
- package/dist/bundle-diff.d.ts +98 -0
- package/dist/bundle-diff.d.ts.map +1 -0
- package/dist/bundle-diff.js +531 -0
- package/dist/bundle-replay.d.ts +68 -0
- package/dist/bundle-replay.d.ts.map +1 -0
- package/dist/bundle-replay.js +273 -0
- package/dist/bundle-validate-html.d.ts +11 -0
- package/dist/bundle-validate-html.d.ts.map +1 -0
- package/dist/bundle-validate-html.js +60 -0
- package/dist/change-intent.d.ts +36 -0
- package/dist/change-intent.d.ts.map +1 -0
- package/dist/change-intent.js +259 -0
- package/dist/changed-preflight.d.ts +59 -0
- package/dist/changed-preflight.d.ts.map +1 -0
- package/dist/changed-preflight.js +358 -0
- package/dist/changed-scope.d.ts +112 -0
- package/dist/changed-scope.d.ts.map +1 -0
- package/dist/changed-scope.js +172 -0
- package/dist/changes-summary.d.ts +87 -0
- package/dist/changes-summary.d.ts.map +1 -0
- package/dist/changes-summary.js +323 -0
- package/dist/check-result-v1.d.ts +90 -0
- package/dist/check-result-v1.d.ts.map +1 -0
- package/dist/check-result-v1.js +335 -0
- package/dist/ci-integrity-report.d.ts +38 -0
- package/dist/ci-integrity-report.d.ts.map +1 -0
- package/dist/ci-integrity-report.js +324 -0
- package/dist/ci-permissions-fix.d.ts +38 -0
- package/dist/ci-permissions-fix.d.ts.map +1 -0
- package/dist/ci-permissions-fix.js +201 -0
- package/dist/ci-permissions.d.ts +51 -0
- package/dist/ci-permissions.d.ts.map +1 -0
- package/dist/ci-permissions.js +431 -0
- package/dist/ci-predict.d.ts +42 -0
- package/dist/ci-predict.d.ts.map +1 -0
- package/dist/ci-predict.js +300 -0
- package/dist/ci-scaffold.d.ts +47 -0
- package/dist/ci-scaffold.d.ts.map +1 -0
- package/dist/ci-scaffold.js +638 -0
- package/dist/codemod-assist.d.ts +97 -0
- package/dist/codemod-assist.d.ts.map +1 -0
- package/dist/codemod-assist.js +261 -0
- package/dist/command-recommender.d.ts +25 -0
- package/dist/command-recommender.d.ts.map +1 -0
- package/dist/command-recommender.js +145 -0
- package/dist/command-suggester.d.ts +61 -0
- package/dist/command-suggester.d.ts.map +1 -0
- package/dist/command-suggester.js +159 -0
- package/dist/command-taxonomy.d.ts +38 -0
- package/dist/command-taxonomy.d.ts.map +1 -0
- package/dist/command-taxonomy.js +164 -0
- package/dist/compliance-evidence.d.ts +58 -0
- package/dist/compliance-evidence.d.ts.map +1 -0
- package/dist/compliance-evidence.js +260 -0
- package/dist/compliance-profiles.d.ts +42 -0
- package/dist/compliance-profiles.d.ts.map +1 -0
- package/dist/compliance-profiles.js +171 -0
- package/dist/construct-adoption-diff.d.ts +55 -0
- package/dist/construct-adoption-diff.d.ts.map +1 -0
- package/dist/construct-adoption-diff.js +331 -0
- package/dist/construct-adoption.d.ts +71 -0
- package/dist/construct-adoption.d.ts.map +1 -0
- package/dist/construct-adoption.js +331 -0
- package/dist/construct-inference.d.ts +44 -0
- package/dist/construct-inference.d.ts.map +1 -0
- package/dist/construct-inference.js +391 -0
- package/dist/construct-registry.d.ts +32 -0
- package/dist/construct-registry.d.ts.map +1 -0
- package/dist/construct-registry.js +198 -0
- package/dist/contract-file-rule.d.ts +37 -0
- package/dist/contract-file-rule.d.ts.map +1 -0
- package/dist/contract-file-rule.js +99 -0
- package/dist/contract-template-registry.d.ts +28 -0
- package/dist/contract-template-registry.d.ts.map +1 -0
- package/dist/contract-template-registry.js +161 -0
- package/dist/contradictions.d.ts +52 -0
- package/dist/contradictions.d.ts.map +1 -0
- package/dist/contradictions.js +391 -0
- package/dist/convention-registry.d.ts +44 -0
- package/dist/convention-registry.d.ts.map +1 -0
- package/dist/convention-registry.js +195 -0
- package/dist/coverage-report.d.ts +25 -0
- package/dist/coverage-report.d.ts.map +1 -0
- package/dist/coverage-report.js +190 -0
- package/dist/custom-checks.d.ts +146 -0
- package/dist/custom-checks.d.ts.map +1 -0
- package/dist/custom-checks.js +260 -0
- package/dist/dashboard/dashboard-data.d.ts +59 -0
- package/dist/dashboard/dashboard-data.d.ts.map +1 -0
- package/dist/dashboard/dashboard-data.js +653 -0
- package/dist/dashboard-export.d.ts +67 -0
- package/dist/dashboard-export.d.ts.map +1 -0
- package/dist/dashboard-export.js +203 -0
- package/dist/decision-records.d.ts +47 -0
- package/dist/decision-records.d.ts.map +1 -0
- package/dist/decision-records.js +255 -0
- package/dist/demo-package.d.ts +49 -0
- package/dist/demo-package.d.ts.map +1 -0
- package/dist/demo-package.js +305 -0
- package/dist/demo-script.d.ts +25 -0
- package/dist/demo-script.d.ts.map +1 -0
- package/dist/demo-script.js +198 -0
- package/dist/demo-workflow.d.ts +28 -0
- package/dist/demo-workflow.d.ts.map +1 -0
- package/dist/demo-workflow.js +178 -0
- package/dist/dev-cycle.d.ts +41 -0
- package/dist/dev-cycle.d.ts.map +1 -0
- package/dist/dev-cycle.js +94 -0
- package/dist/dev-session-html.d.ts +13 -0
- package/dist/dev-session-html.d.ts.map +1 -0
- package/dist/dev-session-html.js +223 -0
- package/dist/dev-session-report.d.ts +11 -0
- package/dist/dev-session-report.d.ts.map +1 -0
- package/dist/dev-session-report.js +206 -0
- package/dist/dev-session.d.ts +257 -0
- package/dist/dev-session.d.ts.map +1 -0
- package/dist/dev-session.js +568 -0
- package/dist/diagnostics-suggest.d.ts +17 -0
- package/dist/diagnostics-suggest.d.ts.map +1 -0
- package/dist/diagnostics-suggest.js +69 -0
- package/dist/docs-check.d.ts +40 -0
- package/dist/docs-check.d.ts.map +1 -0
- package/dist/docs-check.js +221 -0
- package/dist/doctor-acknowledgements.d.ts +69 -0
- package/dist/doctor-acknowledgements.d.ts.map +1 -0
- package/dist/doctor-acknowledgements.js +150 -0
- package/dist/doctor-result.d.ts +51 -0
- package/dist/doctor-result.d.ts.map +1 -0
- package/dist/doctor-result.js +7 -0
- package/dist/doctor-suppressions.d.ts +91 -0
- package/dist/doctor-suppressions.d.ts.map +1 -0
- package/dist/doctor-suppressions.js +238 -0
- package/dist/drift-baseline.d.ts +29 -0
- package/dist/drift-baseline.d.ts.map +1 -0
- package/dist/drift-baseline.js +80 -0
- package/dist/drift.d.ts +38 -0
- package/dist/drift.d.ts.map +1 -0
- package/dist/drift.js +107 -0
- package/dist/entrypoint-matrix.d.ts +61 -0
- package/dist/entrypoint-matrix.d.ts.map +1 -0
- package/dist/entrypoint-matrix.js +221 -0
- package/dist/examples-check.d.ts +36 -0
- package/dist/examples-check.d.ts.map +1 -0
- package/dist/examples-check.js +168 -0
- package/dist/execution-graph.d.ts +98 -0
- package/dist/execution-graph.d.ts.map +1 -0
- package/dist/execution-graph.js +484 -0
- package/dist/export-bundle.d.ts +10 -0
- package/dist/export-bundle.d.ts.map +1 -0
- package/dist/export-bundle.js +90 -0
- package/dist/failure-diagnostics.d.ts +63 -0
- package/dist/failure-diagnostics.d.ts.map +1 -0
- package/dist/failure-diagnostics.js +243 -0
- package/dist/feature-bundle.d.ts +111 -0
- package/dist/feature-bundle.d.ts.map +1 -0
- package/dist/feature-bundle.js +211 -0
- package/dist/feedback-actions-v2.d.ts +65 -0
- package/dist/feedback-actions-v2.d.ts.map +1 -0
- package/dist/feedback-actions-v2.js +183 -0
- package/dist/feedback-ingestion.d.ts +96 -0
- package/dist/feedback-ingestion.d.ts.map +1 -0
- package/dist/feedback-ingestion.js +400 -0
- package/dist/fix-preview.d.ts +82 -0
- package/dist/fix-preview.d.ts.map +1 -0
- package/dist/fix-preview.js +365 -0
- package/dist/fuzzy-impact.d.ts +50 -0
- package/dist/fuzzy-impact.d.ts.map +1 -0
- package/dist/fuzzy-impact.js +446 -0
- package/dist/generated-code.d.ts +97 -0
- package/dist/generated-code.d.ts.map +1 -0
- package/dist/generated-code.js +395 -0
- package/dist/git-helpers.d.ts +26 -0
- package/dist/git-helpers.d.ts.map +1 -0
- package/dist/git-helpers.js +110 -0
- package/dist/golden-output.d.ts +33 -0
- package/dist/golden-output.d.ts.map +1 -0
- package/dist/golden-output.js +92 -0
- package/dist/grounding/build-grounding.d.ts +53 -0
- package/dist/grounding/build-grounding.d.ts.map +1 -0
- package/dist/grounding/build-grounding.js +51 -0
- package/dist/grounding/nx-projects.d.ts +29 -0
- package/dist/grounding/nx-projects.d.ts.map +1 -0
- package/dist/grounding/nx-projects.js +109 -0
- package/dist/grounding/validate-extracted-plan.d.ts +20 -0
- package/dist/grounding/validate-extracted-plan.d.ts.map +1 -0
- package/dist/grounding/validate-extracted-plan.js +127 -0
- package/dist/healing-plan.d.ts +33 -0
- package/dist/healing-plan.d.ts.map +1 -0
- package/dist/healing-plan.js +346 -0
- package/dist/helper-registry.d.ts +90 -0
- package/dist/helper-registry.d.ts.map +1 -0
- package/dist/helper-registry.js +529 -0
- package/dist/impact-analysis.d.ts +150 -0
- package/dist/impact-analysis.d.ts.map +1 -0
- package/dist/impact-analysis.js +697 -0
- package/dist/impact-graph-render.d.ts +51 -0
- package/dist/impact-graph-render.d.ts.map +1 -0
- package/dist/impact-graph-render.js +139 -0
- package/dist/impact-graph.d.ts +17 -0
- package/dist/impact-graph.d.ts.map +1 -0
- package/dist/impact-graph.js +119 -0
- package/dist/impact-render.d.ts +22 -0
- package/dist/impact-render.d.ts.map +1 -0
- package/dist/impact-render.js +413 -0
- package/dist/import-graph-analysis.d.ts +28 -0
- package/dist/import-graph-analysis.d.ts.map +1 -0
- package/dist/import-graph-analysis.js +193 -0
- package/dist/import-hygiene.d.ts +93 -0
- package/dist/import-hygiene.d.ts.map +1 -0
- package/dist/import-hygiene.js +366 -0
- package/dist/index.d.ts +223 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +233 -0
- package/dist/ingest-adoption.d.ts +50 -0
- package/dist/ingest-adoption.d.ts.map +1 -0
- package/dist/ingest-adoption.js +183 -0
- package/dist/ingest-apply.d.ts +80 -0
- package/dist/ingest-apply.d.ts.map +1 -0
- package/dist/ingest-apply.js +227 -0
- package/dist/ingest-body-extractor.d.ts +28 -0
- package/dist/ingest-body-extractor.d.ts.map +1 -0
- package/dist/ingest-body-extractor.js +129 -0
- package/dist/ingest-drafts.d.ts +16 -0
- package/dist/ingest-drafts.d.ts.map +1 -0
- package/dist/ingest-drafts.js +482 -0
- package/dist/inspector-cache.d.ts +41 -0
- package/dist/inspector-cache.d.ts.map +1 -0
- package/dist/inspector-cache.js +104 -0
- package/dist/install-smoke.d.ts +44 -0
- package/dist/install-smoke.d.ts.map +1 -0
- package/dist/install-smoke.js +31 -0
- package/dist/knowledge-authoring.d.ts +151 -0
- package/dist/knowledge-authoring.d.ts.map +1 -0
- package/dist/knowledge-authoring.js +586 -0
- package/dist/knowledge-graph.d.ts +76 -0
- package/dist/knowledge-graph.d.ts.map +1 -0
- package/dist/knowledge-graph.js +336 -0
- package/dist/knowledge-lint.d.ts +97 -0
- package/dist/knowledge-lint.d.ts.map +1 -0
- package/dist/knowledge-lint.js +302 -0
- package/dist/knowledge-rename.d.ts +38 -0
- package/dist/knowledge-rename.d.ts.map +1 -0
- package/dist/knowledge-rename.js +88 -0
- package/dist/knowledge-stale.d.ts +124 -0
- package/dist/knowledge-stale.d.ts.map +1 -0
- package/dist/knowledge-stale.js +892 -0
- package/dist/languages/command-inference.d.ts +27 -0
- package/dist/languages/command-inference.d.ts.map +1 -0
- package/dist/languages/command-inference.js +214 -0
- package/dist/languages/dependency-scan.d.ts +33 -0
- package/dist/languages/dependency-scan.d.ts.map +1 -0
- package/dist/languages/dependency-scan.js +343 -0
- package/dist/languages/index.d.ts +14 -0
- package/dist/languages/index.d.ts.map +1 -0
- package/dist/languages/index.js +13 -0
- package/dist/languages/language-boundaries.d.ts +30 -0
- package/dist/languages/language-boundaries.d.ts.map +1 -0
- package/dist/languages/language-boundaries.js +176 -0
- package/dist/languages/language-cache.d.ts +54 -0
- package/dist/languages/language-cache.d.ts.map +1 -0
- package/dist/languages/language-cache.js +236 -0
- package/dist/languages/language-detection.d.ts +30 -0
- package/dist/languages/language-detection.d.ts.map +1 -0
- package/dist/languages/language-detection.js +584 -0
- package/dist/languages/language-id.d.ts +15 -0
- package/dist/languages/language-id.d.ts.map +1 -0
- package/dist/languages/language-id.js +15 -0
- package/dist/languages/language-runner.d.ts +90 -0
- package/dist/languages/language-runner.d.ts.map +1 -0
- package/dist/languages/language-runner.js +346 -0
- package/dist/languages/polyglot-boundary.d.ts +80 -0
- package/dist/languages/polyglot-boundary.d.ts.map +1 -0
- package/dist/languages/polyglot-boundary.js +373 -0
- package/dist/languages/polyglot-ci.d.ts +25 -0
- package/dist/languages/polyglot-ci.d.ts.map +1 -0
- package/dist/languages/polyglot-ci.js +278 -0
- package/dist/languages/test-impact.d.ts +19 -0
- package/dist/languages/test-impact.d.ts.map +1 -0
- package/dist/languages/test-impact.js +157 -0
- package/dist/loader-diagnostics.d.ts +40 -0
- package/dist/loader-diagnostics.d.ts.map +1 -0
- package/dist/loader-diagnostics.js +49 -0
- package/dist/memory-diff.d.ts +60 -0
- package/dist/memory-diff.d.ts.map +1 -0
- package/dist/memory-diff.js +302 -0
- package/dist/migration-profile-registry.d.ts +26 -0
- package/dist/migration-profile-registry.d.ts.map +1 -0
- package/dist/migration-profile-registry.js +135 -0
- package/dist/migration-readiness.d.ts +101 -0
- package/dist/migration-readiness.d.ts.map +1 -0
- package/dist/migration-readiness.js +253 -0
- package/dist/monorepo-onboarding.d.ts +51 -0
- package/dist/monorepo-onboarding.d.ts.map +1 -0
- package/dist/monorepo-onboarding.js +235 -0
- package/dist/onboarding-adoption-diff.d.ts +53 -0
- package/dist/onboarding-adoption-diff.d.ts.map +1 -0
- package/dist/onboarding-adoption-diff.js +285 -0
- package/dist/onboarding-adoption.d.ts +136 -0
- package/dist/onboarding-adoption.d.ts.map +1 -0
- package/dist/onboarding-adoption.js +702 -0
- package/dist/onboarding-agent-import.d.ts +40 -0
- package/dist/onboarding-agent-import.d.ts.map +1 -0
- package/dist/onboarding-agent-import.js +114 -0
- package/dist/onboarding-diff.d.ts +39 -0
- package/dist/onboarding-diff.d.ts.map +1 -0
- package/dist/onboarding-diff.js +240 -0
- package/dist/onboarding-drafts.d.ts +28 -0
- package/dist/onboarding-drafts.d.ts.map +1 -0
- package/dist/onboarding-drafts.js +234 -0
- package/dist/onboarding-report.d.ts +8 -0
- package/dist/onboarding-report.d.ts.map +1 -0
- package/dist/onboarding-report.js +239 -0
- package/dist/onboarding.d.ts +134 -0
- package/dist/onboarding.d.ts.map +1 -0
- package/dist/onboarding.js +729 -0
- package/dist/ownership.d.ts +38 -0
- package/dist/ownership.d.ts.map +1 -0
- package/dist/ownership.js +102 -0
- package/dist/pack-author-ux.d.ts +58 -0
- package/dist/pack-author-ux.d.ts.map +1 -0
- package/dist/pack-author-ux.js +219 -0
- package/dist/pack-author.d.ts +94 -0
- package/dist/pack-author.d.ts.map +1 -0
- package/dist/pack-author.js +208 -0
- package/dist/pack-compatibility.d.ts +21 -0
- package/dist/pack-compatibility.d.ts.map +1 -0
- package/dist/pack-compatibility.js +114 -0
- package/dist/pack-contributions-inventory.d.ts +121 -0
- package/dist/pack-contributions-inventory.d.ts.map +1 -0
- package/dist/pack-contributions-inventory.js +732 -0
- package/dist/pack-docs.d.ts +11 -0
- package/dist/pack-docs.d.ts.map +1 -0
- package/dist/pack-docs.js +101 -0
- package/dist/pack-doctor.d.ts +50 -0
- package/dist/pack-doctor.d.ts.map +1 -0
- package/dist/pack-doctor.js +302 -0
- package/dist/pack-helper-registry.d.ts +29 -0
- package/dist/pack-helper-registry.d.ts.map +1 -0
- package/dist/pack-helper-registry.js +144 -0
- package/dist/pack-pending.d.ts +68 -0
- package/dist/pack-pending.d.ts.map +1 -0
- package/dist/pack-pending.js +189 -0
- package/dist/pack-quality-score.d.ts +44 -0
- package/dist/pack-quality-score.d.ts.map +1 -0
- package/dist/pack-quality-score.js +155 -0
- package/dist/pack-release-check.d.ts +24 -0
- package/dist/pack-release-check.d.ts.map +1 -0
- package/dist/pack-release-check.js +258 -0
- package/dist/pack-signature-status.d.ts +72 -0
- package/dist/pack-signature-status.d.ts.map +1 -0
- package/dist/pack-signature-status.js +222 -0
- package/dist/pack-symbol-compat.d.ts +60 -0
- package/dist/pack-symbol-compat.d.ts.map +1 -0
- package/dist/pack-symbol-compat.js +371 -0
- package/dist/pack-test-runner.d.ts +59 -0
- package/dist/pack-test-runner.d.ts.map +1 -0
- package/dist/pack-test-runner.js +211 -0
- package/dist/pipeline-command-dictionary.d.ts +2 -0
- package/dist/pipeline-command-dictionary.d.ts.map +1 -0
- package/dist/pipeline-command-dictionary.js +20 -0
- package/dist/pipeline-lint.d.ts +30 -0
- package/dist/pipeline-lint.d.ts.map +1 -0
- package/dist/pipeline-lint.js +134 -0
- package/dist/plan-dependency-graph.d.ts +25 -0
- package/dist/plan-dependency-graph.d.ts.map +1 -0
- package/dist/plan-dependency-graph.js +195 -0
- package/dist/plan-review.d.ts +64 -0
- package/dist/plan-review.d.ts.map +1 -0
- package/dist/plan-review.js +242 -0
- package/dist/plan-simulation.d.ts +108 -0
- package/dist/plan-simulation.d.ts.map +1 -0
- package/dist/plan-simulation.js +767 -0
- package/dist/playbook-registry.d.ts +25 -0
- package/dist/playbook-registry.d.ts.map +1 -0
- package/dist/playbook-registry.js +148 -0
- package/dist/playbook-script.d.ts +60 -0
- package/dist/playbook-script.d.ts.map +1 -0
- package/dist/playbook-script.js +161 -0
- package/dist/plugin-lifecycle-profile-registry.d.ts +52 -0
- package/dist/plugin-lifecycle-profile-registry.d.ts.map +1 -0
- package/dist/plugin-lifecycle-profile-registry.js +202 -0
- package/dist/plugin-lifecycle.d.ts +132 -0
- package/dist/plugin-lifecycle.d.ts.map +1 -0
- package/dist/plugin-lifecycle.js +477 -0
- package/dist/policy-engine.d.ts +101 -0
- package/dist/policy-engine.d.ts.map +1 -0
- package/dist/policy-engine.js +321 -0
- package/dist/policy-override-audit.d.ts +18 -0
- package/dist/policy-override-audit.d.ts.map +1 -0
- package/dist/policy-override-audit.js +54 -0
- package/dist/policy-overrides.d.ts +35 -0
- package/dist/policy-overrides.d.ts.map +1 -0
- package/dist/policy-overrides.js +84 -0
- package/dist/policy-test.d.ts +83 -0
- package/dist/policy-test.d.ts.map +1 -0
- package/dist/policy-test.js +342 -0
- package/dist/pr-summary.d.ts +34 -0
- package/dist/pr-summary.d.ts.map +1 -0
- package/dist/pr-summary.js +220 -0
- package/dist/product-coherence.d.ts +21 -0
- package/dist/product-coherence.d.ts.map +1 -0
- package/dist/product-coherence.js +158 -0
- package/dist/profile-registry.d.ts +42 -0
- package/dist/profile-registry.d.ts.map +1 -0
- package/dist/profile-registry.js +104 -0
- package/dist/project-coupling-audit.d.ts +64 -0
- package/dist/project-coupling-audit.d.ts.map +1 -0
- package/dist/project-coupling-audit.js +282 -0
- package/dist/project-overview.d.ts +14 -0
- package/dist/project-overview.d.ts.map +1 -0
- package/dist/project-overview.js +27 -0
- package/dist/propose-knowledge.d.ts +64 -0
- package/dist/propose-knowledge.d.ts.map +1 -0
- package/dist/propose-knowledge.js +367 -0
- package/dist/quality-baseline.d.ts +123 -0
- package/dist/quality-baseline.d.ts.map +1 -0
- package/dist/quality-baseline.js +433 -0
- package/dist/quality-html.d.ts +7 -0
- package/dist/quality-html.d.ts.map +1 -0
- package/dist/quality-html.js +64 -0
- package/dist/quality-report.d.ts +49 -0
- package/dist/quality-report.d.ts.map +1 -0
- package/dist/quality-report.js +296 -0
- package/dist/query-resolver.d.ts +38 -0
- package/dist/query-resolver.d.ts.map +1 -0
- package/dist/query-resolver.js +163 -0
- package/dist/ranker-explainability.d.ts +91 -0
- package/dist/ranker-explainability.d.ts.map +1 -0
- package/dist/ranker-explainability.js +550 -0
- package/dist/reference-lookup.d.ts +8 -0
- package/dist/reference-lookup.d.ts.map +1 -0
- package/dist/reference-lookup.js +18 -0
- package/dist/registration-hint-registry.d.ts +55 -0
- package/dist/registration-hint-registry.d.ts.map +1 -0
- package/dist/registration-hint-registry.js +327 -0
- package/dist/registry-lifecycle.d.ts +47 -0
- package/dist/registry-lifecycle.d.ts.map +1 -0
- package/dist/registry-lifecycle.js +214 -0
- package/dist/release-readiness.d.ts +64 -0
- package/dist/release-readiness.d.ts.map +1 -0
- package/dist/release-readiness.js +456 -0
- package/dist/release-smoke.d.ts +138 -0
- package/dist/release-smoke.d.ts.map +1 -0
- package/dist/release-smoke.js +459 -0
- package/dist/release-train.d.ts +33 -0
- package/dist/release-train.d.ts.map +1 -0
- package/dist/release-train.js +104 -0
- package/dist/repo-memory.d.ts +95 -0
- package/dist/repo-memory.d.ts.map +1 -0
- package/dist/repo-memory.js +614 -0
- package/dist/report-site.d.ts +92 -0
- package/dist/report-site.d.ts.map +1 -0
- package/dist/report-site.js +658 -0
- package/dist/reposet.d.ts +56 -0
- package/dist/reposet.d.ts.map +1 -0
- package/dist/reposet.js +160 -0
- package/dist/repository-intelligence.d.ts +145 -0
- package/dist/repository-intelligence.d.ts.map +1 -0
- package/dist/repository-intelligence.js +729 -0
- package/dist/repository-knowledge-model.d.ts +218 -0
- package/dist/repository-knowledge-model.d.ts.map +1 -0
- package/dist/repository-knowledge-model.js +939 -0
- package/dist/repository-map.d.ts +72 -0
- package/dist/repository-map.d.ts.map +1 -0
- package/dist/repository-map.js +332 -0
- package/dist/repository-stats.d.ts +66 -0
- package/dist/repository-stats.d.ts.map +1 -0
- package/dist/repository-stats.js +329 -0
- package/dist/review-comment-renderer.d.ts +59 -0
- package/dist/review-comment-renderer.d.ts.map +1 -0
- package/dist/review-comment-renderer.js +181 -0
- package/dist/review-comment-v2.d.ts +9 -0
- package/dist/review-comment-v2.d.ts.map +1 -0
- package/dist/review-comment-v2.js +178 -0
- package/dist/review-html.d.ts +13 -0
- package/dist/review-html.d.ts.map +1 -0
- package/dist/review-html.js +79 -0
- package/dist/review-packet-v2.d.ts +29 -0
- package/dist/review-packet-v2.d.ts.map +1 -0
- package/dist/review-packet-v2.js +71 -0
- package/dist/review-packet-v3.d.ts +22 -0
- package/dist/review-packet-v3.d.ts.map +1 -0
- package/dist/review-packet-v3.js +181 -0
- package/dist/review-packet.d.ts +49 -0
- package/dist/review-packet.d.ts.map +1 -0
- package/dist/review-packet.js +129 -0
- package/dist/risk-signals.d.ts +28 -0
- package/dist/risk-signals.d.ts.map +1 -0
- package/dist/risk-signals.js +68 -0
- package/dist/role-views.d.ts +50 -0
- package/dist/role-views.d.ts.map +1 -0
- package/dist/role-views.js +334 -0
- package/dist/rounds.d.ts +52 -0
- package/dist/rounds.d.ts.map +1 -0
- package/dist/rounds.js +172 -0
- package/dist/rule-drift.d.ts +42 -0
- package/dist/rule-drift.d.ts.map +1 -0
- package/dist/rule-drift.js +148 -0
- package/dist/rule-quality.d.ts +73 -0
- package/dist/rule-quality.d.ts.map +1 -0
- package/dist/rule-quality.js +356 -0
- package/dist/rule-scaffold.d.ts +71 -0
- package/dist/rule-scaffold.d.ts.map +1 -0
- package/dist/rule-scaffold.js +258 -0
- package/dist/safety-audit-deep.d.ts +38 -0
- package/dist/safety-audit-deep.d.ts.map +1 -0
- package/dist/safety-audit-deep.js +162 -0
- package/dist/safety-audit.d.ts +91 -0
- package/dist/safety-audit.d.ts.map +1 -0
- package/dist/safety-audit.js +138 -0
- package/dist/safety-html.d.ts +7 -0
- package/dist/safety-html.d.ts.map +1 -0
- package/dist/safety-html.js +70 -0
- package/dist/scaffold-coverage.d.ts +46 -0
- package/dist/scaffold-coverage.d.ts.map +1 -0
- package/dist/scaffold-coverage.js +273 -0
- package/dist/scaffold-patterns.d.ts +38 -0
- package/dist/scaffold-patterns.d.ts.map +1 -0
- package/dist/scaffold-patterns.js +282 -0
- package/dist/schema-inventory.d.ts +55 -0
- package/dist/schema-inventory.d.ts.map +1 -0
- package/dist/schema-inventory.js +301 -0
- package/dist/search-index.d.ts +75 -0
- package/dist/search-index.d.ts.map +1 -0
- package/dist/search-index.js +531 -0
- package/dist/search-tuning-explain.d.ts +68 -0
- package/dist/search-tuning-explain.d.ts.map +1 -0
- package/dist/search-tuning-explain.js +207 -0
- package/dist/search-tuning-registry.d.ts +54 -0
- package/dist/search-tuning-registry.d.ts.map +1 -0
- package/dist/search-tuning-registry.js +303 -0
- package/dist/self-audit.d.ts +59 -0
- package/dist/self-audit.d.ts.map +1 -0
- package/dist/self-audit.js +192 -0
- package/dist/self-config-doctor-v2.d.ts +57 -0
- package/dist/self-config-doctor-v2.d.ts.map +1 -0
- package/dist/self-config-doctor-v2.js +653 -0
- package/dist/self-config-doctor.d.ts +47 -0
- package/dist/self-config-doctor.d.ts.map +1 -0
- package/dist/self-config-doctor.js +432 -0
- package/dist/sharkcraft-inspector.d.ts +73 -0
- package/dist/sharkcraft-inspector.d.ts.map +1 -0
- package/dist/sharkcraft-inspector.js +745 -0
- package/dist/spec/spec-cross-validate.d.ts +17 -0
- package/dist/spec/spec-cross-validate.d.ts.map +1 -0
- package/dist/spec/spec-cross-validate.js +53 -0
- package/dist/spec/spec-discovery.d.ts +27 -0
- package/dist/spec/spec-discovery.d.ts.map +1 -0
- package/dist/spec/spec-discovery.js +78 -0
- package/dist/spec/spec-review.d.ts +36 -0
- package/dist/spec/spec-review.d.ts.map +1 -0
- package/dist/spec/spec-review.js +37 -0
- package/dist/stability-map.d.ts +62 -0
- package/dist/stability-map.d.ts.map +1 -0
- package/dist/stability-map.js +404 -0
- package/dist/start-here.d.ts +49 -0
- package/dist/start-here.d.ts.map +1 -0
- package/dist/start-here.js +259 -0
- package/dist/surface-profile-detect.d.ts +42 -0
- package/dist/surface-profile-detect.d.ts.map +1 -0
- package/dist/surface-profile-detect.js +76 -0
- package/dist/symbol-index.d.ts +108 -0
- package/dist/symbol-index.d.ts.map +1 -0
- package/dist/symbol-index.js +483 -0
- package/dist/task-decompose.d.ts +38 -0
- package/dist/task-decompose.d.ts.map +1 -0
- package/dist/task-decompose.js +154 -0
- package/dist/task-packet.d.ts +104 -0
- package/dist/task-packet.d.ts.map +1 -0
- package/dist/task-packet.js +156 -0
- package/dist/task-ranker.d.ts +51 -0
- package/dist/task-ranker.d.ts.map +1 -0
- package/dist/task-ranker.js +410 -0
- package/dist/task-risk.d.ts +84 -0
- package/dist/task-risk.d.ts.map +1 -0
- package/dist/task-risk.js +731 -0
- package/dist/task-routing-hint-registry.d.ts +36 -0
- package/dist/task-routing-hint-registry.d.ts.map +1 -0
- package/dist/task-routing-hint-registry.js +186 -0
- package/dist/template-authoring.d.ts +113 -0
- package/dist/template-authoring.d.ts.map +1 -0
- package/dist/template-authoring.js +521 -0
- package/dist/template-body-inference-v2.d.ts +19 -0
- package/dist/template-body-inference-v2.d.ts.map +1 -0
- package/dist/template-body-inference-v2.js +468 -0
- package/dist/template-body-inference.d.ts +59 -0
- package/dist/template-body-inference.d.ts.map +1 -0
- package/dist/template-body-inference.js +277 -0
- package/dist/template-drift.d.ts +39 -0
- package/dist/template-drift.d.ts.map +1 -0
- package/dist/template-drift.js +353 -0
- package/dist/template-lint.d.ts +31 -0
- package/dist/template-lint.d.ts.map +1 -0
- package/dist/template-lint.js +113 -0
- package/dist/test-definitions.d.ts +41 -0
- package/dist/test-definitions.d.ts.map +1 -0
- package/dist/test-definitions.js +6 -0
- package/dist/test-impact.d.ts +30 -0
- package/dist/test-impact.d.ts.map +1 -0
- package/dist/test-impact.js +173 -0
- package/dist/test-runner.d.ts +87 -0
- package/dist/test-runner.d.ts.map +1 -0
- package/dist/test-runner.js +560 -0
- package/dist/uncertainty-report.d.ts +46 -0
- package/dist/uncertainty-report.d.ts.map +1 -0
- package/dist/uncertainty-report.js +108 -0
- package/dist/uncertainty.d.ts +38 -0
- package/dist/uncertainty.d.ts.map +1 -0
- package/dist/uncertainty.js +115 -0
- package/dist/universal-search.d.ts +64 -0
- package/dist/universal-search.d.ts.map +1 -0
- package/dist/universal-search.js +347 -0
- package/dist/upgrade-advisor.d.ts +22 -0
- package/dist/upgrade-advisor.d.ts.map +1 -0
- package/dist/upgrade-advisor.js +109 -0
- package/dist/why-file.d.ts +75 -0
- package/dist/why-file.d.ts.map +1 -0
- package/dist/why-file.js +202 -0
- package/dist/workflow-simulation.d.ts +46 -0
- package/dist/workflow-simulation.d.ts.map +1 -0
- package/dist/workflow-simulation.js +154 -0
- package/package.json +66 -0
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `shrk start-here` — the human entry point.
|
|
3
|
+
*
|
|
4
|
+
* SharkCraft ships 200+ commands. New adopters need a 30-second answer to
|
|
5
|
+
* "what should I run first?". This module is the deterministic source of
|
|
6
|
+
* that answer. It does not call any external system, does not read the
|
|
7
|
+
* project state, and never writes — it's a curated list.
|
|
8
|
+
*
|
|
9
|
+
* The same data backs both:
|
|
10
|
+
* - CLI: `shrk start-here`, `shrk start-here --flow <name>`, `shrk commands primary`
|
|
11
|
+
* - MCP: `get_start_here`, `get_primary_commands` (read-only)
|
|
12
|
+
*/
|
|
13
|
+
export const START_HERE_SCHEMA = 'sharkcraft.start-here/v1';
|
|
14
|
+
export const PRIMARY_COMMANDS_SCHEMA = 'sharkcraft.primary-commands/v1';
|
|
15
|
+
const FLOWS_PRIMARY = [
|
|
16
|
+
{
|
|
17
|
+
id: 'onboard',
|
|
18
|
+
title: 'Onboard an existing repo',
|
|
19
|
+
whenToUse: 'You have a TypeScript / Bun / Node repo and want SharkCraft to understand it.',
|
|
20
|
+
commands: [
|
|
21
|
+
'shrk onboard --dry-run',
|
|
22
|
+
'shrk onboard --write-drafts --scaffold-templates',
|
|
23
|
+
'shrk onboard adopt status',
|
|
24
|
+
'shrk doctor',
|
|
25
|
+
],
|
|
26
|
+
safety: 'writes-drafts',
|
|
27
|
+
docsLink: 'docs/onboarding.md',
|
|
28
|
+
nextCommand: 'shrk brief "<first task you want the agent to handle>"',
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
id: 'brief',
|
|
32
|
+
title: 'Prepare an AI agent brief',
|
|
33
|
+
whenToUse: 'You want a deterministic, token-budgeted briefing for an AI coding agent.',
|
|
34
|
+
commands: [
|
|
35
|
+
'shrk brief "<task>"',
|
|
36
|
+
'shrk brief "<task>" --chunk --output-dir .sharkcraft/briefs/<task>',
|
|
37
|
+
'shrk task "<task>" --json',
|
|
38
|
+
'shrk search "<keywords>"',
|
|
39
|
+
],
|
|
40
|
+
safety: 'read-only',
|
|
41
|
+
docsLink: 'docs/brief.md',
|
|
42
|
+
nextCommand: 'shrk dev start "<task>" --brief',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
id: 'dev',
|
|
46
|
+
title: 'Start a safe dev workflow',
|
|
47
|
+
whenToUse: 'You want a tracked, replayable session with audit trail.',
|
|
48
|
+
commands: [
|
|
49
|
+
'shrk dev start "<task>" --brief',
|
|
50
|
+
'shrk dev status <id>',
|
|
51
|
+
'shrk dev report <id>',
|
|
52
|
+
'shrk handoff --session <id>',
|
|
53
|
+
],
|
|
54
|
+
safety: 'writes-drafts',
|
|
55
|
+
docsLink: 'docs/dev-workflow.md',
|
|
56
|
+
nextCommand: 'shrk dev report <id>',
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
id: 'review',
|
|
60
|
+
title: 'Review a PR / change',
|
|
61
|
+
whenToUse: 'A diff or PR needs a structured, deterministic review packet.',
|
|
62
|
+
commands: [
|
|
63
|
+
'shrk impact --since origin/main',
|
|
64
|
+
'shrk review packet --v3 --since origin/main',
|
|
65
|
+
'shrk review render-comment --format markdown',
|
|
66
|
+
'shrk report site --output .sharkcraft/reports/site',
|
|
67
|
+
],
|
|
68
|
+
safety: 'read-only',
|
|
69
|
+
docsLink: 'docs/review.md',
|
|
70
|
+
nextCommand: 'shrk report site',
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
id: 'governance',
|
|
74
|
+
title: 'Run governance / quality checks',
|
|
75
|
+
whenToUse: 'CI gate, periodic health check, or before a release.',
|
|
76
|
+
commands: [
|
|
77
|
+
'shrk quality',
|
|
78
|
+
'shrk safety audit',
|
|
79
|
+
'shrk commands doctor',
|
|
80
|
+
'shrk runtime doctor',
|
|
81
|
+
'shrk release readiness',
|
|
82
|
+
],
|
|
83
|
+
safety: 'read-only',
|
|
84
|
+
docsLink: 'docs/governance.md',
|
|
85
|
+
nextCommand: 'shrk release readiness --strict',
|
|
86
|
+
},
|
|
87
|
+
];
|
|
88
|
+
const FLOWS_OPTIONAL = [
|
|
89
|
+
{
|
|
90
|
+
id: 'packs',
|
|
91
|
+
title: 'Build a pack',
|
|
92
|
+
whenToUse: 'You want to ship SharkCraft knowledge for a project family.',
|
|
93
|
+
commands: [
|
|
94
|
+
'shrk packs new <pack-name> --kind architecture --write',
|
|
95
|
+
'shrk packs doctor --release',
|
|
96
|
+
'shrk packs release-check <pack-name>',
|
|
97
|
+
'shrk packs compat <pack-name> --consumer-root <consumer>',
|
|
98
|
+
],
|
|
99
|
+
safety: 'writes-drafts',
|
|
100
|
+
docsLink: 'docs/pack-authoring.md',
|
|
101
|
+
nextCommand: 'shrk packs sign <pack-name>',
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
id: 'release',
|
|
105
|
+
title: 'Prepare a release',
|
|
106
|
+
whenToUse: 'You are about to tag.',
|
|
107
|
+
commands: [
|
|
108
|
+
'shrk release readiness',
|
|
109
|
+
'shrk demo package --validate',
|
|
110
|
+
'shrk release smoke',
|
|
111
|
+
'bun run release:preflight',
|
|
112
|
+
'shrk release readiness --strict --preflight auto',
|
|
113
|
+
],
|
|
114
|
+
safety: 'read-only',
|
|
115
|
+
docsLink: 'docs/release-readiness.md',
|
|
116
|
+
nextCommand: 'bun run release:preflight',
|
|
117
|
+
},
|
|
118
|
+
];
|
|
119
|
+
const PRIMARY_COMMANDS = [
|
|
120
|
+
{
|
|
121
|
+
command: 'shrk onboard',
|
|
122
|
+
description: 'Bring SharkCraft into a repo that does not have it yet.',
|
|
123
|
+
safety: 'writes-drafts',
|
|
124
|
+
docsLink: 'docs/onboarding.md',
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
command: 'shrk search',
|
|
128
|
+
description: 'Find a knowledge entry / rule / template / path by keyword.',
|
|
129
|
+
safety: 'read-only',
|
|
130
|
+
docsLink: 'docs/search.md',
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
command: 'shrk impact',
|
|
134
|
+
description: 'Score the blast radius of the current diff.',
|
|
135
|
+
safety: 'read-only',
|
|
136
|
+
docsLink: 'docs/impact.md',
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
command: 'shrk brief',
|
|
140
|
+
description: 'Render a task brief for an AI agent.',
|
|
141
|
+
safety: 'read-only',
|
|
142
|
+
docsLink: 'docs/brief.md',
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
command: 'shrk spec create',
|
|
146
|
+
description: 'Scaffold an intent artifact (spec) for non-trivial features. Spec lives under .sharkcraft/specs/<id>/.',
|
|
147
|
+
safety: 'writes-drafts',
|
|
148
|
+
docsLink: 'docs/spec-driven-development.md',
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
command: 'shrk dev start',
|
|
152
|
+
description: 'Begin a tracked, replayable dev session.',
|
|
153
|
+
safety: 'writes-drafts',
|
|
154
|
+
docsLink: 'docs/dev-workflow.md',
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
command: 'shrk quality',
|
|
158
|
+
description: 'Run the structural quality checks.',
|
|
159
|
+
safety: 'read-only',
|
|
160
|
+
docsLink: 'docs/quality.md',
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
command: 'shrk review packet',
|
|
164
|
+
description: 'Build a deterministic PR review packet.',
|
|
165
|
+
safety: 'read-only',
|
|
166
|
+
docsLink: 'docs/review.md',
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
command: 'shrk report site',
|
|
170
|
+
description: 'Render the static, JS-free SharkCraft report site.',
|
|
171
|
+
safety: 'read-only',
|
|
172
|
+
docsLink: 'docs/static-reports.md',
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
command: 'shrk release readiness',
|
|
176
|
+
description: 'Aggregate audit for "is this safe to tag?"',
|
|
177
|
+
safety: 'read-only',
|
|
178
|
+
docsLink: 'docs/release-readiness.md',
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
command: 'shrk commands',
|
|
182
|
+
description: 'Browse / search the command catalog.',
|
|
183
|
+
safety: 'read-only',
|
|
184
|
+
docsLink: 'docs/command-safety-matrix.md',
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
command: 'shrk start-here',
|
|
188
|
+
description: 'This screen — pick a flow and run the next command.',
|
|
189
|
+
safety: 'read-only',
|
|
190
|
+
docsLink: 'docs/start-here.md',
|
|
191
|
+
},
|
|
192
|
+
];
|
|
193
|
+
export function buildStartHereReport(flow) {
|
|
194
|
+
const primary = flow ? FLOWS_PRIMARY.filter((f) => f.id === flow) : FLOWS_PRIMARY;
|
|
195
|
+
const optional = flow ? FLOWS_OPTIONAL.filter((f) => f.id === flow) : FLOWS_OPTIONAL;
|
|
196
|
+
return {
|
|
197
|
+
schema: START_HERE_SCHEMA,
|
|
198
|
+
thirtySecondExplanation: 'SharkCraft makes a repository AI-operable without giving AI unsafe write access. The CLI is the only write path. Everything an agent can read is also human-runnable and reproducible.',
|
|
199
|
+
safetyPledge: [
|
|
200
|
+
'MCP tools never write to disk.',
|
|
201
|
+
'The dashboard server is GET/HEAD only.',
|
|
202
|
+
'`shrk gen` is dry-run by default; `apply` requires `--verify-signature`.',
|
|
203
|
+
'Pack-contributed verification commands are not auto-run.',
|
|
204
|
+
],
|
|
205
|
+
primaryFlows: primary,
|
|
206
|
+
optionalFlows: optional,
|
|
207
|
+
recommendedFirstCommand: 'shrk doctor',
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
export function buildPrimaryCommandsReport() {
|
|
211
|
+
return { schema: PRIMARY_COMMANDS_SCHEMA, primary: PRIMARY_COMMANDS };
|
|
212
|
+
}
|
|
213
|
+
export function renderStartHereText(report) {
|
|
214
|
+
const lines = [];
|
|
215
|
+
lines.push('# SharkCraft — start here');
|
|
216
|
+
lines.push('');
|
|
217
|
+
lines.push(report.thirtySecondExplanation);
|
|
218
|
+
lines.push('');
|
|
219
|
+
lines.push('## Safety pledge');
|
|
220
|
+
for (const p of report.safetyPledge)
|
|
221
|
+
lines.push(` - ${p}`);
|
|
222
|
+
lines.push('');
|
|
223
|
+
lines.push('## Primary flows');
|
|
224
|
+
for (const f of report.primaryFlows) {
|
|
225
|
+
lines.push('');
|
|
226
|
+
lines.push(`### ${f.title} [${f.safety}]`);
|
|
227
|
+
lines.push(`When: ${f.whenToUse}`);
|
|
228
|
+
lines.push('Commands:');
|
|
229
|
+
for (const c of f.commands)
|
|
230
|
+
lines.push(` $ ${c}`);
|
|
231
|
+
lines.push(`Docs: ${f.docsLink}`);
|
|
232
|
+
lines.push(`Next: ${f.nextCommand}`);
|
|
233
|
+
}
|
|
234
|
+
if (report.optionalFlows.length > 0) {
|
|
235
|
+
lines.push('');
|
|
236
|
+
lines.push('## Optional flows');
|
|
237
|
+
for (const f of report.optionalFlows) {
|
|
238
|
+
lines.push('');
|
|
239
|
+
lines.push(`### ${f.title} [${f.safety}]`);
|
|
240
|
+
lines.push(`When: ${f.whenToUse}`);
|
|
241
|
+
lines.push('Commands:');
|
|
242
|
+
for (const c of f.commands)
|
|
243
|
+
lines.push(` $ ${c}`);
|
|
244
|
+
lines.push(`Docs: ${f.docsLink}`);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
lines.push('');
|
|
248
|
+
lines.push(`First command to try: $ ${report.recommendedFirstCommand}`);
|
|
249
|
+
return lines.join('\n') + '\n';
|
|
250
|
+
}
|
|
251
|
+
export function renderPrimaryCommandsText(report) {
|
|
252
|
+
const lines = [];
|
|
253
|
+
lines.push('# Primary SharkCraft commands');
|
|
254
|
+
lines.push('');
|
|
255
|
+
for (const c of report.primary) {
|
|
256
|
+
lines.push(` $ ${c.command.padEnd(28)} ${c.description} [${c.safety}]`);
|
|
257
|
+
}
|
|
258
|
+
return lines.join('\n') + '\n';
|
|
259
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Map detected workspace profiles to a surface profile id.
|
|
3
|
+
*
|
|
4
|
+
* The built-in surface profiles ship with the engine:
|
|
5
|
+
* - `developer` — the default; full set of common verbs.
|
|
6
|
+
* - `small-app` — single-package TS/JS app.
|
|
7
|
+
* - `monorepo` — nx / turborepo / pnpm workspaces.
|
|
8
|
+
* - `pack-author` — repos that publish a SharkCraft pack.
|
|
9
|
+
* - `ci` — CI-only invocations (read-only, JSON-first).
|
|
10
|
+
* - `agent` — agent-driven sessions (compact catalog).
|
|
11
|
+
*
|
|
12
|
+
* Workspace profiles come from `@shrkcrft/workspace` (e.g. `nx`,
|
|
13
|
+
* `pnpm`, `next`, `nest`, `bun`, `single-package`, …). This module
|
|
14
|
+
* maps them into a surface profile + the heuristic that fired, so the
|
|
15
|
+
* generated `sharkcraft.config.ts` can record *why* the picked profile
|
|
16
|
+
* was chosen.
|
|
17
|
+
*/
|
|
18
|
+
export declare enum SurfaceProfile {
|
|
19
|
+
Developer = "developer",
|
|
20
|
+
SmallApp = "small-app",
|
|
21
|
+
Monorepo = "monorepo",
|
|
22
|
+
PackAuthor = "pack-author",
|
|
23
|
+
Ci = "ci",
|
|
24
|
+
Agent = "agent"
|
|
25
|
+
}
|
|
26
|
+
export interface ISurfaceProfileSuggestion {
|
|
27
|
+
profile: SurfaceProfile;
|
|
28
|
+
/** One-line description of why this profile was picked. */
|
|
29
|
+
reason: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Pure function — no IO. Maps a list of workspace profiles
|
|
33
|
+
* (`['nx', 'typescript']`, `['single-package', 'next']`, …) to one of
|
|
34
|
+
* the built-in surface profiles plus the heuristic that fired.
|
|
35
|
+
*/
|
|
36
|
+
export declare function suggestSurfaceProfile(workspaceProfiles: readonly string[]): ISurfaceProfileSuggestion;
|
|
37
|
+
/**
|
|
38
|
+
* Names every built-in surface profile so callers (doctor, init) can
|
|
39
|
+
* validate user overrides without hardcoding the list at every site.
|
|
40
|
+
*/
|
|
41
|
+
export declare function listBuiltInSurfaceProfiles(): readonly SurfaceProfile[];
|
|
42
|
+
//# sourceMappingURL=surface-profile-detect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"surface-profile-detect.d.ts","sourceRoot":"","sources":["../src/surface-profile-detect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,oBAAY,cAAc;IACxB,SAAS,cAAc;IACvB,QAAQ,cAAc;IACtB,QAAQ,aAAa;IACrB,UAAU,gBAAgB;IAC1B,EAAE,OAAO;IACT,KAAK,UAAU;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,cAAc,CAAC;IACxB,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,iBAAiB,EAAE,SAAS,MAAM,EAAE,GACnC,yBAAyB,CA+B3B;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,IAAI,SAAS,cAAc,EAAE,CAStE"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Map detected workspace profiles to a surface profile id.
|
|
3
|
+
*
|
|
4
|
+
* The built-in surface profiles ship with the engine:
|
|
5
|
+
* - `developer` — the default; full set of common verbs.
|
|
6
|
+
* - `small-app` — single-package TS/JS app.
|
|
7
|
+
* - `monorepo` — nx / turborepo / pnpm workspaces.
|
|
8
|
+
* - `pack-author` — repos that publish a SharkCraft pack.
|
|
9
|
+
* - `ci` — CI-only invocations (read-only, JSON-first).
|
|
10
|
+
* - `agent` — agent-driven sessions (compact catalog).
|
|
11
|
+
*
|
|
12
|
+
* Workspace profiles come from `@shrkcrft/workspace` (e.g. `nx`,
|
|
13
|
+
* `pnpm`, `next`, `nest`, `bun`, `single-package`, …). This module
|
|
14
|
+
* maps them into a surface profile + the heuristic that fired, so the
|
|
15
|
+
* generated `sharkcraft.config.ts` can record *why* the picked profile
|
|
16
|
+
* was chosen.
|
|
17
|
+
*/
|
|
18
|
+
export var SurfaceProfile;
|
|
19
|
+
(function (SurfaceProfile) {
|
|
20
|
+
SurfaceProfile["Developer"] = "developer";
|
|
21
|
+
SurfaceProfile["SmallApp"] = "small-app";
|
|
22
|
+
SurfaceProfile["Monorepo"] = "monorepo";
|
|
23
|
+
SurfaceProfile["PackAuthor"] = "pack-author";
|
|
24
|
+
SurfaceProfile["Ci"] = "ci";
|
|
25
|
+
SurfaceProfile["Agent"] = "agent";
|
|
26
|
+
})(SurfaceProfile || (SurfaceProfile = {}));
|
|
27
|
+
/**
|
|
28
|
+
* Pure function — no IO. Maps a list of workspace profiles
|
|
29
|
+
* (`['nx', 'typescript']`, `['single-package', 'next']`, …) to one of
|
|
30
|
+
* the built-in surface profiles plus the heuristic that fired.
|
|
31
|
+
*/
|
|
32
|
+
export function suggestSurfaceProfile(workspaceProfiles) {
|
|
33
|
+
const set = new Set(workspaceProfiles.map((p) => p.toLowerCase()));
|
|
34
|
+
if (set.has('pack-author') || set.has('sharkcraft-pack')) {
|
|
35
|
+
return {
|
|
36
|
+
profile: SurfaceProfile.PackAuthor,
|
|
37
|
+
reason: 'workspace looks like a SharkCraft pack (manifest detected).',
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
if (set.has('nx') || set.has('turborepo') || set.has('pnpm-workspace') || set.has('monorepo')) {
|
|
41
|
+
return {
|
|
42
|
+
profile: SurfaceProfile.Monorepo,
|
|
43
|
+
reason: 'monorepo signal detected (nx.json / turbo.json / pnpm-workspace.yaml / packages glob).',
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
if (set.has('single-package') || set.has('app') || set.has('next') || set.has('nest')) {
|
|
47
|
+
return {
|
|
48
|
+
profile: SurfaceProfile.SmallApp,
|
|
49
|
+
reason: 'single-package application shape detected.',
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
if (set.has('ci-only') || set.has('headless')) {
|
|
53
|
+
return {
|
|
54
|
+
profile: SurfaceProfile.Ci,
|
|
55
|
+
reason: 'CI-only signal (no interactive shells / no editor configs).',
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
profile: SurfaceProfile.Developer,
|
|
60
|
+
reason: 'no high-signal profile match — fell back to the default developer profile.',
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Names every built-in surface profile so callers (doctor, init) can
|
|
65
|
+
* validate user overrides without hardcoding the list at every site.
|
|
66
|
+
*/
|
|
67
|
+
export function listBuiltInSurfaceProfiles() {
|
|
68
|
+
return [
|
|
69
|
+
SurfaceProfile.Developer,
|
|
70
|
+
SurfaceProfile.SmallApp,
|
|
71
|
+
SurfaceProfile.Monorepo,
|
|
72
|
+
SurfaceProfile.PackAuthor,
|
|
73
|
+
SurfaceProfile.Ci,
|
|
74
|
+
SurfaceProfile.Agent,
|
|
75
|
+
];
|
|
76
|
+
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
export declare const SYMBOL_INDEX_SCHEMA = "sharkcraft.symbol-index/v1";
|
|
2
|
+
export declare enum SymbolDeclarationKind {
|
|
3
|
+
Class = "class",
|
|
4
|
+
Function = "function",
|
|
5
|
+
Interface = "interface",
|
|
6
|
+
TypeAlias = "type-alias",
|
|
7
|
+
Enum = "enum",
|
|
8
|
+
Const = "const",
|
|
9
|
+
Let = "let",
|
|
10
|
+
Var = "var",
|
|
11
|
+
Module = "module",
|
|
12
|
+
Namespace = "namespace",
|
|
13
|
+
Unknown = "unknown"
|
|
14
|
+
}
|
|
15
|
+
export declare enum SymbolVisibility {
|
|
16
|
+
Export = "export",
|
|
17
|
+
Local = "local",
|
|
18
|
+
ReExport = "re-export",
|
|
19
|
+
Default = "default"
|
|
20
|
+
}
|
|
21
|
+
export declare enum SymbolResolution {
|
|
22
|
+
ExactExport = "exact-export",
|
|
23
|
+
ExactLocal = "exact-local",
|
|
24
|
+
ExactReExport = "exact-reexport",
|
|
25
|
+
ProbableText = "probable-text",
|
|
26
|
+
Missing = "missing",
|
|
27
|
+
Unknown = "unknown"
|
|
28
|
+
}
|
|
29
|
+
export interface ISymbolEntry {
|
|
30
|
+
name: string;
|
|
31
|
+
kind: SymbolDeclarationKind;
|
|
32
|
+
visibility: SymbolVisibility;
|
|
33
|
+
/** Line (1-based) where the declaration starts. */
|
|
34
|
+
line: number;
|
|
35
|
+
}
|
|
36
|
+
export interface IReExportEntry {
|
|
37
|
+
/** Symbol name as exposed (the "name" half of `export { foo } from`). */
|
|
38
|
+
name: string;
|
|
39
|
+
/** Original specifier path (e.g. `./feature`). */
|
|
40
|
+
from: string;
|
|
41
|
+
/** If true, this is `export * from "..."`. */
|
|
42
|
+
star: boolean;
|
|
43
|
+
line: number;
|
|
44
|
+
}
|
|
45
|
+
export interface ISymbolIndex {
|
|
46
|
+
schema: typeof SYMBOL_INDEX_SCHEMA;
|
|
47
|
+
file: string;
|
|
48
|
+
parsed: boolean;
|
|
49
|
+
parseError?: string;
|
|
50
|
+
exports: readonly ISymbolEntry[];
|
|
51
|
+
locals: readonly ISymbolEntry[];
|
|
52
|
+
reExports: readonly IReExportEntry[];
|
|
53
|
+
/** True when a default export exists. */
|
|
54
|
+
hasDefaultExport: boolean;
|
|
55
|
+
/** Default export name where identifiable (`export default function foo()` → "foo"). */
|
|
56
|
+
defaultExportName?: string;
|
|
57
|
+
}
|
|
58
|
+
interface IBuildIndexOptions {
|
|
59
|
+
/** Treat file content as if it had this path (used for tests). */
|
|
60
|
+
virtualPath?: string;
|
|
61
|
+
}
|
|
62
|
+
export declare function buildSymbolIndex(fileAbsPath: string, content?: string, options?: IBuildIndexOptions): ISymbolIndex;
|
|
63
|
+
/**
|
|
64
|
+
* Resolve a symbol within a single file using the AST index. Returns the
|
|
65
|
+
* resolution kind + a small explanation. No cross-file traversal.
|
|
66
|
+
*/
|
|
67
|
+
export declare function resolveSymbolInFile(fileAbsPath: string, symbol: string): {
|
|
68
|
+
resolution: SymbolResolution;
|
|
69
|
+
message: string;
|
|
70
|
+
entry?: ISymbolEntry;
|
|
71
|
+
};
|
|
72
|
+
export interface ISymbolMatch {
|
|
73
|
+
/** Absolute file path. */
|
|
74
|
+
file: string;
|
|
75
|
+
/** Relative to projectRoot. */
|
|
76
|
+
relativePath: string;
|
|
77
|
+
resolution: SymbolResolution;
|
|
78
|
+
/** Resolution detail message. */
|
|
79
|
+
message: string;
|
|
80
|
+
/** Declaration kind / visibility if known. */
|
|
81
|
+
kind?: SymbolDeclarationKind;
|
|
82
|
+
visibility?: SymbolVisibility;
|
|
83
|
+
/** Line number (1-based) for export/local matches. */
|
|
84
|
+
line?: number;
|
|
85
|
+
}
|
|
86
|
+
export interface ISymbolImpactResult {
|
|
87
|
+
schema: 'sharkcraft.symbol-impact/v1';
|
|
88
|
+
symbol: string;
|
|
89
|
+
language: string;
|
|
90
|
+
/** Files containing exact-export / exact-local matches. */
|
|
91
|
+
exactMatches: readonly ISymbolMatch[];
|
|
92
|
+
/** Files containing probable-text (no AST parse / text scan). */
|
|
93
|
+
textMatches: readonly ISymbolMatch[];
|
|
94
|
+
/** When at most one exact-export match exists, the impact engine should
|
|
95
|
+
* treat that file as the canonical target. */
|
|
96
|
+
primaryFile?: string;
|
|
97
|
+
/** Free-form diagnostics. */
|
|
98
|
+
diagnostics: readonly string[];
|
|
99
|
+
}
|
|
100
|
+
export interface IFindSymbolOptions {
|
|
101
|
+
/** Language hint — currently typescript|auto. */
|
|
102
|
+
language?: 'typescript' | 'java' | 'csharp' | 'python' | 'go' | 'rust' | 'auto';
|
|
103
|
+
/** Cap scanned files. Default 4000. */
|
|
104
|
+
maxFiles?: number;
|
|
105
|
+
}
|
|
106
|
+
export declare function findSymbolInProject(projectRoot: string, symbol: string, options?: IFindSymbolOptions): ISymbolImpactResult;
|
|
107
|
+
export {};
|
|
108
|
+
//# sourceMappingURL=symbol-index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"symbol-index.d.ts","sourceRoot":"","sources":["../src/symbol-index.ts"],"names":[],"mappings":"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"}
|