@polymorphism-tech/morph-spec 3.2.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 +352 -7
- package/README.md +1 -14
- package/bin/detect-agents.js +1 -1
- package/bin/morph-spec.js +122 -34
- package/bin/validate.js +1 -1
- package/docs/getting-started.md +0 -5
- 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 +1 -1
- package/src/commands/agents/index.js +4 -0
- package/src/commands/{spawn-team.js → agents/spawn-team.js} +172 -172
- 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} +4 -4
- package/src/commands/generation/index.js +5 -0
- package/src/commands/index.js +16 -0
- package/src/commands/{capture-pattern.js → learning/capture-pattern.js} +121 -121
- package/src/commands/learning/index.js +5 -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 -295
- package/src/commands/{sync.js → project/sync.js} +167 -167
- package/src/commands/{update.js → project/update.js} +240 -240
- package/src/commands/{advance-phase.js → state/advance-phase.js} +416 -357
- package/src/commands/{approve.js → state/approve.js} +221 -221
- 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/{session-summary.js → utils/session-summary.js} +291 -291
- package/src/commands/{troubleshoot.js → utils/troubleshoot.js} +222 -222
- 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/{lib → core/state}/phase-state-machine.js +214 -214
- package/src/{lib → core/state}/state-manager.js +572 -534
- package/src/core/templates/index.js +9 -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/lib/{complexity-analyzer.js → analysis/complexity-analyzer.js} +441 -441
- package/src/lib/analysis/index.js +7 -0
- package/src/lib/{checkpoint-hooks.js → checkpoints/checkpoint-hooks.js} +258 -258
- 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/{metadata-extractor.js → generators/metadata-extractor.js} +387 -380
- 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 -351
- 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/ui/wizard-questions.js +0 -2
- 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/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/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/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 -349
- 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/src/llm/schema-validator.js +0 -121
- package/src/sanitizer/.gitkeep +0 -0
- package/src/scanner/.gitkeep +0 -0
- package/src/types/index.js +0 -477
- package/src/ui/.gitkeep +0 -0
- package/src/writer/.gitkeep +0 -0
- 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/commands/{search-patterns.js → learning/search-patterns.js} +0 -0
- /package/src/commands/{migrate-state.js → utils/migrate-state.js} +0 -0
- /package/src/commands/{upgrade.js → utils/upgrade.js} +0 -0
- /package/src/{lib → core/templates}/template-data-sources.js +0 -0
- /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
- /package/{src/generator → stacks/blazor-azure/.morph/templates}/.gitkeep +0 -0
- /package/{src/llm → stacks/nextjs-supabase/.morph/templates}/.gitkeep +0 -0
package/src/types/index.js
DELETED
|
@@ -1,477 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Type definitions and contracts for CLI Auto Context Detection
|
|
3
|
-
* @module morph-spec/cli-auto-context-detection
|
|
4
|
-
*
|
|
5
|
-
* This file defines the interfaces and types used throughout the CLI Auto Context Detection feature.
|
|
6
|
-
* Since MORPH-SPEC uses JavaScript (ESM), we use JSDoc for type annotations instead of TypeScript.
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
// ============================================================================
|
|
10
|
-
// PROJECT CONTEXT (Scanner Output)
|
|
11
|
-
// ============================================================================
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Parsed package.json content
|
|
15
|
-
* @typedef {Object} PackageJson
|
|
16
|
-
* @property {string} name - Package name
|
|
17
|
-
* @property {string} [version] - Package version
|
|
18
|
-
* @property {string} [description] - Package description
|
|
19
|
-
* @property {Object.<string, string>} [dependencies] - Production dependencies
|
|
20
|
-
* @property {Object.<string, string>} [devDependencies] - Development dependencies
|
|
21
|
-
* @property {Object.<string, string>} [scripts] - NPM scripts
|
|
22
|
-
* @property {string} [type] - Module type (commonjs | module)
|
|
23
|
-
* @property {Object} [engines] - Node.js engine requirements
|
|
24
|
-
*/
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Directory structure analysis
|
|
28
|
-
* @typedef {Object} DirectoryStructure
|
|
29
|
-
* @property {boolean} hasSrc - Has src/ directory
|
|
30
|
-
* @property {boolean} hasBackend - Has backend/ or server/ directory
|
|
31
|
-
* @property {boolean} hasFrontend - Has frontend/ or client/ directory
|
|
32
|
-
* @property {boolean} hasTests - Has test/ or tests/ directory
|
|
33
|
-
* @property {string[]} topLevelDirs - List of top-level directories
|
|
34
|
-
* @property {string} pattern - Detected pattern (monorepo | single-project | multi-stack)
|
|
35
|
-
*/
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Infrastructure files detected
|
|
39
|
-
* @typedef {Object} InfraFiles
|
|
40
|
-
* @property {string[]} dockerfiles - Paths to Dockerfiles
|
|
41
|
-
* @property {string[]} dockerComposeFiles - Paths to docker-compose.yml files
|
|
42
|
-
* @property {string[]} bicepFiles - Paths to *.bicep files
|
|
43
|
-
* @property {string[]} pipelines - Paths to CI/CD pipeline configs
|
|
44
|
-
* @property {boolean} hasAzure - Has Azure-related files
|
|
45
|
-
* @property {boolean} hasDocker - Has Docker-related files
|
|
46
|
-
* @property {boolean} hasDevOps - Has CI/CD configs
|
|
47
|
-
*/
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Complete project context collected by scanner
|
|
51
|
-
* @typedef {Object} ProjectContext
|
|
52
|
-
* @property {string} cwd - Current working directory (absolute path)
|
|
53
|
-
* @property {PackageJson|null} packageJson - Parsed package.json (if exists)
|
|
54
|
-
* @property {string[]} csprojFiles - Paths to *.csproj files
|
|
55
|
-
* @property {string|null} solutionFile - Path to *.sln file (if exists)
|
|
56
|
-
* @property {string|null} readme - Content of README.md (if exists)
|
|
57
|
-
* @property {string|null} claudeMd - Content of CLAUDE.md (if exists)
|
|
58
|
-
* @property {DirectoryStructure} structure - Detected directory structure
|
|
59
|
-
* @property {InfraFiles} infraFiles - Detected infrastructure files
|
|
60
|
-
* @property {string|null} gitRemote - Git remote URL (if in git repo)
|
|
61
|
-
* @property {Date} scannedAt - Timestamp when scan was performed
|
|
62
|
-
*/
|
|
63
|
-
|
|
64
|
-
// ============================================================================
|
|
65
|
-
// PROJECT CONFIG (LLM Output)
|
|
66
|
-
// ============================================================================
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Technology specification
|
|
70
|
-
* @typedef {Object} TechSpec
|
|
71
|
-
* @property {string} tech - Technology name (e.g., "Next.js", ".NET", "PostgreSQL")
|
|
72
|
-
* @property {string} version - Version (e.g., "15", "10", "16")
|
|
73
|
-
* @property {string} [details] - Additional details (e.g., "Server Components", "Minimal API")
|
|
74
|
-
*/
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Technology stack information
|
|
78
|
-
* @typedef {Object} StackInfo
|
|
79
|
-
* @property {TechSpec|null} frontend - Frontend technology (null if backend-only)
|
|
80
|
-
* @property {TechSpec} backend - Backend technology
|
|
81
|
-
* @property {TechSpec|null} database - Database technology (null if no persistence)
|
|
82
|
-
* @property {string|null} hosting - Hosting platform (e.g., "Azure", "Vercel", "Docker")
|
|
83
|
-
*/
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* Complete project configuration detected by LLM
|
|
87
|
-
* @typedef {Object} ProjectConfig
|
|
88
|
-
* @property {string} name - Project name (from package.json or repo)
|
|
89
|
-
* @property {string} description - Project description (1-2 sentences)
|
|
90
|
-
* @property {string} type - Project type (monorepo | blazor-server | nextjs | cli-tool | dotnet-api | other)
|
|
91
|
-
* @property {StackInfo} stack - Technology stack
|
|
92
|
-
* @property {string} architecture - Architecture pattern (clean-architecture | monolith | microservices | layered | other)
|
|
93
|
-
* @property {string} projectStructure - Description of folder structure
|
|
94
|
-
* @property {string} conventions - Detected code conventions (e.g., "ESM modules", "PascalCase for classes")
|
|
95
|
-
* @property {string|null} repository - Git repository URL
|
|
96
|
-
* @property {boolean} hasAzure - Uses Azure infrastructure
|
|
97
|
-
* @property {boolean} hasDocker - Uses Docker containerization
|
|
98
|
-
* @property {boolean} hasDevOps - Uses CI/CD pipelines
|
|
99
|
-
* @property {number} confidence - LLM confidence score (0-100)
|
|
100
|
-
* @property {string[]} warnings - Warnings or uncertainties detected
|
|
101
|
-
*/
|
|
102
|
-
|
|
103
|
-
// ============================================================================
|
|
104
|
-
// SANITIZED CONTEXT (Input to LLM)
|
|
105
|
-
// ============================================================================
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* Sanitized project context (safe to send to LLM)
|
|
109
|
-
* @typedef {Object} SanitizedContext
|
|
110
|
-
* @property {Object} packageJson - Sanitized package.json (secrets removed)
|
|
111
|
-
* @property {string[]} csprojFilenames - Filenames only (not full content)
|
|
112
|
-
* @property {boolean} hasSolution - Whether *.sln exists (no content)
|
|
113
|
-
* @property {string|null} readmeSummary - First 500 chars of README.md
|
|
114
|
-
* @property {string|null} claudeMdSummary - First 500 chars of CLAUDE.md
|
|
115
|
-
* @property {DirectoryStructure} structure - Directory structure (safe)
|
|
116
|
-
* @property {Object} infraSummary - Infrastructure summary (no secrets)
|
|
117
|
-
* @property {string|null} gitRemoteDomain - Git remote domain only (e.g., "github.com")
|
|
118
|
-
* @property {number} totalFiles - Total file count (for context)
|
|
119
|
-
*/
|
|
120
|
-
|
|
121
|
-
// ============================================================================
|
|
122
|
-
// GENERATED CONFIGS
|
|
123
|
-
// ============================================================================
|
|
124
|
-
|
|
125
|
-
/**
|
|
126
|
-
* Generated configuration files
|
|
127
|
-
* @typedef {Object} GeneratedConfigs
|
|
128
|
-
* @property {string} projectMd - Rendered project.md content
|
|
129
|
-
* @property {string} configJson - Rendered config.json content (as string)
|
|
130
|
-
* @property {Object} configObject - Parsed config.json (as object)
|
|
131
|
-
*/
|
|
132
|
-
|
|
133
|
-
// ============================================================================
|
|
134
|
-
// USER REVIEW
|
|
135
|
-
// ============================================================================
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* User approval response
|
|
139
|
-
* @typedef {Object} ApprovalResponse
|
|
140
|
-
* @property {'approve'|'edit'|'cancel'} action - User action
|
|
141
|
-
* @property {GeneratedConfigs} [editedConfigs] - Edited configs (if action === 'edit')
|
|
142
|
-
* @property {string} [cancelReason] - Reason for cancellation (if action === 'cancel')
|
|
143
|
-
*/
|
|
144
|
-
|
|
145
|
-
// ============================================================================
|
|
146
|
-
// ERRORS
|
|
147
|
-
// ============================================================================
|
|
148
|
-
|
|
149
|
-
/**
|
|
150
|
-
* LLM Analysis Error
|
|
151
|
-
* @typedef {Error} LLMAnalysisError
|
|
152
|
-
* @property {string} name - "LLMAnalysisError"
|
|
153
|
-
* @property {string} message - Error message
|
|
154
|
-
* @property {number} statusCode - HTTP status code (if API error)
|
|
155
|
-
* @property {number} attempts - Number of retry attempts made
|
|
156
|
-
* @property {Error} [originalError] - Original error from API
|
|
157
|
-
*/
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* Validation Error
|
|
161
|
-
* @typedef {Error} ValidationError
|
|
162
|
-
* @property {string} name - "ValidationError"
|
|
163
|
-
* @property {string} message - Error message
|
|
164
|
-
* @property {string} field - Field that failed validation
|
|
165
|
-
* @property {any} value - Invalid value
|
|
166
|
-
* @property {Object} [schema] - JSON schema that was violated
|
|
167
|
-
*/
|
|
168
|
-
|
|
169
|
-
// ============================================================================
|
|
170
|
-
// SERVICE INTERFACES
|
|
171
|
-
// ============================================================================
|
|
172
|
-
|
|
173
|
-
/**
|
|
174
|
-
* Project Scanner Interface
|
|
175
|
-
* @interface IProjectScanner
|
|
176
|
-
*/
|
|
177
|
-
export class IProjectScanner {
|
|
178
|
-
/**
|
|
179
|
-
* Scan the project directory and collect context
|
|
180
|
-
* @param {string} cwd - Current working directory
|
|
181
|
-
* @returns {Promise<ProjectContext>}
|
|
182
|
-
*/
|
|
183
|
-
async scan(cwd) {
|
|
184
|
-
throw new Error('Not implemented');
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
/**
|
|
188
|
-
* Read and parse package.json
|
|
189
|
-
* @param {string} cwd - Current working directory
|
|
190
|
-
* @returns {Promise<PackageJson|null>}
|
|
191
|
-
*/
|
|
192
|
-
async readPackageJson(cwd) {
|
|
193
|
-
throw new Error('Not implemented');
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
/**
|
|
197
|
-
* Find all .csproj files recursively
|
|
198
|
-
* @param {string} cwd - Current working directory
|
|
199
|
-
* @returns {Promise<string[]>}
|
|
200
|
-
*/
|
|
201
|
-
async findCsprojFiles(cwd) {
|
|
202
|
-
throw new Error('Not implemented');
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
/**
|
|
206
|
-
* Detect directory structure
|
|
207
|
-
* @param {string} cwd - Current working directory
|
|
208
|
-
* @returns {Promise<DirectoryStructure>}
|
|
209
|
-
*/
|
|
210
|
-
async detectDirectoryStructure(cwd) {
|
|
211
|
-
throw new Error('Not implemented');
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
/**
|
|
215
|
-
* Find infrastructure files (Docker, Bicep, pipelines)
|
|
216
|
-
* @param {string} cwd - Current working directory
|
|
217
|
-
* @returns {Promise<InfraFiles>}
|
|
218
|
-
*/
|
|
219
|
-
async findInfraFiles(cwd) {
|
|
220
|
-
throw new Error('Not implemented');
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
/**
|
|
224
|
-
* Get git remote URL
|
|
225
|
-
* @param {string} cwd - Current working directory
|
|
226
|
-
* @returns {Promise<string|null>}
|
|
227
|
-
*/
|
|
228
|
-
async getGitRemote(cwd) {
|
|
229
|
-
throw new Error('Not implemented');
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
/**
|
|
234
|
-
* Context Sanitizer Interface
|
|
235
|
-
* @interface IContextSanitizer
|
|
236
|
-
*/
|
|
237
|
-
export class IContextSanitizer {
|
|
238
|
-
/**
|
|
239
|
-
* Sanitize project context (remove secrets, truncate files)
|
|
240
|
-
* @param {ProjectContext} context - Raw project context
|
|
241
|
-
* @returns {SanitizedContext}
|
|
242
|
-
*/
|
|
243
|
-
sanitize(context) {
|
|
244
|
-
throw new Error('Not implemented');
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
/**
|
|
248
|
-
* Detect and redact secrets from text
|
|
249
|
-
* @param {string} text - Text to sanitize
|
|
250
|
-
* @returns {string} Sanitized text
|
|
251
|
-
*/
|
|
252
|
-
redactSecrets(text) {
|
|
253
|
-
throw new Error('Not implemented');
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
/**
|
|
257
|
-
* Check if file should be excluded from LLM analysis
|
|
258
|
-
* @param {string} filepath - File path
|
|
259
|
-
* @returns {boolean} True if file should be excluded
|
|
260
|
-
*/
|
|
261
|
-
shouldExcludeFile(filepath) {
|
|
262
|
-
throw new Error('Not implemented');
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
/**
|
|
267
|
-
* LLM Analyzer Interface
|
|
268
|
-
* @interface ILLMAnalyzer
|
|
269
|
-
*/
|
|
270
|
-
export class ILLMAnalyzer {
|
|
271
|
-
/**
|
|
272
|
-
* Analyze project context using Claude Code's LLM
|
|
273
|
-
* @param {SanitizedContext} context - Sanitized project context
|
|
274
|
-
* @param {Object} [options] - Analysis options
|
|
275
|
-
* @param {number} [options.timeout] - Timeout in ms (default: 30000)
|
|
276
|
-
* @returns {Promise<ProjectConfig>}
|
|
277
|
-
* @throws {LLMAnalysisError} If analysis fails
|
|
278
|
-
*/
|
|
279
|
-
async analyze(context, options) {
|
|
280
|
-
throw new Error('Not implemented');
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
/**
|
|
284
|
-
* Build structured prompt for LLM
|
|
285
|
-
* @param {SanitizedContext} context - Sanitized context
|
|
286
|
-
* @returns {string} Prompt text
|
|
287
|
-
*/
|
|
288
|
-
buildPrompt(context) {
|
|
289
|
-
throw new Error('Not implemented');
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
/**
|
|
293
|
-
* Invoke Claude Code's LLM (via Task tool or internal API)
|
|
294
|
-
* @param {string} prompt - Prompt text
|
|
295
|
-
* @param {Object} options - Invocation options
|
|
296
|
-
* @returns {Promise<string>} JSON response from LLM
|
|
297
|
-
* @throws {LLMAnalysisError}
|
|
298
|
-
*/
|
|
299
|
-
async invokeLLM(prompt, options) {
|
|
300
|
-
throw new Error('Not implemented');
|
|
301
|
-
}
|
|
302
|
-
|
|
303
|
-
/**
|
|
304
|
-
* Parse and validate LLM JSON response
|
|
305
|
-
* @param {string} response - Raw LLM response
|
|
306
|
-
* @returns {ProjectConfig}
|
|
307
|
-
* @throws {ValidationError} If response doesn't match schema
|
|
308
|
-
*/
|
|
309
|
-
parseJsonResponse(response) {
|
|
310
|
-
throw new Error('Not implemented');
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
/**
|
|
315
|
-
* Config Generator Interface
|
|
316
|
-
* @interface IConfigGenerator
|
|
317
|
-
*/
|
|
318
|
-
export class IConfigGenerator {
|
|
319
|
-
/**
|
|
320
|
-
* Generate configuration files from project config
|
|
321
|
-
* @param {ProjectConfig} projectConfig - Detected project config
|
|
322
|
-
* @returns {Promise<GeneratedConfigs>}
|
|
323
|
-
*/
|
|
324
|
-
async generate(projectConfig) {
|
|
325
|
-
throw new Error('Not implemented');
|
|
326
|
-
}
|
|
327
|
-
|
|
328
|
-
/**
|
|
329
|
-
* Render project.md template
|
|
330
|
-
* @param {ProjectConfig} config - Project config
|
|
331
|
-
* @returns {string} Rendered markdown
|
|
332
|
-
*/
|
|
333
|
-
renderProjectMd(config) {
|
|
334
|
-
throw new Error('Not implemented');
|
|
335
|
-
}
|
|
336
|
-
|
|
337
|
-
/**
|
|
338
|
-
* Render config.json template
|
|
339
|
-
* @param {ProjectConfig} config - Project config
|
|
340
|
-
* @returns {string} Rendered JSON string
|
|
341
|
-
*/
|
|
342
|
-
renderConfigJson(config) {
|
|
343
|
-
throw new Error('Not implemented');
|
|
344
|
-
}
|
|
345
|
-
|
|
346
|
-
/**
|
|
347
|
-
* Validate config.json against schema
|
|
348
|
-
* @param {string} configJson - JSON string
|
|
349
|
-
* @returns {boolean} True if valid
|
|
350
|
-
* @throws {ValidationError} If validation fails
|
|
351
|
-
*/
|
|
352
|
-
validateConfigJson(configJson) {
|
|
353
|
-
throw new Error('Not implemented');
|
|
354
|
-
}
|
|
355
|
-
|
|
356
|
-
/**
|
|
357
|
-
* Backup existing configuration files
|
|
358
|
-
* @param {string} cwd - Current working directory
|
|
359
|
-
* @returns {Promise<void>}
|
|
360
|
-
*/
|
|
361
|
-
async backupExisting(cwd) {
|
|
362
|
-
throw new Error('Not implemented');
|
|
363
|
-
}
|
|
364
|
-
}
|
|
365
|
-
|
|
366
|
-
/**
|
|
367
|
-
* User Review Interface
|
|
368
|
-
* @interface IUserReview
|
|
369
|
-
*/
|
|
370
|
-
export class IUserReview {
|
|
371
|
-
/**
|
|
372
|
-
* Prompt user for approval of generated configs
|
|
373
|
-
* @param {GeneratedConfigs} configs - Generated configs
|
|
374
|
-
* @param {ProjectConfig} projectConfig - Detected project config
|
|
375
|
-
* @returns {Promise<ApprovalResponse>}
|
|
376
|
-
*/
|
|
377
|
-
async promptForApproval(configs, projectConfig) {
|
|
378
|
-
throw new Error('Not implemented');
|
|
379
|
-
}
|
|
380
|
-
|
|
381
|
-
/**
|
|
382
|
-
* Display diff between current and generated configs
|
|
383
|
-
* @param {string} current - Current config content
|
|
384
|
-
* @param {string} generated - Generated config content
|
|
385
|
-
* @returns {void}
|
|
386
|
-
*/
|
|
387
|
-
displayDiff(current, generated) {
|
|
388
|
-
throw new Error('Not implemented');
|
|
389
|
-
}
|
|
390
|
-
|
|
391
|
-
/**
|
|
392
|
-
* Open configs in editor for manual editing
|
|
393
|
-
* @param {GeneratedConfigs} configs - Configs to edit
|
|
394
|
-
* @returns {Promise<GeneratedConfigs>} Edited configs
|
|
395
|
-
*/
|
|
396
|
-
async openInEditor(configs) {
|
|
397
|
-
throw new Error('Not implemented');
|
|
398
|
-
}
|
|
399
|
-
}
|
|
400
|
-
|
|
401
|
-
/**
|
|
402
|
-
* File Writer Interface
|
|
403
|
-
* @interface IFileWriter
|
|
404
|
-
*/
|
|
405
|
-
export class IFileWriter {
|
|
406
|
-
/**
|
|
407
|
-
* Save generated configs to filesystem
|
|
408
|
-
* @param {string} cwd - Current working directory
|
|
409
|
-
* @param {GeneratedConfigs} configs - Configs to save
|
|
410
|
-
* @returns {Promise<void>}
|
|
411
|
-
*/
|
|
412
|
-
async save(cwd, configs) {
|
|
413
|
-
throw new Error('Not implemented');
|
|
414
|
-
}
|
|
415
|
-
|
|
416
|
-
/**
|
|
417
|
-
* Write project.md file
|
|
418
|
-
* @param {string} filepath - File path
|
|
419
|
-
* @param {string} content - File content
|
|
420
|
-
* @returns {Promise<void>}
|
|
421
|
-
*/
|
|
422
|
-
async writeProjectMd(filepath, content) {
|
|
423
|
-
throw new Error('Not implemented');
|
|
424
|
-
}
|
|
425
|
-
|
|
426
|
-
/**
|
|
427
|
-
* Write config.json file
|
|
428
|
-
* @param {string} filepath - File path
|
|
429
|
-
* @param {string} content - File content (JSON string)
|
|
430
|
-
* @returns {Promise<void>}
|
|
431
|
-
*/
|
|
432
|
-
async writeConfigJson(filepath, content) {
|
|
433
|
-
throw new Error('Not implemented');
|
|
434
|
-
}
|
|
435
|
-
}
|
|
436
|
-
|
|
437
|
-
// ============================================================================
|
|
438
|
-
// ORCHESTRATOR (Main Flow)
|
|
439
|
-
// ============================================================================
|
|
440
|
-
|
|
441
|
-
/**
|
|
442
|
-
* CLI Auto Context Detection Orchestrator
|
|
443
|
-
* @interface IAutoContextOrchestrator
|
|
444
|
-
*/
|
|
445
|
-
export class IAutoContextOrchestrator {
|
|
446
|
-
/**
|
|
447
|
-
* Execute the complete auto-detection flow
|
|
448
|
-
* @param {string} cwd - Current working directory
|
|
449
|
-
* @param {Object} [options] - Orchestration options
|
|
450
|
-
* @param {boolean} [options.skipReview] - Skip user review (auto-approve)
|
|
451
|
-
* @param {boolean} [options.fallbackOnError] - Fallback to wizard on LLM error
|
|
452
|
-
* @returns {Promise<{success: boolean, configs: GeneratedConfigs|null}>}
|
|
453
|
-
*/
|
|
454
|
-
async execute(cwd, options) {
|
|
455
|
-
throw new Error('Not implemented');
|
|
456
|
-
}
|
|
457
|
-
}
|
|
458
|
-
|
|
459
|
-
// ============================================================================
|
|
460
|
-
// EXPORTS
|
|
461
|
-
// ============================================================================
|
|
462
|
-
|
|
463
|
-
export {
|
|
464
|
-
// Types
|
|
465
|
-
PackageJson,
|
|
466
|
-
DirectoryStructure,
|
|
467
|
-
InfraFiles,
|
|
468
|
-
ProjectContext,
|
|
469
|
-
TechSpec,
|
|
470
|
-
StackInfo,
|
|
471
|
-
ProjectConfig,
|
|
472
|
-
SanitizedContext,
|
|
473
|
-
GeneratedConfigs,
|
|
474
|
-
ApprovalResponse,
|
|
475
|
-
LLMAnalysisError,
|
|
476
|
-
ValidationError,
|
|
477
|
-
};
|
package/src/ui/.gitkeep
DELETED
|
File without changes
|
package/src/writer/.gitkeep
DELETED
|
File without changes
|