@polymorphism-tech/morph-spec 4.3.2 → 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/nextjs-supabase/.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 +78 -31
- package/src/commands/project/update.js +9 -5
- 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/archive/.gitkeep +0 -25
- package/stacks/blazor-azure/.morph/config/agents.json +0 -948
- package/stacks/blazor-azure/.morph/config/config.template.json +0 -122
- package/stacks/blazor-azure/.morph/features/.gitkeep +0 -25
- package/stacks/blazor-azure/.morph/hooks/pre-commit/tests-csharp.sh +0 -61
- package/stacks/blazor-azure/.morph/project/context/README.md +0 -17
- package/stacks/blazor-azure/.morph/project.md +0 -160
- 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/state.json +0 -18
- package/stacks/blazor-azure/.morph/test-infra/example.bicep +0 -59
- 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/config.json +0 -9
- package/stacks/nextjs-supabase/.morph/config/config.template.json +0 -92
- package/stacks/nextjs-supabase/.morph/hooks/pre-commit/tests-typescript.sh +0 -61
- package/stacks/nextjs-supabase/.morph/project/context/README.md +0 -17
- package/stacks/nextjs-supabase/.morph/project.md +0 -168
- 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
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
.pln {
|
|
2
|
-
color: #ddd;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
/* string content */
|
|
6
|
-
.str {
|
|
7
|
-
color: #61ce3c;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
/* a keyword */
|
|
11
|
-
.kwd {
|
|
12
|
-
color: #fbde2d;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
/* a comment */
|
|
16
|
-
.com {
|
|
17
|
-
color: #aeaeae;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/* a type name */
|
|
21
|
-
.typ {
|
|
22
|
-
color: #8da6ce;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
/* a literal value */
|
|
26
|
-
.lit {
|
|
27
|
-
color: #fbde2d;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/* punctuation */
|
|
31
|
-
.pun {
|
|
32
|
-
color: #ddd;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/* lisp open bracket */
|
|
36
|
-
.opn {
|
|
37
|
-
color: #000000;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/* lisp close bracket */
|
|
41
|
-
.clo {
|
|
42
|
-
color: #000000;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/* a markup tag name */
|
|
46
|
-
.tag {
|
|
47
|
-
color: #8da6ce;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/* a markup attribute name */
|
|
51
|
-
.atn {
|
|
52
|
-
color: #fbde2d;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/* a markup attribute value */
|
|
56
|
-
.atv {
|
|
57
|
-
color: #ddd;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
/* a declaration */
|
|
61
|
-
.dec {
|
|
62
|
-
color: #EF5050;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/* a variable name */
|
|
66
|
-
.var {
|
|
67
|
-
color: #c82829;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/* a function name */
|
|
71
|
-
.fun {
|
|
72
|
-
color: #4271ae;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/* Specify class=linenums on a pre to get line numbering */
|
|
76
|
-
ol.linenums {
|
|
77
|
-
margin-top: 0;
|
|
78
|
-
margin-bottom: 0;
|
|
79
|
-
padding-bottom: 2px;
|
|
80
|
-
}
|
|
@@ -1,219 +0,0 @@
|
|
|
1
|
-
# CLI Auto Context Detection
|
|
2
|
-
|
|
3
|
-
The MORPH-SPEC CLI now includes intelligent auto-detection that analyzes your project and automatically generates accurate configuration files.
|
|
4
|
-
|
|
5
|
-
## Features
|
|
6
|
-
|
|
7
|
-
- **🤖 LLM-Powered Analysis**: Uses Claude Code's embedded LLM to analyze your project
|
|
8
|
-
- **📊 Multi-Stack Support**: Detects Next.js, Blazor, .NET APIs, monorepos, and more
|
|
9
|
-
- **🔒 Privacy-First**: All data stays local (no external API calls)
|
|
10
|
-
- **🎯 90%+ Accuracy**: Few-shot learning with real project examples
|
|
11
|
-
- **🛡️ Secret Sanitization**: Automatically redacts API keys, passwords, and sensitive data
|
|
12
|
-
- **🧙 Fallback Wizard**: Manual 7-question wizard if auto-detection fails
|
|
13
|
-
|
|
14
|
-
## Usage
|
|
15
|
-
|
|
16
|
-
### New Projects
|
|
17
|
-
|
|
18
|
-
```bash
|
|
19
|
-
# Initialize MORPH with auto-detection
|
|
20
|
-
morph-spec init
|
|
21
|
-
|
|
22
|
-
# Skip auto-detection (manual config later)
|
|
23
|
-
morph-spec init --skip-detection
|
|
24
|
-
|
|
25
|
-
# Force wizard mode (skip LLM)
|
|
26
|
-
morph-spec init --wizard
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
### Existing Projects
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
# Re-analyze and update configs
|
|
33
|
-
morph-spec update
|
|
34
|
-
|
|
35
|
-
# Skip auto-detection during update
|
|
36
|
-
morph-spec update --skip-detection
|
|
37
|
-
|
|
38
|
-
# Force wizard mode
|
|
39
|
-
morph-spec update --wizard
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
## How It Works
|
|
43
|
-
|
|
44
|
-
### 1. Project Scanning
|
|
45
|
-
|
|
46
|
-
Scans your project for:
|
|
47
|
-
- `package.json` (dependencies, scripts)
|
|
48
|
-
- `.csproj` and `.sln` files
|
|
49
|
-
- `README.md` and `CLAUDE.md`
|
|
50
|
-
- Directory structure (src/, frontend/, backend/, etc.)
|
|
51
|
-
- Infrastructure files (Dockerfile, *.bicep, CI/CD pipelines)
|
|
52
|
-
- Git remote URL
|
|
53
|
-
|
|
54
|
-
### 2. Context Sanitization
|
|
55
|
-
|
|
56
|
-
Removes sensitive data before LLM analysis:
|
|
57
|
-
- **Whitelisted files**: Only reads safe files (package.json, README, etc.)
|
|
58
|
-
- **Blacklisted directories**: Never scans node_modules/, .git/, bin/, obj/
|
|
59
|
-
- **Secret redaction**: Removes API keys, passwords, connection strings
|
|
60
|
-
- **File truncation**: Limits README/CLAUDE.md to first 500 chars
|
|
61
|
-
|
|
62
|
-
### 3. LLM Analysis
|
|
63
|
-
|
|
64
|
-
Uses Claude Code's LLM with few-shot learning:
|
|
65
|
-
- 3 example projects (Next.js, Blazor, Monorepo)
|
|
66
|
-
- Structured JSON output
|
|
67
|
-
- Schema validation with Ajv
|
|
68
|
-
- Confidence scoring (0-100%)
|
|
69
|
-
|
|
70
|
-
### 4. User Review
|
|
71
|
-
|
|
72
|
-
Interactive preview with options:
|
|
73
|
-
- ✅ **Approve** - Save configs as-is
|
|
74
|
-
- ✏️ **Edit** - Open in $EDITOR before saving
|
|
75
|
-
- ❌ **Cancel** - Abort without changes
|
|
76
|
-
|
|
77
|
-
Shows diff if updating existing configs.
|
|
78
|
-
|
|
79
|
-
### 5. Fallback to Wizard
|
|
80
|
-
|
|
81
|
-
If LLM fails (no Claude Code, timeout, invalid response):
|
|
82
|
-
- Automatically launches 7-question interactive wizard
|
|
83
|
-
- Asks: name, description, type, frontend, backend, database, infrastructure
|
|
84
|
-
- Generates valid config from manual input
|
|
85
|
-
|
|
86
|
-
## Requirements
|
|
87
|
-
|
|
88
|
-
- **Claude Code CLI**: Auto-detection requires Claude Code environment
|
|
89
|
-
- **Node.js 18+**: For running the CLI
|
|
90
|
-
- **Git (optional)**: For remote URL detection
|
|
91
|
-
|
|
92
|
-
## Configuration Files Generated
|
|
93
|
-
|
|
94
|
-
### `.morph/project.md`
|
|
95
|
-
|
|
96
|
-
Human-readable project overview:
|
|
97
|
-
- Stack summary table
|
|
98
|
-
- Architecture pattern
|
|
99
|
-
- Code conventions
|
|
100
|
-
- Infrastructure (Azure, Docker, CI/CD)
|
|
101
|
-
- LLM confidence score
|
|
102
|
-
- Warnings (if any)
|
|
103
|
-
|
|
104
|
-
### `.morph/config/config.json`
|
|
105
|
-
|
|
106
|
-
Machine-readable config for agents:
|
|
107
|
-
- Project name, type, description
|
|
108
|
-
- Stack (frontend, backend, database, hosting)
|
|
109
|
-
- Architecture pattern
|
|
110
|
-
- Infrastructure flags
|
|
111
|
-
- Generated metadata (timestamp, confidence)
|
|
112
|
-
|
|
113
|
-
## Supported Project Types
|
|
114
|
-
|
|
115
|
-
| Type | Detection Criteria | Example |
|
|
116
|
-
|------|-------------------|---------|
|
|
117
|
-
| `nextjs` | package.json has `next` dependency | Next.js app |
|
|
118
|
-
| `blazor-server` | .csproj with Blazor.Server | Blazor Server app |
|
|
119
|
-
| `dotnet-api` | .csproj without Blazor | .NET Web API |
|
|
120
|
-
| `cli-tool` | package.json with `bin` field | CLI tool |
|
|
121
|
-
| `monorepo` | frontend/ and backend/ directories | Full-stack monorepo |
|
|
122
|
-
| `other` | Fallback for unknown projects | Custom setups |
|
|
123
|
-
|
|
124
|
-
## Troubleshooting
|
|
125
|
-
|
|
126
|
-
### "Claude Code environment not detected"
|
|
127
|
-
|
|
128
|
-
Auto-detection requires Claude Code CLI. Options:
|
|
129
|
-
1. Run `morph-spec init --wizard` for manual configuration
|
|
130
|
-
2. Install Claude Code and retry
|
|
131
|
-
3. Use `--skip-detection` to configure later
|
|
132
|
-
|
|
133
|
-
### "LLM analysis timeout"
|
|
134
|
-
|
|
135
|
-
Default timeout is 60 seconds for interactive use. If analysis takes too long:
|
|
136
|
-
1. Reduce project size (clean node_modules, dist)
|
|
137
|
-
2. Use `--wizard` for manual configuration
|
|
138
|
-
3. Check Claude Code performance
|
|
139
|
-
|
|
140
|
-
### "Schema validation failed"
|
|
141
|
-
|
|
142
|
-
LLM returned invalid JSON. Possible causes:
|
|
143
|
-
- Project structure too complex
|
|
144
|
-
- Missing critical files (no package.json or .csproj)
|
|
145
|
-
- Solution: Use `--wizard` mode
|
|
146
|
-
|
|
147
|
-
### Configs overwriting customizations
|
|
148
|
-
|
|
149
|
-
Auto-detection creates backups:
|
|
150
|
-
- `.morph/project.md.YYYY-MM-DDTHH-MM-SS.backup`
|
|
151
|
-
- `.morph/config/config.json.YYYY-MM-DDTHH-MM-SS.backup`
|
|
152
|
-
|
|
153
|
-
Review diffs before approving updates.
|
|
154
|
-
|
|
155
|
-
## Edge Cases
|
|
156
|
-
|
|
157
|
-
| Edge Case | Behavior |
|
|
158
|
-
|-----------|----------|
|
|
159
|
-
| Empty project (no files) | Falls back to wizard |
|
|
160
|
-
| Large project (1000+ files) | Only whitelisted files read |
|
|
161
|
-
| Monorepo with multiple stacks | Detects all stacks, shows in config |
|
|
162
|
-
| No database detected | `stack.database` set to `null` |
|
|
163
|
-
| No frontend detected | `stack.frontend` set to `null` |
|
|
164
|
-
| Git repo without remote | `gitRemote` set to `null` |
|
|
165
|
-
| User cancels (Ctrl+C) | Clean exit, no files modified |
|
|
166
|
-
|
|
167
|
-
## Privacy & Security
|
|
168
|
-
|
|
169
|
-
✅ **Local-only processing**: LLM runs in Claude Code (no external API calls)
|
|
170
|
-
✅ **Secret redaction**: 10+ secret patterns detected and removed
|
|
171
|
-
✅ **Whitelist-only reads**: Only safe files are analyzed
|
|
172
|
-
✅ **No telemetry**: No data sent to Anthropic or third parties
|
|
173
|
-
|
|
174
|
-
## Examples
|
|
175
|
-
|
|
176
|
-
### Example 1: Next.js + Supabase
|
|
177
|
-
|
|
178
|
-
**Detected:**
|
|
179
|
-
```json
|
|
180
|
-
{
|
|
181
|
-
"name": "my-nextjs-app",
|
|
182
|
-
"type": "nextjs",
|
|
183
|
-
"stack": {
|
|
184
|
-
"frontend": { "tech": "Next.js", "version": "15" },
|
|
185
|
-
"backend": { "tech": "Supabase", "version": "latest" },
|
|
186
|
-
"database": { "tech": "PostgreSQL", "version": "16" }
|
|
187
|
-
},
|
|
188
|
-
"confidence": 95
|
|
189
|
-
}
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
### Example 2: Blazor + Azure SQL
|
|
193
|
-
|
|
194
|
-
**Detected:**
|
|
195
|
-
```json
|
|
196
|
-
{
|
|
197
|
-
"name": "MyApp",
|
|
198
|
-
"type": "blazor-server",
|
|
199
|
-
"stack": {
|
|
200
|
-
"frontend": { "tech": "Blazor", "version": "10" },
|
|
201
|
-
"backend": { "tech": ".NET", "version": "10" },
|
|
202
|
-
"database": { "tech": "Azure SQL", "version": "latest" }
|
|
203
|
-
},
|
|
204
|
-
"hasAzure": true,
|
|
205
|
-
"confidence": 98
|
|
206
|
-
}
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
## Command Flags
|
|
210
|
-
|
|
211
|
-
| Flag | Description |
|
|
212
|
-
|------|-------------|
|
|
213
|
-
| `--skip-detection` | Skip auto-detection (manual config) |
|
|
214
|
-
| `--wizard` | Force interactive wizard mode |
|
|
215
|
-
| `--force` | Overwrite existing configs without prompt |
|
|
216
|
-
|
|
217
|
-
---
|
|
218
|
-
|
|
219
|
-
For more help, see the [Troubleshooting Guide](./troubleshooting.md).
|
package/docs/getting-started.md
DELETED
|
@@ -1,296 +0,0 @@
|
|
|
1
|
-
# Getting Started - MORPH-SPEC
|
|
2
|
-
|
|
3
|
-
**M**ethodical **O**rchestration for **R**eliable **P**roduction-ready **SPEC**-driven development
|
|
4
|
-
|
|
5
|
-
> by Polymorphism Tech
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Quick Start (5 minutos)
|
|
10
|
-
|
|
11
|
-
### 1. Copiar para seu projeto
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
# Clone o framework
|
|
15
|
-
git clone https://github.com/polymorphism-tech/morph-framework.git
|
|
16
|
-
|
|
17
|
-
# Copie o conteúdo para seu projeto
|
|
18
|
-
cp -r morph-framework/stacks/blazor-azure/.morph /seu/projeto/
|
|
19
|
-
cp -r morph-framework/stacks/blazor-azure/.claude /seu/projeto/
|
|
20
|
-
cp morph-framework/stacks/blazor-azure/CLAUDE.md /seu/projeto/
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
### 2. Configurar
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
cd /seu/projeto/.morph/config
|
|
27
|
-
cp config.template.json config.json
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
Edite `config.json`:
|
|
31
|
-
```json
|
|
32
|
-
{
|
|
33
|
-
"project": {
|
|
34
|
-
"name": "Seu Projeto",
|
|
35
|
-
"stack": "blazor"
|
|
36
|
-
},
|
|
37
|
-
"azure": {
|
|
38
|
-
"subscriptionId": "sua-subscription",
|
|
39
|
-
"resourceGroup": "rg-seuprojeto-dev"
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
### 3. Usar com Claude Code
|
|
45
|
-
|
|
46
|
-
Abra seu projeto no Claude Code e use os slash commands:
|
|
47
|
-
|
|
48
|
-
```
|
|
49
|
-
/morph-proposal minha-feature
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
O MORPH vai guiar você pelas 5 fases automaticamente.
|
|
53
|
-
|
|
54
|
-
---
|
|
55
|
-
|
|
56
|
-
## Estrutura Completa
|
|
57
|
-
|
|
58
|
-
```
|
|
59
|
-
seu-projeto/
|
|
60
|
-
├── CLAUDE.md # Instruções para o AI
|
|
61
|
-
│
|
|
62
|
-
├── .morph/
|
|
63
|
-
│ ├── project.md # Contexto do projeto
|
|
64
|
-
│ ├── config/
|
|
65
|
-
│ │ ├── config.json # Sua configuração
|
|
66
|
-
│ │ └── agents.json # Definição dos agentes
|
|
67
|
-
│ │
|
|
68
|
-
│ ├── standards/
|
|
69
|
-
│ │ ├── coding.md # Padrões de código
|
|
70
|
-
│ │ ├── architecture.md # Padrões de arquitetura
|
|
71
|
-
│ │ └── azure.md # Padrões Azure/IaC
|
|
72
|
-
│ │
|
|
73
|
-
│ ├── templates/
|
|
74
|
-
│ │ ├── spec.md # Template de especificação
|
|
75
|
-
│ │ ├── tasks.md # Template de tasks
|
|
76
|
-
│ │ ├── contracts.cs # Template de contratos
|
|
77
|
-
│ │ ├── decisions.md # Template de ADRs
|
|
78
|
-
│ │ ├── recap.md # Template de recap
|
|
79
|
-
│ │ │
|
|
80
|
-
│ │ ├── infra/ # Templates IaC (Bicep)
|
|
81
|
-
│ │ │ ├── main.bicep
|
|
82
|
-
│ │ │ ├── container-app.bicep
|
|
83
|
-
│ │ │ ├── container-app-env.bicep
|
|
84
|
-
│ │ │ ├── sql-database.bicep
|
|
85
|
-
│ │ │ ├── storage.bicep
|
|
86
|
-
│ │ │ ├── key-vault.bicep
|
|
87
|
-
│ │ │ ├── app-insights.bicep
|
|
88
|
-
│ │ │ └── parameters.*.json
|
|
89
|
-
│ │ │
|
|
90
|
-
│ │ ├── integrations/ # Templates de integração
|
|
91
|
-
│ │ │ ├── asaas-client.cs # Pagamentos (PIX, Boleto)
|
|
92
|
-
│ │ │ ├── asaas-webhook.cs # Webhooks Asaas
|
|
93
|
-
│ │ │ ├── clerk-config.cs # Autenticação Clerk
|
|
94
|
-
│ │ │ └── azure-identity-config.cs
|
|
95
|
-
│ │ │
|
|
96
|
-
│ │ └── saas/ # Templates SaaS
|
|
97
|
-
│ │ ├── subscription.cs # Modelo de assinaturas
|
|
98
|
-
│ │ └── tenant.cs # Multi-tenancy
|
|
99
|
-
│ │
|
|
100
|
-
│ ├── specs/ # Specs ativas
|
|
101
|
-
│ ├── features/ # Features em desenvolvimento
|
|
102
|
-
│ └── archive/ # Features concluídas
|
|
103
|
-
│
|
|
104
|
-
└── .claude/
|
|
105
|
-
├── commands/ # Slash commands
|
|
106
|
-
│ ├── morph-proposal.md
|
|
107
|
-
│ ├── morph-apply.md
|
|
108
|
-
│ ├── morph-status.md
|
|
109
|
-
│ ├── morph-archive.md
|
|
110
|
-
│ ├── morph-infra.md # Gestão de infra
|
|
111
|
-
│ └── morph-costs.md # Estimativa de custos
|
|
112
|
-
│
|
|
113
|
-
└── skills/ # Skills dos agentes
|
|
114
|
-
├── specialists/ # 8 agentes especialistas
|
|
115
|
-
├── integrations/ # 3 agentes de integração
|
|
116
|
-
├── stacks/ # 3 stacks suportadas
|
|
117
|
-
└── infra/ # 3 agentes de infra
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
---
|
|
121
|
-
|
|
122
|
-
## O Workflow das 5 Fases
|
|
123
|
-
|
|
124
|
-
### Fase 1: SETUP
|
|
125
|
-
```
|
|
126
|
-
Gatilho: /morph-proposal <feature>
|
|
127
|
-
```
|
|
128
|
-
- Carrega configuração do projeto
|
|
129
|
-
- Identifica agentes por keywords
|
|
130
|
-
- Cria pasta de outputs
|
|
131
|
-
|
|
132
|
-
### Fase 2: DESIGN
|
|
133
|
-
- Gera `spec.md`, `contracts.cs`, `decisions.md`
|
|
134
|
-
- Estima custos de infraestrutura
|
|
135
|
-
- **⛔ PARA para aprovação**
|
|
136
|
-
|
|
137
|
-
### Fase 3: CLARIFY
|
|
138
|
-
- Perguntas de clarificação
|
|
139
|
-
- Resolve ambiguidades
|
|
140
|
-
- Valida edge cases
|
|
141
|
-
|
|
142
|
-
### Fase 4: TASKS
|
|
143
|
-
- Quebra em tasks (T001, T002...)
|
|
144
|
-
- Define checkpoints
|
|
145
|
-
- **⛔ PARA para aprovação**
|
|
146
|
-
|
|
147
|
-
### Fase 5: IMPLEMENT
|
|
148
|
-
```
|
|
149
|
-
Gatilho: /morph-apply <feature>
|
|
150
|
-
```
|
|
151
|
-
- Implementa task por task
|
|
152
|
-
- Testes a cada task
|
|
153
|
-
- Checkpoint a cada 3 tasks
|
|
154
|
-
- Gera recap final
|
|
155
|
-
|
|
156
|
-
---
|
|
157
|
-
|
|
158
|
-
## Slash Commands
|
|
159
|
-
|
|
160
|
-
| Comando | Descrição |
|
|
161
|
-
|---------|-----------|
|
|
162
|
-
| `/morph-proposal <feature>` | Inicia nova feature |
|
|
163
|
-
| `/morph-apply <feature>` | Implementa feature aprovada |
|
|
164
|
-
| `/morph-status` | Status do projeto |
|
|
165
|
-
| `/morph-archive <feature>` | Arquiva feature |
|
|
166
|
-
| `/morph-infra <action>` | Gestão de infraestrutura |
|
|
167
|
-
| `/morph-costs` | Estimativa de custos |
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
|
|
171
|
-
## Os Agentes (17 total)
|
|
172
|
-
|
|
173
|
-
### Core (Sempre Ativos)
|
|
174
|
-
| Agente | Responsabilidade |
|
|
175
|
-
|--------|------------------|
|
|
176
|
-
| 📐 Standards Architect | Padrões de código |
|
|
177
|
-
| ☁️ Azure Architect | Infraestrutura cloud |
|
|
178
|
-
| 💰 Cost Guardian | Controle de custos |
|
|
179
|
-
|
|
180
|
-
### Stack Agents
|
|
181
|
-
| Agente | Keywords |
|
|
182
|
-
|--------|----------|
|
|
183
|
-
| 🔥 Blazor Builder | blazor, razor, component |
|
|
184
|
-
| ⚛️ NextJS Expert | nextjs, react, frontend |
|
|
185
|
-
|
|
186
|
-
### Specialist Agents
|
|
187
|
-
| Agente | Keywords |
|
|
188
|
-
|--------|----------|
|
|
189
|
-
| 🗄️ EF Modeler | entity, database, migration |
|
|
190
|
-
| 🤖 MS Agent Expert | agent, ai, semantic kernel |
|
|
191
|
-
| ⏰ Hangfire Orchestrator | scheduled, job, background |
|
|
192
|
-
| 🎨 UI/UX Designer | wizard, dashboard, complex |
|
|
193
|
-
| 📋 PO/PM Advisor | unclear, requirements, ROI |
|
|
194
|
-
|
|
195
|
-
### Integration Agents
|
|
196
|
-
| Agente | Keywords |
|
|
197
|
-
|--------|----------|
|
|
198
|
-
| 💳 Asaas Financial | asaas, payment, pix, boleto |
|
|
199
|
-
| 🔐 Clerk Auth | clerk, auth, login |
|
|
200
|
-
| 🆔 Azure Identity | identity, entra, microsoft |
|
|
201
|
-
|
|
202
|
-
### Infra Agents
|
|
203
|
-
| Agente | Keywords |
|
|
204
|
-
|--------|----------|
|
|
205
|
-
| 🏗️ Bicep Architect | bicep, iac, provision |
|
|
206
|
-
| 🚀 DevOps Engineer | pipeline, ci/cd, deploy |
|
|
207
|
-
| 📦 Container Specialist | docker, container |
|
|
208
|
-
|
|
209
|
-
---
|
|
210
|
-
|
|
211
|
-
## Templates Disponíveis
|
|
212
|
-
|
|
213
|
-
### IaC (Bicep)
|
|
214
|
-
- `main.bicep` - Entry point
|
|
215
|
-
- `container-app.bicep` - Azure Container Apps
|
|
216
|
-
- `sql-database.bicep` - Azure SQL (Free tier)
|
|
217
|
-
- `storage.bicep` - Storage Account
|
|
218
|
-
- `key-vault.bicep` - Key Vault
|
|
219
|
-
- `app-insights.bicep` - Monitoring
|
|
220
|
-
|
|
221
|
-
### Integrações
|
|
222
|
-
- `asaas-client.cs` - HTTP client Asaas completo
|
|
223
|
-
- `asaas-webhook.cs` - Controller de webhooks
|
|
224
|
-
- `clerk-config.cs` - Autenticação Clerk
|
|
225
|
-
- `azure-identity-config.cs` - Microsoft Identity
|
|
226
|
-
|
|
227
|
-
### SaaS
|
|
228
|
-
- `subscription.cs` - Modelo de assinaturas
|
|
229
|
-
- `tenant.cs` - Multi-tenancy completo
|
|
230
|
-
|
|
231
|
-
---
|
|
232
|
-
|
|
233
|
-
## Exemplos Incluídos
|
|
234
|
-
|
|
235
|
-
| Exemplo | Stack | Descrição |
|
|
236
|
-
|---------|-------|-----------|
|
|
237
|
-
| `micro-saas/` | Blazor + Asaas | SaaS com billing integrado |
|
|
238
|
-
| `api-nextjs/` | .NET + Next.js | Full-stack com React |
|
|
239
|
-
| `multi-agent/` | Semantic Kernel | Sistema de agentes AI |
|
|
240
|
-
|
|
241
|
-
Cada exemplo contém:
|
|
242
|
-
- `README.md` - Visão geral
|
|
243
|
-
- `spec.md` - Especificação completa
|
|
244
|
-
- `contracts.cs` - Interfaces e DTOs
|
|
245
|
-
- `tasks.md` - Breakdown de implementação
|
|
246
|
-
- `decisions.md` - ADRs (onde aplicável)
|
|
247
|
-
|
|
248
|
-
---
|
|
249
|
-
|
|
250
|
-
## Limites de Custo
|
|
251
|
-
|
|
252
|
-
| Nível | Limite | Requisito |
|
|
253
|
-
|-------|--------|-----------|
|
|
254
|
-
| Sem aprovação | Free tier | Nenhum |
|
|
255
|
-
| Com aprovação | Até $10/mês | Confirmação |
|
|
256
|
-
| Acima de $10 | Justificativa | ADR |
|
|
257
|
-
|
|
258
|
-
### Recursos Free Tier Suportados
|
|
259
|
-
- **Azure SQL** - 32GB grátis
|
|
260
|
-
- **Container Apps** - Scale-to-zero
|
|
261
|
-
- **Storage** - Pay-per-use mínimo
|
|
262
|
-
- **App Insights** - 5GB/mês grátis
|
|
263
|
-
|
|
264
|
-
---
|
|
265
|
-
|
|
266
|
-
## Dicas
|
|
267
|
-
|
|
268
|
-
### Seja específico
|
|
269
|
-
```
|
|
270
|
-
❌ "Quero relatórios"
|
|
271
|
-
✅ "Quero agendar relatórios de vendas por email toda segunda às 8h"
|
|
272
|
-
```
|
|
273
|
-
|
|
274
|
-
### Use keywords para ativar agentes
|
|
275
|
-
```
|
|
276
|
-
❌ "Quero processar pagamentos"
|
|
277
|
-
✅ "Quero integrar Asaas para receber PIX e boleto"
|
|
278
|
-
```
|
|
279
|
-
|
|
280
|
-
### Aproveite os checkpoints
|
|
281
|
-
- Revise specs antes de aprovar
|
|
282
|
-
- Valide tasks antes de implementar
|
|
283
|
-
- Use `/morph-status` para ver progresso
|
|
284
|
-
|
|
285
|
-
---
|
|
286
|
-
|
|
287
|
-
## Próximos Passos
|
|
288
|
-
|
|
289
|
-
1. Explore `.morph/examples/` para ver exemplos completos
|
|
290
|
-
2. Leia `.morph/standards/` para entender os padrões
|
|
291
|
-
3. Configure `.morph/config/config.json` para seu projeto
|
|
292
|
-
4. Execute `/morph-proposal` para sua primeira feature!
|
|
293
|
-
|
|
294
|
-
---
|
|
295
|
-
|
|
296
|
-
*MORPH-SPEC by Polymorphism Tech*
|