@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,132 +0,0 @@
|
|
|
1
|
-
# Observability Standard: Distributed Tracing
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
OpenTelemetry distributed tracing for cross-service correlation and performance analysis.
|
|
5
|
-
|
|
6
|
-
## OpenTelemetry Setup
|
|
7
|
-
|
|
8
|
-
### Packages
|
|
9
|
-
```xml
|
|
10
|
-
<PackageReference Include="OpenTelemetry.Extensions.Hosting" Version="1.*" />
|
|
11
|
-
<PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.*" />
|
|
12
|
-
<PackageReference Include="OpenTelemetry.Instrumentation.Http" Version="1.*" />
|
|
13
|
-
<PackageReference Include="OpenTelemetry.Instrumentation.SqlClient" Version="1.*" />
|
|
14
|
-
<PackageReference Include="Azure.Monitor.OpenTelemetry.AspNetCore" Version="1.*" />
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
### Program.cs Configuration
|
|
18
|
-
```csharp
|
|
19
|
-
builder.Services.AddOpenTelemetry()
|
|
20
|
-
.WithTracing(tracing =>
|
|
21
|
-
{
|
|
22
|
-
tracing
|
|
23
|
-
.AddAspNetCoreInstrumentation(opts =>
|
|
24
|
-
{
|
|
25
|
-
opts.RecordException = true;
|
|
26
|
-
opts.Filter = ctx => !ctx.Request.Path.StartsWithSegments("/health");
|
|
27
|
-
})
|
|
28
|
-
.AddHttpClientInstrumentation()
|
|
29
|
-
.AddSqlClientInstrumentation(opts => opts.SetDbStatementForText = true)
|
|
30
|
-
.AddSource(ActivitySource.Name) // Custom activities
|
|
31
|
-
.AddAzureMonitorTraceExporter(opts =>
|
|
32
|
-
{
|
|
33
|
-
opts.ConnectionString = config["ApplicationInsights:ConnectionString"];
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
// Custom ActivitySource for domain operations
|
|
38
|
-
public static class Telemetry
|
|
39
|
-
{
|
|
40
|
-
public static readonly ActivitySource ActivitySource = new("MyApp", "1.0.0");
|
|
41
|
-
}
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## Custom Span Creation
|
|
45
|
-
|
|
46
|
-
### Service Method Tracing
|
|
47
|
-
```csharp
|
|
48
|
-
public async Task<Order> ProcessOrderAsync(CreateOrderCommand command)
|
|
49
|
-
{
|
|
50
|
-
using var activity = Telemetry.ActivitySource.StartActivity("ProcessOrder");
|
|
51
|
-
activity?.SetTag("order.userId", command.UserId.ToString());
|
|
52
|
-
activity?.SetTag("order.itemCount", command.Items.Count.ToString());
|
|
53
|
-
|
|
54
|
-
try
|
|
55
|
-
{
|
|
56
|
-
var order = await _repository.CreateAsync(command);
|
|
57
|
-
activity?.SetTag("order.id", order.Id.ToString());
|
|
58
|
-
activity?.SetStatus(ActivityStatusCode.Ok);
|
|
59
|
-
return order;
|
|
60
|
-
}
|
|
61
|
-
catch (Exception ex)
|
|
62
|
-
{
|
|
63
|
-
activity?.SetStatus(ActivityStatusCode.Error, ex.Message);
|
|
64
|
-
activity?.RecordException(ex);
|
|
65
|
-
throw;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
### Baggage (Cross-Service Context)
|
|
71
|
-
```csharp
|
|
72
|
-
// Set correlation ID in baggage (propagates across HTTP calls)
|
|
73
|
-
Activity.Current?.SetBaggage("correlationId", correlationId);
|
|
74
|
-
Activity.Current?.SetBaggage("userId", userId.ToString());
|
|
75
|
-
|
|
76
|
-
// Read baggage downstream
|
|
77
|
-
var correlationId = Activity.Current?.GetBaggageItem("correlationId");
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
## Trace Context Propagation
|
|
81
|
-
|
|
82
|
-
### HTTP Client (auto-propagated)
|
|
83
|
-
```csharp
|
|
84
|
-
// HttpClient automatically propagates W3C trace context
|
|
85
|
-
// Configure in DI:
|
|
86
|
-
builder.Services.AddHttpClient("ExternalApi")
|
|
87
|
-
.AddOpenTelemetryInstrumentation();
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
### Service Bus (manual propagation)
|
|
91
|
-
```csharp
|
|
92
|
-
// Sender: inject trace context into message properties
|
|
93
|
-
var message = new ServiceBusMessage(body);
|
|
94
|
-
var activity = Activity.Current;
|
|
95
|
-
if (activity != null)
|
|
96
|
-
{
|
|
97
|
-
message.ApplicationProperties["traceparent"] = activity.Id;
|
|
98
|
-
message.ApplicationProperties["tracestate"] = activity.TraceStateString;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
// Receiver: restore trace context from message
|
|
102
|
-
if (message.ApplicationProperties.TryGetValue("traceparent", out var traceparent))
|
|
103
|
-
{
|
|
104
|
-
using var linkedActivity = Telemetry.ActivitySource.StartActivity(
|
|
105
|
-
"ProcessMessage",
|
|
106
|
-
ActivityKind.Consumer,
|
|
107
|
-
parentId: traceparent.ToString()!);
|
|
108
|
-
await ProcessAsync(message);
|
|
109
|
-
}
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
## Trace Sampling Strategy
|
|
113
|
-
|
|
114
|
-
| Environment | Strategy | Rate |
|
|
115
|
-
|-------------|----------|------|
|
|
116
|
-
| Development | Always | 100% |
|
|
117
|
-
| Staging | Adaptive | 10% + errors |
|
|
118
|
-
| Production | Adaptive | 5% + errors |
|
|
119
|
-
|
|
120
|
-
```csharp
|
|
121
|
-
// Production adaptive sampling (errors always sampled)
|
|
122
|
-
.AddAspNetCoreInstrumentation(opts =>
|
|
123
|
-
{
|
|
124
|
-
opts.Enrich = (activity, eventName, obj) =>
|
|
125
|
-
{
|
|
126
|
-
if (obj is HttpResponse response && response.StatusCode >= 400)
|
|
127
|
-
{
|
|
128
|
-
activity.SetSampled(true); // Always sample errors
|
|
129
|
-
}
|
|
130
|
-
};
|
|
131
|
-
})
|
|
132
|
-
```
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
# Workflow Standard: Parallel Execution
|
|
2
|
-
|
|
3
|
-
## When to Use Parallel Execution
|
|
4
|
-
|
|
5
|
-
| Condition | Decision |
|
|
6
|
-
|-----------|----------|
|
|
7
|
-
| 5+ independent tasks | Use P-Threads |
|
|
8
|
-
| Multi-domain (backend + frontend + infra) | Use P-Threads with squad templates |
|
|
9
|
-
| 15+ files to create | Use P-Threads |
|
|
10
|
-
| Tasks have zero dependency overlap | Use P-Threads |
|
|
11
|
-
| Tasks share file scope | Do NOT parallelize |
|
|
12
|
-
| Sequential data flow required | Do NOT parallelize |
|
|
13
|
-
|
|
14
|
-
## Parallelization Planning
|
|
15
|
-
|
|
16
|
-
### Step 1: Dependency Analysis
|
|
17
|
-
```bash
|
|
18
|
-
morph-spec detect-workflow user-auth
|
|
19
|
-
|
|
20
|
-
# Identifies: parallelizable tasks, sequential chains, waves
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
### Step 2: File Scope Assignment
|
|
24
|
-
Assign exclusive file ownership to each parallel worker:
|
|
25
|
-
|
|
26
|
-
```
|
|
27
|
-
Worker A (Backend): Entities/, Services/, Controllers/, DTOs/
|
|
28
|
-
Worker B (Frontend): Pages/, Components/, CSS/
|
|
29
|
-
Worker C (Infra): infra/bicep/, .github/workflows/
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
No overlap allowed. If overlap is unavoidable, make it sequential.
|
|
33
|
-
|
|
34
|
-
### Step 3: Choose Squad Template
|
|
35
|
-
```bash
|
|
36
|
-
morph-spec squad-template use full-stack --feature=user-auth
|
|
37
|
-
|
|
38
|
-
# Creates execution plan based on full-stack.json template:
|
|
39
|
-
# - dotnet-senior (backend lead)
|
|
40
|
-
# - blazor-builder (frontend lead)
|
|
41
|
-
# - bicep-architect (infra lead)
|
|
42
|
-
# - thread-orchestrator (coordinator)
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
## Execution Flow
|
|
46
|
-
|
|
47
|
-
```
|
|
48
|
-
Orchestrator
|
|
49
|
-
│
|
|
50
|
-
├── spawn parallel: Worker A (files: Entities/, Services/)
|
|
51
|
-
├── spawn parallel: Worker B (files: Pages/, Components/)
|
|
52
|
-
└── spawn parallel: Worker C (files: infra/)
|
|
53
|
-
│
|
|
54
|
-
│ [Workers execute concurrently — no interaction]
|
|
55
|
-
│
|
|
56
|
-
├── wait-all (poll or explicit sync)
|
|
57
|
-
│
|
|
58
|
-
├── merge results (check for conflicts)
|
|
59
|
-
├── run integration validation
|
|
60
|
-
└── report consolidated output
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
## Conflict Resolution
|
|
64
|
-
|
|
65
|
-
### File Conflicts (two workers wrote same file)
|
|
66
|
-
```bash
|
|
67
|
-
# This should NOT happen if scopes are properly defined
|
|
68
|
-
# If it does:
|
|
69
|
-
morph-spec agents review aggregate user-auth \
|
|
70
|
-
--agents=dotnet-senior,blazor-builder \
|
|
71
|
-
--strategy=best-of-n
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
### Interface Mismatches (A expects contract B didn't fulfill)
|
|
75
|
-
- Document the mismatch in the coordinator report
|
|
76
|
-
- Fix in post-merge sequential step
|
|
77
|
-
- Update contracts.cs to reflect actual implementation
|
|
78
|
-
|
|
79
|
-
## Fusion vs Parallel
|
|
80
|
-
|
|
81
|
-
| Aspect | Parallel (P-Thread) | Fusion (F-Thread) |
|
|
82
|
-
|--------|--------------------|--------------------|
|
|
83
|
-
| Goal | Divide scope | Compete on same scope |
|
|
84
|
-
| Output | Different files | Same files, best one wins |
|
|
85
|
-
| Workers collaborate? | No | No |
|
|
86
|
-
| Merge | Combine all files | Select best implementation |
|
|
87
|
-
| Use case | Large features | Design decisions, quality optimization |
|
|
88
|
-
|
|
89
|
-
## Configuration
|
|
90
|
-
```json
|
|
91
|
-
// llm-interaction.json
|
|
92
|
-
{
|
|
93
|
-
"parallelExecution": {
|
|
94
|
-
"enabled": true,
|
|
95
|
-
"maxConcurrent": 3,
|
|
96
|
-
"defaultStrategy": "best-of-n"
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
## Squad Templates
|
|
102
|
-
|
|
103
|
-
Pre-defined squad configurations in `framework/squad-templates/`:
|
|
104
|
-
- `full-stack.json` — Backend + Frontend + Infra (6 agents)
|
|
105
|
-
- `backend-only.json` — Backend specialists only (4 agents)
|
|
106
|
-
- `frontend-only.json` — Frontend specialists only (3 agents)
|
|
107
|
-
|
|
108
|
-
```bash
|
|
109
|
-
morph-spec squad-template list
|
|
110
|
-
morph-spec squad-template show full-stack
|
|
111
|
-
morph-spec squad-template use full-stack --feature=user-auth
|
|
112
|
-
```
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
# Workflow Standard: Thread Management
|
|
2
|
-
|
|
3
|
-
## Thread Types
|
|
4
|
-
|
|
5
|
-
| Type | Code | Purpose | Lifecycle |
|
|
6
|
-
|------|------|---------|-----------|
|
|
7
|
-
| Base | B-Thread | Default implementation thread | Bounded by feature phase |
|
|
8
|
-
| Parallel | P-Thread | Concurrent isolated execution | Short (1 task scope) |
|
|
9
|
-
| Fusion | F-Thread | Best-of-N competing implementations | Short (1 prompt scope) |
|
|
10
|
-
| Long-Running | L-Thread | Multi-session persistent work | Days/weeks |
|
|
11
|
-
| Zero-Touch | Z-Thread | Fully autonomous execution | Bounded by trust level |
|
|
12
|
-
|
|
13
|
-
## Thread Lifecycle
|
|
14
|
-
|
|
15
|
-
```
|
|
16
|
-
pending → running → completed
|
|
17
|
-
→ failed → (retry) → running
|
|
18
|
-
→ killed
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## Creating Threads
|
|
22
|
-
```bash
|
|
23
|
-
# Create a base thread (default)
|
|
24
|
-
morph-spec threads status morph-next-gen
|
|
25
|
-
|
|
26
|
-
# Create parallel threads for feature
|
|
27
|
-
morph-spec spawn-team morph-next-gen --parallel backend,frontend,infra
|
|
28
|
-
|
|
29
|
-
# Create fusion thread
|
|
30
|
-
morph-spec agents fuse \
|
|
31
|
-
--prompt "Implement caching strategy for UserService" \
|
|
32
|
-
--count=3 \
|
|
33
|
-
--strategy=best-of-n \
|
|
34
|
-
--feature=morph-next-gen
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
## Thread State in state.json
|
|
38
|
-
```json
|
|
39
|
-
{
|
|
40
|
-
"threads": {
|
|
41
|
-
"thread-abc12345": {
|
|
42
|
-
"id": "thread-abc12345",
|
|
43
|
-
"type": "parallel",
|
|
44
|
-
"agent": "dotnet-senior",
|
|
45
|
-
"feature": "user-auth",
|
|
46
|
-
"status": "running",
|
|
47
|
-
"startedAt": "2026-02-19T00:00:00Z",
|
|
48
|
-
"events": [
|
|
49
|
-
{ "type": "started", "timestamp": "..." },
|
|
50
|
-
{ "type": "checkpoint_passed", "timestamp": "...", "checkpointNum": 1 }
|
|
51
|
-
],
|
|
52
|
-
"metrics": {
|
|
53
|
-
"tasksCompleted": 3,
|
|
54
|
-
"checkpointsPassed": 1,
|
|
55
|
-
"errors": 0
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
## Parallel Execution Rules (P-Threads)
|
|
63
|
-
|
|
64
|
-
1. **File scope isolation**: Each P-Thread has exclusive write access to its files
|
|
65
|
-
2. **No cross-thread dependencies**: P-Thread tasks are self-contained
|
|
66
|
-
3. **Shared read access**: All P-Threads can read spec.md, standards, contracts
|
|
67
|
-
4. **Merge on completion**: Coordinator merges results after all P-Threads complete
|
|
68
|
-
5. **Max concurrent**: Default 3, max 5 (configurable in llm-interaction.json)
|
|
69
|
-
|
|
70
|
-
## Dependency Analysis
|
|
71
|
-
```bash
|
|
72
|
-
# Analyze task dependencies for parallel opportunities
|
|
73
|
-
morph-spec detect-workflow morph-next-gen
|
|
74
|
-
|
|
75
|
-
# Output:
|
|
76
|
-
# Parallelizable tasks: T001, T002, T003 (no dependencies)
|
|
77
|
-
# Sequential: T004 (depends on T001), T005 (depends on T002)
|
|
78
|
-
# Execution plan:
|
|
79
|
-
# Wave 1: [T001, T002, T003] (parallel)
|
|
80
|
-
# Wave 2: [T004, T005] (parallel, after wave 1)
|
|
81
|
-
# Wave 3: [T006] (sequential)
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
## Long-Running Threads (L-Threads)
|
|
85
|
-
|
|
86
|
-
### Stop Hooks
|
|
87
|
-
L-Threads run periodic stop hooks every 30 minutes:
|
|
88
|
-
```json
|
|
89
|
-
// llm-interaction.json
|
|
90
|
-
{
|
|
91
|
-
"stopHooks": {
|
|
92
|
-
"enabled": true,
|
|
93
|
-
"interval": 30,
|
|
94
|
-
"maxRetries": 5,
|
|
95
|
-
"hooks": ["validate-and-continue", "validate-checkpoints"]
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
### Resume Pattern
|
|
101
|
-
```bash
|
|
102
|
-
# Resume L-Thread from bundle
|
|
103
|
-
morph-spec bundle load morph-next-gen
|
|
104
|
-
# Load resume context, continue from checkpoint
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
## Monitoring
|
|
108
|
-
```bash
|
|
109
|
-
morph-spec threads list morph-next-gen
|
|
110
|
-
morph-spec threads analytics morph-next-gen
|
|
111
|
-
morph-spec threads wait-all morph-next-gen
|
|
112
|
-
morph-spec threads wait-any morph-next-gen
|
|
113
|
-
```
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
# MORPH-SPEC - Claude Code Instructions
|
|
2
|
-
|
|
3
|
-
> by Polymorphism Tech
|
|
4
|
-
|
|
5
|
-
Spec-driven development system. Specialized agent hub for multi-stack projects with Infrastructure as Code.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## CRITICAL RULES
|
|
10
|
-
|
|
11
|
-
### NEVER:
|
|
12
|
-
- Skip to code without a specification
|
|
13
|
-
- Implement without design approval
|
|
14
|
-
- Ignore standards in `.morph/standards/`
|
|
15
|
-
- Create infrastructure manually
|
|
16
|
-
- Generate code without defined contracts
|
|
17
|
-
|
|
18
|
-
### ALWAYS:
|
|
19
|
-
- Follow the 5 mandatory phases
|
|
20
|
-
- Generate outputs in `.morph/project/outputs/{feature}/`
|
|
21
|
-
- Document decisions in `decisions.md`
|
|
22
|
-
- Checkpoint every 3 implemented tasks
|
|
23
|
-
- Use Infrastructure as Code
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
## WORKFLOW (5 Phases)
|
|
28
|
-
|
|
29
|
-
| Phase | Trigger | Actions | Output | Pause? |
|
|
30
|
-
|-------|---------|---------|--------|--------|
|
|
31
|
-
| **1. SETUP** | Feature request | Read project context, identify stack, activate agents, create folder | proposal.md | No |
|
|
32
|
-
| **2. DESIGN** | Setup done | Spec + contracts + decisions + costs | spec.md, contracts, decisions.md | **Yes** |
|
|
33
|
-
| **3. CLARIFY** | Design approved | Ambiguities, questions, edge cases | Updated spec | No |
|
|
34
|
-
| **4. TASKS** | Clarifications resolved | Break into tasks, ordering, checkpoints, dependencies | tasks.md | **Yes** |
|
|
35
|
-
| **5. IMPLEMENT** | Tasks approved | Task by task, checkpoint every 3, recap | Code + recap.md | No |
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
## PROJECT STRUCTURE
|
|
40
|
-
|
|
41
|
-
```
|
|
42
|
-
project/
|
|
43
|
-
├── CLAUDE.md
|
|
44
|
-
├── .morph/
|
|
45
|
-
│ ├── config/ # config.json, agents.json
|
|
46
|
-
│ ├── standards/ # coding, architecture, stack-specific
|
|
47
|
-
│ ├── templates/ # Output templates
|
|
48
|
-
│ ├── project/
|
|
49
|
-
│ │ ├── context/ # detection-log.md, project.md
|
|
50
|
-
│ │ ├── standards/ # inferred.md, overrides.md
|
|
51
|
-
│ │ └── outputs/{feature}/ # Features in development
|
|
52
|
-
│ │ ├── proposal.md, spec.md, tasks.md
|
|
53
|
-
│ │ ├── contracts, decisions.md, recap.md
|
|
54
|
-
└── .claude/commands/ # Slash commands
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
---
|
|
58
|
-
|
|
59
|
-
## AGENTS
|
|
60
|
-
|
|
61
|
-
### Tier 1 — Orchestrators (Always Active)
|
|
62
|
-
|
|
63
|
-
| Agent | Responsibilities |
|
|
64
|
-
|-------|-----------------|
|
|
65
|
-
| **Standards Architect** | Standards, naming, review, cross-cutting concerns |
|
|
66
|
-
| **AI System Architect** | Agent systems, AI integrations, LLM orchestration |
|
|
67
|
-
| **Thread Orchestrator** | Parallel execution, thread management, context optimization |
|
|
68
|
-
|
|
69
|
-
### Tier 2 — Domain Leaders
|
|
70
|
-
|
|
71
|
-
| Agent | Responsibilities |
|
|
72
|
-
|-------|-----------------|
|
|
73
|
-
| **Tech Lead** | Architecture decisions, code quality, task breakdown |
|
|
74
|
-
| **DevOps Engineer** | CI/CD, deployment pipelines, infrastructure |
|
|
75
|
-
| **QA Lead** | Test strategies, validation, quality gates |
|
|
76
|
-
|
|
77
|
-
### Tier 3 — Specialists (Activated by keywords)
|
|
78
|
-
|
|
79
|
-
| Agent | Keywords |
|
|
80
|
-
|-------|---------|
|
|
81
|
-
| **Next.js Expert** | nextjs, react, frontend, app router, pages |
|
|
82
|
-
| **Blazor Builder** | blazor, razor, mudblazor, fluent ui |
|
|
83
|
-
| **API Designer** | api, endpoint, rest, openapi, swagger |
|
|
84
|
-
| **.NET Senior** | dotnet, csharp, minimal api, ef core |
|
|
85
|
-
| **EF Modeler** | entity framework, migrations, dbcontext |
|
|
86
|
-
| **Azure Architect** | azure, container apps, bicep, app service |
|
|
87
|
-
| **Bicep Architect** | bicep, iac, arm template, azure resources |
|
|
88
|
-
| **Azure Deploy Specialist** | deploy, ci/cd, github actions, azure devops |
|
|
89
|
-
| **Container Specialist** | docker, dockerfile, compose, kubernetes |
|
|
90
|
-
| **Supabase Expert** | supabase, postgresql, rls, realtime, pgvector |
|
|
91
|
-
| **Azure Identity** | auth, authentication, entra id, jwt, oauth |
|
|
92
|
-
| **Clerk Auth** | clerk, auth0, authentication, social login |
|
|
93
|
-
| **Asaas Financial** | payment, billing, subscription, asaas |
|
|
94
|
-
| **Resend Email** | email, resend, smtp, notifications |
|
|
95
|
-
| **Hangfire Orchestrator** | background jobs, queue, scheduling, hangfire |
|
|
96
|
-
| **MS Agent Expert** | semantic kernel, microsoft agents, ai pipeline |
|
|
97
|
-
| **UI/UX Designer** | design, ux, wireframe, mockup, figma |
|
|
98
|
-
| **SEO Growth Hacker** | seo, performance, analytics, lighthouse |
|
|
99
|
-
| **PO/PM Advisor** | product, roadmap, requirements, user stories |
|
|
100
|
-
| **Prompt Engineer** | prompts, system prompts, llm, few-shot |
|
|
101
|
-
| **Context Optimizer** | context window, token optimization, chunking |
|
|
102
|
-
| **Vector Search Expert** | vector db, embeddings, semantic search, rag |
|
|
103
|
-
| **Observability Expert** | logging, tracing, metrics, opentelemetry |
|
|
104
|
-
| **Code Analyzer** | refactor, analysis, code review, complexity |
|
|
105
|
-
| **Testing Specialist** | tests, coverage, tdd, bdd, vitest, jest, xunit |
|
|
106
|
-
|
|
107
|
-
### Tier 4 — Validators
|
|
108
|
-
|
|
109
|
-
| Agent | Responsibilities |
|
|
110
|
-
|-------|-----------------|
|
|
111
|
-
| **Contract Compliance Validator** | Ensures implementation matches spec contracts |
|
|
112
|
-
|
|
113
|
-
---
|
|
114
|
-
|
|
115
|
-
## TEMPLATES
|
|
116
|
-
|
|
117
|
-
> ALWAYS use `morph-spec template render` to render. NEVER fill placeholders manually.
|
|
118
|
-
|
|
119
|
-
### Placeholders: `{{PLACEHOLDER}}`
|
|
120
|
-
|
|
121
|
-
| Placeholder | Example |
|
|
122
|
-
|-------------|---------|
|
|
123
|
-
| `{{FEATURE_NAME}}` | `scheduled-reports` |
|
|
124
|
-
| `{{FEATURE_NAME_PASCAL}}` | `ScheduledReports` |
|
|
125
|
-
| `{{FEATURE_NAME_CAMEL}}` | `scheduledReports` |
|
|
126
|
-
| `{{STACK}}` | `blazor-azure` or `nextjs-supabase` |
|
|
127
|
-
| `{{DATE}}`, `{{AUTHOR}}`, `{{NAMESPACE}}` | Auto from config.json |
|
|
128
|
-
|
|
129
|
-
---
|
|
130
|
-
|
|
131
|
-
## COMMANDS
|
|
132
|
-
|
|
133
|
-
| Command | Action |
|
|
134
|
-
|---------|--------|
|
|
135
|
-
| `/morph-proposal {feature}` | Full spec pipeline (phases 1-4, auto-continuation with pauses) |
|
|
136
|
-
| `/morph-apply {feature}` | Implement feature (phase 5) |
|
|
137
|
-
| `/morph-status` | Dashboard |
|
|
138
|
-
| `/morph-archive {feature}` | Archive completed feature |
|
|
139
|
-
| `/morph-infra {action}` | Manage infrastructure |
|
|
140
|
-
| `/morph-preflight` | Pre-deploy validation |
|
|
141
|
-
| `/morph-troubleshoot {error}` | Error troubleshooting |
|
|
142
|
-
|
|
143
|
-
---
|
|
144
|
-
|
|
145
|
-
## REFERENCES
|
|
146
|
-
|
|
147
|
-
- `.morph/config/config.json` — Project configuration
|
|
148
|
-
- `.morph/config/agents.json` — Full agent definitions
|
|
149
|
-
- `.morph/standards/` — Coding, architecture, stack-specific standards
|
|
150
|
-
- `.morph/project/context/` — Detection log, project context
|
|
151
|
-
- `.morph/project/standards/inferred.md` — Auto-detected project standards
|
|
152
|
-
|
|
153
|
-
---
|
|
154
|
-
|
|
155
|
-
*MORPH-SPEC v4.3.0 by Polymorphism Tech*
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
# Stack: Next.js + Supabase
|
|
2
|
-
|
|
3
|
-
> MORPH-SPEC stack for .NET 10 Minimal API + Next.js 15 + Supabase Cloud + EasyPanel (VPS)
|
|
4
|
-
|
|
5
|
-
## When to Use This Stack
|
|
6
|
-
|
|
7
|
-
| Criteria | This Stack | Blazor+Azure Stack |
|
|
8
|
-
|----------|------------|-------------------|
|
|
9
|
-
| Frontend | React/Next.js (SSR + CSR) | Blazor Server (C# only) |
|
|
10
|
-
| Database | Supabase Cloud (PostgreSQL) | Azure SQL |
|
|
11
|
-
| Auth | Supabase Auth (built-in) | Azure Identity / Clerk |
|
|
12
|
-
| Deploy | VPS + EasyPanel (Docker) | Azure Container Apps |
|
|
13
|
-
| Cost (dev) | ~$6/month | ~$15/month |
|
|
14
|
-
| Cost (prod) | ~$31/month | ~$50+/month |
|
|
15
|
-
| Best for | MVPs, SaaS, AI apps (pgvector) | Enterprise, full-.NET teams |
|
|
16
|
-
| Realtime | Supabase Realtime (PostgreSQL) | SignalR |
|
|
17
|
-
| Vector search | pgvector (native) | Azure AI Search |
|
|
18
|
-
|
|
19
|
-
## Architecture
|
|
20
|
-
|
|
21
|
-
```
|
|
22
|
-
Browser
|
|
23
|
-
|
|
|
24
|
-
v
|
|
25
|
-
Next.js 15 (App Router) Supabase Cloud
|
|
26
|
-
|-- Server Components --------> Auth (JWT validation)
|
|
27
|
-
|-- Client Components --------> PostgREST (direct queries via RLS)
|
|
28
|
-
|-- Route Handlers (BFF) -----> .NET 10 API --> PostgreSQL + pgvector
|
|
29
|
-
| Storage
|
|
30
|
-
v Realtime
|
|
31
|
-
EasyPanel (VPS)
|
|
32
|
-
|-- Next.js Container (:3000)
|
|
33
|
-
|-- .NET API Container (:8080)
|
|
34
|
-
|-- Nginx reverse proxy (:443)
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
## Quick Start
|
|
38
|
-
|
|
39
|
-
### 1. Copy stack to your project
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
cp -r stacks/nextjs-supabase/.morph/ your-project/.morph/
|
|
43
|
-
cp -r stacks/nextjs-supabase/.claude/ your-project/.claude/
|
|
44
|
-
cp stacks/nextjs-supabase/CLAUDE.md your-project/CLAUDE.md
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
### 2. Configure
|
|
48
|
-
|
|
49
|
-
Edit `.morph/project.md` with your project details.
|
|
50
|
-
|
|
51
|
-
### 3. Start developing
|
|
52
|
-
|
|
53
|
-
```bash
|
|
54
|
-
/morph-proposal my-feature
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
## Directory Structure
|
|
58
|
-
|
|
59
|
-
```
|
|
60
|
-
stacks/nextjs-supabase/
|
|
61
|
-
├── CLAUDE.md # Stack-specific Claude instructions
|
|
62
|
-
├── README.md # This file
|
|
63
|
-
├── .morph/
|
|
64
|
-
│ ├── project.md # Project template
|
|
65
|
-
│ └── config/
|
|
66
|
-
│ └── agents.json # 12 agents configured
|
|
67
|
-
│ # Note: All standards moved to framework/standards/ (universal knowledge)
|
|
68
|
-
│ ├── templates/ # 11 templates
|
|
69
|
-
│ └── examples/ # 2 reference examples
|
|
70
|
-
│ ├── crud-nextjs-supabase/
|
|
71
|
-
│ └── saas-nextjs-supabase/
|
|
72
|
-
└── .claude/
|
|
73
|
-
└── skills/ # 4 agent skills
|
|
74
|
-
└── level-2-domains/
|
|
75
|
-
├── integrations/supabase-expert.md
|
|
76
|
-
├── infrastructure/easypanel-deployer.md
|
|
77
|
-
├── backend/dotnet-supabase.md
|
|
78
|
-
└── frontend/nextjs-supabase.md
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
## Key Differences from Blazor+Azure
|
|
82
|
-
|
|
83
|
-
| Aspect | Blazor+Azure | Next.js+Supabase |
|
|
84
|
-
|--------|-------------|-----------------|
|
|
85
|
-
| IaC | Bicep templates | Dockerfiles + Docker Compose |
|
|
86
|
-
| ORM | EF Core (LINQ) | Npgsql + Dapper (SQL) |
|
|
87
|
-
| Migrations | C# EF Migrations | SQL (Supabase CLI) |
|
|
88
|
-
| Auth middleware | Azure Identity | @supabase/ssr + JWT |
|
|
89
|
-
| RLS | Application-level | Database-level (PostgreSQL RLS) |
|
|
90
|
-
| File storage | Azure Blob Storage | Supabase Storage |
|
|
91
|
-
| Deploy | Azure Container Apps | EasyPanel (VPS Docker) |
|
|
92
|
-
|
|
93
|
-
## Shared with Blazor+Azure
|
|
94
|
-
|
|
95
|
-
- MORPH-SPEC 5-phase workflow (Setup > Design > Clarify > Tasks > Implement)
|
|
96
|
-
- Framework standards: coding.md, architecture.md
|
|
97
|
-
- CLI commands: /morph-proposal, /morph-apply, /morph-status
|
|
98
|
-
- Validation pipeline and checkpoint system
|
|
99
|
-
- .NET 10 backend patterns (C# 14, sealed records, CancellationToken)
|
|
100
|
-
|
|
101
|
-
---
|
|
102
|
-
|
|
103
|
-
*MORPH-SPEC by Polymorphism Tech*
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{stacks/blazor-azure/.morph → framework}/standards/architecture/ddd/value-objects.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{stacks/blazor-azure/.morph → framework}/standards/backend/authentication/passkeys.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{stacks/blazor-azure/.morph → framework}/standards/backend/database/postgresql/database.md
RENAMED
|
File without changes
|
/package/{stacks/blazor-azure/.morph → framework}/standards/backend/database/repository-patterns.md
RENAMED
|
File without changes
|
/package/{stacks/blazor-azure/.morph → framework}/standards/backend/database/vector-search-rag.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{stacks/blazor-azure/.morph → framework}/standards/backend/dotnet/program-cs-checklist.md
RENAMED
|
File without changes
|
/package/{stacks/blazor-azure/.morph → framework}/standards/backend/integrations/asaas/asaas-api.md
RENAMED
|
File without changes
|