@polymorphism-tech/morph-spec 3.1.0 → 4.2.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.md +882 -3
- package/README.md +79 -18
- package/bin/detect-agents.js +1 -1
- package/bin/morph-spec.js +163 -26
- package/bin/task-manager.cjs +101 -7
- package/bin/validate.js +1 -1
- package/docs/cli-auto-detection.md +219 -0
- package/docs/getting-started.md +0 -5
- package/docs/llm-interaction-config.md +735 -0
- package/docs/troubleshooting.md +269 -0
- package/docs/v3.0/AGENTS.md +521 -0
- package/docs/v3.0/ANALYSIS.md +555 -0
- package/docs/v3.0/ARCHITECTURE.md +436 -0
- package/docs/v3.0/EXECUTION-FLOW.md +1304 -0
- package/docs/v3.0/FEATURES.md +688 -0
- package/docs/v3.0/README.md +231 -0
- package/docs/v3.0/ROADMAP.md +801 -0
- package/docs/validation-checklist.md +0 -1
- package/package.json +5 -1
- package/src/commands/agents/index.js +4 -0
- package/src/commands/agents/spawn-team.js +172 -0
- package/src/commands/{create-story.js → feature/create-story.js} +357 -354
- package/src/commands/feature/index.js +6 -0
- package/src/commands/{shard-spec.js → feature/shard-spec.js} +2 -2
- package/src/commands/{sprint-status.js → feature/sprint-status.js} +1 -1
- package/src/commands/{generate-context.js → generation/generate-context.js} +40 -40
- package/src/commands/{generate.js → generation/generate.js} +130 -3
- package/src/commands/generation/index.js +5 -0
- package/src/commands/index.js +16 -0
- package/src/commands/learning/capture-pattern.js +121 -0
- package/src/commands/learning/index.js +5 -0
- package/src/commands/learning/search-patterns.js +126 -0
- package/src/commands/{detect-agents.js → project/detect-agents.js} +178 -178
- package/src/commands/project/detect-workflow.js +174 -0
- package/src/commands/{detect.js → project/detect.js} +104 -104
- package/src/commands/{doctor.js → project/doctor.js} +356 -356
- package/src/commands/project/index.js +10 -0
- package/src/commands/{init.js → project/init.js} +305 -258
- package/src/commands/{sync.js → project/sync.js} +167 -167
- package/src/commands/{update.js → project/update.js} +240 -204
- package/src/commands/{advance-phase.js → state/advance-phase.js} +416 -266
- package/src/commands/state/approve.js +221 -0
- package/src/commands/state/index.js +8 -0
- package/src/commands/{rollback-phase.js → state/rollback-phase.js} +185 -185
- package/src/commands/{state.js → state/state.js} +334 -334
- package/src/commands/{validate-phase.js → state/validate-phase.js} +221 -221
- package/src/commands/tasks/index.js +4 -0
- package/src/commands/{task.js → tasks/task.js} +78 -78
- package/src/commands/templates/index.js +8 -0
- package/src/commands/templates/template-customize.js +101 -0
- package/src/commands/templates/template-list.js +128 -0
- package/src/commands/templates/template-render.js +95 -0
- package/src/commands/templates/template-show.js +131 -0
- package/src/commands/templates/template-validate.js +91 -0
- package/src/commands/utils/index.js +7 -0
- package/src/commands/utils/migrate-state.js +158 -0
- package/src/commands/{session-summary.js → utils/session-summary.js} +291 -291
- package/src/commands/{troubleshoot.js → utils/troubleshoot.js} +222 -222
- package/src/commands/utils/upgrade.js +346 -0
- package/src/commands/{analyze-blazor-concurrency.js → validation/analyze-blazor-concurrency.js} +193 -193
- package/src/commands/validation/index.js +8 -0
- package/src/commands/{lint-fluent.js → validation/lint-fluent.js} +352 -352
- package/src/commands/{validate-blazor-state.js → validation/validate-blazor-state.js} +210 -210
- package/src/commands/{validate-blazor.js → validation/validate-blazor.js} +156 -156
- package/src/commands/{validate-css.js → validation/validate-css.js} +84 -84
- package/src/core/index.js +10 -0
- package/src/core/registry/command-registry.js +302 -0
- package/src/core/registry/index.js +8 -0
- package/src/core/registry/validator-registry.js +204 -0
- package/src/core/state/index.js +8 -0
- package/src/core/state/phase-state-machine.js +214 -0
- package/src/{lib → core/state}/state-manager.js +572 -414
- package/src/core/templates/index.js +9 -0
- package/src/core/templates/template-data-sources.js +325 -0
- package/src/core/templates/template-registry.js +335 -0
- package/src/core/templates/template-renderer.js +477 -0
- package/src/core/templates/template-validator.js +296 -0
- package/src/core/workflows/index.js +7 -0
- package/src/core/workflows/workflow-detector.js +354 -0
- package/src/generator/config-generator.js +206 -0
- package/src/generator/templates/config.json.template +40 -0
- package/src/generator/templates/project.md.template +67 -0
- package/src/lib/{complexity-analyzer.js → analysis/complexity-analyzer.js} +441 -441
- package/src/lib/analysis/index.js +7 -0
- package/src/lib/checkpoints/checkpoint-hooks.js +258 -0
- package/src/lib/checkpoints/index.js +7 -0
- package/src/lib/detectors/config-detector.js +223 -223
- package/src/lib/detectors/conversation-analyzer.js +163 -163
- package/src/lib/{design-system-detector.js → detectors/design-system-detector.js} +187 -187
- package/src/lib/detectors/index.js +87 -84
- package/src/lib/detectors/standards-generator.js +275 -275
- package/src/lib/detectors/structure-detector.js +245 -245
- package/src/lib/{context-generator.js → generators/context-generator.js} +526 -516
- package/src/lib/generators/index.js +10 -0
- package/src/lib/generators/metadata-extractor.js +387 -0
- package/src/lib/{recap-generator.js → generators/recap-generator.js} +205 -205
- package/src/lib/learning/index.js +7 -0
- package/src/lib/orchestration/index.js +7 -0
- package/src/lib/{team-orchestrator.js → orchestration/team-orchestrator.js} +323 -323
- package/src/lib/stacks/index.js +7 -0
- package/src/lib/{stack-resolver.js → stacks/stack-resolver.js} +180 -148
- package/src/lib/standards/index.js +7 -0
- package/src/lib/{standards-context-injector.js → standards/standards-context-injector.js} +298 -288
- package/src/lib/troubleshooting/index.js +8 -0
- package/src/lib/{troubleshoot-grep.js → troubleshooting/troubleshoot-grep.js} +204 -204
- package/src/lib/{troubleshoot-index.js → troubleshooting/troubleshoot-index.js} +144 -144
- package/src/lib/validators/architecture/architecture-validator.js +387 -0
- package/src/lib/validators/architecture/index.js +7 -0
- package/src/lib/validators/architecture-validator.js +40 -367
- package/src/lib/{blazor-concurrency-analyzer.js → validators/blazor/blazor-concurrency-analyzer.js} +277 -288
- package/src/lib/{blazor-state-validator.js → validators/blazor/blazor-state-validator.js} +279 -291
- package/src/lib/{blazor-validator.js → validators/blazor/blazor-validator.js} +369 -374
- package/src/lib/validators/blazor/index.js +9 -0
- package/src/lib/validators/content/content-validator.js +351 -0
- package/src/lib/validators/content/index.js +7 -0
- package/src/lib/validators/content-validator.js +164 -0
- package/src/lib/validators/{contract-compliance-validator.js → contracts/contract-compliance-validator.js} +273 -273
- package/src/lib/validators/contracts/index.js +7 -0
- package/src/lib/{css-validator.js → validators/css/css-validator.js} +352 -352
- package/src/lib/validators/css/index.js +7 -0
- package/src/lib/validators/{design-system-validator.js → design-system/design-system-validator.js} +231 -231
- package/src/lib/validators/design-system/index.js +7 -0
- package/src/lib/validators/package-validator.js +41 -340
- package/src/lib/validators/packages/index.js +7 -0
- package/src/lib/validators/packages/package-validator.js +360 -0
- package/src/lib/validators/shared/index.js +12 -0
- package/src/lib/validators/shared/issue-counter.js +18 -0
- package/src/lib/validators/shared/result-formatter.js +124 -0
- package/src/lib/{spec-validator.js → validators/spec-validator.js} +258 -258
- package/src/lib/validators/ui/index.js +7 -0
- package/src/lib/validators/ui/ui-contrast-validator.js +422 -0
- package/src/lib/validators/ui-contrast-validator.js +31 -409
- package/src/lib/{validation-runner.js → validators/validation-runner.js} +286 -284
- package/src/llm/analyzer.js +215 -0
- package/src/llm/environment-detector.js +43 -0
- package/src/llm/few-shot-examples.js +216 -0
- package/src/llm/project-config-schema.json +188 -0
- package/src/llm/prompt-builder.js +96 -0
- package/src/orchestrator.js +206 -0
- package/src/sanitizer/context-sanitizer.js +221 -0
- package/src/sanitizer/patterns.js +163 -0
- package/src/scanner/project-scanner.js +242 -0
- package/src/ui/diff-display.js +91 -0
- package/src/ui/interactive-wizard.js +96 -0
- package/src/ui/user-review.js +211 -0
- package/src/ui/wizard-questions.js +188 -0
- package/src/utils/color-utils.js +70 -0
- package/src/utils/file-copier.js +188 -189
- package/src/utils/process-handler.js +97 -0
- package/src/writer/file-writer.js +86 -0
- package/stacks/blazor-azure/.claude/skills/level-2-domains/ai-agents/ai-system-architect.md +3 -3
- package/stacks/blazor-azure/.claude/skills/level-2-domains/backend/api-designer.md +59 -0
- package/stacks/blazor-azure/.claude/skills/level-2-domains/backend/dotnet-senior.md +45 -255
- package/stacks/blazor-azure/.claude/skills/level-2-domains/backend/ef-modeler.md +33 -88
- package/stacks/blazor-azure/.claude/skills/level-2-domains/backend/ms-agent-expert.md +25 -89
- package/stacks/blazor-azure/.claude/skills/level-2-domains/integrations/hangfire-orchestrator.md +64 -0
- package/stacks/blazor-azure/.morph/config/agents.json +879 -764
- package/stacks/blazor-azure/.morph/hooks/{pre-commit-tests.sh → pre-commit/tests-csharp.sh} +3 -2
- package/stacks/blazor-azure/.morph/templates/.gitkeep +0 -0
- package/stacks/blazor-azure/.morph/templates/infrastructure/github/workflows/cd-prod.yml.hbs +41 -0
- package/stacks/blazor-azure/.morph/templates/infrastructure/github/workflows/cd-staging.yml.hbs +24 -0
- package/stacks/blazor-azure/.morph/templates/infrastructure/github/workflows/ci-build.yml.hbs +23 -0
- package/stacks/nextjs-supabase/.claude/commands/morph-apply.md +221 -0
- package/stacks/nextjs-supabase/.claude/commands/morph-archive.md +79 -0
- package/stacks/nextjs-supabase/.claude/commands/morph-deploy.md +529 -0
- package/stacks/nextjs-supabase/.claude/commands/morph-infra.md +209 -0
- package/stacks/nextjs-supabase/.claude/commands/morph-preflight.md +227 -0
- package/stacks/nextjs-supabase/.claude/commands/morph-proposal.md +122 -0
- package/stacks/nextjs-supabase/.claude/commands/morph-status.md +86 -0
- package/stacks/nextjs-supabase/.claude/commands/morph-troubleshoot.md +122 -0
- package/stacks/nextjs-supabase/.claude/settings.local.json +6 -0
- package/stacks/nextjs-supabase/.claude/skills/level-2-domains/integrations/supabase-expert.md +30 -150
- package/stacks/nextjs-supabase/.morph/config/agents.json +345 -345
- package/stacks/nextjs-supabase/.morph/hooks/pre-commit/tests-typescript.sh +61 -0
- package/stacks/nextjs-supabase/.morph/templates/.gitkeep +0 -0
- package/stacks/nextjs-supabase/.morph/templates/infrastructure/github/workflows/cd-prod.yml.hbs +22 -0
- package/stacks/nextjs-supabase/.morph/templates/infrastructure/github/workflows/cd-staging.yml.hbs +22 -0
- package/stacks/nextjs-supabase/.morph/templates/infrastructure/github/workflows/ci-build.yml.hbs +35 -0
- package/stacks/nextjs-supabase/README.md +6 -15
- package/bin/render-template.js +0 -303
- package/bin/semantic-detect-agents.js +0 -247
- package/bin/validate-agents-skills.js +0 -257
- package/bin/validate-agents.js +0 -70
- package/bin/validate-phase.js +0 -263
- package/docs/examples.md +0 -328
- package/scripts/reorganize-skills.cjs +0 -175
- package/scripts/validate-agents-structure.cjs +0 -52
- package/scripts/validate-skills.cjs +0 -180
- package/src/commands/deploy.js +0 -780
- package/src/lib/continuous-validator.js +0 -421
- package/src/lib/decision-constraint-loader.js +0 -109
- package/src/lib/design-system-scaffolder.js +0 -299
- package/src/lib/hook-executor.js +0 -257
- package/src/lib/mockup-generator.js +0 -366
- package/src/lib/ui-detector.js +0 -350
- package/stacks/blazor-azure/.azure/README.md +0 -293
- package/stacks/blazor-azure/.azure/docs/azure-devops-setup.md +0 -454
- package/stacks/blazor-azure/.azure/docs/branch-strategy.md +0 -398
- package/stacks/blazor-azure/.azure/docs/local-development.md +0 -515
- package/stacks/blazor-azure/.azure/pipelines/pipeline-variables.yml +0 -34
- package/stacks/blazor-azure/.azure/pipelines/prod-pipeline.yml +0 -319
- package/stacks/blazor-azure/.azure/pipelines/staging-pipeline.yml +0 -234
- package/stacks/blazor-azure/.azure/pipelines/templates/build-dotnet.yml +0 -75
- package/stacks/blazor-azure/.azure/pipelines/templates/deploy-app-service.yml +0 -94
- package/stacks/blazor-azure/.azure/pipelines/templates/deploy-container-app.yml +0 -120
- package/stacks/blazor-azure/.azure/pipelines/templates/infra-deploy.yml +0 -90
- package/stacks/blazor-azure/.claude/settings.local.json +0 -15
- package/stacks/blazor-azure/.morph/docs/STORY-DRIVEN-DEVELOPMENT.md +0 -392
- package/stacks/blazor-azure/.morph/docs/workflows/design-impl.md +0 -37
- package/stacks/blazor-azure/.morph/docs/workflows/enforcement-pipeline.md +0 -668
- package/stacks/blazor-azure/.morph/docs/workflows/fast-track.md +0 -29
- package/stacks/blazor-azure/.morph/docs/workflows/full-morph.md +0 -76
- package/stacks/blazor-azure/.morph/docs/workflows/standard.md +0 -44
- package/stacks/blazor-azure/.morph/docs/workflows/ui-refresh.md +0 -39
- package/stacks/blazor-azure/.morph/examples/api-nextjs/README.md +0 -241
- package/stacks/blazor-azure/.morph/examples/api-nextjs/contracts.ts +0 -307
- package/stacks/blazor-azure/.morph/examples/api-nextjs/spec.md +0 -399
- package/stacks/blazor-azure/.morph/examples/api-nextjs/tasks.md +0 -168
- package/stacks/blazor-azure/.morph/examples/micro-saas/README.md +0 -125
- package/stacks/blazor-azure/.morph/examples/micro-saas/contracts.cs +0 -358
- package/stacks/blazor-azure/.morph/examples/micro-saas/decisions.md +0 -246
- package/stacks/blazor-azure/.morph/examples/micro-saas/spec.md +0 -236
- package/stacks/blazor-azure/.morph/examples/micro-saas/tasks.md +0 -150
- package/stacks/blazor-azure/.morph/examples/multi-agent/README.md +0 -309
- package/stacks/blazor-azure/.morph/examples/multi-agent/contracts.cs +0 -433
- package/stacks/blazor-azure/.morph/examples/multi-agent/spec.md +0 -479
- package/stacks/blazor-azure/.morph/examples/multi-agent/tasks.md +0 -185
- package/stacks/blazor-azure/.morph/examples/scheduled-reports/decisions.md +0 -158
- package/stacks/blazor-azure/.morph/examples/scheduled-reports/proposal.md +0 -95
- package/stacks/blazor-azure/.morph/examples/scheduled-reports/spec.md +0 -267
- package/stacks/blazor-azure/.morph/examples/state-v3.json +0 -188
- package/stacks/blazor-azure/.morph/hooks/README.md +0 -348
- package/stacks/blazor-azure/.morph/hooks/pre-commit-agents.sh +0 -24
- package/stacks/blazor-azure/.morph/hooks/pre-commit-all.sh +0 -48
- package/stacks/blazor-azure/.morph/hooks/pre-commit-specs.sh +0 -49
- package/stacks/blazor-azure/.morph/hooks/task-completed.js +0 -73
- package/stacks/blazor-azure/.morph/hooks/teammate-idle.js +0 -68
- package/stacks/blazor-azure/.morph/standards/agent-framework-blazor-ui.md +0 -359
- package/stacks/blazor-azure/.morph/standards/agent-framework-production.md +0 -410
- package/stacks/blazor-azure/.morph/standards/agent-framework-setup.md +0 -413
- package/stacks/blazor-azure/.morph/standards/agent-framework-workflows.md +0 -349
- package/stacks/blazor-azure/.morph/standards/agent-teams-workflow.md +0 -474
- package/stacks/blazor-azure/.morph/standards/architecture.md +0 -325
- package/stacks/blazor-azure/.morph/standards/azure.md +0 -605
- package/stacks/blazor-azure/.morph/standards/coding.md +0 -377
- package/stacks/blazor-azure/.morph/standards/dotnet10-migration.md +0 -520
- package/stacks/blazor-azure/.morph/standards/fluent-ui-setup.md +0 -590
- package/stacks/blazor-azure/.morph/standards/migration-guide.md +0 -514
- package/stacks/blazor-azure/.morph/standards/passkeys-auth.md +0 -423
- package/stacks/blazor-azure/.morph/standards/vector-search-rag.md +0 -536
- package/stacks/blazor-azure/.morph/templates/CONTEXT-FEATURE.md +0 -276
- package/stacks/blazor-azure/.morph/templates/CONTEXT.md +0 -170
- package/stacks/blazor-azure/.morph/templates/FluentDesignTheme.cs +0 -149
- package/stacks/blazor-azure/.morph/templates/MudTheme.cs +0 -281
- package/stacks/blazor-azure/.morph/templates/agent.cs +0 -163
- package/stacks/blazor-azure/.morph/templates/clarify-questions.md +0 -159
- package/stacks/blazor-azure/.morph/templates/component.razor +0 -239
- package/stacks/blazor-azure/.morph/templates/contracts/Commands.cs +0 -74
- package/stacks/blazor-azure/.morph/templates/contracts/Entities.cs +0 -25
- package/stacks/blazor-azure/.morph/templates/contracts/Queries.cs +0 -74
- package/stacks/blazor-azure/.morph/templates/contracts/README.md +0 -74
- package/stacks/blazor-azure/.morph/templates/contracts.cs +0 -217
- package/stacks/blazor-azure/.morph/templates/decisions.md +0 -123
- package/stacks/blazor-azure/.morph/templates/design-system.css +0 -226
- package/stacks/blazor-azure/.morph/templates/infra/.dockerignore.example +0 -89
- package/stacks/blazor-azure/.morph/templates/infra/Dockerfile.example +0 -82
- package/stacks/blazor-azure/.morph/templates/infra/README.md +0 -286
- package/stacks/blazor-azure/.morph/templates/infra/app-insights.bicep +0 -63
- package/stacks/blazor-azure/.morph/templates/infra/app-service.bicep +0 -164
- package/stacks/blazor-azure/.morph/templates/infra/azure-pipelines-deploy.yml +0 -480
- package/stacks/blazor-azure/.morph/templates/infra/container-app-env.bicep +0 -49
- package/stacks/blazor-azure/.morph/templates/infra/container-app.bicep +0 -156
- package/stacks/blazor-azure/.morph/templates/infra/deploy-checklist.md +0 -426
- package/stacks/blazor-azure/.morph/templates/infra/deploy.ps1 +0 -229
- package/stacks/blazor-azure/.morph/templates/infra/deploy.sh +0 -208
- package/stacks/blazor-azure/.morph/templates/infra/key-vault.bicep +0 -91
- package/stacks/blazor-azure/.morph/templates/infra/main.bicep +0 -189
- package/stacks/blazor-azure/.morph/templates/infra/parameters.dev.json +0 -29
- package/stacks/blazor-azure/.morph/templates/infra/parameters.prod.json +0 -29
- package/stacks/blazor-azure/.morph/templates/infra/parameters.staging.json +0 -29
- package/stacks/blazor-azure/.morph/templates/infra/sql-database.bicep +0 -103
- package/stacks/blazor-azure/.morph/templates/infra/storage.bicep +0 -106
- package/stacks/blazor-azure/.morph/templates/integrations/asaas-client.cs +0 -387
- package/stacks/blazor-azure/.morph/templates/integrations/asaas-webhook.cs +0 -351
- package/stacks/blazor-azure/.morph/templates/integrations/azure-identity-config.cs +0 -288
- package/stacks/blazor-azure/.morph/templates/integrations/clerk-config.cs +0 -258
- package/stacks/blazor-azure/.morph/templates/job.cs +0 -171
- package/stacks/blazor-azure/.morph/templates/migration.cs +0 -83
- package/stacks/blazor-azure/.morph/templates/proposal.md +0 -141
- package/stacks/blazor-azure/.morph/templates/recap.md +0 -94
- package/stacks/blazor-azure/.morph/templates/repository.cs +0 -141
- package/stacks/blazor-azure/.morph/templates/saas/subscription.cs +0 -347
- package/stacks/blazor-azure/.morph/templates/saas/tenant.cs +0 -338
- package/stacks/blazor-azure/.morph/templates/service.cs +0 -139
- package/stacks/blazor-azure/.morph/templates/simulation.md +0 -353
- package/stacks/blazor-azure/.morph/templates/spec.md +0 -149
- package/stacks/blazor-azure/.morph/templates/sprint-status.yaml +0 -68
- package/stacks/blazor-azure/.morph/templates/state.template.json +0 -222
- package/stacks/blazor-azure/.morph/templates/story.md +0 -143
- package/stacks/blazor-azure/.morph/templates/tasks.md +0 -257
- package/stacks/blazor-azure/.morph/templates/test.cs +0 -239
- package/stacks/blazor-azure/.morph/templates/ui-components.md +0 -362
- package/stacks/blazor-azure/.morph/templates/ui-design-system.md +0 -286
- package/stacks/blazor-azure/.morph/templates/ui-flows.md +0 -336
- package/stacks/blazor-azure/.morph/templates/ui-mockups.md +0 -133
- package/stacks/nextjs-supabase/.morph/docs/easypanel-setup.md +0 -169
- package/stacks/nextjs-supabase/.morph/docs/supabase-mcp-setup.md +0 -247
- package/stacks/nextjs-supabase/.morph/examples/crud-nextjs-supabase/README.md +0 -697
- package/stacks/nextjs-supabase/.morph/examples/crud-nextjs-supabase/spec.md +0 -85
- package/stacks/nextjs-supabase/.morph/examples/crud-nextjs-supabase/tasks.md +0 -86
- package/stacks/nextjs-supabase/.morph/examples/saas-nextjs-supabase/README.md +0 -498
- package/stacks/nextjs-supabase/.morph/examples/saas-nextjs-supabase/decisions.md +0 -121
- package/stacks/nextjs-supabase/.morph/examples/saas-nextjs-supabase/spec.md +0 -138
- package/stacks/nextjs-supabase/.morph/examples/saas-nextjs-supabase/tasks.md +0 -162
- package/stacks/nextjs-supabase/.morph/standards/easypanel-deploy.md +0 -191
- package/stacks/nextjs-supabase/.morph/standards/nextjs-patterns.md +0 -193
- package/stacks/nextjs-supabase/.morph/standards/supabase-auth.md +0 -171
- package/stacks/nextjs-supabase/.morph/standards/supabase-pgvector.md +0 -164
- package/stacks/nextjs-supabase/.morph/standards/supabase-rls.md +0 -179
- package/stacks/nextjs-supabase/.morph/standards/supabase-storage.md +0 -148
- package/stacks/nextjs-supabase/.morph/templates/contracts.cs +0 -173
- package/stacks/nextjs-supabase/.morph/templates/contracts.ts +0 -168
- package/stacks/nextjs-supabase/.morph/templates/decisions.md +0 -115
- package/stacks/nextjs-supabase/.morph/templates/dockerfile-api.dockerfile +0 -38
- package/stacks/nextjs-supabase/.morph/templates/dockerfile-web.dockerfile +0 -48
- package/stacks/nextjs-supabase/.morph/templates/proposal.md +0 -145
- package/stacks/nextjs-supabase/.morph/templates/recap.md +0 -134
- package/stacks/nextjs-supabase/.morph/templates/rls-policy.sql +0 -57
- package/stacks/nextjs-supabase/.morph/templates/spec.md +0 -231
- package/stacks/nextjs-supabase/.morph/templates/supabase-migration.sql +0 -100
- package/stacks/nextjs-supabase/.morph/templates/tasks.md +0 -257
- /package/src/lib/{design-system-generator.js → generators/design-system-generator.js} +0 -0
- /package/src/lib/{learning-system.js → learning/learning-system.js} +0 -0
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
# Troubleshooting - CLI Auto Context Detection
|
|
2
|
+
|
|
3
|
+
Common issues and solutions for MORPH-SPEC auto-detection.
|
|
4
|
+
|
|
5
|
+
## Claude Code Issues
|
|
6
|
+
|
|
7
|
+
### Issue: "Claude Code environment not detected"
|
|
8
|
+
|
|
9
|
+
**Cause**: Auto-detection requires Claude Code CLI to be installed and active.
|
|
10
|
+
|
|
11
|
+
**Solutions**:
|
|
12
|
+
|
|
13
|
+
1. **Use wizard mode** (recommended for first-time setup):
|
|
14
|
+
```bash
|
|
15
|
+
morph-spec init --wizard
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
2. **Install Claude Code** and retry:
|
|
19
|
+
- Download from https://claude.ai/claude-code
|
|
20
|
+
- Ensure `claude` command is in PATH
|
|
21
|
+
- Retry `morph-spec init`
|
|
22
|
+
|
|
23
|
+
3. **Skip auto-detection** and configure manually later:
|
|
24
|
+
```bash
|
|
25
|
+
morph-spec init --skip-detection
|
|
26
|
+
# Later: morph-spec update --wizard
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Issue: "LLM analysis timeout"
|
|
30
|
+
|
|
31
|
+
**Cause**: Analysis taking longer than 60 seconds (default timeout for interactive mode).
|
|
32
|
+
|
|
33
|
+
**Solutions**:
|
|
34
|
+
|
|
35
|
+
1. **Clean project before analysis**:
|
|
36
|
+
```bash
|
|
37
|
+
rm -rf node_modules dist build .next
|
|
38
|
+
morph-spec init
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
2. **Use wizard mode** (instant):
|
|
42
|
+
```bash
|
|
43
|
+
morph-spec init --wizard
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
3. **Check Claude Code performance**:
|
|
47
|
+
- Restart Claude Code
|
|
48
|
+
- Check system resources (CPU, memory)
|
|
49
|
+
|
|
50
|
+
## LLM Analysis Errors
|
|
51
|
+
|
|
52
|
+
### Issue: "Schema validation failed"
|
|
53
|
+
|
|
54
|
+
**Cause**: LLM returned JSON that doesn't match the expected schema.
|
|
55
|
+
|
|
56
|
+
**Diagnosis**:
|
|
57
|
+
```bash
|
|
58
|
+
# Enable debug mode to see LLM response
|
|
59
|
+
DEBUG=1 morph-spec init
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**Solutions**:
|
|
63
|
+
|
|
64
|
+
1. **Use wizard mode** to provide manual input:
|
|
65
|
+
```bash
|
|
66
|
+
morph-spec init --wizard
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
2. **Report issue** if recurring:
|
|
70
|
+
- Include project type in issue report
|
|
71
|
+
- Share anonymized `package.json` or `.csproj` structure
|
|
72
|
+
|
|
73
|
+
### Issue: "LLM response is not valid JSON"
|
|
74
|
+
|
|
75
|
+
**Cause**: LLM returned malformed JSON (rare).
|
|
76
|
+
|
|
77
|
+
**Solutions**:
|
|
78
|
+
|
|
79
|
+
1. **Retry** - may be a one-time error:
|
|
80
|
+
```bash
|
|
81
|
+
morph-spec init
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
2. **Use wizard mode**:
|
|
85
|
+
```bash
|
|
86
|
+
morph-spec init --wizard
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## File System Issues
|
|
90
|
+
|
|
91
|
+
### Issue: "Permission denied" when creating .morph/
|
|
92
|
+
|
|
93
|
+
**Cause**: Insufficient permissions in project directory.
|
|
94
|
+
|
|
95
|
+
**Solutions**:
|
|
96
|
+
|
|
97
|
+
1. **Run with correct permissions**:
|
|
98
|
+
```bash
|
|
99
|
+
sudo morph-spec init # Unix/Mac
|
|
100
|
+
# Or run as administrator on Windows
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
2. **Check directory ownership**:
|
|
104
|
+
```bash
|
|
105
|
+
ls -la . # Should show your user as owner
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Issue: Config files getting overwritten
|
|
109
|
+
|
|
110
|
+
**Cause**: Running `morph-spec update` without reviewing changes.
|
|
111
|
+
|
|
112
|
+
**Protection**: Auto-detection creates backups:
|
|
113
|
+
- `.morph/project.md.YYYY-MM-DDTHH-MM-SS.backup`
|
|
114
|
+
- `.morph/config/config.json.YYYY-MM-DDTHH-MM-SS.backup`
|
|
115
|
+
|
|
116
|
+
**Solutions**:
|
|
117
|
+
|
|
118
|
+
1. **Review diff before approving**:
|
|
119
|
+
- Auto-detection shows diff when updating
|
|
120
|
+
- Choose "Edit" to modify before saving
|
|
121
|
+
|
|
122
|
+
2. **Restore from backup** if needed:
|
|
123
|
+
```bash
|
|
124
|
+
cp .morph/project.md.2026-02-14T10-30-00.backup .morph/project.md
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
3. **Skip auto-detection** during update:
|
|
128
|
+
```bash
|
|
129
|
+
morph-spec update --skip-detection
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Detection Accuracy Issues
|
|
133
|
+
|
|
134
|
+
### Issue: Wrong project type detected
|
|
135
|
+
|
|
136
|
+
**Example**: Monorepo detected as `nextjs` instead of `monorepo`.
|
|
137
|
+
|
|
138
|
+
**Solutions**:
|
|
139
|
+
|
|
140
|
+
1. **Use wizard mode** for accurate manual input:
|
|
141
|
+
```bash
|
|
142
|
+
morph-spec init --wizard
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
2. **Edit config after generation**:
|
|
146
|
+
- Choose "Edit" during review
|
|
147
|
+
- Manually correct `type` field in config.json
|
|
148
|
+
|
|
149
|
+
3. **Report detection issue**:
|
|
150
|
+
- Helps improve LLM prompt and examples
|
|
151
|
+
|
|
152
|
+
### Issue: Missing dependencies detected
|
|
153
|
+
|
|
154
|
+
**Cause**: Auto-detection only reads whitelisted files (package.json, .csproj).
|
|
155
|
+
|
|
156
|
+
**Solution**:
|
|
157
|
+
|
|
158
|
+
- This is by design (privacy/security)
|
|
159
|
+
- If critical dependency is missed, manually edit `.morph/project.md`
|
|
160
|
+
|
|
161
|
+
### Issue: Low confidence score (<70%)
|
|
162
|
+
|
|
163
|
+
**Cause**: Project structure is unclear or non-standard.
|
|
164
|
+
|
|
165
|
+
**Solutions**:
|
|
166
|
+
|
|
167
|
+
1. **Add README.md or CLAUDE.md** with project description
|
|
168
|
+
2. **Use wizard mode** for manual configuration
|
|
169
|
+
3. **Accept low confidence** - configs can be edited later
|
|
170
|
+
|
|
171
|
+
## Edge Case Handling
|
|
172
|
+
|
|
173
|
+
### Empty Project (no package.json or .csproj)
|
|
174
|
+
|
|
175
|
+
**Behavior**: Auto-fallback to wizard mode.
|
|
176
|
+
|
|
177
|
+
**Solution**: Answer 7 wizard questions to configure manually.
|
|
178
|
+
|
|
179
|
+
### Monorepo with Multiple Stacks
|
|
180
|
+
|
|
181
|
+
**Behavior**: Detects all stacks, sets `type: "monorepo"`.
|
|
182
|
+
|
|
183
|
+
**Example Output**:
|
|
184
|
+
```json
|
|
185
|
+
{
|
|
186
|
+
"type": "monorepo",
|
|
187
|
+
"stack": {
|
|
188
|
+
"frontend": { "tech": "Next.js", "version": "15" },
|
|
189
|
+
"backend": { "tech": ".NET", "version": "10" }
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### Project with No Database
|
|
195
|
+
|
|
196
|
+
**Behavior**: `stack.database` set to `null`.
|
|
197
|
+
|
|
198
|
+
**Warning**: May show "Database technology not detected" in warnings.
|
|
199
|
+
|
|
200
|
+
### Git Repo Without Remote
|
|
201
|
+
|
|
202
|
+
**Behavior**: `gitRemote` set to `null`.
|
|
203
|
+
|
|
204
|
+
**Not an error** - local repos are valid.
|
|
205
|
+
|
|
206
|
+
## Privacy & Security Concerns
|
|
207
|
+
|
|
208
|
+
### Question: What data is sent to LLM?
|
|
209
|
+
|
|
210
|
+
**Answer**: Only sanitized, whitelisted data:
|
|
211
|
+
- package.json (dependencies only, secrets removed)
|
|
212
|
+
- .csproj filenames (not contents)
|
|
213
|
+
- First 500 chars of README.md and CLAUDE.md
|
|
214
|
+
- Directory structure (folder names only)
|
|
215
|
+
- Infrastructure file counts (not contents)
|
|
216
|
+
|
|
217
|
+
**Never sent**:
|
|
218
|
+
- `.env` files
|
|
219
|
+
- Secrets/passwords/API keys
|
|
220
|
+
- File contents (except whitelisted files)
|
|
221
|
+
- node_modules/
|
|
222
|
+
- Source code
|
|
223
|
+
|
|
224
|
+
### Question: Is data sent to Anthropic servers?
|
|
225
|
+
|
|
226
|
+
**Answer**: No. LLM analysis runs locally in Claude Code. No external API calls.
|
|
227
|
+
|
|
228
|
+
### Question: What if sensitive data is detected?
|
|
229
|
+
|
|
230
|
+
**Behavior**: Secret redaction removes:
|
|
231
|
+
- API keys (10+ patterns detected)
|
|
232
|
+
- Passwords in connection strings
|
|
233
|
+
- Bearer tokens
|
|
234
|
+
- Private keys (PEM format)
|
|
235
|
+
- GitHub/NPM tokens
|
|
236
|
+
|
|
237
|
+
**Verification**: Review sanitized context in debug mode:
|
|
238
|
+
```bash
|
|
239
|
+
DEBUG=1 morph-spec init
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
## Getting Help
|
|
243
|
+
|
|
244
|
+
### Enable Debug Mode
|
|
245
|
+
|
|
246
|
+
```bash
|
|
247
|
+
DEBUG=1 morph-spec init
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
Shows:
|
|
251
|
+
- Full LLM prompts
|
|
252
|
+
- Raw LLM responses
|
|
253
|
+
- Schema validation errors
|
|
254
|
+
- File read operations
|
|
255
|
+
|
|
256
|
+
### Report Issues
|
|
257
|
+
|
|
258
|
+
GitHub: https://github.com/polymorphism-tech/morph-spec-framework/issues
|
|
259
|
+
|
|
260
|
+
Include:
|
|
261
|
+
- MORPH-SPEC version (`morph-spec --version`)
|
|
262
|
+
- Claude Code version
|
|
263
|
+
- Project type (Next.js, Blazor, etc.)
|
|
264
|
+
- Error message (with DEBUG=1 output if possible)
|
|
265
|
+
- Anonymized `package.json` or `.csproj` structure
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
**Need more help?** Check the [CLI Auto Detection Guide](./cli-auto-detection.md).
|