@polymorphism-tech/morph-spec 4.3.3 → 4.3.4
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/.morph/analytics/threads-log.jsonl +9 -0
- package/{stacks/blazor-azure/.morph → .morph}/config/config.json +9 -9
- package/.morph/state.json +48 -0
- package/bin/detect-agents.js +1 -2
- package/bin/morph-spec.js +2 -15
- package/{stacks/blazor-azure/.morph/config → framework}/agents.json +948 -948
- package/{stacks/nextjs-supabase/.claude → framework}/commands/morph-infra.md +1 -1
- package/framework/hooks/README.md +282 -0
- package/framework/hooks/agent-stop/validate-and-continue.js +96 -0
- package/framework/hooks/agent-stop/validate-checkpoints.js +101 -0
- package/framework/hooks/agent-stop/validate-tests.js +109 -0
- package/framework/hooks/agent-teams/dispatch.js +67 -0
- package/framework/hooks/agent-teams/phase-advanced.js +80 -0
- package/framework/hooks/agent-teams/task-completed.js +76 -0
- package/framework/hooks/agent-teams/teammate-idle.js +70 -0
- package/framework/hooks/commit-msg/conventional-commits.sh +33 -0
- package/framework/hooks/pre-commit/agents.sh +25 -0
- package/framework/hooks/pre-commit/orchestrator.sh +64 -0
- package/framework/hooks/pre-commit/specs.sh +50 -0
- package/framework/hooks/pre-push/run-tests.sh +44 -0
- package/framework/index/troubleshooting-index.json +184 -0
- package/framework/memory/patterns-learned.md +766 -0
- package/framework/skills/level-0-meta/README.md +7 -0
- package/framework/skills/level-0-meta/code-review.md +226 -0
- package/framework/skills/level-0-meta/morph-checklist.md +117 -0
- package/framework/skills/level-0-meta/simulation-checklist.md +77 -0
- package/framework/skills/level-1-workflows/README.md +7 -0
- package/framework/skills/level-1-workflows/morph-replicate.md +213 -0
- package/framework/skills/level-1-workflows/phase-clarify.md +131 -0
- package/framework/skills/level-1-workflows/phase-design.md +213 -0
- package/framework/skills/level-1-workflows/phase-setup.md +106 -0
- package/framework/skills/level-1-workflows/phase-tasks.md +164 -0
- package/framework/skills/level-1-workflows/phase-uiux.md +169 -0
- package/framework/skills/level-2-domains/README.md +14 -0
- package/framework/skills/level-2-domains/ai-agents/ai-system-architect.md +192 -0
- package/framework/skills/level-2-domains/architecture/po-pm-advisor.md +197 -0
- package/framework/skills/level-2-domains/architecture/prompt-engineer.md +189 -0
- package/framework/skills/level-2-domains/architecture/seo-growth-hacker.md +320 -0
- package/framework/skills/level-2-domains/architecture/standards-architect.md +156 -0
- package/framework/skills/level-2-domains/backend/api-designer.md +59 -0
- package/framework/skills/level-2-domains/backend/dotnet-senior.md +77 -0
- package/framework/skills/level-2-domains/backend/ef-modeler.md +58 -0
- package/framework/skills/level-2-domains/backend/hangfire-orchestrator.md +126 -0
- package/framework/skills/level-2-domains/backend/ms-agent-expert.md +45 -0
- package/framework/skills/level-2-domains/frontend/blazor-builder.md +210 -0
- package/framework/skills/level-2-domains/frontend/nextjs-expert.md +154 -0
- package/framework/skills/level-2-domains/frontend/ui-ux-designer.md +191 -0
- package/framework/skills/level-2-domains/infrastructure/azure-architect.md +142 -0
- package/framework/skills/level-2-domains/infrastructure/azure-deploy-specialist.md +699 -0
- package/framework/skills/level-2-domains/infrastructure/bicep-architect.md +126 -0
- package/framework/skills/level-2-domains/infrastructure/container-specialist.md +131 -0
- package/framework/skills/level-2-domains/infrastructure/devops-engineer.md +119 -0
- package/framework/skills/level-2-domains/integrations/asaas-financial.md +130 -0
- package/framework/skills/level-2-domains/integrations/azure-identity.md +142 -0
- package/framework/skills/level-2-domains/integrations/clerk-auth.md +108 -0
- package/framework/skills/level-2-domains/integrations/hangfire-orchestrator.md +64 -0
- package/framework/skills/level-2-domains/integrations/resend-email.md +119 -0
- package/framework/skills/level-2-domains/quality/code-analyzer.md +235 -0
- package/framework/skills/level-2-domains/quality/testing-specialist.md +126 -0
- package/framework/skills/level-3-technologies/README.md +7 -0
- package/framework/skills/level-4-patterns/README.md +7 -0
- package/framework/squad-templates/backend-only.json +34 -0
- package/framework/squad-templates/frontend-only.json +34 -0
- package/framework/squad-templates/full-stack.json +52 -0
- package/framework/templates/.idea/morph-templates.xml +92 -0
- package/framework/templates/.vscode/morph-templates.code-snippets +186 -0
- package/framework/templates/IDE-SNIPPETS.md +266 -0
- package/framework/templates/README.md +814 -0
- package/framework/templates/REGISTRY.json +1677 -0
- package/framework/templates/code/dotnet/backend/repository.cs +141 -0
- package/framework/templates/code/dotnet/backend/service.cs +139 -0
- package/framework/templates/code/dotnet/contracts/Commands.cs +74 -0
- package/framework/templates/code/dotnet/contracts/Entities.cs +25 -0
- package/framework/templates/code/dotnet/contracts/Queries.cs +74 -0
- package/framework/templates/code/dotnet/contracts/README.md +74 -0
- package/framework/templates/code/dotnet/contracts/api-contracts.cs +173 -0
- package/framework/templates/code/dotnet/contracts/contracts.cs +217 -0
- package/framework/templates/code/dotnet/database/migration.cs +83 -0
- package/framework/templates/code/dotnet/frontend/component.razor +239 -0
- package/framework/templates/code/dotnet/jobs/agent.cs +163 -0
- package/framework/templates/code/dotnet/jobs/job.cs +171 -0
- package/framework/templates/code/dotnet/test.cs +239 -0
- package/framework/templates/code/sql/rls-policy.sql +57 -0
- package/framework/templates/code/sql/supabase-migration.sql +100 -0
- package/framework/templates/code/sql/supabase-migration.template.sql +113 -0
- package/framework/templates/code/typescript/contracts.ts +168 -0
- package/framework/templates/context/CONTEXT-FEATURE.md +276 -0
- package/framework/templates/context/CONTEXT.md +181 -0
- package/framework/templates/docs/proposal.md +182 -0
- package/framework/templates/docs/spec.md +149 -0
- package/framework/templates/examples/design-system-examples.md +357 -0
- package/framework/templates/examples/spec-examples.md +90 -0
- package/framework/templates/feature/decisions.md +187 -0
- package/framework/templates/feature/recap.md +146 -0
- package/framework/templates/feature/tasks.md +199 -0
- package/framework/templates/infrastructure/azure/Dockerfile.example +82 -0
- package/framework/templates/infrastructure/azure/README.md +286 -0
- package/framework/templates/infrastructure/azure/app-insights.bicep +63 -0
- package/framework/templates/infrastructure/azure/app-service.bicep +164 -0
- package/framework/templates/infrastructure/azure/container-app-env.bicep +49 -0
- package/framework/templates/infrastructure/azure/container-app.bicep +156 -0
- package/framework/templates/infrastructure/azure/deploy-checklist.md +426 -0
- package/framework/templates/infrastructure/azure/deploy.ps1 +229 -0
- package/framework/templates/infrastructure/azure/deploy.sh +208 -0
- package/framework/templates/infrastructure/azure/key-vault.bicep +91 -0
- package/framework/templates/infrastructure/azure/main.bicep +189 -0
- package/framework/templates/infrastructure/azure/parameters.dev.json +29 -0
- package/framework/templates/infrastructure/azure/parameters.prod.json +29 -0
- package/framework/templates/infrastructure/azure/parameters.staging.json +29 -0
- package/framework/templates/infrastructure/azure/sql-database.bicep +103 -0
- package/framework/templates/infrastructure/azure/storage.bicep +106 -0
- package/framework/templates/infrastructure/docker/Dockerfile.template +58 -0
- package/framework/templates/infrastructure/docker/docker-compose.template.yml +67 -0
- package/framework/templates/infrastructure/docker/dockerfile-api.dockerfile +38 -0
- package/framework/templates/infrastructure/docker/dockerfile-web.dockerfile +48 -0
- package/framework/templates/infrastructure/docker/easypanel.template.json +54 -0
- package/framework/templates/infrastructure/github/README.md +593 -0
- package/framework/templates/infrastructure/github/actions/azure-auth/action.yml.hbs +22 -0
- package/framework/templates/infrastructure/github/actions/docker-build-push/action.yml.hbs +45 -0
- package/framework/templates/infrastructure/github/actions/health-check/action.yml.hbs +27 -0
- package/framework/templates/infrastructure/github/workflows/deploy-azure-app-service.yml.hbs +61 -0
- package/framework/templates/infrastructure/github/workflows/deploy-easypanel.yml.hbs +31 -0
- package/framework/templates/infrastructure/github/workflows/docker-build-push.yml.hbs +59 -0
- package/framework/templates/infrastructure/github/workflows/dotnet-build.yml.hbs +39 -0
- package/framework/templates/integrations/asaas-client.cs +387 -0
- package/framework/templates/integrations/asaas-webhook.cs +351 -0
- package/framework/templates/integrations/azure-identity-config.cs +288 -0
- package/framework/templates/integrations/clerk-config.cs +258 -0
- package/framework/templates/meta-prompts/fusion/fusion-agent.md +76 -0
- package/framework/templates/meta-prompts/fusion/fusion-aggregator.md +100 -0
- package/framework/templates/meta-prompts/hops/hop-retry.md +78 -0
- package/framework/templates/meta-prompts/hops/hop-validation.md +97 -0
- package/framework/templates/meta-prompts/hops/hop-wrapper.md +36 -0
- package/framework/templates/meta-prompts/parallel-workers/parallel-coordinator.md +113 -0
- package/framework/templates/meta-prompts/parallel-workers/parallel-worker.md +80 -0
- package/framework/templates/meta-prompts/squad-leaders/backend-squad.md +90 -0
- package/framework/templates/meta-prompts/squad-leaders/frontend-squad.md +126 -0
- package/framework/templates/meta-prompts/squad-leaders/squad-leader.md +43 -0
- package/framework/templates/meta-prompts/validators/checkpoint-validator.md +107 -0
- package/framework/templates/meta-prompts/validators/pre-commit-validator.md +95 -0
- package/framework/templates/saas/subscription.cs +347 -0
- package/framework/templates/saas/tenant.cs +338 -0
- package/framework/templates/state.template.json +17 -0
- package/framework/templates/ui/FluentDesignTheme.cs +149 -0
- package/framework/templates/ui/MudTheme.cs +281 -0
- package/framework/templates/ui/design-system.css +226 -0
- package/framework/workflows/README.md +1041 -0
- package/framework/workflows/configs/design-impl.json +49 -0
- package/framework/workflows/configs/fast-track.json +42 -0
- package/framework/workflows/configs/full-morph.json +79 -0
- package/framework/workflows/configs/fusion.json +39 -0
- package/framework/workflows/configs/long-running.json +33 -0
- package/framework/workflows/configs/standard.json +60 -0
- package/framework/workflows/configs/ui-refresh.json +49 -0
- package/framework/workflows/configs/zero-touch.json +75 -0
- package/framework/workflows/docs/STORY-DRIVEN-DEVELOPMENT.md +392 -0
- package/framework/workflows/docs/design-impl.md +37 -0
- package/framework/workflows/docs/enforcement-pipeline.md +668 -0
- package/framework/workflows/docs/fast-track.md +29 -0
- package/framework/workflows/docs/full-morph.md +76 -0
- package/framework/workflows/docs/standard.md +44 -0
- package/framework/workflows/docs/ui-refresh.md +39 -0
- package/package.json +3 -3
- package/src/commands/feature/create-story.js +11 -7
- package/src/commands/project/detect-agents.js +1 -2
- package/src/commands/project/init.js +69 -32
- package/src/commands/project/update.js +2 -2
- package/src/commands/templates/template-customize.js +3 -17
- package/src/commands/templates/template-list.js +1 -15
- package/src/commands/templates/template-render.js +2 -3
- package/src/commands/templates/template-show.js +3 -5
- package/src/core/templates/template-registry.js +9 -23
- package/src/lib/detectors/structure-detector.js +3 -3
- package/src/lib/generators/context-generator.js +18 -6
- package/src/lib/hooks/hook-executor.js +0 -2
- package/src/lib/orchestration/team-orchestrator.js +1 -2
- package/src/lib/standards/standards-context-injector.js +3 -4
- package/src/lib/troubleshooting/troubleshoot-grep.js +3 -9
- package/src/lib/validators/validation-runner.js +1 -2
- package/src/utils/file-copier.js +1 -2
- package/docs/README.md +0 -144
- package/docs/api/fonts/Montserrat/Montserrat-Bold.eot +0 -0
- package/docs/api/fonts/Montserrat/Montserrat-Bold.ttf +0 -0
- package/docs/api/fonts/Montserrat/Montserrat-Bold.woff +0 -0
- package/docs/api/fonts/Montserrat/Montserrat-Bold.woff2 +0 -0
- package/docs/api/fonts/Montserrat/Montserrat-Regular.eot +0 -0
- package/docs/api/fonts/Montserrat/Montserrat-Regular.ttf +0 -0
- package/docs/api/fonts/Montserrat/Montserrat-Regular.woff +0 -0
- package/docs/api/fonts/Montserrat/Montserrat-Regular.woff2 +0 -0
- package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot +0 -0
- package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +0 -978
- package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf +0 -0
- package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff +0 -0
- package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 +0 -0
- package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot +0 -0
- package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +0 -1049
- package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf +0 -0
- package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff +0 -0
- package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 +0 -0
- package/docs/api/scripts/collapse.js +0 -39
- package/docs/api/scripts/commonNav.js +0 -28
- package/docs/api/scripts/linenumber.js +0 -25
- package/docs/api/scripts/nav.js +0 -12
- package/docs/api/scripts/polyfill.js +0 -4
- package/docs/api/scripts/prettify/Apache-License-2.0.txt +0 -202
- package/docs/api/scripts/prettify/lang-css.js +0 -2
- package/docs/api/scripts/prettify/prettify.js +0 -28
- package/docs/api/scripts/search.js +0 -99
- package/docs/api/styles/jsdoc.css +0 -776
- package/docs/api/styles/prettify.css +0 -80
- package/docs/cli-auto-detection.md +0 -219
- package/docs/getting-started.md +0 -296
- package/docs/installation.md +0 -361
- package/docs/next-generation/AGENTS.md +0 -521
- package/docs/next-generation/ANALYSIS.md +0 -555
- package/docs/next-generation/ARCHITECTURE.md +0 -436
- package/docs/next-generation/CONTEXT-OPTIMIZATION.md +0 -267
- package/docs/next-generation/EXECUTION-FLOW.md +0 -274
- package/docs/next-generation/FEATURES.md +0 -688
- package/docs/next-generation/META-PROMPTS.md +0 -235
- package/docs/next-generation/MIGRATION-GUIDE.md +0 -253
- package/docs/next-generation/README.md +0 -231
- package/docs/next-generation/ROADMAP.md +0 -801
- package/docs/next-generation/THREAD-MANAGEMENT.md +0 -240
- package/docs/templates.md +0 -418
- package/docs/troubleshooting.md +0 -269
- package/docs/validation-checklist.md +0 -264
- package/scripts/postinstall.js +0 -132
- package/src/lib/stacks/index.js +0 -7
- package/src/lib/stacks/stack-resolver.js +0 -180
- 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/.morph/.morphversion +0 -5
- package/stacks/blazor-azure/.morph/project/context/README.md +0 -17
- package/stacks/blazor-azure/CLAUDE.md +0 -155
- package/stacks/blazor-azure/README.md +0 -79
- package/stacks/nextjs-supabase/.claude/commands/morph-apply.md +0 -221
- package/stacks/nextjs-supabase/.claude/commands/morph-archive.md +0 -79
- package/stacks/nextjs-supabase/.claude/commands/morph-deploy.md +0 -529
- package/stacks/nextjs-supabase/.claude/commands/morph-preflight.md +0 -227
- package/stacks/nextjs-supabase/.claude/commands/morph-proposal.md +0 -122
- package/stacks/nextjs-supabase/.claude/commands/morph-status.md +0 -86
- package/stacks/nextjs-supabase/.claude/commands/morph-troubleshoot.md +0 -122
- package/stacks/nextjs-supabase/.morph/.morphversion +0 -5
- package/stacks/nextjs-supabase/.morph/config/agents.json +0 -345
- package/stacks/nextjs-supabase/.morph/config/config.json +0 -9
- package/stacks/nextjs-supabase/.morph/project/context/README.md +0 -17
- package/stacks/nextjs-supabase/.morph/standards/ai-agents/blazor-ui.md +0 -364
- package/stacks/nextjs-supabase/.morph/standards/ai-agents/production.md +0 -415
- package/stacks/nextjs-supabase/.morph/standards/ai-agents/setup.md +0 -418
- package/stacks/nextjs-supabase/.morph/standards/ai-agents/team-orchestration.md +0 -479
- package/stacks/nextjs-supabase/.morph/standards/ai-agents/workflows.md +0 -354
- package/stacks/nextjs-supabase/.morph/standards/architecture/ddd/aggregates.md +0 -120
- package/stacks/nextjs-supabase/.morph/standards/architecture/ddd/entities.md +0 -99
- package/stacks/nextjs-supabase/.morph/standards/architecture/ddd/value-objects.md +0 -124
- package/stacks/nextjs-supabase/.morph/standards/backend/api/minimal-api.md +0 -494
- package/stacks/nextjs-supabase/.morph/standards/backend/api/rest.md +0 -492
- package/stacks/nextjs-supabase/.morph/standards/backend/api/validation.md +0 -88
- package/stacks/nextjs-supabase/.morph/standards/backend/authentication/passkeys.md +0 -428
- package/stacks/nextjs-supabase/.morph/standards/backend/database/ef-core.md +0 -199
- package/stacks/nextjs-supabase/.morph/standards/backend/database/migrations.md +0 -393
- package/stacks/nextjs-supabase/.morph/standards/backend/database/postgresql/database.md +0 -352
- package/stacks/nextjs-supabase/.morph/standards/backend/database/repository-patterns.md +0 -528
- package/stacks/nextjs-supabase/.morph/standards/backend/database/vector-search-rag.md +0 -541
- package/stacks/nextjs-supabase/.morph/standards/backend/dotnet/async.md +0 -366
- package/stacks/nextjs-supabase/.morph/standards/backend/dotnet/core.md +0 -117
- package/stacks/nextjs-supabase/.morph/standards/backend/dotnet/di.md +0 -439
- package/stacks/nextjs-supabase/.morph/standards/backend/dotnet/program-cs-checklist.md +0 -92
- package/stacks/nextjs-supabase/.morph/standards/backend/integrations/asaas/asaas-api.md +0 -216
- package/stacks/nextjs-supabase/.morph/standards/backend/integrations/clerk/clerk-auth.md +0 -290
- package/stacks/nextjs-supabase/.morph/standards/backend/integrations/hangfire/hangfire-jobs.md +0 -350
- package/stacks/nextjs-supabase/.morph/standards/backend/integrations/resend/resend-email.md +0 -385
- package/stacks/nextjs-supabase/.morph/standards/context/analytics.md +0 -96
- package/stacks/nextjs-supabase/.morph/standards/context/bundles.md +0 -110
- package/stacks/nextjs-supabase/.morph/standards/context/priming.md +0 -78
- package/stacks/nextjs-supabase/.morph/standards/core/architecture.md +0 -185
- package/stacks/nextjs-supabase/.morph/standards/core/coding.md +0 -214
- package/stacks/nextjs-supabase/.morph/standards/core/git-branching-strategy.md +0 -403
- package/stacks/nextjs-supabase/.morph/standards/core/git.md +0 -185
- package/stacks/nextjs-supabase/.morph/standards/core/testing.md +0 -295
- package/stacks/nextjs-supabase/.morph/standards/data/nosql/blob-storage.md +0 -102
- package/stacks/nextjs-supabase/.morph/standards/data/nosql/cache/redis.md +0 -97
- package/stacks/nextjs-supabase/.morph/standards/data/nosql/cosmos-db.md +0 -118
- package/stacks/nextjs-supabase/.morph/standards/data/vector-search/azure-ai-search.md +0 -121
- package/stacks/nextjs-supabase/.morph/standards/data/vector-search/rag-chunking.md +0 -104
- package/stacks/nextjs-supabase/.morph/standards/frontend/blazor/design-checklist.md +0 -222
- package/stacks/nextjs-supabase/.morph/standards/frontend/blazor/fluent-ui-setup.md +0 -595
- package/stacks/nextjs-supabase/.morph/standards/frontend/blazor/fluent-ui.md +0 -137
- package/stacks/nextjs-supabase/.morph/standards/frontend/blazor/html-conversion.md +0 -184
- package/stacks/nextjs-supabase/.morph/standards/frontend/blazor/lifecycle.md +0 -195
- package/stacks/nextjs-supabase/.morph/standards/frontend/blazor/pitfalls.md +0 -198
- package/stacks/nextjs-supabase/.morph/standards/frontend/blazor/state.md +0 -191
- package/stacks/nextjs-supabase/.morph/standards/frontend/design-system/animations.md +0 -151
- package/stacks/nextjs-supabase/.morph/standards/frontend/design-system/naming.md +0 -64
- package/stacks/nextjs-supabase/.morph/standards/frontend/nextjs/nextjs-patterns.md +0 -198
- package/stacks/nextjs-supabase/.morph/standards/infrastructure/azure/azure.md +0 -624
- package/stacks/nextjs-supabase/.morph/standards/infrastructure/azure/bicep/bicep-patterns.md +0 -422
- package/stacks/nextjs-supabase/.morph/standards/infrastructure/azure/devops/azure-devops-setup.md +0 -516
- package/stacks/nextjs-supabase/.morph/standards/infrastructure/azure/devops/local-development.md +0 -520
- package/stacks/nextjs-supabase/.morph/standards/infrastructure/azure/services/functions.md +0 -486
- package/stacks/nextjs-supabase/.morph/standards/infrastructure/azure/services/service-bus.md +0 -459
- package/stacks/nextjs-supabase/.morph/standards/infrastructure/azure/services/storage.md +0 -407
- package/stacks/nextjs-supabase/.morph/standards/infrastructure/docker/easypanel-deploy.md +0 -196
- package/stacks/nextjs-supabase/.morph/standards/infrastructure/supabase/mcp-setup.md +0 -252
- package/stacks/nextjs-supabase/.morph/standards/infrastructure/supabase/supabase-auth.md +0 -176
- package/stacks/nextjs-supabase/.morph/standards/infrastructure/supabase/supabase-pgvector.md +0 -169
- package/stacks/nextjs-supabase/.morph/standards/infrastructure/supabase/supabase-rls.md +0 -184
- package/stacks/nextjs-supabase/.morph/standards/infrastructure/supabase/supabase-storage.md +0 -153
- package/stacks/nextjs-supabase/.morph/standards/integration/api/graphql.md +0 -91
- package/stacks/nextjs-supabase/.morph/standards/integration/api/grpc.md +0 -114
- package/stacks/nextjs-supabase/.morph/standards/integration/api/rest-design.md +0 -95
- package/stacks/nextjs-supabase/.morph/standards/integration/event-driven/cqrs.md +0 -101
- package/stacks/nextjs-supabase/.morph/standards/integration/event-driven/event-sourcing.md +0 -124
- package/stacks/nextjs-supabase/.morph/standards/integration/event-driven/service-bus.md +0 -95
- package/stacks/nextjs-supabase/.morph/standards/observability/logging.md +0 -131
- package/stacks/nextjs-supabase/.morph/standards/observability/metrics.md +0 -121
- package/stacks/nextjs-supabase/.morph/standards/observability/monitoring.md +0 -114
- package/stacks/nextjs-supabase/.morph/standards/observability/tracing.md +0 -132
- package/stacks/nextjs-supabase/.morph/standards/workflows/parallel-execution.md +0 -112
- package/stacks/nextjs-supabase/.morph/standards/workflows/thread-management.md +0 -113
- package/stacks/nextjs-supabase/CLAUDE.md +0 -155
- package/stacks/nextjs-supabase/README.md +0 -103
- /package/{stacks/blazor-azure/.claude → framework}/commands/morph-apply.md +0 -0
- /package/{stacks/blazor-azure/.claude → framework}/commands/morph-archive.md +0 -0
- /package/{stacks/blazor-azure/.claude → framework}/commands/morph-preflight.md +0 -0
- /package/{stacks/blazor-azure/.claude → framework}/commands/morph-proposal.md +0 -0
- /package/{stacks/blazor-azure/.claude → framework}/commands/morph-status.md +0 -0
- /package/{stacks/blazor-azure/.claude → framework}/commands/morph-troubleshoot.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/ai-agents/blazor-ui.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/ai-agents/production.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/ai-agents/setup.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/ai-agents/team-orchestration.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/ai-agents/workflows.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/architecture/ddd/aggregates.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/architecture/ddd/entities.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/architecture/ddd/value-objects.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/backend/api/minimal-api.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/backend/api/rest.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/backend/api/validation.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/backend/authentication/passkeys.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/backend/database/ef-core.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/backend/database/migrations.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/backend/database/postgresql/database.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/backend/database/repository-patterns.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/backend/database/vector-search-rag.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/backend/dotnet/async.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/backend/dotnet/core.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/backend/dotnet/di.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/backend/dotnet/program-cs-checklist.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/backend/integrations/asaas/asaas-api.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/backend/integrations/clerk/clerk-auth.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/backend/integrations/hangfire/hangfire-jobs.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/backend/integrations/resend/resend-email.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/context/analytics.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/context/bundles.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/context/priming.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/core/architecture.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/core/coding.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/core/git-branching-strategy.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/core/git.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/core/testing.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/data/nosql/blob-storage.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/data/nosql/cache/redis.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/data/nosql/cosmos-db.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/data/vector-search/azure-ai-search.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/data/vector-search/rag-chunking.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/frontend/blazor/design-checklist.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/frontend/blazor/fluent-ui-setup.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/frontend/blazor/fluent-ui.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/frontend/blazor/html-conversion.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/frontend/blazor/lifecycle.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/frontend/blazor/pitfalls.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/frontend/blazor/state.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/frontend/design-system/animations.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/frontend/design-system/naming.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/frontend/nextjs/nextjs-patterns.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/azure/azure.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/azure/bicep/bicep-patterns.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/azure/devops/azure-devops-setup.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/azure/devops/local-development.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/azure/services/functions.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/azure/services/service-bus.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/azure/services/storage.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/docker/easypanel-deploy.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/supabase/mcp-setup.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/supabase/supabase-auth.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/supabase/supabase-pgvector.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/supabase/supabase-rls.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/supabase/supabase-storage.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/integration/api/graphql.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/integration/api/grpc.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/integration/api/rest-design.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/integration/event-driven/cqrs.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/integration/event-driven/event-sourcing.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/integration/event-driven/service-bus.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/observability/logging.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/observability/metrics.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/observability/monitoring.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/observability/tracing.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/workflows/parallel-execution.md +0 -0
- /package/{stacks/blazor-azure/.morph → framework}/standards/workflows/thread-management.md +0 -0
package/docs/troubleshooting.md
DELETED
|
@@ -1,269 +0,0 @@
|
|
|
1
|
-
# Troubleshooting - CLI Auto Context Detection
|
|
2
|
-
|
|
3
|
-
Common issues and solutions for MORPH-SPEC auto-detection.
|
|
4
|
-
|
|
5
|
-
## Claude Code Issues
|
|
6
|
-
|
|
7
|
-
### Issue: "Claude Code environment not detected"
|
|
8
|
-
|
|
9
|
-
**Cause**: Auto-detection requires Claude Code CLI to be installed and active.
|
|
10
|
-
|
|
11
|
-
**Solutions**:
|
|
12
|
-
|
|
13
|
-
1. **Use wizard mode** (recommended for first-time setup):
|
|
14
|
-
```bash
|
|
15
|
-
morph-spec init --wizard
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
2. **Install Claude Code** and retry:
|
|
19
|
-
- Download from https://claude.ai/claude-code
|
|
20
|
-
- Ensure `claude` command is in PATH
|
|
21
|
-
- Retry `morph-spec init`
|
|
22
|
-
|
|
23
|
-
3. **Skip auto-detection** and configure manually later:
|
|
24
|
-
```bash
|
|
25
|
-
morph-spec init --skip-detection
|
|
26
|
-
# Later: morph-spec update --wizard
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
### Issue: "LLM analysis timeout"
|
|
30
|
-
|
|
31
|
-
**Cause**: Analysis taking longer than 60 seconds (default timeout for interactive mode).
|
|
32
|
-
|
|
33
|
-
**Solutions**:
|
|
34
|
-
|
|
35
|
-
1. **Clean project before analysis**:
|
|
36
|
-
```bash
|
|
37
|
-
rm -rf node_modules dist build .next
|
|
38
|
-
morph-spec init
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
2. **Use wizard mode** (instant):
|
|
42
|
-
```bash
|
|
43
|
-
morph-spec init --wizard
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
3. **Check Claude Code performance**:
|
|
47
|
-
- Restart Claude Code
|
|
48
|
-
- Check system resources (CPU, memory)
|
|
49
|
-
|
|
50
|
-
## LLM Analysis Errors
|
|
51
|
-
|
|
52
|
-
### Issue: "Schema validation failed"
|
|
53
|
-
|
|
54
|
-
**Cause**: LLM returned JSON that doesn't match the expected schema.
|
|
55
|
-
|
|
56
|
-
**Diagnosis**:
|
|
57
|
-
```bash
|
|
58
|
-
# Enable debug mode to see LLM response
|
|
59
|
-
DEBUG=1 morph-spec init
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
**Solutions**:
|
|
63
|
-
|
|
64
|
-
1. **Use wizard mode** to provide manual input:
|
|
65
|
-
```bash
|
|
66
|
-
morph-spec init --wizard
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
2. **Report issue** if recurring:
|
|
70
|
-
- Include project type in issue report
|
|
71
|
-
- Share anonymized `package.json` or `.csproj` structure
|
|
72
|
-
|
|
73
|
-
### Issue: "LLM response is not valid JSON"
|
|
74
|
-
|
|
75
|
-
**Cause**: LLM returned malformed JSON (rare).
|
|
76
|
-
|
|
77
|
-
**Solutions**:
|
|
78
|
-
|
|
79
|
-
1. **Retry** - may be a one-time error:
|
|
80
|
-
```bash
|
|
81
|
-
morph-spec init
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
2. **Use wizard mode**:
|
|
85
|
-
```bash
|
|
86
|
-
morph-spec init --wizard
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
## File System Issues
|
|
90
|
-
|
|
91
|
-
### Issue: "Permission denied" when creating .morph/
|
|
92
|
-
|
|
93
|
-
**Cause**: Insufficient permissions in project directory.
|
|
94
|
-
|
|
95
|
-
**Solutions**:
|
|
96
|
-
|
|
97
|
-
1. **Run with correct permissions**:
|
|
98
|
-
```bash
|
|
99
|
-
sudo morph-spec init # Unix/Mac
|
|
100
|
-
# Or run as administrator on Windows
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
2. **Check directory ownership**:
|
|
104
|
-
```bash
|
|
105
|
-
ls -la . # Should show your user as owner
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
### Issue: Config files getting overwritten
|
|
109
|
-
|
|
110
|
-
**Cause**: Running `morph-spec update` without reviewing changes.
|
|
111
|
-
|
|
112
|
-
**Protection**: Auto-detection creates backups:
|
|
113
|
-
- `.morph/project.md.YYYY-MM-DDTHH-MM-SS.backup`
|
|
114
|
-
- `.morph/config/config.json.YYYY-MM-DDTHH-MM-SS.backup`
|
|
115
|
-
|
|
116
|
-
**Solutions**:
|
|
117
|
-
|
|
118
|
-
1. **Review diff before approving**:
|
|
119
|
-
- Auto-detection shows diff when updating
|
|
120
|
-
- Choose "Edit" to modify before saving
|
|
121
|
-
|
|
122
|
-
2. **Restore from backup** if needed:
|
|
123
|
-
```bash
|
|
124
|
-
cp .morph/project.md.2026-02-14T10-30-00.backup .morph/project.md
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
3. **Skip auto-detection** during update:
|
|
128
|
-
```bash
|
|
129
|
-
morph-spec update --skip-detection
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
## Detection Accuracy Issues
|
|
133
|
-
|
|
134
|
-
### Issue: Wrong project type detected
|
|
135
|
-
|
|
136
|
-
**Example**: Monorepo detected as `nextjs` instead of `monorepo`.
|
|
137
|
-
|
|
138
|
-
**Solutions**:
|
|
139
|
-
|
|
140
|
-
1. **Use wizard mode** for accurate manual input:
|
|
141
|
-
```bash
|
|
142
|
-
morph-spec init --wizard
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
2. **Edit config after generation**:
|
|
146
|
-
- Choose "Edit" during review
|
|
147
|
-
- Manually correct `type` field in config.json
|
|
148
|
-
|
|
149
|
-
3. **Report detection issue**:
|
|
150
|
-
- Helps improve LLM prompt and examples
|
|
151
|
-
|
|
152
|
-
### Issue: Missing dependencies detected
|
|
153
|
-
|
|
154
|
-
**Cause**: Auto-detection only reads whitelisted files (package.json, .csproj).
|
|
155
|
-
|
|
156
|
-
**Solution**:
|
|
157
|
-
|
|
158
|
-
- This is by design (privacy/security)
|
|
159
|
-
- If critical dependency is missed, manually edit `.morph/project.md`
|
|
160
|
-
|
|
161
|
-
### Issue: Low confidence score (<70%)
|
|
162
|
-
|
|
163
|
-
**Cause**: Project structure is unclear or non-standard.
|
|
164
|
-
|
|
165
|
-
**Solutions**:
|
|
166
|
-
|
|
167
|
-
1. **Add README.md or CLAUDE.md** with project description
|
|
168
|
-
2. **Use wizard mode** for manual configuration
|
|
169
|
-
3. **Accept low confidence** - configs can be edited later
|
|
170
|
-
|
|
171
|
-
## Edge Case Handling
|
|
172
|
-
|
|
173
|
-
### Empty Project (no package.json or .csproj)
|
|
174
|
-
|
|
175
|
-
**Behavior**: Auto-fallback to wizard mode.
|
|
176
|
-
|
|
177
|
-
**Solution**: Answer 7 wizard questions to configure manually.
|
|
178
|
-
|
|
179
|
-
### Monorepo with Multiple Stacks
|
|
180
|
-
|
|
181
|
-
**Behavior**: Detects all stacks, sets `type: "monorepo"`.
|
|
182
|
-
|
|
183
|
-
**Example Output**:
|
|
184
|
-
```json
|
|
185
|
-
{
|
|
186
|
-
"type": "monorepo",
|
|
187
|
-
"stack": {
|
|
188
|
-
"frontend": { "tech": "Next.js", "version": "15" },
|
|
189
|
-
"backend": { "tech": ".NET", "version": "10" }
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
### Project with No Database
|
|
195
|
-
|
|
196
|
-
**Behavior**: `stack.database` set to `null`.
|
|
197
|
-
|
|
198
|
-
**Warning**: May show "Database technology not detected" in warnings.
|
|
199
|
-
|
|
200
|
-
### Git Repo Without Remote
|
|
201
|
-
|
|
202
|
-
**Behavior**: `gitRemote` set to `null`.
|
|
203
|
-
|
|
204
|
-
**Not an error** - local repos are valid.
|
|
205
|
-
|
|
206
|
-
## Privacy & Security Concerns
|
|
207
|
-
|
|
208
|
-
### Question: What data is sent to LLM?
|
|
209
|
-
|
|
210
|
-
**Answer**: Only sanitized, whitelisted data:
|
|
211
|
-
- package.json (dependencies only, secrets removed)
|
|
212
|
-
- .csproj filenames (not contents)
|
|
213
|
-
- First 500 chars of README.md and CLAUDE.md
|
|
214
|
-
- Directory structure (folder names only)
|
|
215
|
-
- Infrastructure file counts (not contents)
|
|
216
|
-
|
|
217
|
-
**Never sent**:
|
|
218
|
-
- `.env` files
|
|
219
|
-
- Secrets/passwords/API keys
|
|
220
|
-
- File contents (except whitelisted files)
|
|
221
|
-
- node_modules/
|
|
222
|
-
- Source code
|
|
223
|
-
|
|
224
|
-
### Question: Is data sent to Anthropic servers?
|
|
225
|
-
|
|
226
|
-
**Answer**: No. LLM analysis runs locally in Claude Code. No external API calls.
|
|
227
|
-
|
|
228
|
-
### Question: What if sensitive data is detected?
|
|
229
|
-
|
|
230
|
-
**Behavior**: Secret redaction removes:
|
|
231
|
-
- API keys (10+ patterns detected)
|
|
232
|
-
- Passwords in connection strings
|
|
233
|
-
- Bearer tokens
|
|
234
|
-
- Private keys (PEM format)
|
|
235
|
-
- GitHub/NPM tokens
|
|
236
|
-
|
|
237
|
-
**Verification**: Review sanitized context in debug mode:
|
|
238
|
-
```bash
|
|
239
|
-
DEBUG=1 morph-spec init
|
|
240
|
-
```
|
|
241
|
-
|
|
242
|
-
## Getting Help
|
|
243
|
-
|
|
244
|
-
### Enable Debug Mode
|
|
245
|
-
|
|
246
|
-
```bash
|
|
247
|
-
DEBUG=1 morph-spec init
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
Shows:
|
|
251
|
-
- Full LLM prompts
|
|
252
|
-
- Raw LLM responses
|
|
253
|
-
- Schema validation errors
|
|
254
|
-
- File read operations
|
|
255
|
-
|
|
256
|
-
### Report Issues
|
|
257
|
-
|
|
258
|
-
GitHub: https://github.com/polymorphism-tech/morph-spec-framework/issues
|
|
259
|
-
|
|
260
|
-
Include:
|
|
261
|
-
- MORPH-SPEC version (`morph-spec --version`)
|
|
262
|
-
- Claude Code version
|
|
263
|
-
- Project type (Next.js, Blazor, etc.)
|
|
264
|
-
- Error message (with DEBUG=1 output if possible)
|
|
265
|
-
- Anonymized `package.json` or `.csproj` structure
|
|
266
|
-
|
|
267
|
-
---
|
|
268
|
-
|
|
269
|
-
**Need more help?** Check the [CLI Auto Detection Guide](./cli-auto-detection.md).
|
|
@@ -1,264 +0,0 @@
|
|
|
1
|
-
# MORPH-SPEC Validation Checklist
|
|
2
|
-
|
|
3
|
-
Checklist para validar o framework em um projeto real.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## 1. Setup Validation
|
|
8
|
-
|
|
9
|
-
### 1.1 Instalação
|
|
10
|
-
- [ ] Script `setup.ps1` ou `setup.sh` executa sem erros
|
|
11
|
-
- [ ] Pasta `.morph` criada corretamente
|
|
12
|
-
- [ ] Pasta `.claude` criada corretamente
|
|
13
|
-
- [ ] `CLAUDE.md` copiado para raiz do projeto
|
|
14
|
-
- [ ] Pasta `infra` criada com templates Bicep
|
|
15
|
-
|
|
16
|
-
### 1.2 Configuração
|
|
17
|
-
- [ ] `config.json` criado a partir do template
|
|
18
|
-
- [ ] Nome do projeto configurado
|
|
19
|
-
- [ ] Stack selecionada (blazor/nextjs)
|
|
20
|
-
- [ ] Azure subscription configurada (se aplicável)
|
|
21
|
-
|
|
22
|
-
### 1.3 Estrutura de Arquivos
|
|
23
|
-
- [ ] `.morph/standards/` contém 3 arquivos (coding, architecture, azure)
|
|
24
|
-
- [ ] `.morph/templates/` contém todos os templates
|
|
25
|
-
- [ ] `.morph/templates/infra/` contém 9 arquivos Bicep
|
|
26
|
-
- [ ] `.morph/templates/integrations/` contém 4 arquivos
|
|
27
|
-
- [ ] `.morph/templates/saas/` contém 2 arquivos
|
|
28
|
-
- [ ] `.claude/commands/` contém 6 comandos
|
|
29
|
-
- [ ] `.claude/skills/` contém 17 skills
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
## 2. Slash Commands Validation
|
|
34
|
-
|
|
35
|
-
### 2.1 /morph-proposal
|
|
36
|
-
- [ ] Comando reconhecido pelo Claude Code
|
|
37
|
-
- [ ] Carrega contexto do projeto
|
|
38
|
-
- [ ] Identifica agentes por keywords
|
|
39
|
-
- [ ] Gera `spec.md` na pasta correta
|
|
40
|
-
- [ ] Gera `contracts.cs` com interfaces/DTOs
|
|
41
|
-
- [ ] Gera `decisions.md` com ADRs
|
|
42
|
-
- [ ] Para e aguarda aprovação
|
|
43
|
-
|
|
44
|
-
### 2.2 /morph-apply
|
|
45
|
-
- [ ] Comando reconhecido pelo Claude Code
|
|
46
|
-
- [ ] Carrega spec existente
|
|
47
|
-
- [ ] Quebra em tasks
|
|
48
|
-
- [ ] Implementa task por task
|
|
49
|
-
- [ ] Executa testes
|
|
50
|
-
- [ ] Faz checkpoints a cada 3 tasks
|
|
51
|
-
- [ ] Gera `recap.md` ao final
|
|
52
|
-
|
|
53
|
-
### 2.3 /morph-status
|
|
54
|
-
- [ ] Mostra features em andamento
|
|
55
|
-
- [ ] Mostra fase atual de cada feature
|
|
56
|
-
- [ ] Lista agentes ativos
|
|
57
|
-
|
|
58
|
-
### 2.4 /morph-infra
|
|
59
|
-
- [ ] `init` cria estrutura de infra
|
|
60
|
-
- [ ] `validate` valida templates Bicep
|
|
61
|
-
- [ ] `plan` mostra recursos que serão criados
|
|
62
|
-
|
|
63
|
-
### 2.5 /morph-costs
|
|
64
|
-
- [ ] Estima custos dos recursos
|
|
65
|
-
- [ ] Mostra free tier vs paid
|
|
66
|
-
- [ ] Alerta sobre custos acima do limite
|
|
67
|
-
|
|
68
|
-
### 2.6 /morph-archive
|
|
69
|
-
- [ ] Move feature para archive
|
|
70
|
-
- [ ] Atualiza status
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
## 3. Agent Activation Validation
|
|
75
|
-
|
|
76
|
-
### 3.1 Core Agents (Sempre Ativos)
|
|
77
|
-
- [ ] Standards Architect ativado em todas as features
|
|
78
|
-
- [ ] Azure Architect ativado quando há infra
|
|
79
|
-
- [ ] Cost Guardian monitora custos
|
|
80
|
-
|
|
81
|
-
### 3.2 Stack Agents
|
|
82
|
-
| Keyword | Agente Esperado | Status |
|
|
83
|
-
|---------|-----------------|--------|
|
|
84
|
-
| "blazor", "razor" | Blazor Builder | [ ] |
|
|
85
|
-
| "nextjs", "react" | NextJS Expert | [ ] |
|
|
86
|
-
|
|
87
|
-
### 3.3 Specialist Agents
|
|
88
|
-
| Keyword | Agente Esperado | Status |
|
|
89
|
-
|---------|-----------------|--------|
|
|
90
|
-
| "database", "entity" | EF Modeler | [ ] |
|
|
91
|
-
| "agent", "ai" | MS Agent Expert | [ ] |
|
|
92
|
-
| "scheduled", "job" | Hangfire Orchestrator | [ ] |
|
|
93
|
-
| "wizard", "dashboard" | UI/UX Designer | [ ] |
|
|
94
|
-
| "unclear", "requirements" | PO/PM Advisor | [ ] |
|
|
95
|
-
|
|
96
|
-
### 3.4 Integration Agents
|
|
97
|
-
| Keyword | Agente Esperado | Status |
|
|
98
|
-
|---------|-----------------|--------|
|
|
99
|
-
| "asaas", "pix", "boleto" | Asaas Financial | [ ] |
|
|
100
|
-
| "clerk", "auth" | Clerk Auth | [ ] |
|
|
101
|
-
| "identity", "entra" | Azure Identity | [ ] |
|
|
102
|
-
|
|
103
|
-
### 3.5 Infra Agents
|
|
104
|
-
| Keyword | Agente Esperado | Status |
|
|
105
|
-
|---------|-----------------|--------|
|
|
106
|
-
| "bicep", "iac" | Bicep Architect | [ ] |
|
|
107
|
-
| "pipeline", "ci/cd" | DevOps Engineer | [ ] |
|
|
108
|
-
| "container", "docker" | Container Specialist | [ ] |
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
|
|
112
|
-
## 4. Templates Validation
|
|
113
|
-
|
|
114
|
-
### 4.1 Feature Templates
|
|
115
|
-
- [ ] `spec.md` template funciona
|
|
116
|
-
- [ ] `tasks.md` template funciona
|
|
117
|
-
- [ ] `contracts.cs` template funciona
|
|
118
|
-
- [ ] `decisions.md` template funciona
|
|
119
|
-
- [ ] `recap.md` template funciona
|
|
120
|
-
|
|
121
|
-
### 4.2 Code Templates
|
|
122
|
-
- [ ] `component.razor` compila
|
|
123
|
-
- [ ] `service.cs` compila
|
|
124
|
-
- [ ] `repository.cs` compila
|
|
125
|
-
- [ ] `test.cs` compila
|
|
126
|
-
- [ ] `migration.cs` compila
|
|
127
|
-
- [ ] `agent.cs` compila
|
|
128
|
-
- [ ] `job.cs` compila
|
|
129
|
-
|
|
130
|
-
### 4.3 IaC Templates
|
|
131
|
-
- [ ] `main.bicep` valida (`az bicep build`)
|
|
132
|
-
- [ ] `container-app.bicep` valida
|
|
133
|
-
- [ ] `container-app-env.bicep` valida
|
|
134
|
-
- [ ] `sql-database.bicep` valida
|
|
135
|
-
- [ ] `storage.bicep` valida
|
|
136
|
-
- [ ] `key-vault.bicep` valida
|
|
137
|
-
- [ ] `app-insights.bicep` valida
|
|
138
|
-
|
|
139
|
-
### 4.4 Integration Templates
|
|
140
|
-
- [ ] `asaas-client.cs` compila
|
|
141
|
-
- [ ] `asaas-webhook.cs` compila
|
|
142
|
-
- [ ] `clerk-config.cs` compila
|
|
143
|
-
- [ ] `azure-identity-config.cs` compila
|
|
144
|
-
|
|
145
|
-
### 4.5 SaaS Templates
|
|
146
|
-
- [ ] `subscription.cs` compila
|
|
147
|
-
- [ ] `tenant.cs` compila
|
|
148
|
-
|
|
149
|
-
---
|
|
150
|
-
|
|
151
|
-
## 5. Workflow Validation
|
|
152
|
-
|
|
153
|
-
### 5.1 Fase 1: SETUP
|
|
154
|
-
- [ ] Carrega `.morph/project.md`
|
|
155
|
-
- [ ] Carrega `.morph/config/config.json`
|
|
156
|
-
- [ ] Identifica stack do projeto
|
|
157
|
-
- [ ] Cria pasta em `.morph/features/<feature>`
|
|
158
|
-
|
|
159
|
-
### 5.2 Fase 2: DESIGN
|
|
160
|
-
- [ ] Gera spec baseado na descrição
|
|
161
|
-
- [ ] Consulta `.morph/standards/` para padrões
|
|
162
|
-
- [ ] Gera contracts.cs com DTOs corretos
|
|
163
|
-
- [ ] Estima custos e documenta
|
|
164
|
-
- [ ] PARA para aprovação
|
|
165
|
-
|
|
166
|
-
### 5.3 Fase 3: CLARIFY
|
|
167
|
-
- [ ] Identifica ambiguidades
|
|
168
|
-
- [ ] Faz perguntas relevantes
|
|
169
|
-
- [ ] Atualiza spec com respostas
|
|
170
|
-
|
|
171
|
-
### 5.4 Fase 4: TASKS
|
|
172
|
-
- [ ] Quebra spec em tasks numeradas
|
|
173
|
-
- [ ] Define dependências entre tasks
|
|
174
|
-
- [ ] Estabelece checkpoints
|
|
175
|
-
- [ ] PARA para aprovação
|
|
176
|
-
|
|
177
|
-
### 5.5 Fase 5: IMPLEMENT
|
|
178
|
-
- [ ] Implementa tasks na ordem
|
|
179
|
-
- [ ] Segue padrões de `coding.md`
|
|
180
|
-
- [ ] Executa testes após cada task
|
|
181
|
-
- [ ] Faz checkpoint a cada 3 tasks
|
|
182
|
-
- [ ] Gera recap ao final
|
|
183
|
-
|
|
184
|
-
---
|
|
185
|
-
|
|
186
|
-
## 6. Cost Validation
|
|
187
|
-
|
|
188
|
-
### 6.1 Limites
|
|
189
|
-
- [ ] Alerta quando recurso ultrapassa free tier
|
|
190
|
-
- [ ] Bloqueia recursos > $10/mês sem aprovação
|
|
191
|
-
- [ ] Requer ADR para recursos > $10/mês
|
|
192
|
-
|
|
193
|
-
### 6.2 Estimativas
|
|
194
|
-
- [ ] Container Apps: $0 (scale-to-zero)
|
|
195
|
-
- [ ] SQL Database: $0 (Free tier 32GB)
|
|
196
|
-
- [ ] Storage: < $1/mês
|
|
197
|
-
- [ ] App Insights: $0 (5GB free)
|
|
198
|
-
|
|
199
|
-
---
|
|
200
|
-
|
|
201
|
-
## 7. End-to-End Test
|
|
202
|
-
|
|
203
|
-
### 7.1 Cenário: Feature Simples
|
|
204
|
-
```
|
|
205
|
-
/morph-proposal user-profile
|
|
206
|
-
Descrição: "Adicionar página de perfil do usuário com edição de dados"
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
**Esperado**:
|
|
210
|
-
- [ ] Ativa: Standards Architect, Blazor Builder, EF Modeler
|
|
211
|
-
- [ ] Gera spec com requisitos de perfil
|
|
212
|
-
- [ ] Gera contracts com UserProfileDto
|
|
213
|
-
- [ ] Tasks incluem: criar entity, criar service, criar página
|
|
214
|
-
|
|
215
|
-
### 7.2 Cenário: Feature com Pagamento
|
|
216
|
-
```
|
|
217
|
-
/morph-proposal subscription-billing
|
|
218
|
-
Descrição: "Implementar cobrança de assinaturas com Asaas, PIX e boleto"
|
|
219
|
-
```
|
|
220
|
-
|
|
221
|
-
**Esperado**:
|
|
222
|
-
- [ ] Ativa: Asaas Financial, Cost Guardian
|
|
223
|
-
- [ ] Consulta skill `asaas-financial.md`
|
|
224
|
-
- [ ] Usa template `asaas-client.cs`
|
|
225
|
-
- [ ] Usa template `subscription.cs`
|
|
226
|
-
|
|
227
|
-
### 7.3 Cenário: Feature com Infra
|
|
228
|
-
```
|
|
229
|
-
/morph-proposal deploy-production
|
|
230
|
-
Descrição: "Configurar deploy para produção com Container Apps e SQL"
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
**Esperado**:
|
|
234
|
-
- [ ] Ativa: Bicep Architect, Container Specialist, Azure Architect
|
|
235
|
-
- [ ] Usa templates de `infra/`
|
|
236
|
-
- [ ] Estima custos
|
|
237
|
-
- [ ] Gera `parameters.prod.json`
|
|
238
|
-
|
|
239
|
-
---
|
|
240
|
-
|
|
241
|
-
## 8. Issues Found
|
|
242
|
-
|
|
243
|
-
| # | Descrição | Severidade | Status |
|
|
244
|
-
|---|-----------|------------|--------|
|
|
245
|
-
| 1 | | | |
|
|
246
|
-
| 2 | | | |
|
|
247
|
-
| 3 | | | |
|
|
248
|
-
|
|
249
|
-
---
|
|
250
|
-
|
|
251
|
-
## 9. Sign-off
|
|
252
|
-
|
|
253
|
-
| Item | Responsável | Data | Status |
|
|
254
|
-
|------|-------------|------|--------|
|
|
255
|
-
| Setup | | | [ ] |
|
|
256
|
-
| Commands | | | [ ] |
|
|
257
|
-
| Agents | | | [ ] |
|
|
258
|
-
| Templates | | | [ ] |
|
|
259
|
-
| Workflow | | | [ ] |
|
|
260
|
-
| E2E Tests | | | [ ] |
|
|
261
|
-
|
|
262
|
-
---
|
|
263
|
-
|
|
264
|
-
*MORPH-SPEC by Polymorphism Tech*
|
package/scripts/postinstall.js
DELETED
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Postinstall script for @polymorphism-tech/morph-spec
|
|
5
|
-
*
|
|
6
|
-
* Checks if morph-spec is accessible in PATH and warns users
|
|
7
|
-
* if it's not (common issue with nvm-windows).
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import { execSync } from 'child_process';
|
|
11
|
-
import { platform } from 'os';
|
|
12
|
-
import chalk from 'chalk';
|
|
13
|
-
|
|
14
|
-
const isWindows = platform() === 'win32';
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Check if morph-spec command is in PATH
|
|
18
|
-
*/
|
|
19
|
-
function isMorphSpecInPath() {
|
|
20
|
-
try {
|
|
21
|
-
const command = isWindows ? 'where morph-spec' : 'which morph-spec';
|
|
22
|
-
execSync(command, { stdio: 'ignore' });
|
|
23
|
-
return true;
|
|
24
|
-
} catch {
|
|
25
|
-
return false;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Detect if nvm-windows is installed
|
|
31
|
-
*/
|
|
32
|
-
function isUsingNvmWindows() {
|
|
33
|
-
if (!isWindows) return false;
|
|
34
|
-
|
|
35
|
-
try {
|
|
36
|
-
const path = process.env.PATH || '';
|
|
37
|
-
return path.includes('nvm4w') || path.includes('\\nvm\\');
|
|
38
|
-
} catch {
|
|
39
|
-
return false;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Get npm global prefix
|
|
45
|
-
*/
|
|
46
|
-
function getNpmGlobalPrefix() {
|
|
47
|
-
try {
|
|
48
|
-
const prefix = execSync('npm config get prefix', { encoding: 'utf8' }).trim();
|
|
49
|
-
return prefix;
|
|
50
|
-
} catch {
|
|
51
|
-
return null;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Show installation success message
|
|
57
|
-
*/
|
|
58
|
-
function showSuccessMessage() {
|
|
59
|
-
console.log('');
|
|
60
|
-
console.log(chalk.green('✓ @polymorphism-tech/morph-spec installed successfully!'));
|
|
61
|
-
console.log('');
|
|
62
|
-
console.log(chalk.cyan('Quick start:'));
|
|
63
|
-
console.log(chalk.white(' morph-spec init'));
|
|
64
|
-
console.log(chalk.white(' morph-spec --help'));
|
|
65
|
-
console.log('');
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Show PATH warning for nvm-windows users
|
|
70
|
-
*/
|
|
71
|
-
function showPathWarning() {
|
|
72
|
-
console.log('');
|
|
73
|
-
console.log(chalk.yellow('⚠ Warning: morph-spec command not found in PATH'));
|
|
74
|
-
console.log('');
|
|
75
|
-
|
|
76
|
-
if (isUsingNvmWindows()) {
|
|
77
|
-
console.log(chalk.white('You are using nvm-windows, which does not automatically add'));
|
|
78
|
-
console.log(chalk.white('npm global packages to your PATH.'));
|
|
79
|
-
console.log('');
|
|
80
|
-
console.log(chalk.cyan('Solution 1: Add npm global directory to PATH'));
|
|
81
|
-
|
|
82
|
-
const prefix = getNpmGlobalPrefix();
|
|
83
|
-
if (prefix) {
|
|
84
|
-
console.log(chalk.white(` Add this to your PATH: ${chalk.yellow(prefix)}`));
|
|
85
|
-
console.log('');
|
|
86
|
-
console.log(chalk.gray(' PowerShell (as Administrator):'));
|
|
87
|
-
console.log(chalk.white(` [Environment]::SetEnvironmentVariable("Path", [Environment]::GetEnvironmentVariable("Path", "User") + ";${prefix}", "User")`));
|
|
88
|
-
console.log('');
|
|
89
|
-
console.log(chalk.gray(' Or manually via System Properties > Environment Variables'));
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
console.log('');
|
|
93
|
-
console.log(chalk.cyan('Solution 2: Use npx (recommended)'));
|
|
94
|
-
console.log(chalk.white(' npx @polymorphism-tech/morph-spec init'));
|
|
95
|
-
console.log(chalk.white(' npx @polymorphism-tech/morph-spec --help'));
|
|
96
|
-
} else {
|
|
97
|
-
console.log(chalk.white('The morph-spec command was not found in your PATH.'));
|
|
98
|
-
console.log('');
|
|
99
|
-
console.log(chalk.cyan('Solution: Use npx instead'));
|
|
100
|
-
console.log(chalk.white(' npx @polymorphism-tech/morph-spec init'));
|
|
101
|
-
console.log(chalk.white(' npx @polymorphism-tech/morph-spec --help'));
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
console.log('');
|
|
105
|
-
console.log(chalk.gray('For more help, see: https://github.com/lucasPolymorphism/morph-spec-framework#troubleshooting'));
|
|
106
|
-
console.log('');
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* Main postinstall check
|
|
111
|
-
*/
|
|
112
|
-
function main() {
|
|
113
|
-
// Only show messages for global installs
|
|
114
|
-
// Skip for local installs (when used as dependency)
|
|
115
|
-
const isGlobalInstall = process.env.npm_config_global === 'true';
|
|
116
|
-
|
|
117
|
-
if (!isGlobalInstall) {
|
|
118
|
-
// Silent exit for local installs
|
|
119
|
-
return;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
// Give npm a moment to set up the symlinks
|
|
123
|
-
setTimeout(() => {
|
|
124
|
-
if (isMorphSpecInPath()) {
|
|
125
|
-
showSuccessMessage();
|
|
126
|
-
} else {
|
|
127
|
-
showPathWarning();
|
|
128
|
-
}
|
|
129
|
-
}, 100);
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
main();
|