@polymorphism-tech/morph-spec 3.2.0 → 4.3.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/README.md +1 -14
- package/bin/detect-agents.js +1 -1
- package/bin/morph-spec.js +403 -40
- package/bin/validate.js +5 -5
- package/docs/getting-started.md +0 -5
- package/docs/next-generation/AGENTS.md +521 -0
- package/docs/next-generation/ANALYSIS.md +555 -0
- package/docs/next-generation/ARCHITECTURE.md +436 -0
- package/docs/next-generation/CONTEXT-OPTIMIZATION.md +267 -0
- package/docs/next-generation/EXECUTION-FLOW.md +274 -0
- package/docs/next-generation/FEATURES.md +688 -0
- package/docs/next-generation/META-PROMPTS.md +235 -0
- package/docs/next-generation/MIGRATION-GUIDE.md +253 -0
- package/docs/next-generation/README.md +231 -0
- package/docs/next-generation/ROADMAP.md +801 -0
- package/docs/next-generation/THREAD-MANAGEMENT.md +240 -0
- package/docs/validation-checklist.md +0 -1
- package/package.json +5 -5
- package/src/commands/agents/agents-fuse.js +96 -0
- package/src/commands/agents/index.js +4 -0
- package/src/commands/agents/micro-agent.js +112 -0
- package/src/commands/{spawn-team.js → agents/spawn-team.js} +237 -172
- package/src/commands/agents/squad-template.js +146 -0
- package/src/commands/analytics/analytics.js +176 -0
- package/src/commands/context/context-prime.js +63 -0
- package/src/commands/context/core-four.js +54 -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} +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/mcp/mcp.js +102 -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} +221 -4
- 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} +101 -25
- 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 +174 -0
- package/src/commands/templates/template-show.js +131 -0
- package/src/commands/templates/template-validate.js +91 -0
- package/src/commands/threads/thread-template.js +103 -0
- package/src/commands/threads/threads.js +261 -0
- package/src/commands/trust/trust.js +205 -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/{orchestrator.js → core/orchestrator.js} +8 -8
- 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 +588 -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 +452 -0
- package/src/lib/agents/micro-agent-factory.js +161 -0
- package/src/lib/{complexity-analyzer.js → analysis/complexity-analyzer.js} +441 -441
- package/src/lib/analysis/index.js +7 -0
- package/src/lib/analytics/analytics-engine.js +345 -0
- package/src/lib/{checkpoint-hooks.js → checkpoints/checkpoint-hooks.js} +35 -0
- package/src/lib/checkpoints/index.js +7 -0
- package/src/lib/context/context-bundler.js +240 -0
- package/src/lib/context/context-optimizer.js +212 -0
- package/src/lib/context/context-tracker.js +273 -0
- package/src/lib/context/core-four-tracker.js +201 -0
- package/src/lib/context/mcp-optimizer.js +200 -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/execution/fusion-executor.js +304 -0
- package/src/lib/execution/parallel-executor.js +270 -0
- 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/hooks/hook-executor.js +169 -0
- package/src/lib/hooks/stop-hook-executor.js +286 -0
- package/src/lib/hops/hop-composer.js +221 -0
- 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/threads/thread-coordinator.js +238 -0
- package/src/lib/threads/thread-manager.js +317 -0
- package/src/lib/tracking/artifact-trail.js +202 -0
- 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/trust/trust-manager.js +269 -0
- package/src/lib/validators/{architecture-validator.js → architecture/architecture-validator.js} +8 -8
- package/src/lib/validators/architecture/index.js +7 -0
- 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-validator.js → content/content-validator.js} +351 -351
- package/src/lib/validators/content/index.js +7 -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/packages/index.js +7 -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/{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/.morph/config/agents.json +948 -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/.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/CLAUDE.md +0 -648
- 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/docs/llm-interaction-config.md +0 -735
- 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/commands/migrate-state.js +0 -158
- package/src/commands/upgrade.js +0 -346
- 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/commands/morph-apply.md +0 -221
- package/stacks/blazor-azure/.claude/commands/morph-archive.md +0 -79
- package/stacks/blazor-azure/.claude/commands/morph-deploy.md +0 -529
- package/stacks/blazor-azure/.claude/commands/morph-infra.md +0 -209
- package/stacks/blazor-azure/.claude/commands/morph-preflight.md +0 -227
- package/stacks/blazor-azure/.claude/commands/morph-proposal.md +0 -122
- package/stacks/blazor-azure/.claude/commands/morph-status.md +0 -86
- package/stacks/blazor-azure/.claude/commands/morph-troubleshoot.md +0 -122
- package/stacks/blazor-azure/.claude/settings.local.json +0 -15
- package/stacks/blazor-azure/.claude/skills/level-0-meta/README.md +0 -7
- package/stacks/blazor-azure/.claude/skills/level-0-meta/code-review.md +0 -226
- package/stacks/blazor-azure/.claude/skills/level-0-meta/morph-checklist.md +0 -117
- package/stacks/blazor-azure/.claude/skills/level-0-meta/simulation-checklist.md +0 -77
- package/stacks/blazor-azure/.claude/skills/level-1-workflows/README.md +0 -7
- package/stacks/blazor-azure/.claude/skills/level-1-workflows/morph-replicate.md +0 -213
- package/stacks/blazor-azure/.claude/skills/level-1-workflows/phase-clarify.md +0 -131
- package/stacks/blazor-azure/.claude/skills/level-1-workflows/phase-design.md +0 -213
- package/stacks/blazor-azure/.claude/skills/level-1-workflows/phase-setup.md +0 -106
- package/stacks/blazor-azure/.claude/skills/level-1-workflows/phase-tasks.md +0 -164
- package/stacks/blazor-azure/.claude/skills/level-1-workflows/phase-uiux.md +0 -169
- package/stacks/blazor-azure/.claude/skills/level-2-domains/README.md +0 -14
- package/stacks/blazor-azure/.claude/skills/level-2-domains/ai-agents/ai-system-architect.md +0 -192
- package/stacks/blazor-azure/.claude/skills/level-2-domains/architecture/po-pm-advisor.md +0 -197
- package/stacks/blazor-azure/.claude/skills/level-2-domains/architecture/prompt-engineer.md +0 -189
- package/stacks/blazor-azure/.claude/skills/level-2-domains/architecture/seo-growth-hacker.md +0 -320
- package/stacks/blazor-azure/.claude/skills/level-2-domains/architecture/standards-architect.md +0 -156
- package/stacks/blazor-azure/.claude/skills/level-2-domains/backend/dotnet-senior.md +0 -287
- package/stacks/blazor-azure/.claude/skills/level-2-domains/backend/ef-modeler.md +0 -113
- package/stacks/blazor-azure/.claude/skills/level-2-domains/backend/hangfire-orchestrator.md +0 -126
- package/stacks/blazor-azure/.claude/skills/level-2-domains/backend/ms-agent-expert.md +0 -109
- package/stacks/blazor-azure/.claude/skills/level-2-domains/frontend/blazor-builder.md +0 -210
- package/stacks/blazor-azure/.claude/skills/level-2-domains/frontend/nextjs-expert.md +0 -154
- package/stacks/blazor-azure/.claude/skills/level-2-domains/frontend/ui-ux-designer.md +0 -191
- package/stacks/blazor-azure/.claude/skills/level-2-domains/infrastructure/azure-architect.md +0 -142
- package/stacks/blazor-azure/.claude/skills/level-2-domains/infrastructure/azure-deploy-specialist.md +0 -699
- package/stacks/blazor-azure/.claude/skills/level-2-domains/infrastructure/bicep-architect.md +0 -126
- package/stacks/blazor-azure/.claude/skills/level-2-domains/infrastructure/container-specialist.md +0 -131
- package/stacks/blazor-azure/.claude/skills/level-2-domains/infrastructure/devops-engineer.md +0 -119
- package/stacks/blazor-azure/.claude/skills/level-2-domains/integrations/asaas-financial.md +0 -130
- package/stacks/blazor-azure/.claude/skills/level-2-domains/integrations/azure-identity.md +0 -142
- package/stacks/blazor-azure/.claude/skills/level-2-domains/integrations/clerk-auth.md +0 -108
- package/stacks/blazor-azure/.claude/skills/level-2-domains/integrations/resend-email.md +0 -119
- package/stacks/blazor-azure/.claude/skills/level-2-domains/quality/code-analyzer.md +0 -235
- package/stacks/blazor-azure/.claude/skills/level-2-domains/quality/testing-specialist.md +0 -126
- package/stacks/blazor-azure/.claude/skills/level-3-technologies/README.md +0 -7
- package/stacks/blazor-azure/.claude/skills/level-4-patterns/README.md +0 -7
- package/stacks/blazor-azure/.morph/archive/.gitkeep +0 -25
- 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/features/.gitkeep +0 -25
- 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/schemas/agent.schema.json +0 -296
- package/stacks/blazor-azure/.morph/schemas/tasks.schema.json +0 -220
- package/stacks/blazor-azure/.morph/specs/.gitkeep +0 -20
- 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/blazor-azure/.morph/test-infra/example.bicep +0 -59
- package/stacks/nextjs-supabase/.claude/skills/level-2-domains/backend/dotnet-supabase.md +0 -244
- package/stacks/nextjs-supabase/.claude/skills/level-2-domains/frontend/nextjs-supabase.md +0 -335
- package/stacks/nextjs-supabase/.claude/skills/level-2-domains/infrastructure/easypanel-deployer.md +0 -189
- package/stacks/nextjs-supabase/.claude/skills/level-2-domains/integrations/supabase-expert.md +0 -170
- 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/{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/lib/validators/{package-validator.js → packages/package-validator.js} +0 -0
- /package/src/lib/validators/{ui-contrast-validator.js → ui/ui-contrast-validator.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/README.md
CHANGED
|
@@ -488,18 +488,6 @@ MORPH-SPEC possui **30 agentes** organizados em 4 tiers hierárquicos com squads
|
|
|
488
488
|
|
|
489
489
|
---
|
|
490
490
|
|
|
491
|
-
## Exemplos
|
|
492
|
-
|
|
493
|
-
| Exemplo | Descrição |
|
|
494
|
-
|---------|-----------|
|
|
495
|
-
| [micro-saas](stacks/blazor-azure/.morph/examples/micro-saas/) | SaaS completo com Blazor + Asaas billing |
|
|
496
|
-
| [api-nextjs](stacks/blazor-azure/.morph/examples/api-nextjs/) | .NET API + Next.js frontend |
|
|
497
|
-
| [multi-agent](stacks/blazor-azure/.morph/examples/multi-agent/) | Sistema multi-agente com Microsoft Agent Framework |
|
|
498
|
-
|
|
499
|
-
Cada exemplo inclui: `README.md`, `spec.md`, `contracts.cs`, `tasks.md`, `decisions.md`
|
|
500
|
-
|
|
501
|
-
---
|
|
502
|
-
|
|
503
491
|
## Estrutura do Projeto
|
|
504
492
|
|
|
505
493
|
Após a instalação, seu projeto terá:
|
|
@@ -523,7 +511,6 @@ seu-projeto/
|
|
|
523
511
|
│ │ ├── infra/
|
|
524
512
|
│ │ ├── integrations/
|
|
525
513
|
│ │ └── saas/
|
|
526
|
-
│ ├── examples/ # Exemplos completos
|
|
527
514
|
│ ├── features/ # Features em desenvolvimento
|
|
528
515
|
│ └── archive/ # Features concluídas
|
|
529
516
|
└── .claude/
|
|
@@ -703,7 +690,7 @@ Todo código gerado usando MORPH-SPEC é **100% seu** para usar como quiser, inc
|
|
|
703
690
|
|
|
704
691
|
- [npm Package](https://www.npmjs.com/package/@polymorphism-tech/morph-spec)
|
|
705
692
|
- [Documentação](docs/)
|
|
706
|
-
- [
|
|
693
|
+
- [Wiki (Base de Conhecimento)](.wiki/) - 33 artigos sobre .NET, Azure, IA, SaaS e Claude Code
|
|
707
694
|
- [Polymorphism Tech](https://polymorphism.com.br)
|
|
708
695
|
|
|
709
696
|
---
|
package/bin/detect-agents.js
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
import { readFileSync } from 'fs';
|
|
16
16
|
import { join, dirname } from 'path';
|
|
17
17
|
import { fileURLToPath } from 'url';
|
|
18
|
-
import { resolveAgentsConfigPath } from '../src/lib/stack-resolver.js';
|
|
18
|
+
import { resolveAgentsConfigPath } from '../src/lib/stacks/stack-resolver.js';
|
|
19
19
|
|
|
20
20
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
21
21
|
const frameworkRoot = join(__dirname, '..');
|
package/bin/morph-spec.js
CHANGED
|
@@ -1,44 +1,106 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
1
|
+
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
import { program } from 'commander';
|
|
4
4
|
import chalk from 'chalk';
|
|
5
5
|
import { fileURLToPath } from 'url';
|
|
6
6
|
import { dirname, join } from 'path';
|
|
7
7
|
import { readFileSync } from 'fs';
|
|
8
|
-
import { setGlobalStack } from '../src/lib/stack-resolver.js';
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
8
|
+
import { setGlobalStack } from '../src/lib/stacks/stack-resolver.js';
|
|
9
|
+
|
|
10
|
+
// Project commands
|
|
11
|
+
import { initCommand } from '../src/commands/project/init.js';
|
|
12
|
+
import { updateCommand } from '../src/commands/project/update.js';
|
|
13
|
+
import { doctorCommand } from '../src/commands/project/doctor.js';
|
|
14
|
+
import { detectCommand } from '../src/commands/project/detect.js';
|
|
15
|
+
import { detectAgentsCommand } from '../src/commands/project/detect-agents.js';
|
|
16
|
+
import { detectWorkflowCommand } from '../src/commands/project/detect-workflow.js';
|
|
17
|
+
import { syncCommand } from '../src/commands/project/sync.js';
|
|
18
|
+
|
|
19
|
+
// Feature commands
|
|
20
|
+
import { createStoryCommand } from '../src/commands/feature/create-story.js';
|
|
21
|
+
import { shardSpecCommand } from '../src/commands/feature/shard-spec.js';
|
|
22
|
+
import { sprintStatusCommand } from '../src/commands/feature/sprint-status.js';
|
|
23
|
+
|
|
24
|
+
// State commands
|
|
25
|
+
import { stateCommand } from '../src/commands/state/state.js';
|
|
26
|
+
import { validatePhaseCommand } from '../src/commands/state/validate-phase.js';
|
|
27
|
+
import { rollbackPhaseCommand } from '../src/commands/state/rollback-phase.js';
|
|
28
|
+
import { advancePhaseCommand } from '../src/commands/state/advance-phase.js';
|
|
29
|
+
import { approveCommand, rejectCommand, approvalStatusCommand } from '../src/commands/state/approve.js';
|
|
30
|
+
|
|
31
|
+
// Task commands
|
|
32
|
+
import { taskDoneCommand, taskStartCommand, taskNextCommand } from '../src/commands/tasks/task.js';
|
|
33
|
+
|
|
34
|
+
// Generation commands
|
|
35
|
+
import { generateDesignSystemCommand, generateMetadataCommand } from '../src/commands/generation/generate.js';
|
|
36
|
+
import { generateContextCommand } from '../src/commands/generation/generate-context.js';
|
|
37
|
+
|
|
38
|
+
// Validation commands
|
|
23
39
|
import { validateCommand } from './validate.js';
|
|
24
|
-
import { validateBlazorCommand } from '../src/commands/validate-blazor.js';
|
|
25
|
-
import { lintFluentCommand } from '../src/commands/lint-fluent.js';
|
|
26
|
-
import { analyzeBlazorConcurrencyCommand } from '../src/commands/analyze-blazor-concurrency.js';
|
|
27
|
-
import { validateBlazorStateCommand } from '../src/commands/validate-blazor-state.js';
|
|
28
|
-
import { validateCssCommand } from '../src/commands/validate-css.js';
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
import {
|
|
32
|
-
import {
|
|
33
|
-
import {
|
|
34
|
-
import {
|
|
35
|
-
import {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
import
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
import
|
|
40
|
+
import { validateBlazorCommand } from '../src/commands/validation/validate-blazor.js';
|
|
41
|
+
import { lintFluentCommand } from '../src/commands/validation/lint-fluent.js';
|
|
42
|
+
import { analyzeBlazorConcurrencyCommand } from '../src/commands/validation/analyze-blazor-concurrency.js';
|
|
43
|
+
import { validateBlazorStateCommand } from '../src/commands/validation/validate-blazor-state.js';
|
|
44
|
+
import { validateCssCommand } from '../src/commands/validation/validate-css.js';
|
|
45
|
+
|
|
46
|
+
// Template commands
|
|
47
|
+
import { templateListCommand } from '../src/commands/templates/template-list.js';
|
|
48
|
+
import { templateShowCommand } from '../src/commands/templates/template-show.js';
|
|
49
|
+
import { templateRenderCommand } from '../src/commands/templates/template-render.js';
|
|
50
|
+
import { templateCustomizeCommand } from '../src/commands/templates/template-customize.js';
|
|
51
|
+
import { templateValidateCommand } from '../src/commands/templates/template-validate.js';
|
|
52
|
+
|
|
53
|
+
// Agent commands
|
|
54
|
+
import { spawnTeamCommand } from '../src/commands/agents/spawn-team.js';
|
|
55
|
+
|
|
56
|
+
// Learning commands
|
|
57
|
+
import capturePatternProgram from '../src/commands/learning/capture-pattern.js';
|
|
58
|
+
import searchPatternsProgram from '../src/commands/learning/search-patterns.js';
|
|
59
|
+
|
|
60
|
+
// Utility commands
|
|
61
|
+
import troubleshootCommand from '../src/commands/utils/troubleshoot.js';
|
|
62
|
+
import { sessionSummaryCommand } from '../src/commands/utils/session-summary.js';
|
|
63
|
+
|
|
64
|
+
// Thread, Analytics, Core Four commands
|
|
65
|
+
import {
|
|
66
|
+
threadsListCommand, threadsStatusCommand, threadsKillCommand,
|
|
67
|
+
threadsAnalyticsCommand, threadsWaitAllCommand, threadsWaitAnyCommand
|
|
68
|
+
} from '../src/commands/threads/threads.js';
|
|
69
|
+
import {
|
|
70
|
+
analyticsFeatureCommand, analyticsContextCommand, analyticsProjectCommand
|
|
71
|
+
} from '../src/commands/analytics/analytics.js';
|
|
72
|
+
import { coreFourCommand } from '../src/commands/context/core-four.js';
|
|
73
|
+
|
|
74
|
+
// Context Optimization commands
|
|
75
|
+
import { mcpOptimizeCommand, mcpListCommand } from '../src/commands/mcp/mcp.js';
|
|
76
|
+
import {
|
|
77
|
+
microAgentCreateCommand, microAgentListCommand, microAgentShowCommand
|
|
78
|
+
} from '../src/commands/agents/micro-agent.js';
|
|
79
|
+
import { contextPrimeCommand } from '../src/commands/context/context-prime.js';
|
|
80
|
+
|
|
81
|
+
// Parallelization commands
|
|
82
|
+
import {
|
|
83
|
+
squadTemplateListCommand, squadTemplateUseCommand, squadTemplateShowCommand
|
|
84
|
+
} from '../src/commands/agents/squad-template.js';
|
|
85
|
+
import {
|
|
86
|
+
threadTemplateListCommand, threadTemplateUseCommand
|
|
87
|
+
} from '../src/commands/threads/thread-template.js';
|
|
88
|
+
import { spawnTeamParallelCommand } from '../src/commands/agents/spawn-team.js';
|
|
89
|
+
|
|
90
|
+
// Fusion commands
|
|
91
|
+
import { agentsFuseCommand, agentsReviewAggregateCommand } from '../src/commands/agents/agents-fuse.js';
|
|
92
|
+
|
|
93
|
+
// Meta-Prompts (HOP) commands
|
|
94
|
+
import { hopRenderCommand, hopListCommand } from '../src/commands/templates/template-render.js';
|
|
95
|
+
|
|
96
|
+
// Trust commands
|
|
97
|
+
import {
|
|
98
|
+
trustStatusCommand, trustSetCommand, trustHistoryCommand,
|
|
99
|
+
trustAutoCalculateCommand, trustClearCommand
|
|
100
|
+
} from '../src/commands/trust/trust.js';
|
|
101
|
+
|
|
102
|
+
// Libraries
|
|
103
|
+
import { LearningSystem } from '../src/lib/learning/learning-system.js';
|
|
42
104
|
|
|
43
105
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
44
106
|
const pkg = JSON.parse(readFileSync(join(__dirname, '..', 'package.json'), 'utf8'));
|
|
@@ -79,6 +141,7 @@ program
|
|
|
79
141
|
program
|
|
80
142
|
.command('doctor')
|
|
81
143
|
.description('Check MORPH installation health')
|
|
144
|
+
.option('--v3', 'Run v3.0 specific checks (lib files, HOPs, standards, agents, migration status)')
|
|
82
145
|
.action(doctorCommand);
|
|
83
146
|
|
|
84
147
|
program
|
|
@@ -97,6 +160,14 @@ program
|
|
|
97
160
|
.option('-i, --ids-only', 'Output only agent IDs (one per line)')
|
|
98
161
|
.action(detectAgentsCommand);
|
|
99
162
|
|
|
163
|
+
program
|
|
164
|
+
.command('detect-workflow <input...>')
|
|
165
|
+
.description('Detect appropriate workflow for a feature request')
|
|
166
|
+
.option('-v, --verbose', 'Show detailed detection reasoning')
|
|
167
|
+
.option('-j, --json', 'Output as JSON')
|
|
168
|
+
.option('-p, --project-path <path>', 'Project path (default: current directory)')
|
|
169
|
+
.action(detectWorkflowCommand);
|
|
170
|
+
|
|
100
171
|
program
|
|
101
172
|
.command('sync')
|
|
102
173
|
.description('Sync standards from feature decisions')
|
|
@@ -335,6 +406,107 @@ learnCommand
|
|
|
335
406
|
console.log(chalk.green('\n✅ Knowledge base reset\n'));
|
|
336
407
|
});
|
|
337
408
|
|
|
409
|
+
// Template management commands
|
|
410
|
+
const templateCommand = program
|
|
411
|
+
.command('template')
|
|
412
|
+
.description('Template management (list | show | render | customize | validate)');
|
|
413
|
+
|
|
414
|
+
templateCommand
|
|
415
|
+
.command('list')
|
|
416
|
+
.description('List all available templates')
|
|
417
|
+
.option('--category <category>', 'Filter by category (documentation, code, infrastructure, context, examples)')
|
|
418
|
+
.option('--phase <phase>', 'Filter by phase (proposal, design, implement, etc.)')
|
|
419
|
+
.option('--stack <stack>', 'Filter by stack (blazor-azure, nextjs-supabase)')
|
|
420
|
+
.option('--required', 'Show only required templates')
|
|
421
|
+
.action(templateListCommand);
|
|
422
|
+
|
|
423
|
+
templateCommand
|
|
424
|
+
.command('show <template-id>')
|
|
425
|
+
.description('Show detailed information about a template')
|
|
426
|
+
.option('--show-path', 'Show resolved template file path')
|
|
427
|
+
.option('--preview', 'Show first 20 lines of template content')
|
|
428
|
+
.option('--stack <stack>', 'Stack for path resolution (default: blazor-azure)')
|
|
429
|
+
.option('--project-path <path>', 'Project path (default: current directory)')
|
|
430
|
+
.action(templateShowCommand);
|
|
431
|
+
|
|
432
|
+
templateCommand
|
|
433
|
+
.command('render <template-id> <output-path> <variables-json>')
|
|
434
|
+
.description('Render a template with variables')
|
|
435
|
+
.option('--dry-run', 'Preview without writing file')
|
|
436
|
+
.option('--stack <stack>', 'Stack for template resolution (default: blazor-azure)')
|
|
437
|
+
.option('--project-path <path>', 'Project path (default: current directory)')
|
|
438
|
+
.option('-v, --verbose', 'Show detailed output')
|
|
439
|
+
.action(templateRenderCommand);
|
|
440
|
+
|
|
441
|
+
templateCommand
|
|
442
|
+
.command('customize <template-id>')
|
|
443
|
+
.description('Copy framework template to project for customization')
|
|
444
|
+
.option('--stack <stack>', 'Target stack (default: blazor-azure)')
|
|
445
|
+
.option('--local', 'Copy to project .morph/templates/ instead of stack')
|
|
446
|
+
.option('--force', 'Overwrite existing customized template')
|
|
447
|
+
.option('--project-path <path>', 'Project path (default: current directory)')
|
|
448
|
+
.option('-v, --verbose', 'Show detailed output')
|
|
449
|
+
.action(templateCustomizeCommand);
|
|
450
|
+
|
|
451
|
+
templateCommand
|
|
452
|
+
.command('validate [template-id]')
|
|
453
|
+
.description('Validate template(s) for correct Handlebars syntax')
|
|
454
|
+
.option('--category <category>', 'Validate templates in specific category')
|
|
455
|
+
.option('--technology <technology>', 'Validate templates for specific technology')
|
|
456
|
+
.option('--include-deprecated', 'Include deprecated templates')
|
|
457
|
+
.option('--show-valid', 'Show valid templates in output')
|
|
458
|
+
.option('--strict', 'Exit with error on warnings')
|
|
459
|
+
.option('--project-path <path>', 'Project path (default: current directory)')
|
|
460
|
+
.option('-v, --verbose', 'Show detailed validation information')
|
|
461
|
+
.action(templateValidateCommand);
|
|
462
|
+
|
|
463
|
+
// HOP (Higher-Order Prompts) commands
|
|
464
|
+
const hopCommand = program
|
|
465
|
+
.command('hop')
|
|
466
|
+
.description('Higher-Order Prompts — render and manage meta-prompt templates');
|
|
467
|
+
|
|
468
|
+
hopCommand
|
|
469
|
+
.command('list')
|
|
470
|
+
.description('List all available HOP templates')
|
|
471
|
+
.action(hopListCommand);
|
|
472
|
+
|
|
473
|
+
hopCommand
|
|
474
|
+
.command('render <hop-id> [output-path]')
|
|
475
|
+
.description('Render a HOP template with variables')
|
|
476
|
+
.option('--variables <json>', 'Variables JSON string', '{}')
|
|
477
|
+
.option('--dry-run', 'Preview without writing file')
|
|
478
|
+
.action((hopId, outputPath, options) => hopRenderCommand(hopId, outputPath, options.variables, options));
|
|
479
|
+
|
|
480
|
+
// Trust commands
|
|
481
|
+
const trustCommand = program
|
|
482
|
+
.command('trust')
|
|
483
|
+
.description('Trust level management for zero-touch execution');
|
|
484
|
+
|
|
485
|
+
trustCommand
|
|
486
|
+
.command('status [feature]')
|
|
487
|
+
.description('Show trust level and auto-approval status')
|
|
488
|
+
.action(trustStatusCommand);
|
|
489
|
+
|
|
490
|
+
trustCommand
|
|
491
|
+
.command('set <feature> <level> [reason]')
|
|
492
|
+
.description('Manually set trust level (low|medium|high|maximum)')
|
|
493
|
+
.action(trustSetCommand);
|
|
494
|
+
|
|
495
|
+
trustCommand
|
|
496
|
+
.command('history')
|
|
497
|
+
.description('Show trust history for all features')
|
|
498
|
+
.action(trustHistoryCommand);
|
|
499
|
+
|
|
500
|
+
trustCommand
|
|
501
|
+
.command('auto-calculate <feature>')
|
|
502
|
+
.description('Recalculate trust from checkpoint history')
|
|
503
|
+
.action(trustAutoCalculateCommand);
|
|
504
|
+
|
|
505
|
+
trustCommand
|
|
506
|
+
.command('clear <feature>')
|
|
507
|
+
.description('Clear manual trust override (revert to calculated)')
|
|
508
|
+
.action(trustClearCommand);
|
|
509
|
+
|
|
338
510
|
// Troubleshooting command
|
|
339
511
|
program
|
|
340
512
|
.command('troubleshoot <keywords...>')
|
|
@@ -379,7 +551,7 @@ program
|
|
|
379
551
|
.option('-v, --verbose', 'Show detailed output')
|
|
380
552
|
.action(rollbackPhaseCommand);
|
|
381
553
|
|
|
382
|
-
// Approval workflow commands
|
|
554
|
+
// Approval workflow commands
|
|
383
555
|
program
|
|
384
556
|
.command('approve <feature> <gate>')
|
|
385
557
|
.description('Approve a phase gate (design, tasks, uiux, proposal)')
|
|
@@ -398,7 +570,7 @@ program
|
|
|
398
570
|
.option('--json', 'Output as JSON')
|
|
399
571
|
.action((feature, options) => approvalStatusCommand(feature, options));
|
|
400
572
|
|
|
401
|
-
// Agent team spawning
|
|
573
|
+
// Agent team spawning
|
|
402
574
|
program
|
|
403
575
|
.command('spawn-team <feature>')
|
|
404
576
|
.description('Generate agent team configuration for Task tool')
|
|
@@ -406,13 +578,204 @@ program
|
|
|
406
578
|
.option('--verbose', 'Show detailed team configuration')
|
|
407
579
|
.action((feature, options) => spawnTeamCommand(feature, options));
|
|
408
580
|
|
|
409
|
-
// Pattern learning system
|
|
581
|
+
// Pattern learning system - Add as subcommands
|
|
410
582
|
program.addCommand(capturePatternProgram);
|
|
411
583
|
program.addCommand(searchPatternsProgram);
|
|
412
584
|
|
|
413
|
-
//
|
|
414
|
-
|
|
415
|
-
|
|
585
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
586
|
+
// Thread Management
|
|
587
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
588
|
+
const threadsCommand = program
|
|
589
|
+
.command('threads')
|
|
590
|
+
.description('Thread lifecycle management');
|
|
591
|
+
|
|
592
|
+
threadsCommand
|
|
593
|
+
.command('list')
|
|
594
|
+
.description('List threads (optionally filtered by feature/status/type)')
|
|
595
|
+
.option('--feature <feature>', 'Filter by feature name')
|
|
596
|
+
.option('--status <status>', 'Filter by status (pending|running|completed|failed|killed)')
|
|
597
|
+
.option('--type <type>', 'Filter by type (base|parallel|fusion|long-running|zero-touch)')
|
|
598
|
+
.action((options) => threadsListCommand(options));
|
|
599
|
+
|
|
600
|
+
threadsCommand
|
|
601
|
+
.command('status <id>')
|
|
602
|
+
.description('Show detailed status of a thread')
|
|
603
|
+
.action((id) => threadsStatusCommand(id));
|
|
604
|
+
|
|
605
|
+
threadsCommand
|
|
606
|
+
.command('kill <id>')
|
|
607
|
+
.description('Terminate a running thread')
|
|
608
|
+
.action((id) => threadsKillCommand(id));
|
|
609
|
+
|
|
610
|
+
threadsCommand
|
|
611
|
+
.command('analytics')
|
|
612
|
+
.description('Show thread analytics dashboard for a feature')
|
|
613
|
+
.option('--feature <feature>', 'Feature name (required)')
|
|
614
|
+
.action((options) => threadsAnalyticsCommand(options));
|
|
615
|
+
|
|
616
|
+
threadsCommand
|
|
617
|
+
.command('wait-all <feature>')
|
|
618
|
+
.description('Block until all threads for a feature complete')
|
|
619
|
+
.option('--timeout <minutes>', 'Timeout in minutes (default: 60)', '60')
|
|
620
|
+
.action((feature, options) => threadsWaitAllCommand(feature, options));
|
|
621
|
+
|
|
622
|
+
threadsCommand
|
|
623
|
+
.command('wait-any <feature>')
|
|
624
|
+
.description('Block until any thread for a feature completes')
|
|
625
|
+
.option('--timeout <minutes>', 'Timeout in minutes (default: 60)', '60')
|
|
626
|
+
.action((feature, options) => threadsWaitAnyCommand(feature, options));
|
|
627
|
+
|
|
628
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
629
|
+
// Analytics
|
|
630
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
631
|
+
const analyticsCommand = program
|
|
632
|
+
.command('analytics')
|
|
633
|
+
.description('Metrics and analytics dashboards');
|
|
634
|
+
|
|
635
|
+
analyticsCommand
|
|
636
|
+
.command('feature <name>')
|
|
637
|
+
.description('Show thread analytics dashboard for a feature')
|
|
638
|
+
.action((name, options) => analyticsFeatureCommand(name, options));
|
|
639
|
+
|
|
640
|
+
analyticsCommand
|
|
641
|
+
.command('context <name>')
|
|
642
|
+
.description('Show context token usage and optimization opportunities')
|
|
643
|
+
.action((name, options) => analyticsContextCommand(name, options));
|
|
644
|
+
|
|
645
|
+
analyticsCommand
|
|
646
|
+
.command('project')
|
|
647
|
+
.description('Show project-wide analytics dashboard (30-day summary)')
|
|
648
|
+
.option('--period <days>', 'Period in days (default: 30)', '30')
|
|
649
|
+
.action((options) => analyticsProjectCommand(options));
|
|
650
|
+
|
|
651
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
652
|
+
// Core Four
|
|
653
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
654
|
+
program
|
|
655
|
+
.command('core-four <feature>')
|
|
656
|
+
.description('Show Core Four dashboard: Context/Model/Prompt/Tools')
|
|
657
|
+
.option('--json', 'Output as JSON')
|
|
658
|
+
.action((feature, options) => coreFourCommand(feature, options));
|
|
659
|
+
|
|
660
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
661
|
+
// MCP Optimizer
|
|
662
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
663
|
+
const mcpCommand = program
|
|
664
|
+
.command('mcp')
|
|
665
|
+
.description('MCP server analysis and optimization');
|
|
666
|
+
|
|
667
|
+
mcpCommand
|
|
668
|
+
.command('optimize')
|
|
669
|
+
.description('Analyze MCP servers and suggest optimizations')
|
|
670
|
+
.action((options) => mcpOptimizeCommand(options));
|
|
671
|
+
|
|
672
|
+
mcpCommand
|
|
673
|
+
.command('list')
|
|
674
|
+
.description('List configured MCP servers with usage stats')
|
|
675
|
+
.action((options) => mcpListCommand(options));
|
|
676
|
+
|
|
677
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
678
|
+
// Micro Agents
|
|
679
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
680
|
+
const microAgentCommand = program
|
|
681
|
+
.command('micro-agent')
|
|
682
|
+
.description('Create and manage ultra-specialized micro-agents');
|
|
683
|
+
|
|
684
|
+
microAgentCommand
|
|
685
|
+
.command('create <name>')
|
|
686
|
+
.description('Create a new micro-agent')
|
|
687
|
+
.option('--base-agent <agent>', 'Base agent ID to specialize from')
|
|
688
|
+
.option('--mission <mission>', 'Single focused mission for this agent')
|
|
689
|
+
.option('--standards <files>', 'Comma-separated standards files to load (1-3 max)')
|
|
690
|
+
.option('--tools <tools>', 'Comma-separated tools to allow (default: Read,Write,Edit)')
|
|
691
|
+
.action((name, options) => microAgentCreateCommand(name, options));
|
|
692
|
+
|
|
693
|
+
microAgentCommand
|
|
694
|
+
.command('list')
|
|
695
|
+
.description('List all micro-agents')
|
|
696
|
+
.action((options) => microAgentListCommand(options));
|
|
697
|
+
|
|
698
|
+
microAgentCommand
|
|
699
|
+
.command('show <name>')
|
|
700
|
+
.description('Show micro-agent details')
|
|
701
|
+
.option('--show-prompt', 'Show the generated system prompt')
|
|
702
|
+
.action((name, options) => microAgentShowCommand(name, options));
|
|
703
|
+
|
|
704
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
705
|
+
// Context Prime
|
|
706
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
707
|
+
program
|
|
708
|
+
.command('prime [type]')
|
|
709
|
+
.description('Output context priming file (feature|bug|refactor|design|infra)')
|
|
710
|
+
.option('--json', 'Output as JSON')
|
|
711
|
+
.action((type, options) => contextPrimeCommand(type, options));
|
|
712
|
+
|
|
713
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
714
|
+
// Fusion (F-Thread)
|
|
715
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
716
|
+
const agentsFuseCmd = program
|
|
717
|
+
.command('agents-fuse')
|
|
718
|
+
.description('F-Thread fusion execution: run N agents, aggregate best result');
|
|
719
|
+
|
|
720
|
+
agentsFuseCmd
|
|
721
|
+
.command('run')
|
|
722
|
+
.description('Run fusion: spawn N agents with same prompt, aggregate results')
|
|
723
|
+
.option('--prompt <prompt>', 'Prompt/mission for all fusion agents (required)')
|
|
724
|
+
.option('--count <n>', 'Number of agents to run (default: 3)', '3')
|
|
725
|
+
.option('--strategy <strategy>', 'Aggregation strategy: best-of-n | consensus | manual-select', 'best-of-n')
|
|
726
|
+
.option('--feature <feature>', 'Feature name for tracking')
|
|
727
|
+
.option('--agents <list>', 'Comma-separated agent IDs to use')
|
|
728
|
+
.option('--json', 'Output as JSON')
|
|
729
|
+
.action((options) => agentsFuseCommand(options));
|
|
730
|
+
|
|
731
|
+
agentsFuseCmd
|
|
732
|
+
.command('aggregate-reviews <feature>')
|
|
733
|
+
.description('Aggregate review results from N agents')
|
|
734
|
+
.option('--agents <list>', 'Comma-separated agent IDs (required)')
|
|
735
|
+
.option('--strategy <strategy>', 'Aggregation strategy', 'best-of-n')
|
|
736
|
+
.action((feature, options) => agentsReviewAggregateCommand(feature, options));
|
|
737
|
+
|
|
738
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
739
|
+
// Squad Templates
|
|
740
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
741
|
+
const squadTemplateCmd = program
|
|
742
|
+
.command('squad-template')
|
|
743
|
+
.description('Squad template management for parallel execution');
|
|
744
|
+
|
|
745
|
+
squadTemplateCmd
|
|
746
|
+
.command('list')
|
|
747
|
+
.description('List available squad templates')
|
|
748
|
+
.action((options) => squadTemplateListCommand(options));
|
|
749
|
+
|
|
750
|
+
squadTemplateCmd
|
|
751
|
+
.command('use <template-id>')
|
|
752
|
+
.description('Configure a feature to use a squad template')
|
|
753
|
+
.option('--feature <feature>', 'Feature name (required)')
|
|
754
|
+
.action((id, options) => squadTemplateUseCommand(id, options));
|
|
755
|
+
|
|
756
|
+
squadTemplateCmd
|
|
757
|
+
.command('show <template-id>')
|
|
758
|
+
.description('Show squad template details')
|
|
759
|
+
.option('--json', 'Output as JSON')
|
|
760
|
+
.action((id, options) => squadTemplateShowCommand(id, options));
|
|
761
|
+
|
|
762
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
763
|
+
// Commands — Thread Templates
|
|
764
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
765
|
+
const threadTemplateCmd = program
|
|
766
|
+
.command('thread-template')
|
|
767
|
+
.description('Thread type management');
|
|
768
|
+
|
|
769
|
+
threadTemplateCmd
|
|
770
|
+
.command('list')
|
|
771
|
+
.description('List available thread types (B/P/F/L/Z-Thread)')
|
|
772
|
+
.action((options) => threadTemplateListCommand(options));
|
|
773
|
+
|
|
774
|
+
threadTemplateCmd
|
|
775
|
+
.command('use <type>')
|
|
776
|
+
.description('Configure thread type for a feature')
|
|
777
|
+
.option('--feature <feature>', 'Feature name (required)')
|
|
778
|
+
.action((type, options) => threadTemplateUseCommand(type, options));
|
|
416
779
|
|
|
417
780
|
// Wire global --stack flag to stack-resolver before any command executes
|
|
418
781
|
program.hook('preAction', () => {
|
package/bin/validate.js
CHANGED
|
@@ -17,10 +17,10 @@
|
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
19
|
import chalk from 'chalk';
|
|
20
|
-
import { validatePackages } from '../src/lib/validators/package-validator.js';
|
|
21
|
-
import { validateArchitecture } from '../src/lib/validators/architecture-validator.js';
|
|
22
|
-
import { validateContrast } from '../src/lib/validators/ui-contrast-validator.js';
|
|
23
|
-
import { LearningSystem } from '../src/lib/learning-system.js';
|
|
20
|
+
import { validatePackages } from '../src/lib/validators/packages/package-validator.js';
|
|
21
|
+
import { validateArchitecture } from '../src/lib/validators/architecture/architecture-validator.js';
|
|
22
|
+
import { validateContrast } from '../src/lib/validators/ui/ui-contrast-validator.js';
|
|
23
|
+
import { LearningSystem } from '../src/lib/learning/learning-system.js';
|
|
24
24
|
|
|
25
25
|
const VALIDATORS = {
|
|
26
26
|
packages: {
|
|
@@ -51,7 +51,7 @@ const VALIDATORS = {
|
|
|
51
51
|
async function validateSpecVsTasks(projectPath, options = {}) {
|
|
52
52
|
const path = await import('path');
|
|
53
53
|
const fs = await import('fs');
|
|
54
|
-
const { loadState } = await import('../src/
|
|
54
|
+
const { loadState } = await import('../src/core/state/state-manager.js');
|
|
55
55
|
|
|
56
56
|
const results = [];
|
|
57
57
|
let errors = 0;
|
package/docs/getting-started.md
CHANGED
|
@@ -97,11 +97,6 @@ seu-projeto/
|
|
|
97
97
|
│ │ ├── subscription.cs # Modelo de assinaturas
|
|
98
98
|
│ │ └── tenant.cs # Multi-tenancy
|
|
99
99
|
│ │
|
|
100
|
-
│ ├── examples/ # Exemplos completos
|
|
101
|
-
│ │ ├── micro-saas/ # Blazor + Asaas billing
|
|
102
|
-
│ │ ├── api-nextjs/ # .NET API + Next.js
|
|
103
|
-
│ │ └── multi-agent/ # Semantic Kernel agents
|
|
104
|
-
│ │
|
|
105
100
|
│ ├── specs/ # Specs ativas
|
|
106
101
|
│ ├── features/ # Features em desenvolvimento
|
|
107
102
|
│ └── archive/ # Features concluídas
|