@polymorphism-tech/morph-spec 4.3.7 → 4.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.morph/.morphversion +3 -3
- package/.morph/analytics/threads-log.jsonl +6 -9
- package/.morph/config/config.json +2 -3
- package/.morph/framework/standards/STANDARDS.json +812 -0
- package/.morph/{standards → framework/standards}/ai-agents/team-orchestration.md +3 -3
- package/.morph/{standards → framework/standards}/frontend/nextjs/nextjs-patterns.md +17 -0
- package/.morph/framework/standards/integration/mcp/mcp-tools.md +384 -0
- package/.morph/{templates → framework/templates}/README.md +17 -17
- package/.morph/{templates → framework/templates}/REGISTRY.json +48 -233
- package/.morph/framework/templates/code/dotnet/contracts/contracts.cs.hbs +172 -0
- package/.morph/{templates → framework/templates}/context/CONTEXT-FEATURE.md +1 -1
- package/.morph/{templates → framework/templates}/context/CONTEXT.md +3 -3
- package/.morph/framework/templates/docs/clarifications.md +253 -0
- package/.morph/framework/templates/docs/onboarding.md +123 -0
- package/.morph/framework/templates/docs/schema-analysis.md +119 -0
- package/.morph/{templates → framework/templates}/docs/spec.md +149 -149
- package/.morph/framework/templates/docs/ui-components.md +124 -0
- package/.morph/framework/templates/docs/ui-design-system.md +76 -0
- package/.morph/framework/templates/docs/ui-flows.md +167 -0
- package/.morph/framework/templates/docs/ui-mockups.md +98 -0
- package/.morph/framework/templates/docs/user-stories.md +34 -0
- package/.morph/{templates → framework/templates}/examples/spec-examples.md +1 -1
- package/.morph/{templates → framework/templates}/infrastructure/github/README.md +11 -11
- package/.morph/{templates → framework/templates}/infrastructure/github/workflows/deploy-azure-app-service.yml.hbs +2 -2
- package/.morph/{templates → framework/templates}/meta-prompts/parallel-workers/parallel-worker.md +2 -2
- package/.morph/{templates → framework/templates}/meta-prompts/validators/pre-commit-validator.md +1 -1
- package/.morph/logs/tool-failures.log +7 -0
- package/.morph/memory/pre-compact-2026-02-23T15-43-03-521Z.json +16 -0
- package/.morph/state.json +1 -1
- package/CLAUDE.md +77 -155
- package/README.md +20 -18
- package/bin/detect-agents.js +1 -1
- package/bin/morph-spec.js +116 -266
- package/bin/task-manager.cjs +2 -2
- package/bin/validate.js +1 -1
- package/claude-plugin.json +14 -0
- package/docs/claude-alignment-report.md +137 -0
- package/docs/plans/2026-02-22-claude-docs-morph-alignment-analysis.md +512 -0
- package/docs/plans/2026-02-22-claude-settings.md +515 -0
- package/docs/plans/2026-02-22-morph-cc-alignment-impl.md +728 -0
- package/docs/plans/2026-02-22-morph-spec-next.md +478 -0
- package/docs/plans/2026-02-22-native-alignment-design.md +199 -0
- package/docs/plans/2026-02-22-native-alignment-impl.md +925 -0
- package/docs/plans/2026-02-22-native-enrichment-design.md +244 -0
- package/docs/plans/2026-02-22-native-enrichment.md +735 -0
- package/framework/CLAUDE.md +77 -0
- package/framework/{skills/level-2-domains → agents}/ai-agents/ai-system-architect.md +7 -3
- package/framework/{skills/level-2-domains → agents}/architecture/po-pm-advisor.md +7 -1
- package/framework/{skills/level-2-domains → agents}/architecture/prompt-engineer.md +7 -1
- package/framework/{skills/level-2-domains → agents}/architecture/seo-growth-hacker.md +7 -1
- package/framework/{skills/level-2-domains → agents}/architecture/standards-architect.md +10 -6
- package/framework/agents/backend/api-designer.md +103 -0
- package/framework/{skills/level-2-domains → agents}/backend/dotnet-senior.md +7 -1
- package/framework/agents/backend/ef-modeler.md +119 -0
- package/framework/{skills/level-2-domains → agents}/backend/hangfire-orchestrator.md +8 -4
- package/framework/{skills/level-2-domains → agents}/backend/ms-agent-expert.md +7 -3
- package/framework/{skills/level-2-domains → agents}/frontend/blazor-builder.md +7 -3
- package/framework/{skills/level-2-domains → agents}/frontend/nextjs-expert.md +7 -3
- package/framework/{skills/level-2-domains → agents}/frontend/ui-ux-designer.md +8 -2
- package/framework/{skills/level-2-domains → agents}/infrastructure/azure-architect.md +7 -1
- package/framework/{skills/level-2-domains → agents}/infrastructure/azure-deploy-specialist.md +7 -1
- package/framework/{skills/level-2-domains → agents}/infrastructure/bicep-architect.md +7 -3
- package/framework/{skills/level-2-domains → agents}/infrastructure/container-specialist.md +7 -3
- package/framework/{skills/level-2-domains → agents}/infrastructure/devops-engineer.md +7 -3
- package/framework/{skills/level-2-domains → agents}/integrations/asaas-financial.md +7 -3
- package/framework/{skills/level-2-domains → agents}/integrations/azure-identity.md +7 -3
- package/framework/{skills/level-2-domains → agents}/integrations/clerk-auth.md +7 -3
- package/framework/{skills/level-2-domains/integrations/hangfire-orchestrator.md → agents/integrations/hangfire-integration.md} +7 -1
- package/framework/{skills/level-2-domains → agents}/integrations/resend-email.md +7 -3
- package/framework/{skills/level-2-domains → agents}/quality/code-analyzer.md +9 -5
- package/framework/{skills/level-2-domains → agents}/quality/testing-specialist.md +7 -3
- package/framework/commands/morph-apply.md +9 -9
- package/framework/commands/morph-archive.md +8 -8
- package/framework/commands/morph-infra.md +1 -1
- package/framework/commands/morph-proposal.md +9 -9
- package/framework/commands/morph-status.md +3 -3
- package/framework/commands/morph-troubleshoot.md +1 -1
- package/framework/hooks/README.md +201 -282
- package/framework/hooks/claude-code/notification/approval-reminder.js +52 -0
- package/framework/hooks/claude-code/post-tool-use/dispatch.js +83 -0
- package/framework/hooks/claude-code/post-tool-use/handle-tool-failure.js +42 -0
- package/framework/hooks/claude-code/pre-compact/save-morph-context.js +61 -0
- package/framework/hooks/claude-code/pre-tool-use/enforce-phase-writes.js +71 -0
- package/framework/hooks/claude-code/pre-tool-use/protect-readonly-files.js +58 -0
- package/framework/hooks/claude-code/pre-tool-use/protect-spec-files.js +64 -0
- package/framework/hooks/claude-code/session-start/inject-morph-context.js +94 -0
- package/framework/hooks/claude-code/statusline.py +538 -0
- package/framework/hooks/claude-code/statusline.sh +7 -0
- package/framework/hooks/claude-code/stop/validate-completion.js +88 -0
- package/framework/hooks/claude-code/user-prompt/enrich-prompt.js +91 -0
- package/framework/hooks/shared/hook-response.js +45 -0
- package/framework/hooks/shared/phase-utils.js +129 -0
- package/framework/hooks/shared/state-reader.js +138 -0
- package/framework/hooks/shared/stdin-reader.js +26 -0
- package/framework/phases.json +145 -0
- package/framework/rules/csharp-standards.md +10 -0
- package/framework/rules/frontend-standards.md +14 -0
- package/framework/rules/infrastructure-standards.md +13 -0
- package/framework/rules/morph-workflow.md +86 -0
- package/framework/rules/testing-standards.md +11 -0
- package/framework/skills/README.md +66 -0
- package/framework/skills/level-0-meta/brainstorming/SKILL.md +135 -0
- package/framework/skills/level-0-meta/brainstorming/references/proposal-example.md +138 -0
- package/framework/skills/level-0-meta/{code-review.md → code-review/SKILL.md} +13 -4
- package/framework/skills/level-0-meta/code-review/references/review-example.md +164 -0
- package/framework/skills/level-0-meta/code-review/scripts/scan-csharp.mjs +121 -0
- package/framework/skills/level-0-meta/mcp-registry.json +207 -0
- package/framework/skills/level-0-meta/{morph-checklist.md → morph-checklist/SKILL.md} +8 -3
- package/framework/skills/{level-1-workflows/morph-replicate.md → level-0-meta/morph-replicate/SKILL.md} +13 -6
- package/framework/skills/level-0-meta/{simulation-checklist.md → simulation-checklist/SKILL.md} +9 -4
- package/framework/skills/level-0-meta/tool-usage-guide/SKILL.md +334 -0
- package/framework/skills/level-0-meta/verification-before-completion/SKILL.md +147 -0
- package/framework/skills/level-0-meta/verification-before-completion/scripts/check-phase-outputs.mjs +110 -0
- package/framework/skills/level-1-workflows/{phase-clarify.md → phase-clarify/SKILL.md} +65 -4
- package/framework/skills/level-1-workflows/phase-clarify/references/clarifications-example.md +117 -0
- package/framework/skills/level-1-workflows/phase-codebase-analysis/SKILL.md +181 -0
- package/framework/skills/level-1-workflows/phase-design/SKILL.md +303 -0
- package/framework/skills/level-1-workflows/phase-design/references/spec-example.md +253 -0
- package/framework/skills/level-1-workflows/phase-implement/SKILL.md +254 -0
- package/framework/skills/level-1-workflows/phase-implement/references/recap-example.md +132 -0
- package/framework/skills/level-1-workflows/phase-setup/SKILL.md +171 -0
- package/framework/skills/level-1-workflows/{phase-tasks.md → phase-tasks/SKILL.md} +89 -7
- package/framework/skills/level-1-workflows/phase-tasks/references/tasks-example.md +231 -0
- package/framework/skills/level-1-workflows/phase-tasks/scripts/validate-tasks.mjs +112 -0
- package/framework/skills/level-1-workflows/phase-uiux/SKILL.md +246 -0
- package/framework/standards/STANDARDS.json +812 -0
- package/framework/standards/ai-agents/team-orchestration.md +3 -3
- package/framework/standards/frontend/nextjs/nextjs-patterns.md +17 -0
- package/framework/standards/integration/mcp/mcp-tools.md +384 -0
- package/framework/templates/README.md +17 -17
- package/framework/templates/REGISTRY.json +48 -233
- package/framework/templates/code/dotnet/contracts/contracts.cs.hbs +172 -0
- package/framework/templates/context/CONTEXT-FEATURE.md +1 -1
- package/framework/templates/context/CONTEXT.md +3 -3
- package/framework/templates/docs/clarifications.md +253 -0
- package/framework/templates/docs/onboarding.md +123 -0
- package/framework/templates/docs/schema-analysis.md +119 -0
- package/framework/templates/docs/spec.md +149 -149
- package/framework/templates/docs/ui-components.md +124 -0
- package/framework/templates/docs/ui-design-system.md +76 -0
- package/framework/templates/docs/ui-flows.md +167 -0
- package/framework/templates/docs/ui-mockups.md +98 -0
- package/framework/templates/docs/user-stories.md +34 -0
- package/framework/templates/examples/spec-examples.md +1 -1
- package/framework/templates/infrastructure/github/README.md +11 -11
- package/framework/templates/infrastructure/github/workflows/deploy-azure-app-service.yml.hbs +2 -2
- package/framework/templates/meta-prompts/parallel-workers/parallel-worker.md +2 -2
- package/framework/templates/meta-prompts/validators/pre-commit-validator.md +1 -1
- package/framework/workflows/configs/express.json +45 -0
- package/framework/workflows/configs/spec-only.json +43 -0
- package/framework/workflows/docs/enforcement-pipeline.md +8 -8
- package/framework/workflows/docs/full-morph.md +3 -3
- package/package.json +3 -1
- package/scripts/generate-refs.js +336 -0
- package/scripts/generate-standards-registry.js +44 -0
- package/scripts/validate-real.mjs +255 -0
- package/src/commands/feature/create-story.js +362 -361
- package/src/commands/feature/shard-spec.js +225 -224
- package/src/commands/feature/sprint-status.js +1 -1
- package/src/commands/generation/generate-onboarding.js +169 -0
- package/src/commands/generation/generate.js +2 -2
- package/src/commands/mcp/mcp-setup.js +315 -0
- package/src/commands/project/changes.js +66 -0
- package/src/commands/project/checkpoint.js +209 -0
- package/src/commands/project/cost.js +179 -0
- package/src/commands/project/diff.js +278 -0
- package/src/commands/project/doctor.js +55 -7
- package/src/commands/project/init.js +318 -136
- package/src/commands/project/revert.js +173 -0
- package/src/commands/project/standards.js +80 -0
- package/src/commands/project/status.js +376 -0
- package/src/commands/project/update-agents.js +23 -0
- package/src/commands/project/update.js +60 -88
- package/src/commands/state/advance-phase.js +4 -3
- package/src/commands/state/state.js +10 -3
- package/src/commands/state/validate-phase.js +19 -2
- package/src/commands/templates/template-customize.js +4 -4
- package/src/commands/templates/template-render.js +1 -1
- package/src/commands/templates/template-show.js +1 -1
- package/src/commands/validation/validate-feature.js +359 -0
- package/src/core/orchestrator.js +3 -38
- package/src/core/paths/output-schema.js +135 -0
- package/src/core/state/state-manager.js +831 -592
- package/src/core/templates/template-registry.js +2 -2
- package/src/core/workflows/workflow-detector.js +17 -1
- package/src/lib/agents/micro-agent-factory.js +1 -1
- package/src/lib/context/context-bundler.js +2 -1
- package/src/lib/detectors/claude-config-detector.js +390 -0
- package/src/lib/detectors/conversation-analyzer.js +4 -4
- package/src/lib/detectors/design-system-detector.js +6 -5
- package/src/lib/detectors/standards-generator.js +2 -2
- package/src/lib/generators/context-generator.js +539 -538
- package/src/lib/generators/recap-generator.js +1 -1
- package/src/lib/generators/settings-generator.js +210 -0
- package/src/lib/hooks/hook-executor.js +1 -1
- package/src/lib/installers/mcp-installer.js +299 -0
- package/src/lib/learning/learning-system.js +3 -3
- package/src/lib/orchestration/team-orchestrator.js +1 -1
- package/src/lib/standards/standards-context-injector.js +7 -7
- package/src/lib/threads/thread-coordinator.js +1 -1
- package/src/lib/troubleshooting/troubleshoot-grep.js +1 -1
- package/src/lib/validators/contracts/contract-compliance-validator.js +274 -273
- package/src/lib/validators/design-system/design-system-validator.js +1 -1
- package/src/lib/validators/spec-validator.js +258 -258
- package/src/lib/validators/validation-runner.js +270 -269
- package/src/utils/agents-installer.js +206 -0
- package/src/utils/claude-settings-manager.js +258 -0
- package/src/utils/file-copier.js +1 -1
- package/src/utils/hooks-installer.js +354 -28
- package/src/utils/skills-installer.js +118 -0
- package/.morph/project/context/README.md +0 -17
- package/.morph/project/context/detection-log.md +0 -16
- package/.morph/project/standards/inferred.md +0 -59
- package/framework/hooks/agent-stop/validate-and-continue.js +0 -96
- package/framework/hooks/agent-stop/validate-checkpoints.js +0 -101
- package/framework/hooks/agent-stop/validate-tests.js +0 -109
- package/framework/hooks/agent-teams/dispatch.js +0 -67
- package/framework/hooks/agent-teams/phase-advanced.js +0 -80
- package/framework/hooks/agent-teams/task-completed.js +0 -76
- package/framework/hooks/agent-teams/teammate-idle.js +0 -70
- package/framework/skills/level-1-workflows/phase-design.md +0 -213
- package/framework/skills/level-1-workflows/phase-setup.md +0 -106
- package/framework/skills/level-1-workflows/phase-uiux.md +0 -169
- package/framework/skills/level-2-domains/backend/api-designer.md +0 -59
- package/framework/skills/level-2-domains/backend/ef-modeler.md +0 -58
- package/framework/skills/level-3-technologies/README.md +0 -7
- package/framework/skills/level-4-patterns/README.md +0 -7
- package/src/commands/agents/agents-fuse.js +0 -97
- package/src/commands/agents/micro-agent.js +0 -112
- package/src/commands/agents/spawn-team.js +0 -237
- package/src/commands/agents/squad-template.js +0 -146
- package/src/commands/analytics/analytics.js +0 -176
- package/src/commands/context/context-prime.js +0 -63
- package/src/commands/context/core-four.js +0 -54
- package/src/commands/generation/generate-context.js +0 -40
- package/src/commands/project/detect-agents.js +0 -207
- package/src/commands/project/detect-workflow.js +0 -174
- package/src/commands/threads/thread-template.js +0 -103
- package/src/commands/threads/threads.js +0 -261
- package/src/commands/utils/session-summary.js +0 -291
- package/src/llm/analyzer.js +0 -215
- package/src/llm/few-shot-examples.js +0 -216
- package/src/llm/project-config-schema.json +0 -188
- package/src/llm/prompt-builder.js +0 -96
- /package/.morph/{config → framework}/agents.json +0 -0
- /package/.morph/{standards → framework/standards}/ai-agents/blazor-ui.md +0 -0
- /package/.morph/{standards → framework/standards}/ai-agents/production.md +0 -0
- /package/.morph/{standards → framework/standards}/ai-agents/setup.md +0 -0
- /package/.morph/{standards → framework/standards}/ai-agents/workflows.md +0 -0
- /package/.morph/{standards → framework/standards}/architecture/ddd/aggregates.md +0 -0
- /package/.morph/{standards → framework/standards}/architecture/ddd/entities.md +0 -0
- /package/.morph/{standards → framework/standards}/architecture/ddd/value-objects.md +0 -0
- /package/.morph/{standards → framework/standards}/backend/api/minimal-api.md +0 -0
- /package/.morph/{standards → framework/standards}/backend/api/rest.md +0 -0
- /package/.morph/{standards → framework/standards}/backend/api/validation.md +0 -0
- /package/.morph/{standards → framework/standards}/backend/authentication/passkeys.md +0 -0
- /package/.morph/{standards → framework/standards}/backend/database/ef-core.md +0 -0
- /package/.morph/{standards → framework/standards}/backend/database/migrations.md +0 -0
- /package/.morph/{standards → framework/standards}/backend/database/postgresql/database.md +0 -0
- /package/.morph/{standards → framework/standards}/backend/database/repository-patterns.md +0 -0
- /package/.morph/{standards → framework/standards}/backend/database/vector-search-rag.md +0 -0
- /package/.morph/{standards → framework/standards}/backend/dotnet/async.md +0 -0
- /package/.morph/{standards → framework/standards}/backend/dotnet/core.md +0 -0
- /package/.morph/{standards → framework/standards}/backend/dotnet/di.md +0 -0
- /package/.morph/{standards → framework/standards}/backend/dotnet/program-cs-checklist.md +0 -0
- /package/.morph/{standards → framework/standards}/backend/integrations/asaas/asaas-api.md +0 -0
- /package/.morph/{standards → framework/standards}/backend/integrations/clerk/clerk-auth.md +0 -0
- /package/.morph/{standards → framework/standards}/backend/integrations/hangfire/hangfire-jobs.md +0 -0
- /package/.morph/{standards → framework/standards}/backend/integrations/resend/resend-email.md +0 -0
- /package/.morph/{standards → framework/standards}/context/analytics.md +0 -0
- /package/.morph/{standards → framework/standards}/context/bundles.md +0 -0
- /package/.morph/{standards → framework/standards}/context/priming.md +0 -0
- /package/.morph/{standards → framework/standards}/core/architecture.md +0 -0
- /package/.morph/{standards → framework/standards}/core/coding.md +0 -0
- /package/.morph/{standards → framework/standards}/core/git-branching-strategy.md +0 -0
- /package/.morph/{standards → framework/standards}/core/git.md +0 -0
- /package/.morph/{standards → framework/standards}/core/testing.md +0 -0
- /package/.morph/{standards → framework/standards}/data/nosql/blob-storage.md +0 -0
- /package/.morph/{standards → framework/standards}/data/nosql/cache/redis.md +0 -0
- /package/.morph/{standards → framework/standards}/data/nosql/cosmos-db.md +0 -0
- /package/.morph/{standards → framework/standards}/data/vector-search/azure-ai-search.md +0 -0
- /package/.morph/{standards → framework/standards}/data/vector-search/rag-chunking.md +0 -0
- /package/.morph/{standards → framework/standards}/frontend/blazor/design-checklist.md +0 -0
- /package/.morph/{standards → framework/standards}/frontend/blazor/fluent-ui-setup.md +0 -0
- /package/.morph/{standards → framework/standards}/frontend/blazor/fluent-ui.md +0 -0
- /package/.morph/{standards → framework/standards}/frontend/blazor/html-conversion.md +0 -0
- /package/.morph/{standards → framework/standards}/frontend/blazor/lifecycle.md +0 -0
- /package/.morph/{standards → framework/standards}/frontend/blazor/pitfalls.md +0 -0
- /package/.morph/{standards → framework/standards}/frontend/blazor/state.md +0 -0
- /package/.morph/{standards → framework/standards}/frontend/design-system/animations.md +0 -0
- /package/.morph/{standards → framework/standards}/frontend/design-system/naming.md +0 -0
- /package/.morph/{standards → framework/standards}/infrastructure/azure/azure.md +0 -0
- /package/.morph/{standards → framework/standards}/infrastructure/azure/bicep/bicep-patterns.md +0 -0
- /package/.morph/{standards → framework/standards}/infrastructure/azure/devops/azure-devops-setup.md +0 -0
- /package/.morph/{standards → framework/standards}/infrastructure/azure/devops/local-development.md +0 -0
- /package/.morph/{standards → framework/standards}/infrastructure/azure/services/functions.md +0 -0
- /package/.morph/{standards → framework/standards}/infrastructure/azure/services/service-bus.md +0 -0
- /package/.morph/{standards → framework/standards}/infrastructure/azure/services/storage.md +0 -0
- /package/.morph/{standards → framework/standards}/infrastructure/docker/easypanel-deploy.md +0 -0
- /package/.morph/{standards → framework/standards}/infrastructure/supabase/mcp-setup.md +0 -0
- /package/.morph/{standards → framework/standards}/infrastructure/supabase/supabase-auth.md +0 -0
- /package/.morph/{standards → framework/standards}/infrastructure/supabase/supabase-pgvector.md +0 -0
- /package/.morph/{standards → framework/standards}/infrastructure/supabase/supabase-rls.md +0 -0
- /package/.morph/{standards → framework/standards}/infrastructure/supabase/supabase-storage.md +0 -0
- /package/.morph/{standards → framework/standards}/integration/api/graphql.md +0 -0
- /package/.morph/{standards → framework/standards}/integration/api/grpc.md +0 -0
- /package/.morph/{standards → framework/standards}/integration/api/rest-design.md +0 -0
- /package/.morph/{standards → framework/standards}/integration/event-driven/cqrs.md +0 -0
- /package/.morph/{standards → framework/standards}/integration/event-driven/event-sourcing.md +0 -0
- /package/.morph/{standards → framework/standards}/integration/event-driven/service-bus.md +0 -0
- /package/.morph/{standards → framework/standards}/observability/logging.md +0 -0
- /package/.morph/{standards → framework/standards}/observability/metrics.md +0 -0
- /package/.morph/{standards → framework/standards}/observability/monitoring.md +0 -0
- /package/.morph/{standards → framework/standards}/observability/tracing.md +0 -0
- /package/.morph/{standards → framework/standards}/workflows/parallel-execution.md +0 -0
- /package/.morph/{standards → framework/standards}/workflows/thread-management.md +0 -0
- /package/.morph/{templates → framework/templates}/.idea/morph-templates.xml +0 -0
- /package/.morph/{templates → framework/templates}/.vscode/morph-templates.code-snippets +0 -0
- /package/.morph/{templates → framework/templates}/IDE-SNIPPETS.md +0 -0
- /package/.morph/{templates → framework/templates}/code/dotnet/backend/repository.cs +0 -0
- /package/.morph/{templates → framework/templates}/code/dotnet/backend/service.cs +0 -0
- /package/.morph/{templates → framework/templates}/code/dotnet/contracts/Commands.cs +0 -0
- /package/.morph/{templates → framework/templates}/code/dotnet/contracts/Entities.cs +0 -0
- /package/.morph/{templates → framework/templates}/code/dotnet/contracts/Queries.cs +0 -0
- /package/.morph/{templates → framework/templates}/code/dotnet/contracts/README.md +0 -0
- /package/.morph/{templates → framework/templates}/code/dotnet/contracts/api-contracts.cs +0 -0
- /package/.morph/{templates → framework/templates}/code/dotnet/contracts/contracts.cs +0 -0
- /package/.morph/{templates → framework/templates}/code/dotnet/database/migration.cs +0 -0
- /package/.morph/{templates → framework/templates}/code/dotnet/frontend/component.razor +0 -0
- /package/.morph/{templates → framework/templates}/code/dotnet/jobs/agent.cs +0 -0
- /package/.morph/{templates → framework/templates}/code/dotnet/jobs/job.cs +0 -0
- /package/.morph/{templates → framework/templates}/code/dotnet/test.cs +0 -0
- /package/.morph/{templates → framework/templates}/code/sql/rls-policy.sql +0 -0
- /package/.morph/{templates → framework/templates}/code/sql/supabase-migration.sql +0 -0
- /package/.morph/{templates → framework/templates}/code/sql/supabase-migration.template.sql +0 -0
- /package/.morph/{templates → framework/templates}/code/typescript/contracts.ts +0 -0
- /package/.morph/{templates → framework/templates}/docs/proposal.md +0 -0
- /package/.morph/{templates → framework/templates}/examples/design-system-examples.md +0 -0
- /package/.morph/{templates → framework/templates}/feature/decisions.md +0 -0
- /package/.morph/{templates → framework/templates}/feature/recap.md +0 -0
- /package/.morph/{templates → framework/templates}/feature/tasks.md +0 -0
- /package/.morph/{templates → framework/templates}/infrastructure/azure/Dockerfile.example +0 -0
- /package/.morph/{templates → framework/templates}/infrastructure/azure/README.md +0 -0
- /package/.morph/{templates → framework/templates}/infrastructure/azure/app-insights.bicep +0 -0
- /package/.morph/{templates → framework/templates}/infrastructure/azure/app-service.bicep +0 -0
- /package/.morph/{templates → framework/templates}/infrastructure/azure/container-app-env.bicep +0 -0
- /package/.morph/{templates → framework/templates}/infrastructure/azure/container-app.bicep +0 -0
- /package/.morph/{templates → framework/templates}/infrastructure/azure/deploy-checklist.md +0 -0
- /package/.morph/{templates → framework/templates}/infrastructure/azure/deploy.ps1 +0 -0
- /package/.morph/{templates → framework/templates}/infrastructure/azure/deploy.sh +0 -0
- /package/.morph/{templates → framework/templates}/infrastructure/azure/key-vault.bicep +0 -0
- /package/.morph/{templates → framework/templates}/infrastructure/azure/main.bicep +0 -0
- /package/.morph/{templates → framework/templates}/infrastructure/azure/parameters.dev.json +0 -0
- /package/.morph/{templates → framework/templates}/infrastructure/azure/parameters.prod.json +0 -0
- /package/.morph/{templates → framework/templates}/infrastructure/azure/parameters.staging.json +0 -0
- /package/.morph/{templates → framework/templates}/infrastructure/azure/sql-database.bicep +0 -0
- /package/.morph/{templates → framework/templates}/infrastructure/azure/storage.bicep +0 -0
- /package/.morph/{templates → framework/templates}/infrastructure/docker/Dockerfile.template +0 -0
- /package/.morph/{templates → framework/templates}/infrastructure/docker/docker-compose.template.yml +0 -0
- /package/.morph/{templates → framework/templates}/infrastructure/docker/dockerfile-api.dockerfile +0 -0
- /package/.morph/{templates → framework/templates}/infrastructure/docker/dockerfile-web.dockerfile +0 -0
- /package/.morph/{templates → framework/templates}/infrastructure/docker/easypanel.template.json +0 -0
- /package/.morph/{templates → framework/templates}/infrastructure/github/actions/azure-auth/action.yml.hbs +0 -0
- /package/.morph/{templates → framework/templates}/infrastructure/github/actions/docker-build-push/action.yml.hbs +0 -0
- /package/.morph/{templates → framework/templates}/infrastructure/github/actions/health-check/action.yml.hbs +0 -0
- /package/.morph/{templates → framework/templates}/infrastructure/github/workflows/deploy-easypanel.yml.hbs +0 -0
- /package/.morph/{templates → framework/templates}/infrastructure/github/workflows/docker-build-push.yml.hbs +0 -0
- /package/.morph/{templates → framework/templates}/infrastructure/github/workflows/dotnet-build.yml.hbs +0 -0
- /package/.morph/{templates → framework/templates}/integrations/asaas-client.cs +0 -0
- /package/.morph/{templates → framework/templates}/integrations/asaas-webhook.cs +0 -0
- /package/.morph/{templates → framework/templates}/integrations/azure-identity-config.cs +0 -0
- /package/.morph/{templates → framework/templates}/integrations/clerk-config.cs +0 -0
- /package/.morph/{templates → framework/templates}/meta-prompts/fusion/fusion-agent.md +0 -0
- /package/.morph/{templates → framework/templates}/meta-prompts/fusion/fusion-aggregator.md +0 -0
- /package/.morph/{templates → framework/templates}/meta-prompts/hops/hop-retry.md +0 -0
- /package/.morph/{templates → framework/templates}/meta-prompts/hops/hop-validation.md +0 -0
- /package/.morph/{templates → framework/templates}/meta-prompts/hops/hop-wrapper.md +0 -0
- /package/.morph/{templates → framework/templates}/meta-prompts/parallel-workers/parallel-coordinator.md +0 -0
- /package/.morph/{templates → framework/templates}/meta-prompts/squad-leaders/backend-squad.md +0 -0
- /package/.morph/{templates → framework/templates}/meta-prompts/squad-leaders/frontend-squad.md +0 -0
- /package/.morph/{templates → framework/templates}/meta-prompts/squad-leaders/squad-leader.md +0 -0
- /package/.morph/{templates → framework/templates}/meta-prompts/validators/checkpoint-validator.md +0 -0
- /package/.morph/{templates → framework/templates}/saas/subscription.cs +0 -0
- /package/.morph/{templates → framework/templates}/saas/tenant.cs +0 -0
- /package/.morph/{templates → framework/templates}/state.template.json +0 -0
- /package/.morph/{templates → framework/templates}/ui/FluentDesignTheme.cs +0 -0
- /package/.morph/{templates → framework/templates}/ui/MudTheme.cs +0 -0
- /package/.morph/{templates → framework/templates}/ui/design-system.css +0 -0
- /package/framework/{skills/level-2-domains → agents}/README.md +0 -0
- /package/framework/hooks/{commit-msg → git/commit-msg}/conventional-commits.sh +0 -0
- /package/framework/hooks/{pre-commit → git/pre-commit}/agents.sh +0 -0
- /package/framework/hooks/{pre-commit → git/pre-commit}/orchestrator.sh +0 -0
- /package/framework/hooks/{pre-commit → git/pre-commit}/specs.sh +0 -0
- /package/framework/hooks/{pre-push → git/pre-push}/run-tests.sh +0 -0
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
# MORPH Design - FASE 2
|
|
2
|
-
|
|
3
|
-
> INTERNAL: Workflow skill used by /morph-proposal during automated phase orchestration. Not a user command.
|
|
4
|
-
|
|
5
|
-
Expanda a proposta em especificação técnica completa, contracts, decisões arquiteturais e estimativa de custos.
|
|
6
|
-
|
|
7
|
-
## Pré-requisitos
|
|
8
|
-
|
|
9
|
-
- [ ] FASE 1 (Setup) concluída
|
|
10
|
-
- [ ] FASE 1.5 (UI/UX) concluída OU pulada (se não houver front-end)
|
|
11
|
-
- [ ] Proposta aprovada pelo usuário
|
|
12
|
-
|
|
13
|
-
## Workflow
|
|
14
|
-
|
|
15
|
-
### Passo 1: Carregar Contexto e Standards
|
|
16
|
-
|
|
17
|
-
**Obtenha feature state e standards context:**
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
npx morph-spec state get {feature-name}
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
Parse o JSON para obter `activeAgents`, então use standards context (já carregado na FASE 1):
|
|
24
|
-
- Standards relevantes estão em `standardsSummary` do detect-agents
|
|
25
|
-
- Padrões já incluem project overrides + inferred learnings
|
|
26
|
-
|
|
27
|
-
**Leia outputs existentes:**
|
|
28
|
-
1. `.morph/project/outputs/{feature}/proposal.md` - Proposta inicial
|
|
29
|
-
2. `.morph/project/outputs/{feature}/ui-*.md` - UI/UX specs (se existirem)
|
|
30
|
-
|
|
31
|
-
**Use standards context ao gerar spec.md:**
|
|
32
|
-
- Architecture standards → guiam Technical Architecture section
|
|
33
|
-
- Coding standards → definem contracts.cs patterns
|
|
34
|
-
- Azure standards → determinam Infrastructure Requirements
|
|
35
|
-
|
|
36
|
-
### Passo 2: Gerar `spec.md`
|
|
37
|
-
|
|
38
|
-
Crie `.morph/project/outputs/{feature}/spec.md` com:
|
|
39
|
-
|
|
40
|
-
#### 2.1. Overview
|
|
41
|
-
- **Objetivo:** Resumo de 1-2 parágrafos
|
|
42
|
-
- **Usuários afetados:** Quem vai usar?
|
|
43
|
-
- **Problema resolvido:** Qual dor/necessidade?
|
|
44
|
-
|
|
45
|
-
#### 2.2. Functional Requirements
|
|
46
|
-
Lista detalhada de requisitos funcionais:
|
|
47
|
-
```markdown
|
|
48
|
-
### FR001: {Requisito}
|
|
49
|
-
**Description:** {O que deve fazer}
|
|
50
|
-
**Acceptance Criteria:**
|
|
51
|
-
- [ ] Critério 1
|
|
52
|
-
- [ ] Critério 2
|
|
53
|
-
**Priority:** High/Medium/Low
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
#### 2.3. Non-Functional Requirements
|
|
57
|
-
- Performance (tempos de resposta esperados)
|
|
58
|
-
- Segurança (autenticação, autorização)
|
|
59
|
-
- Escalabilidade (volume de dados/usuários)
|
|
60
|
-
- Disponibilidade (uptime esperado)
|
|
61
|
-
|
|
62
|
-
#### 2.4. Technical Architecture
|
|
63
|
-
- **Camadas:** (Presentation, Application, Domain, Infrastructure)
|
|
64
|
-
- **Patterns:** (Repository, CQRS, DI, etc.)
|
|
65
|
-
- **Dependências:** Bibliotecas/serviços externos necessários
|
|
66
|
-
|
|
67
|
-
#### 2.5. Data Model
|
|
68
|
-
- Entities principais
|
|
69
|
-
- Relacionamentos (1:1, 1:N, N:N)
|
|
70
|
-
- Campos obrigatórios vs opcionais
|
|
71
|
-
- Validações de negócio
|
|
72
|
-
|
|
73
|
-
#### 2.6. Infrastructure Requirements
|
|
74
|
-
Se houver recursos Azure:
|
|
75
|
-
- Banco de dados (Azure SQL, Cosmos DB)
|
|
76
|
-
- Storage (Blob Storage)
|
|
77
|
-
- Compute (Container Apps, App Service)
|
|
78
|
-
- Monitoring (App Insights)
|
|
79
|
-
|
|
80
|
-
**SEMPRE usar Bicep para infra!**
|
|
81
|
-
|
|
82
|
-
### Passo 3: Gerar `contracts.cs`
|
|
83
|
-
|
|
84
|
-
Crie `.morph/project/outputs/{feature}/contracts.cs` com:
|
|
85
|
-
|
|
86
|
-
```csharp
|
|
87
|
-
// Interfaces, DTOs, Enums, Value Objects
|
|
88
|
-
|
|
89
|
-
namespace {ProjectName}.Features.{FeatureName};
|
|
90
|
-
|
|
91
|
-
// DTOs (Data Transfer Objects)
|
|
92
|
-
public record {Feature}CreateDto(
|
|
93
|
-
string Name,
|
|
94
|
-
DateTime Date
|
|
95
|
-
);
|
|
96
|
-
|
|
97
|
-
public record {Feature}ResponseDto(
|
|
98
|
-
Guid Id,
|
|
99
|
-
string Name,
|
|
100
|
-
DateTime Date,
|
|
101
|
-
DateTime CreatedAt
|
|
102
|
-
);
|
|
103
|
-
|
|
104
|
-
// Interfaces
|
|
105
|
-
public interface I{Feature}Service
|
|
106
|
-
{
|
|
107
|
-
Task<{Feature}ResponseDto> CreateAsync({Feature}CreateDto dto, CancellationToken ct);
|
|
108
|
-
Task<{Feature}ResponseDto?> GetByIdAsync(Guid id, CancellationToken ct);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
// Enums
|
|
112
|
-
public enum {Feature}Status
|
|
113
|
-
{
|
|
114
|
-
Pending,
|
|
115
|
-
Active,
|
|
116
|
-
Completed
|
|
117
|
-
}
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
**Padrões obrigatórios:**
|
|
121
|
-
- Records para DTOs (immutable)
|
|
122
|
-
- Interfaces para serviços
|
|
123
|
-
- CancellationToken em métodos async
|
|
124
|
-
- Nullable reference types habilitados
|
|
125
|
-
|
|
126
|
-
### Passo 4: Iniciar `decisions.md`
|
|
127
|
-
|
|
128
|
-
Crie `.morph/project/outputs/{feature}/decisions.md` com ADRs relevantes:
|
|
129
|
-
|
|
130
|
-
```markdown
|
|
131
|
-
# Architectural Decision Records (ADRs)
|
|
132
|
-
|
|
133
|
-
## ADR-001: {Decisão Arquitetural}
|
|
134
|
-
|
|
135
|
-
**Status:** Proposed/Accepted/Deprecated
|
|
136
|
-
|
|
137
|
-
**Context:**
|
|
138
|
-
{Por que esta decisão foi necessária}
|
|
139
|
-
|
|
140
|
-
**Decision:**
|
|
141
|
-
{O que foi decidido}
|
|
142
|
-
|
|
143
|
-
**Consequences:**
|
|
144
|
-
**Pros:**
|
|
145
|
-
- Pro 1
|
|
146
|
-
|
|
147
|
-
**Cons:**
|
|
148
|
-
- Con 1
|
|
149
|
-
|
|
150
|
-
**Alternatives Considered:**
|
|
151
|
-
- Alternativa 1: {Por que foi rejeitada}
|
|
152
|
-
|
|
153
|
-
**Date:** {YYYY-MM-DD}
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
**ADRs obrigatórios:**
|
|
157
|
-
- Escolha de biblioteca UI (se FASE 1.5 executou)
|
|
158
|
-
- Padrões arquiteturais (CQRS, Repository, etc.)
|
|
159
|
-
- Recursos Azure (se houver infra)
|
|
160
|
-
- Integrações externas (APIs, webhooks, etc.)
|
|
161
|
-
|
|
162
|
-
### Passo 5: Estimar Custos
|
|
163
|
-
|
|
164
|
-
Se houver recursos Azure na spec:
|
|
165
|
-
|
|
166
|
-
**Limites configuráveis** (em config.json):
|
|
167
|
-
- `costs.limits.freeTierOnly`: $0 (apenas free tier)
|
|
168
|
-
- `costs.limits.withApproval`: $10 (requer confirmação do usuário)
|
|
169
|
-
- `costs.limits.requiresADR`: $10 (requer ADR documentado)
|
|
170
|
-
|
|
171
|
-
Documente custos em `decisions.md` e atualize state:
|
|
172
|
-
|
|
173
|
-
```bash
|
|
174
|
-
npx morph-spec state set {feature-name} costs.estimated {X.XX}
|
|
175
|
-
npx morph-spec state set {feature-name} costs.approved {true/false}
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
### Passo 6: Atualizar State
|
|
179
|
-
|
|
180
|
-
```bash
|
|
181
|
-
npx morph-spec state set {feature-name} phase design
|
|
182
|
-
npx morph-spec state mark-output {feature-name} spec
|
|
183
|
-
npx morph-spec state mark-output {feature-name} contracts
|
|
184
|
-
npx morph-spec state mark-output {feature-name} decisions
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
## Outputs Gerados
|
|
188
|
-
|
|
189
|
-
- `.morph/project/outputs/{feature}/spec.md` - Especificação técnica completa
|
|
190
|
-
- `.morph/project/outputs/{feature}/contracts.cs` - Interfaces, DTOs, Enums
|
|
191
|
-
- `.morph/project/outputs/{feature}/decisions.md` - ADRs (novo ou atualizado)
|
|
192
|
-
- State atualizado com custos estimados
|
|
193
|
-
|
|
194
|
-
## PAUSA OBRIGATÓRIA
|
|
195
|
-
|
|
196
|
-
Apresente ao usuário 3 ações sugeridas:
|
|
197
|
-
|
|
198
|
-
1. **Aprovar design e continuar para clarificação**
|
|
199
|
-
2. **Ajustar escopo/complexidade** - Revisar spec.md
|
|
200
|
-
3. **Modificar contracts** - Ajustar interfaces/DTOs
|
|
201
|
-
|
|
202
|
-
## Critérios de Avanço
|
|
203
|
-
|
|
204
|
-
- [x] `spec.md` completo com todos os requisitos
|
|
205
|
-
- [x] `contracts.cs` com interfaces e DTOs
|
|
206
|
-
- [x] `decisions.md` com ADRs relevantes
|
|
207
|
-
- [x] Custos estimados e documentados (se houver infra)
|
|
208
|
-
- [x] State atualizado
|
|
209
|
-
- [x] Usuário aprovou design
|
|
210
|
-
|
|
211
|
-
---
|
|
212
|
-
|
|
213
|
-
Continuar automaticamente para FASE 3 (Clarify) após aprovação.
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
# MORPH Setup - FASE 1
|
|
2
|
-
|
|
3
|
-
> INTERNAL: Workflow skill used by /morph-proposal during automated phase orchestration. Not a user command.
|
|
4
|
-
|
|
5
|
-
Inicialize o contexto e prepare o ambiente para uma feature aprovada.
|
|
6
|
-
|
|
7
|
-
## Pré-requisitos
|
|
8
|
-
|
|
9
|
-
- [ ] Feature tem `proposal.md` criado (FASE 0 concluída)
|
|
10
|
-
- [ ] Proposal foi aprovado pelo usuário
|
|
11
|
-
- [ ] Agentes foram detectados e registrados no state
|
|
12
|
-
|
|
13
|
-
## Workflow
|
|
14
|
-
|
|
15
|
-
### Passo 1: Verificar State
|
|
16
|
-
|
|
17
|
-
Confirme que a feature existe no state:
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
npx morph-spec state get {feature-name}
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
Se não existir, volte para FASE 0 (proposal).
|
|
24
|
-
|
|
25
|
-
### Passo 2: Carregar Contexto e Standards Automaticamente
|
|
26
|
-
|
|
27
|
-
**Use detect-agents --json para obter standards context:**
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
npx morph-spec detect-agents --json "{feature description from proposal}"
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
O output JSON contém `standardsSummary` com todos os standards relevantes para cada agente ativo:
|
|
34
|
-
|
|
35
|
-
```json
|
|
36
|
-
{
|
|
37
|
-
"standardsSummary": {
|
|
38
|
-
"blazor-builder": {
|
|
39
|
-
"standards": ["blazor-lifecycle", "blazor-state", "coding", ...],
|
|
40
|
-
"fullContent": "# blazor-lifecycle\n\n...", // Full standards text
|
|
41
|
-
"count": 10
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
**Standards resolution order** (automático):
|
|
48
|
-
1. `.morph/project/standards/*.md` (project overrides - highest priority)
|
|
49
|
-
2. `.morph/standards/*.md` (AI Agent Framework, Azure)
|
|
50
|
-
3. `framework/standards/*.md` (Blazor, CSS, .NET)
|
|
51
|
-
4. `.morph/project/standards/inferred.md` (always loaded if exists)
|
|
52
|
-
|
|
53
|
-
**Contexto geral** (leia manualmente):
|
|
54
|
-
- `.morph/project/context/README.md` - Overview do projeto
|
|
55
|
-
- `.morph/config.json` - Configurações
|
|
56
|
-
|
|
57
|
-
### Passo 3: Confirmar Stack
|
|
58
|
-
|
|
59
|
-
Baseado no proposal e contexto, confirme:
|
|
60
|
-
- Stack tecnológica (Blazor Server, Next.js, etc.)
|
|
61
|
-
- Padrões arquiteturais aplicáveis
|
|
62
|
-
- Componentes reutilizáveis existentes
|
|
63
|
-
|
|
64
|
-
### Passo 4: Listar Agentes Ativos
|
|
65
|
-
|
|
66
|
-
Mostre os agentes detectados no proposal:
|
|
67
|
-
|
|
68
|
-
```bash
|
|
69
|
-
npx morph-spec state get {feature-name}
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
Parse o JSON e liste os `activeAgents` com seus emojis e responsabilidades (consulte `.morph/config/agents.json`).
|
|
73
|
-
|
|
74
|
-
### Passo 5: Atualizar State
|
|
75
|
-
|
|
76
|
-
Marque a feature como na fase SETUP:
|
|
77
|
-
|
|
78
|
-
```bash
|
|
79
|
-
npx morph-spec state set {feature-name} phase setup
|
|
80
|
-
npx morph-spec state set {feature-name} status in_progress
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
## Outputs
|
|
84
|
-
|
|
85
|
-
**Apresente ao usuário:**
|
|
86
|
-
|
|
87
|
-
1. **Contexto carregado**:
|
|
88
|
-
- Nome do projeto
|
|
89
|
-
- Stack confirmado
|
|
90
|
-
- Standards aplicáveis
|
|
91
|
-
|
|
92
|
-
2. **Agentes ativos**:
|
|
93
|
-
- Lista de agentes com emojis
|
|
94
|
-
- Responsabilidades de cada um
|
|
95
|
-
|
|
96
|
-
## Critérios de Avanço
|
|
97
|
-
|
|
98
|
-
- [x] Contexto do projeto carregado
|
|
99
|
-
- [x] Standards identificados (framework + project)
|
|
100
|
-
- [x] Stack confirmado
|
|
101
|
-
- [x] Agentes listados
|
|
102
|
-
- [x] State atualizado para phase: setup
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
Continuar automaticamente para próxima fase (UI/UX se detectado, ou Design).
|
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
# MORPH UI/UX Design - FASE 1.5
|
|
2
|
-
|
|
3
|
-
> INTERNAL: Workflow skill used by /morph-proposal during automated phase orchestration. Not a user command.
|
|
4
|
-
|
|
5
|
-
Fase condicional para features com front-end. Coleta requisitos de UI/UX, gera wireframes, specs de componentes e fluxos de usuário.
|
|
6
|
-
|
|
7
|
-
## Pré-requisitos
|
|
8
|
-
|
|
9
|
-
- [ ] FASE 1 (Setup) concluída
|
|
10
|
-
- [ ] Feature tem keywords de UI detectadas (blazor, ui, component, page, dashboard, wizard, form, chart)
|
|
11
|
-
- [ ] `uiux-designer` agent ativado
|
|
12
|
-
|
|
13
|
-
## Workflow
|
|
14
|
-
|
|
15
|
-
### Passo 0: Verificar Design System Existe
|
|
16
|
-
|
|
17
|
-
**CRITICAL:** Antes de iniciar a FASE UI/UX, verifique se um design system existe:
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
npx morph-spec detect-agents "{feature description}"
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
Se nenhum design system for detectado (verificar output):
|
|
24
|
-
|
|
25
|
-
1. **Opção A - Scaffold automático:**
|
|
26
|
-
- O sistema criará automaticamente um design system ao avançar para implementação
|
|
27
|
-
- Você pode gerar manualmente agora: `npx morph-spec generate design-system`
|
|
28
|
-
|
|
29
|
-
2. **Opção B - Criar manualmente:**
|
|
30
|
-
- Crie `.morph/project/design-system.md` (project-level, compartilhado)
|
|
31
|
-
- Ou `.morph/project/outputs/{feature}/ui-design-system.md` (feature-specific)
|
|
32
|
-
|
|
33
|
-
3. **Opção C - Scan existing CSS:**
|
|
34
|
-
- Se o projeto já tem CSS com variáveis: `npx morph-spec generate design-system --scan`
|
|
35
|
-
|
|
36
|
-
**⚠️ IMPORTANTE:**
|
|
37
|
-
- Design system é **obrigatório** para features UI
|
|
38
|
-
- Gate automático bloqueará implementação (FASE 5) se design system não existir
|
|
39
|
-
- Melhor criar agora para garantir consistência visual
|
|
40
|
-
|
|
41
|
-
### Passo 1: Detectar Se Fase É Necessária
|
|
42
|
-
|
|
43
|
-
Verifique se agentes ativos incluem `uiux-designer`:
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
npx morph-spec state get {feature-name}
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
Se `uiux-designer` NÃO estiver nos `activeAgents`, pule esta fase e continue para FASE 2 (Design).
|
|
50
|
-
|
|
51
|
-
### Passo 2: Coletar Input do Usuário
|
|
52
|
-
|
|
53
|
-
**SEMPRE perguntar ao usuário PRIMEIRO:**
|
|
54
|
-
|
|
55
|
-
1. **Layout e estilo**:
|
|
56
|
-
- Você tem alguma ideia de layout em mente?
|
|
57
|
-
- Tem alguma referência visual? (sites, apps, screenshots)
|
|
58
|
-
- Como imagina o fluxo do usuário?
|
|
59
|
-
|
|
60
|
-
2. **Componentes e interações**:
|
|
61
|
-
- Quais os principais componentes desta tela/página?
|
|
62
|
-
- Quais estados precisam ser considerados? (loading, error, empty, success)
|
|
63
|
-
|
|
64
|
-
3. **Imagens de referência**:
|
|
65
|
-
- Tem imagens de exemplo que eu possa analisar?
|
|
66
|
-
- Se SIM: use Read tool para ler screenshots e extrair padrões
|
|
67
|
-
|
|
68
|
-
### Passo 3: Decidir Biblioteca UI
|
|
69
|
-
|
|
70
|
-
Escolha entre **Fluent UI Blazor** (recomendado para AI-first) ou **MudBlazor** (componentes complexos):
|
|
71
|
-
|
|
72
|
-
**Critérios:**
|
|
73
|
-
- Fluent UI: Para dashboards, forms simples, AI components, Microsoft design language
|
|
74
|
-
- MudBlazor: Para data grids avançadas, charts complexos, material design
|
|
75
|
-
|
|
76
|
-
**Documente a decisão em `decisions.md`.**
|
|
77
|
-
|
|
78
|
-
### Passo 4: Gerar Deliverables
|
|
79
|
-
|
|
80
|
-
Crie os seguintes arquivos em `.morph/project/outputs/{feature}/`:
|
|
81
|
-
|
|
82
|
-
#### 4.1. `ui-design-system.md`
|
|
83
|
-
|
|
84
|
-
**Se design system project-level existe (`.morph/project/design-system.md`):**
|
|
85
|
-
- Referencie-o nos specs: "Uses project design system at .morph/project/design-system.md"
|
|
86
|
-
- Crie `ui-design-system.md` apenas se houver cores/componentes **específicos** da feature
|
|
87
|
-
|
|
88
|
-
**Se não existe:**
|
|
89
|
-
- Crie design system feature-level completo com:
|
|
90
|
-
- Paleta de cores (primary, secondary, accent, semantic)
|
|
91
|
-
- Tipografia (heading scales, body text, code)
|
|
92
|
-
- Spacing e layout (grid, margins, paddings)
|
|
93
|
-
- Componentes base (buttons, inputs, cards)
|
|
94
|
-
|
|
95
|
-
#### 4.2. `ui-mockups.md`
|
|
96
|
-
|
|
97
|
-
Wireframes ASCII + descrições:
|
|
98
|
-
- Layout geral de cada tela/página
|
|
99
|
-
- Posicionamento de componentes
|
|
100
|
-
- Responsividade (desktop, tablet, mobile)
|
|
101
|
-
- Estados (loading, error, empty, success)
|
|
102
|
-
|
|
103
|
-
#### 4.3. `ui-components.md`
|
|
104
|
-
|
|
105
|
-
Specs técnicas de componentes Fluent UI/MudBlazor:
|
|
106
|
-
- Componente a usar (FluentButton, MudDataGrid, etc.)
|
|
107
|
-
- Props e configurações
|
|
108
|
-
- Eventos e bindings
|
|
109
|
-
- Validações e estados
|
|
110
|
-
|
|
111
|
-
#### 4.4. `ui-flows.md`
|
|
112
|
-
|
|
113
|
-
Fluxos de usuário completos:
|
|
114
|
-
- User stories
|
|
115
|
-
- Diagramas de fluxo (texto/ASCII)
|
|
116
|
-
- Edge cases (o que acontece se...?)
|
|
117
|
-
- Validações e feedback
|
|
118
|
-
|
|
119
|
-
### Passo 5: Validar Acessibilidade e Responsividade
|
|
120
|
-
|
|
121
|
-
Documente nos arquivos UI:
|
|
122
|
-
- **WCAG 2.1 Level AA** compliance
|
|
123
|
-
- Contraste de cores adequado
|
|
124
|
-
- Labels acessíveis para screen readers
|
|
125
|
-
- Navegação por teclado
|
|
126
|
-
- **Responsive breakpoints**
|
|
127
|
-
- Desktop (>1200px)
|
|
128
|
-
- Tablet (768px - 1199px)
|
|
129
|
-
- Mobile (<768px)
|
|
130
|
-
|
|
131
|
-
### Passo 6: Atualizar State
|
|
132
|
-
|
|
133
|
-
```bash
|
|
134
|
-
npx morph-spec state set {feature-name} phase uiux-design
|
|
135
|
-
npx morph-spec state mark-output {feature-name} ui-design-system
|
|
136
|
-
npx morph-spec state mark-output {feature-name} ui-mockups
|
|
137
|
-
npx morph-spec state mark-output {feature-name} ui-components
|
|
138
|
-
npx morph-spec state mark-output {feature-name} ui-flows
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
## Outputs Gerados
|
|
142
|
-
|
|
143
|
-
- `.morph/project/outputs/{feature}/ui-design-system.md`
|
|
144
|
-
- `.morph/project/outputs/{feature}/ui-mockups.md`
|
|
145
|
-
- `.morph/project/outputs/{feature}/ui-components.md`
|
|
146
|
-
- `.morph/project/outputs/{feature}/ui-flows.md`
|
|
147
|
-
- `.morph/project/outputs/{feature}/decisions.md` (atualizado com ADR UI library)
|
|
148
|
-
|
|
149
|
-
## PAUSA OBRIGATÓRIA
|
|
150
|
-
|
|
151
|
-
Apresente ao usuário 3 ações sugeridas:
|
|
152
|
-
|
|
153
|
-
1. **Aprovar UI/UX e prosseguir para design técnico**
|
|
154
|
-
2. **Ajustar wireframes/componentes de telas específicas**
|
|
155
|
-
3. **Revisar biblioteca UI escolhida (Fluent UI / MudBlazor)**
|
|
156
|
-
|
|
157
|
-
## Critérios de Avanço
|
|
158
|
-
|
|
159
|
-
- [x] Input do usuário coletado (layout, referências)
|
|
160
|
-
- [x] Biblioteca UI escolhida e justificada (ADR)
|
|
161
|
-
- [x] 4 deliverables criados (design-system, mockups, components, flows)
|
|
162
|
-
- [x] Acessibilidade WCAG 2.1 documentada
|
|
163
|
-
- [x] Responsividade especificada
|
|
164
|
-
- [x] State atualizado
|
|
165
|
-
- [x] Usuário aprovou UI/UX
|
|
166
|
-
|
|
167
|
-
---
|
|
168
|
-
|
|
169
|
-
Continuar automaticamente para FASE 2 (Design) após aprovação.
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
# API Designer
|
|
2
|
-
|
|
3
|
-
**Tier:** 3 (Specialist)
|
|
4
|
-
**Always Active:** No
|
|
5
|
-
**Keywords:** api, endpoint, controller, rest, http, route, dto, request, response
|
|
6
|
-
**Reports to:** dotnet-senior
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## Role
|
|
11
|
-
|
|
12
|
-
REST API design specialist for .NET Minimal API and controllers, focusing on clean endpoint design and DTO contracts.
|
|
13
|
-
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
## Standards Applied
|
|
17
|
-
|
|
18
|
-
```
|
|
19
|
-
framework/standards/core/coding.md
|
|
20
|
-
framework/standards/backend/dotnet/core.md
|
|
21
|
-
framework/standards/backend/dotnet/async.md
|
|
22
|
-
framework/standards/backend/api/rest.md
|
|
23
|
-
framework/standards/backend/api/validation.md
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
## Responsibilities
|
|
29
|
-
|
|
30
|
-
- Design REST API endpoints following conventions
|
|
31
|
-
- Create request/response DTOs
|
|
32
|
-
- Implement API controllers or Minimal API endpoints
|
|
33
|
-
- Apply proper HTTP status codes (200, 201, 400, 404, etc.)
|
|
34
|
-
- Implement input validation with FluentValidation
|
|
35
|
-
- Design API versioning strategy
|
|
36
|
-
- Create error response formats
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
## When to Use
|
|
41
|
-
|
|
42
|
-
- Creating new API endpoints
|
|
43
|
-
- Designing DTO contracts
|
|
44
|
-
- API refactoring
|
|
45
|
-
- Implementing validation logic
|
|
46
|
-
- Designing error responses
|
|
47
|
-
|
|
48
|
-
---
|
|
49
|
-
|
|
50
|
-
## Collaborates With
|
|
51
|
-
|
|
52
|
-
- **dotnet-senior** - Service layer consumed by endpoints
|
|
53
|
-
- **ef-modeler** - Entity → DTO mapping
|
|
54
|
-
- **blazor-builder** - Frontend consuming API
|
|
55
|
-
- **testing-specialist** - API integration tests
|
|
56
|
-
|
|
57
|
-
---
|
|
58
|
-
|
|
59
|
-
*MORPH-SPEC by Polymorphism Tech*
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
# EF Modeler
|
|
2
|
-
|
|
3
|
-
**Tier:** 3 (Specialist)
|
|
4
|
-
**Always Active:** No
|
|
5
|
-
**Keywords:** entity, database, migration, ef core, dbcontext, table, column, relationship, query
|
|
6
|
-
**Reports to:** dotnet-senior
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## Role
|
|
11
|
-
|
|
12
|
-
Entity Framework Core specialist for database modeling, entities, configurations, and migrations.
|
|
13
|
-
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
## Standards Applied
|
|
17
|
-
|
|
18
|
-
```
|
|
19
|
-
framework/standards/core/coding.md
|
|
20
|
-
framework/standards/backend/dotnet/core.md
|
|
21
|
-
framework/standards/backend/database/ef-core.md
|
|
22
|
-
framework/standards/backend/database/migrations.md
|
|
23
|
-
framework/standards/backend/database/repository-patterns.md
|
|
24
|
-
framework/standards/backend/database/performance.md
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
## Responsibilities
|
|
30
|
-
|
|
31
|
-
- Design entity models with private setters and factory methods
|
|
32
|
-
- Create IEntityTypeConfiguration for each entity
|
|
33
|
-
- Configure relationships, indexes, and constraints
|
|
34
|
-
- Generate and review EF Core migrations
|
|
35
|
-
- Optimize database queries (avoid N+1, use proper includes)
|
|
36
|
-
- Implement repository patterns with IDbContextFactory
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
## When to Use
|
|
41
|
-
|
|
42
|
-
- Creating/modifying entity classes
|
|
43
|
-
- Database schema changes
|
|
44
|
-
- Migration creation/review
|
|
45
|
-
- Query optimization
|
|
46
|
-
- DbContext configuration
|
|
47
|
-
|
|
48
|
-
---
|
|
49
|
-
|
|
50
|
-
## Collaborates With
|
|
51
|
-
|
|
52
|
-
- **dotnet-senior** - Service layer consuming repositories
|
|
53
|
-
- **api-designer** - DTO mapping from entities
|
|
54
|
-
- **azure-architect** - Database provisioning (Azure SQL, Cosmos DB)
|
|
55
|
-
|
|
56
|
-
---
|
|
57
|
-
|
|
58
|
-
*MORPH-SPEC by Polymorphism Tech*
|