@polymorphism-tech/morph-spec 4.12.0 → 4.14.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/CLAUDE.md +7 -7
- package/README.md +28 -34
- package/bin/morph-spec.js +41 -24
- package/bin/task-manager.js +962 -1341
- package/bin/validate.js +1 -1
- package/claude-plugin.json +1 -1
- package/docs/CHEATSHEET.md +14 -16
- package/docs/QUICKSTART.md +15 -15
- package/framework/CLAUDE.md +5 -2
- package/framework/agents/README.md +3 -4
- package/framework/agents/ai-agents/ai-system-architect.md +6 -10
- package/framework/agents/architecture/seo-growth-hacker.md +166 -326
- package/framework/agents/architecture/standards-architect.md +21 -31
- package/framework/agents/backend/dotnet-senior.md +160 -86
- package/framework/agents/backend/ef-modeler.md +2 -6
- package/framework/agents/backend/hangfire-orchestrator.md +8 -9
- package/framework/agents/backend/ms-agent-expert.md +1 -1
- package/framework/agents/frontend/nextjs-expert.md +198 -133
- package/framework/agents/frontend/ui-ux-designer.md +226 -267
- package/framework/agents/infrastructure/infra-architect.md +191 -27
- package/framework/agents/integrations/clerk-auth.md +19 -26
- package/framework/agents/integrations/hangfire-integration.md +1 -4
- package/framework/agents.json +1084 -2278
- package/framework/commands/morph-apply.md +4 -6
- package/framework/commands/morph-preflight.md +192 -269
- package/framework/commands/morph-proposal.md +210 -238
- package/framework/commands/morph-status.md +72 -92
- package/framework/commands/morph-troubleshoot.md +6 -13
- package/framework/hooks/README.md +1 -6
- package/framework/hooks/claude-code/post-tool-use/validator-feedback.js +4 -6
- package/framework/hooks/claude-code/pre-compact/save-morph-context.js +12 -7
- package/framework/hooks/claude-code/pre-tool-use/enforce-phase-writes.js +2 -2
- package/framework/hooks/claude-code/pre-tool-use/protect-spec-files.js +2 -2
- package/framework/hooks/claude-code/pre-tool-use/task-tracking-guard.js +5 -10
- package/framework/hooks/claude-code/session-start/inject-morph-context.js +63 -30
- package/framework/hooks/claude-code/session-start/resume-context.js +77 -0
- package/framework/hooks/claude-code/statusline.py +4 -5
- package/framework/hooks/claude-code/stop/validate-completion.js +4 -4
- package/framework/hooks/claude-code/user-prompt/enrich-prompt.js +8 -8
- package/framework/hooks/shared/compact-restore.js +28 -5
- package/framework/hooks/shared/phase-utils.js +4 -8
- package/framework/hooks/shared/state-reader.js +34 -3
- package/framework/phases.json +162 -200
- package/framework/rules/ai-agents-standards.md +15 -0
- package/framework/rules/asaas-standards.md +13 -0
- package/framework/rules/clerk-standards.md +13 -0
- package/framework/rules/csharp-standards.md +8 -4
- package/framework/rules/data-standards.md +18 -0
- package/framework/rules/dotnet-templates.md +87 -0
- package/framework/rules/frontend-standards.md +13 -13
- package/framework/rules/hangfire-standards.md +13 -0
- package/framework/rules/infrastructure-standards.md +27 -16
- package/framework/rules/morph-workflow.md +73 -13
- package/framework/rules/nextjs-standards.md +1 -0
- package/framework/rules/nextjs-templates.md +40 -0
- package/framework/rules/resend-standards.md +12 -0
- package/framework/rules/supabase-standards.md +29 -0
- package/framework/skills/README.md +6 -8
- package/framework/skills/level-0-meta/mcp-registry.json +21 -99
- package/framework/{standards/ai-agents/team-orchestration.md → skills/level-0-meta/morph-agent-teams/SKILL.md} +472 -479
- package/framework/skills/level-0-meta/morph-brainstorming/SKILL.md +28 -1
- package/framework/skills/level-0-meta/morph-checklist/SKILL.md +2 -2
- package/framework/skills/level-0-meta/morph-code-review/SKILL.md +1 -5
- package/framework/skills/level-0-meta/morph-code-review/scripts/scan-csharp.mjs +1 -1
- package/framework/skills/level-0-meta/morph-frontend-review/SKILL.md +23 -41
- package/framework/skills/level-0-meta/morph-init/SKILL.md +18 -14
- package/framework/skills/level-0-meta/morph-parallel-dispatch/SKILL.md +225 -0
- package/framework/skills/level-0-meta/morph-post-implementation/SKILL.md +20 -0
- package/framework/skills/level-0-meta/morph-tool-usage-guide/SKILL.md +4 -8
- package/framework/skills/level-0-meta/morph-tool-usage-guide/references/tools-per-phase.md +15 -59
- package/framework/skills/level-0-meta/morph-verification-before-completion/SKILL.md +7 -19
- package/framework/skills/level-0-meta/morph-verification-before-completion/scripts/check-phase-outputs.mjs +8 -8
- package/framework/skills/level-1-workflows/README.md +1 -1
- package/framework/skills/level-1-workflows/morph-phase-codebase-analysis/SKILL.md +49 -50
- package/framework/skills/level-1-workflows/morph-phase-design/SKILL.md +57 -123
- package/framework/skills/level-1-workflows/morph-phase-design/references/architecture-analysis-guide.md +5 -50
- package/framework/skills/level-1-workflows/morph-phase-design/references/spec-example.md +1 -1
- package/framework/skills/level-1-workflows/morph-phase-implement/SKILL.md +127 -159
- package/framework/skills/level-1-workflows/morph-phase-implement/prompts/code-quality-reviewer-prompt.md +1 -1
- package/framework/skills/level-1-workflows/morph-phase-implement/prompts/implementer-prompt.md +4 -3
- package/framework/skills/level-1-workflows/morph-phase-implement/prompts/spec-reviewer-prompt.md +2 -2
- package/framework/skills/level-1-workflows/morph-phase-implement/references/recap-example.md +1 -1
- package/framework/skills/level-1-workflows/morph-phase-plan/SKILL.md +17 -13
- package/framework/skills/level-1-workflows/morph-phase-tasks/SKILL.md +22 -40
- package/framework/skills/level-1-workflows/morph-phase-tasks/references/task-planning-patterns.md +143 -172
- package/framework/skills/level-1-workflows/morph-phase-tasks/references/tasks-example.md +5 -5
- package/framework/skills/level-1-workflows/morph-phase-uiux/SKILL.md +57 -77
- package/framework/skills/level-1-workflows/morph-scope-escalation/SKILL.md +1 -1
- package/framework/squad-templates/backend-only.json +6 -6
- package/framework/squad-templates/frontend-only.json +17 -8
- package/framework/squad-templates/full-stack.json +29 -24
- package/framework/standards/STANDARDS.json +1021 -2369
- package/framework/standards/backend/dotnet/fluent-validation-vsa.md +200 -0
- package/framework/standards/backend/dotnet/result-pattern.md +213 -0
- package/framework/standards/backend/dotnet/scalar-ui.md +172 -0
- package/framework/standards/backend/dotnet/scrutor.md +158 -0
- package/framework/standards/backend/dotnet/vsa-handler-patterns.md +274 -0
- package/framework/standards/frontend/nextjs/motion-patterns.md +1 -1
- package/framework/standards/infrastructure/supabase/mcp-setup.md +83 -193
- package/framework/standards/integration/mcp/mcp-tools.md +91 -77
- package/framework/templates/IDE-SNIPPETS.md +2 -6
- package/framework/templates/README.md +709 -814
- package/framework/templates/REGISTRY.json +223 -762
- package/framework/templates/code/dotnet/abstractions/api-endpoint.cs +7 -0
- package/framework/templates/code/dotnet/abstractions/error.cs +60 -0
- package/framework/templates/code/dotnet/abstractions/handler.cs +12 -0
- package/framework/templates/code/dotnet/abstractions/result.cs +74 -0
- package/framework/templates/code/dotnet/backend/repository.cs +148 -141
- package/framework/templates/code/dotnet/constants/api-tags.cs +6 -0
- package/framework/templates/code/dotnet/exceptions/exception-handler.cs +32 -0
- package/framework/templates/code/dotnet/extensions/database-extensions.cs +20 -0
- package/framework/templates/code/dotnet/extensions/handler-registration.cs +38 -0
- package/framework/templates/code/dotnet/extensions/health-checks.cs +24 -0
- package/framework/templates/code/dotnet/extensions/map-endpoints.cs +35 -0
- package/framework/templates/code/dotnet/extensions/result-extensions.cs +29 -0
- package/framework/templates/code/dotnet/feature/endpoint.cs.hbs +21 -0
- package/framework/templates/code/dotnet/feature/entity.cs.hbs +8 -0
- package/framework/templates/code/dotnet/feature/errors.cs.hbs +8 -0
- package/framework/templates/code/dotnet/feature/handler.cs.hbs +24 -0
- package/framework/templates/code/dotnet/feature/request.cs.hbs +4 -0
- package/framework/templates/code/dotnet/feature/response.cs.hbs +4 -0
- package/framework/templates/code/dotnet/feature/validator.cs.hbs +15 -0
- package/framework/templates/code/dotnet/jobs/job.cs +21 -17
- package/framework/templates/code/dotnet/pipelines/logging-decorator.cs +31 -0
- package/framework/templates/code/dotnet/pipelines/validation-decorator.cs +97 -0
- package/framework/templates/code/dotnet/test.cs +192 -106
- package/framework/templates/context/ARCHITECTURE.md +89 -0
- package/framework/templates/context/CONTEXT-FEATURE.md +2 -2
- package/framework/templates/context/CONTEXT.md +180 -181
- package/framework/templates/context/design-system.md +1 -5
- package/framework/templates/docs/onboarding.md +2 -3
- package/framework/templates/docs/proposal.md +171 -182
- package/framework/templates/docs/spec.md +1 -3
- package/framework/templates/docs/ui-components.md +0 -72
- package/framework/templates/examples/design-system-examples.md +4 -4
- package/framework/templates/feature/decisions.md +0 -66
- package/framework/templates/feature/recap.md +1 -2
- package/framework/templates/infrastructure/github/README.md +56 -593
- package/framework/templates/integrations/clerk-config.cs +0 -41
- package/framework/templates/meta-prompts/parallel-workers/parallel-worker.md +2 -2
- package/framework/templates/meta-prompts/squad-leaders/backend-squad.md +1 -2
- package/framework/templates/meta-prompts/squad-leaders/frontend-squad.md +83 -126
- package/framework/templates/meta-prompts/validators/pre-commit-validator.md +2 -2
- package/framework/templates/project/validate.js +2 -4
- package/framework/templates/ui/design-system.css +1 -1
- package/framework/workflows/README.md +8 -8
- package/framework/workflows/configs/fast-track.json +51 -0
- package/framework/workflows/configs/full.json +68 -0
- package/framework/workflows/configs/standard.json +7 -3
- package/framework/workflows/docs/STORY-DRIVEN-DEVELOPMENT.md +1 -1
- package/framework/workflows/docs/enforcement-pipeline.md +18 -19
- package/framework/workflows/docs/full-morph.md +69 -76
- package/framework/workflows/docs/standard.md +49 -44
- package/framework/workflows/docs/ui-refresh.md +1 -1
- package/package.json +3 -3
- package/src/commands/agents/dispatch-agents.js +55 -116
- package/src/commands/context/context-refresh.js +79 -0
- package/src/commands/phase/phase-reset.js +1 -1
- package/src/commands/project/doctor.js +10 -32
- package/src/commands/project/init.js +12 -0
- package/src/commands/project/status.js +6 -12
- package/src/commands/scaffold/scaffold.js +131 -0
- package/src/commands/scope/escalate.js +1 -1
- package/src/commands/state/advance-phase.js +15 -29
- package/src/commands/state/state.js +20 -5
- package/src/commands/tasks/task.js +0 -30
- package/src/commands/validation/validate-feature.js +3 -10
- package/src/core/paths/output-schema.js +12 -13
- package/src/core/state/phase-state-machine.js +211 -217
- package/src/core/state/state-manager.js +9 -9
- package/src/lib/agents/agents-manager.js +2 -2
- package/src/lib/agents/output-collector.js +1 -2
- package/src/lib/detectors/design-system-detector.js +4 -4
- package/src/lib/detectors/index.js +1 -11
- package/src/lib/generators/architecture-scanner.js +640 -0
- package/src/lib/generators/context-generator.js +3 -3
- package/src/lib/generators/design-system-generator.js +508 -587
- package/src/lib/generators/index.js +12 -10
- package/src/lib/generators/metadata-extractor.js +386 -387
- package/src/lib/generators/recap-generator.js +4 -4
- package/src/lib/generators/scaffold-generator.js +317 -0
- package/src/lib/generators/settings-generator.js +0 -1
- package/src/lib/phase-chain/phase-validator.js +64 -42
- package/src/lib/stack/stack-profile.js +2 -2
- package/src/lib/standards/digest-builder.js +72 -285
- package/src/lib/tasks/task-parser.js +11 -5
- package/src/lib/validators/architecture/architecture-validator.js +259 -387
- package/src/lib/validators/content/content-validator.js +287 -287
- package/src/lib/validators/css/css-validator.js +340 -352
- package/src/lib/validators/packages/package-validator.js +347 -360
- package/src/lib/validators/shared/issue-counter.js +14 -18
- package/src/lib/validators/validation-runner.js +3 -19
- package/src/scripts/setup-infra.js +1 -1
- package/src/utils/agents-installer.js +61 -10
- package/src/utils/file-copier.js +1 -0
- package/src/utils/hooks-installer.js +11 -19
- package/src/utils/skills-installer.js +178 -178
- package/framework/agents/architecture/prompt-engineer.md +0 -195
- package/framework/agents/backend/api-designer.md +0 -106
- package/framework/agents/frontend/blazor-builder.md +0 -229
- package/framework/agents/frontend/nextjs-ui-specialist.md +0 -218
- package/framework/agents/infrastructure/azure-architect.md +0 -150
- package/framework/agents/infrastructure/azure-deploy-specialist.md +0 -707
- package/framework/agents/infrastructure/bicep-architect.md +0 -132
- package/framework/agents/infrastructure/container-specialist.md +0 -137
- package/framework/agents/infrastructure/devops-engineer.md +0 -126
- package/framework/agents/integrations/azure-identity.md +0 -148
- package/framework/agents/quality/code-analyzer.md +0 -239
- package/framework/agents/quality/testing-specialist.md +0 -130
- package/framework/hooks/claude-code/notification/approval-reminder.js +0 -57
- package/framework/hooks/claude-code/post-tool-use/context-refresh.js +0 -109
- package/framework/hooks/claude-code/post-tool-use/skill-reminder.js +0 -78
- package/framework/index/troubleshooting-index.json +0 -184
- package/framework/rules/testing-standards.md +0 -14
- package/framework/skills/level-0-meta/morph-replicate/SKILL.md +0 -230
- package/framework/skills/level-0-meta/morph-replicate/references/blazor-html-mapping.md +0 -70
- package/framework/skills/level-1-workflows/morph-phase-clarify/SKILL.md +0 -256
- package/framework/skills/level-1-workflows/morph-phase-clarify/references/clarifications-example.md +0 -117
- package/framework/skills/level-1-workflows/morph-phase-setup/SKILL.md +0 -269
- package/framework/standards/ai-agents/blazor-ui.md +0 -364
- package/framework/standards/architecture/ddd/aggregates.md +0 -120
- package/framework/standards/architecture/ddd/bounded-contexts.md +0 -105
- package/framework/standards/architecture/ddd/complexity-levels.md +0 -108
- package/framework/standards/architecture/ddd/entities.md +0 -99
- package/framework/standards/architecture/ddd/ubiquitous-language.md +0 -58
- package/framework/standards/architecture/ddd/value-objects.md +0 -124
- package/framework/standards/backend/api/minimal-api.md +0 -494
- package/framework/standards/backend/api/rest.md +0 -492
- package/framework/standards/backend/authentication/passkeys.md +0 -428
- package/framework/standards/backend/database/ef-core.md +0 -199
- package/framework/standards/backend/database/migrations.md +0 -393
- package/framework/standards/backend/database/repository-patterns.md +0 -528
- package/framework/standards/backend/dotnet/async.md +0 -366
- package/framework/standards/backend/dotnet/core.md +0 -117
- package/framework/standards/backend/dotnet/di.md +0 -439
- package/framework/standards/backend/dotnet/program-cs-checklist.md +0 -92
- package/framework/standards/context/analytics.md +0 -96
- package/framework/standards/context/bundles.md +0 -110
- package/framework/standards/context/priming.md +0 -78
- package/framework/standards/core/architecture.md +0 -185
- package/framework/standards/core/coding.md +0 -214
- package/framework/standards/core/git-branching-strategy.md +0 -403
- package/framework/standards/core/git.md +0 -185
- package/framework/standards/core/testing.md +0 -295
- package/framework/standards/data/nosql/blob-storage.md +0 -102
- package/framework/standards/data/vector-search/azure-ai-search.md +0 -121
- package/framework/standards/frontend/blazor/design-checklist.md +0 -222
- package/framework/standards/frontend/blazor/fluent-ui-setup.md +0 -595
- package/framework/standards/frontend/blazor/fluent-ui.md +0 -137
- package/framework/standards/frontend/blazor/html-conversion.md +0 -184
- package/framework/standards/frontend/blazor/lifecycle.md +0 -195
- package/framework/standards/frontend/blazor/pitfalls.md +0 -198
- package/framework/standards/frontend/blazor/state.md +0 -191
- package/framework/standards/frontend/design-system/aesthetic-direction.md +0 -266
- package/framework/standards/frontend/design-system/design-trends.md +0 -171
- package/framework/standards/infrastructure/azure/azure.md +0 -624
- package/framework/standards/infrastructure/azure/bicep/bicep-patterns.md +0 -422
- package/framework/standards/infrastructure/azure/devops/azure-devops-setup.md +0 -516
- package/framework/standards/infrastructure/azure/devops/local-development.md +0 -520
- package/framework/standards/infrastructure/azure/services/functions.md +0 -486
- package/framework/standards/infrastructure/azure/services/service-bus.md +0 -459
- package/framework/standards/infrastructure/azure/services/storage.md +0 -407
- package/framework/standards/infrastructure/vercel/vercel-database.md +0 -106
- package/framework/standards/integration/api/graphql.md +0 -91
- package/framework/standards/integration/api/grpc.md +0 -114
- package/framework/standards/integration/api/rest-design.md +0 -95
- package/framework/standards/integration/event-driven/cqrs.md +0 -101
- package/framework/standards/integration/event-driven/event-sourcing.md +0 -124
- package/framework/standards/integration/event-driven/service-bus.md +0 -95
- package/framework/standards/observability/logging.md +0 -131
- package/framework/standards/observability/metrics.md +0 -121
- package/framework/standards/observability/monitoring.md +0 -114
- package/framework/standards/observability/tracing.md +0 -132
- package/framework/standards/workflows/parallel-execution.md +0 -112
- package/framework/standards/workflows/thread-management.md +0 -113
- package/framework/templates/code/dotnet/backend/service.cs +0 -139
- package/framework/templates/code/dotnet/contracts/Commands.cs +0 -74
- package/framework/templates/code/dotnet/contracts/Entities.cs +0 -25
- package/framework/templates/code/dotnet/contracts/Queries.cs +0 -74
- package/framework/templates/code/dotnet/contracts/api-contracts.cs +0 -173
- package/framework/templates/code/dotnet/contracts/contracts-level1.cs +0 -69
- package/framework/templates/code/dotnet/contracts/contracts-level2.cs +0 -86
- package/framework/templates/code/dotnet/contracts/contracts-level3.cs +0 -41
- package/framework/templates/code/dotnet/frontend/component.razor +0 -239
- package/framework/templates/infrastructure/azure/Dockerfile.example +0 -82
- package/framework/templates/infrastructure/azure/README.md +0 -286
- package/framework/templates/infrastructure/azure/app-insights.bicep +0 -63
- package/framework/templates/infrastructure/azure/app-service.bicep +0 -164
- package/framework/templates/infrastructure/azure/container-app-env.bicep +0 -49
- package/framework/templates/infrastructure/azure/container-app.bicep +0 -156
- package/framework/templates/infrastructure/azure/deploy-checklist.md +0 -426
- package/framework/templates/infrastructure/azure/deploy.ps1 +0 -229
- package/framework/templates/infrastructure/azure/deploy.sh +0 -208
- package/framework/templates/infrastructure/azure/key-vault.bicep +0 -91
- package/framework/templates/infrastructure/azure/main.bicep +0 -189
- package/framework/templates/infrastructure/azure/parameters.dev.json +0 -29
- package/framework/templates/infrastructure/azure/parameters.prod.json +0 -29
- package/framework/templates/infrastructure/azure/parameters.staging.json +0 -29
- package/framework/templates/infrastructure/azure/sql-database.bicep +0 -103
- package/framework/templates/infrastructure/azure/storage.bicep +0 -106
- package/framework/templates/infrastructure/github/actions/azure-auth/action.yml.hbs +0 -22
- package/framework/templates/infrastructure/github/workflows/deploy-azure-app-service.yml.hbs +0 -61
- package/framework/templates/integrations/azure-identity-config.cs +0 -288
- package/framework/templates/project-structure/dotnet-ddd.md +0 -70
- package/framework/templates/saas/subscription.cs +0 -347
- package/framework/templates/saas/tenant.cs +0 -338
- package/framework/templates/ui/FluentDesignTheme.cs +0 -149
- package/framework/templates/ui/MudTheme.cs +0 -281
- package/framework/workflows/configs/nodejs-cli.json +0 -40
- package/src/commands/standards/context-budget.js +0 -89
- package/src/lib/standards/index.js +0 -7
- package/src/lib/standards/standards-context-injector.js +0 -302
- package/src/lib/validators/blazor/blazor-concurrency-analyzer.js +0 -316
- package/src/lib/validators/blazor/blazor-state-validator.js +0 -279
- package/src/lib/validators/blazor/blazor-validator.js +0 -369
- package/src/lib/validators/blazor/index.js +0 -9
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: morph-phase-uiux
|
|
3
|
-
description: MORPH-SPEC Phase
|
|
3
|
+
description: MORPH-SPEC Phase 2 (UI/UX). Creates design-system.md, mockups.md, components.md, and flows.md using Playwright/Context7 MCPs. Use after setup for features with frontend UI components, pages, dashboards, forms, wizards, or visual interactions requiring design documentation.
|
|
4
4
|
argument-hint: "[feature-name]"
|
|
5
5
|
user-invocable: false
|
|
6
6
|
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
|
|
7
|
-
cliVersion: "4.
|
|
7
|
+
cliVersion: "4.14.0"
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
-
# MORPH UI/UX Design - Phase
|
|
10
|
+
# MORPH UI/UX Design - Phase 2
|
|
11
11
|
|
|
12
12
|
> INTERNAL: Workflow skill used by /morph-proposal during automated phase orchestration. Not a user command.
|
|
13
13
|
|
|
@@ -15,8 +15,8 @@ Conditional phase for features with front-end. Collects UI/UX requirements, gene
|
|
|
15
15
|
|
|
16
16
|
## Prerequisites
|
|
17
17
|
|
|
18
|
-
- [ ]
|
|
19
|
-
- [ ] Feature has detected UI keywords (
|
|
18
|
+
- [ ] Proposal approved by the user
|
|
19
|
+
- [ ] Feature has detected UI keywords (ui, component, page, dashboard, wizard, form, chart)
|
|
20
20
|
- [ ] `ui-designer` agent activated
|
|
21
21
|
|
|
22
22
|
## Recommended Tools
|
|
@@ -29,7 +29,7 @@ Conditional phase for features with front-end. Collects UI/UX requirements, gene
|
|
|
29
29
|
| Check existing design system | **Read** `.morph/context/design-system.md` | — |
|
|
30
30
|
| Read user screenshots | **Read** (image file) | — |
|
|
31
31
|
| Search for existing CSS variables | **Grep** `--root:` in `*.css,*.scss` | — |
|
|
32
|
-
| Find existing components | **Glob** `**/
|
|
32
|
+
| Find existing components | **Glob** `**/components/**/*.tsx` | — |
|
|
33
33
|
| UI component documentation | **Context7 MCP** `query_docs({ libraryId, query })` | **WebSearch** + **WebFetch** |
|
|
34
34
|
| Preview existing page | **Playwright MCP** `browser_navigate()` + `browser_take_screenshot()` | **WebFetch** URL |
|
|
35
35
|
| Generate visual mockup | **Playwright MCP** `browser_navigate()` + `browser_resize()` + `browser_take_screenshot()` | HTML file + manual screenshot |
|
|
@@ -42,13 +42,11 @@ Conditional phase for features with front-end. Collects UI/UX requirements, gene
|
|
|
42
42
|
| Auto-detect dev server | **Glob** `next.config.*`, `vite.config.*`, `*.csproj` | **Read** `package.json` scripts |
|
|
43
43
|
| Capture existing app | **Playwright MCP** `browser_navigate()` + `browser_take_screenshot()` | — |
|
|
44
44
|
| Read Tailwind config | **Read** `tailwind.config.{js,ts}` | **Grep** `colors:` |
|
|
45
|
-
|
|
|
46
|
-
| Trend research | **Read** `design-trends.md` standard | **Context7 MCP** / **WebSearch** |
|
|
45
|
+
| Trend research | **Context7 MCP** / **WebSearch** | — |
|
|
47
46
|
|
|
48
47
|
**MCPs for this phase:** Playwright (preview, inspection, responsiveness), Context7 (component docs).
|
|
49
48
|
|
|
50
49
|
**Anti-patterns:**
|
|
51
|
-
- WebSearch for MudBlazor docs (use Context7 MCP — more precise)
|
|
52
50
|
- Task agent to read a screenshot (use Read directly on image)
|
|
53
51
|
- Guess component props (use Context7 for actual API)
|
|
54
52
|
|
|
@@ -66,12 +64,13 @@ Check the `"phase"` field in the output:
|
|
|
66
64
|
|
|
67
65
|
**If `"phase": "uiux"`** → correct phase, proceed.
|
|
68
66
|
|
|
69
|
-
**If `"phase": "
|
|
70
|
-
1. `morph-spec
|
|
67
|
+
**If `"phase": "proposal"`** → execute in sequence:
|
|
68
|
+
1. `morph-spec state mark-output $ARGUMENTS proposal`
|
|
69
|
+
2. `morph-spec phase advance $ARGUMENTS` (→ uiux)
|
|
71
70
|
|
|
72
71
|
**Any other value** → do not proceed — inconsistent state, report to user.
|
|
73
72
|
|
|
74
|
-
> **Rule:** Never write to `
|
|
73
|
+
> **Rule:** Never write to `1-ui/` until the phase is `uiux`. The hook will block writes.
|
|
75
74
|
|
|
76
75
|
---
|
|
77
76
|
|
|
@@ -88,8 +87,7 @@ Check in priority order:
|
|
|
88
87
|
2. **`package.json` port flags**: Read `package.json` scripts → scan for `--port`, `-p` flags → extract port
|
|
89
88
|
3. **Next.js**: Glob `next.config.*` → try `http://localhost:3000`
|
|
90
89
|
4. **Vite**: Glob `vite.config.*` → try `http://localhost:5173`
|
|
91
|
-
5. **.NET
|
|
92
|
-
6. **.NET fallback**: Glob `*.csproj` → try `https://localhost:5001`
|
|
90
|
+
5. **.NET**: Glob `**/Properties/launchSettings.json` → Read → extract `applicationUrl`
|
|
93
91
|
|
|
94
92
|
Track: `detectedUrl` (string or null).
|
|
95
93
|
|
|
@@ -147,11 +145,11 @@ Once connected, take screenshots of up to 5 pages:
|
|
|
147
145
|
mcp__plugin_playwright_playwright__browser_resize({ width: 1440, height: 900 })
|
|
148
146
|
mcp__plugin_playwright_playwright__browser_take_screenshot({})
|
|
149
147
|
```
|
|
150
|
-
4. Save screenshots to `.morph/features/$ARGUMENTS/
|
|
148
|
+
4. Save screenshots to `.morph/features/$ARGUMENTS/1-ui/existing-*.png`
|
|
151
149
|
|
|
152
150
|
#### 0.2.4 — Visual analysis
|
|
153
151
|
|
|
154
|
-
Analyze the captured screenshots and write `.morph/features/$ARGUMENTS/
|
|
152
|
+
Analyze the captured screenshots and write `.morph/features/$ARGUMENTS/1-ui/existing-ui-analysis.md`:
|
|
155
153
|
|
|
156
154
|
> **Note:** This is an intermediate artifact — NOT a tracked output in `output-schema.js`. It will not appear in `state mark-output`. Advisory warnings from `task-tracking-guard.js` are expected.
|
|
157
155
|
|
|
@@ -217,21 +215,12 @@ If found, Read the file and extract:
|
|
|
217
215
|
Glob: `components.json`
|
|
218
216
|
If found and contains `"style"` field, also scan `src/lib/utils.ts` or `lib/utils.ts` for CSS var references.
|
|
219
217
|
|
|
220
|
-
**D.
|
|
221
|
-
Glob: `**/MudTheme*.cs`, `**/*Theme*.cs`, `**/CustomTheme*.cs`
|
|
222
|
-
If found, Grep for `PaletteLight`, `PaletteDark`, `Typography` property assignments.
|
|
223
|
-
Extract: Primary, Secondary, Tertiary, Background, Surface colors + font families.
|
|
224
|
-
|
|
225
|
-
**E. Fluent UI Theme (.NET):**
|
|
226
|
-
Glob: `**/FluentDesignTheme*.cs`, `**/DesignTheme*.cs`
|
|
227
|
-
If found, Grep for `DesignThemePalette` properties.
|
|
228
|
-
|
|
229
|
-
**F. Global theme files:**
|
|
218
|
+
**D. Global theme files:**
|
|
230
219
|
Glob: `**/theme.{ts,js}`, `**/tokens.{ts,js}`, `**/design-tokens.{ts,js}`
|
|
231
220
|
If found, Read and extract exported color/spacing/font objects.
|
|
232
221
|
|
|
233
222
|
Classify ALL found tokens into:
|
|
234
|
-
- **Colors**: `--color-*`, hex values, rgb()
|
|
223
|
+
- **Colors**: `--color-*`, hex values, rgb()
|
|
235
224
|
- **Fonts**: `--font-*`, `font-family:`, fontFamily config
|
|
236
225
|
- **Spacing**: `--space-*`, `--gap-*`, spacing config
|
|
237
226
|
- **Radius**: `--radius-*`, borderRadius config
|
|
@@ -253,7 +242,7 @@ Track: `dsExists` (bool).
|
|
|
253
242
|
|------|-----------|--------|
|
|
254
243
|
| **A** | `dsExists` AND `cssTokensFound` | Cross-check DS vs scanned tokens. If >2 colors diverge, flag misalignment and ask user if they want to update DS with `AskUserQuestion`. Proceed to Step 1. |
|
|
255
244
|
| **B** | `dsExists` AND NOT `cssTokensFound` | Print: `✓ Design system found (no CSS tokens to cross-check)`. Proceed to Step 1. |
|
|
256
|
-
| **C** | NOT `dsExists` AND tokens found | Auto-generate `.morph/context/design-system.md` from ALL scanned token sources (CSS vars, Tailwind config,
|
|
245
|
+
| **C** | NOT `dsExists` AND tokens found | Auto-generate `.morph/context/design-system.md` from ALL scanned token sources (CSS vars, Tailwind config, etc.). Merge tokens from multiple sources, preferring Tailwind/Theme config over raw CSS. If Step 0.2 produced `existing-ui-analysis.md`, cross-reference visual analysis with extracted tokens. Proceed to Step 1. |
|
|
257
246
|
| **D** | NOT `dsExists` AND NOT `cssTokensFound` | Greenfield project. Ask user for aesthetic direction + brand color using `AskUserQuestion` (same options as morph-init). Scaffold from template. Proceed to Step 1. |
|
|
258
247
|
|
|
259
248
|
**Case C — auto-generate from scanned tokens:**
|
|
@@ -267,7 +256,7 @@ Create `.morph/context/design-system.md` with these sections populated from scan
|
|
|
267
256
|
|
|
268
257
|
Print: `✓ Design system generated from [N] tokens — .morph/context/design-system.md`
|
|
269
258
|
|
|
270
|
-
> **Design system is mandatory** for UI features. The implementation gate (Phase
|
|
259
|
+
> **Design system is mandatory** for UI features. The implementation gate (Phase 7) will block if no design system exists.
|
|
271
260
|
|
|
272
261
|
## MANDATORY: Session Tasks
|
|
273
262
|
|
|
@@ -285,16 +274,18 @@ Check if active agents include `ui-designer`:
|
|
|
285
274
|
morph-spec state get $ARGUMENTS
|
|
286
275
|
```
|
|
287
276
|
|
|
288
|
-
If `ui-designer` is NOT in `activeAgents`, skip this phase and continue to Phase
|
|
277
|
+
If `ui-designer` is NOT in `activeAgents`, skip this phase and continue to Phase 3 (Design).
|
|
289
278
|
|
|
290
279
|
### Step 1.3: Trend Research
|
|
291
280
|
|
|
292
281
|
> **Purpose:** Before defining aesthetic direction, research current design trends relevant to this project's domain.
|
|
293
|
-
>
|
|
282
|
+
> Use Context7 MCP or web search for current design trends.
|
|
294
283
|
|
|
295
|
-
#### 1.3.1 —
|
|
284
|
+
#### 1.3.1 — Research current trends
|
|
296
285
|
|
|
297
|
-
|
|
286
|
+
> **MCP:** Use **WebSearch** to research current design trends for the detected domain (e.g., "{currentYear} UI design trends {detectedDomain}"). WebSearch provides real-time results that are more current than any static reference. If WebSearch is not available, use **Context7 MCP** to query UI library documentation for latest component patterns and best practices. If neither is available, rely on your training knowledge of current design trends.
|
|
287
|
+
|
|
288
|
+
Research current design trends relevant to the project's domain and stack. Identify 3-5 techniques that fit the project.
|
|
298
289
|
|
|
299
290
|
#### 1.3.2 — Detect project domain
|
|
300
291
|
|
|
@@ -343,8 +334,6 @@ Selected trends feed into Step 1.5 (Aesthetic Direction) and Step 4 (Deliverable
|
|
|
343
334
|
|
|
344
335
|
### Step 1.5: Design Thinking — Aesthetic Direction
|
|
345
336
|
|
|
346
|
-
> **Ref:** `framework/standards/frontend/design-system/aesthetic-direction.md`
|
|
347
|
-
|
|
348
337
|
**BEFORE collecting technical requirements**, define visual direction with 4 questions:
|
|
349
338
|
|
|
350
339
|
1. **Purpose**: What problem does it solve? Who uses it? What is the professional context?
|
|
@@ -352,16 +341,14 @@ Selected trends feed into Step 1.5 (Aesthetic Direction) and Step 4 (Deliverable
|
|
|
352
341
|
3. **Differentiation**: What is the 1 memorable element of this interface?
|
|
353
342
|
4. **Constraints**: Framework, performance budget, existing brand guidelines
|
|
354
343
|
|
|
355
|
-
**CRITICAL:** Commit to direction BEFORE technical specs. Document in `
|
|
344
|
+
**CRITICAL:** Commit to direction BEFORE technical specs. Document in `design-system.md`
|
|
356
345
|
in section `## Aesthetic Direction` (template available in the standard above).
|
|
357
346
|
|
|
358
347
|
#### Domain-Adaptive Patterns
|
|
359
348
|
|
|
360
349
|
After defining aesthetic direction, apply domain-specific pattern suggestions:
|
|
361
350
|
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
Based on the domain detected in Step 1.3.2, suggest patterns from the Domain Adaptation guide:
|
|
351
|
+
Based on the domain detected in Step 1.3.2, suggest domain-adaptive patterns:
|
|
365
352
|
|
|
366
353
|
| Domain | Preferred Directions | Key Patterns to Suggest |
|
|
367
354
|
|--------|---------------------|------------------------|
|
|
@@ -391,8 +378,7 @@ If the user's chosen direction conflicts with domain recommendations (e.g., Indu
|
|
|
391
378
|
|
|
392
379
|
Incorporate the trends selected in Step 1.3.4 into the aesthetic direction documentation:
|
|
393
380
|
|
|
394
|
-
- Add selected trends to `## Aesthetic Direction` in `
|
|
395
|
-
- Reference the specific implementation from `design-trends.md`
|
|
381
|
+
- Add selected trends to `## Aesthetic Direction` in `design-system.md`
|
|
396
382
|
- Document how each trend maps to the chosen direction
|
|
397
383
|
|
|
398
384
|
**Anti-patterns to avoid:**
|
|
@@ -422,16 +408,14 @@ Incorporate the trends selected in Step 1.3.4 into the aesthetic direction docum
|
|
|
422
408
|
|
|
423
409
|
Detect the stack from `.morph/config/config.json` and recommend the appropriate library:
|
|
424
410
|
|
|
425
|
-
**Blazor stack:**
|
|
426
|
-
- **Fluent UI Blazor** — dashboards, simple forms, AI components, Microsoft design language
|
|
427
|
-
- **MudBlazor** — advanced data grids, complex charts, material design
|
|
428
|
-
|
|
429
411
|
**Next.js stack:**
|
|
430
412
|
- **shadcn/ui + Radix** (recommended) — composable primitives, full control, Tailwind-native
|
|
431
413
|
- **MUI** — feature-rich, enterprise-grade, material design
|
|
432
414
|
|
|
433
415
|
**Document the decision as an ADR in `decisions.md`** with: context, options considered, decision, and rationale.
|
|
434
416
|
|
|
417
|
+
> **MCP:** After selecting the UI library, use **Context7 MCP** (`resolve-library-id` → `query-docs`) to fetch the library's latest component API (e.g., shadcn/ui primitives, Radix props, MUI component APIs). This ensures component specs in `components.md` reference real, current props — not outdated or hallucinated ones. If Context7 is not available, use **WebSearch** + **WebFetch** to check the official component documentation.
|
|
418
|
+
|
|
435
419
|
### Step 3.5: Visual Mockup (Playwright MCP)
|
|
436
420
|
|
|
437
421
|
> **Purpose:** Generate a real HTML preview using project design tokens before writing formal specs.
|
|
@@ -448,7 +432,7 @@ Create an HTML file that represents the main screen/layout using **real tokens f
|
|
|
448
432
|
- Include representative content (realistic text, placeholder images)
|
|
449
433
|
- All colors via CSS variables: `color: var(--color-primary)` not `color: #3b82f6`
|
|
450
434
|
|
|
451
|
-
**Save to:** `.morph/features/$ARGUMENTS/
|
|
435
|
+
**Save to:** `.morph/features/$ARGUMENTS/1-ui/mockup.html`
|
|
452
436
|
|
|
453
437
|
Example structure:
|
|
454
438
|
```html
|
|
@@ -491,7 +475,7 @@ Example structure:
|
|
|
491
475
|
|
|
492
476
|
**Navigate to the file:**
|
|
493
477
|
```
|
|
494
|
-
mcp__plugin_playwright_playwright__browser_navigate({ url: "file:///[ABSOLUTE_PATH_TO].morph/features/$ARGUMENTS/
|
|
478
|
+
mcp__plugin_playwright_playwright__browser_navigate({ url: "file:///[ABSOLUTE_PATH_TO].morph/features/$ARGUMENTS/1-ui/mockup.html" })
|
|
495
479
|
```
|
|
496
480
|
|
|
497
481
|
**Take screenshots at 3 breakpoints** (resize then screenshot for each):
|
|
@@ -499,19 +483,19 @@ mcp__plugin_playwright_playwright__browser_navigate({ url: "file:///[ABSOLUTE_PA
|
|
|
499
483
|
**Mobile (375px):**
|
|
500
484
|
```
|
|
501
485
|
mcp__plugin_playwright_playwright__browser_resize({ width: 375, height: 812 })
|
|
502
|
-
mcp__plugin_playwright_playwright__browser_take_screenshot({}) → save as .morph/features/$ARGUMENTS/
|
|
486
|
+
mcp__plugin_playwright_playwright__browser_take_screenshot({}) → save as .morph/features/$ARGUMENTS/1-ui/mockup-mobile.png
|
|
503
487
|
```
|
|
504
488
|
|
|
505
489
|
**Tablet (768px):**
|
|
506
490
|
```
|
|
507
491
|
mcp__plugin_playwright_playwright__browser_resize({ width: 768, height: 1024 })
|
|
508
|
-
mcp__plugin_playwright_playwright__browser_take_screenshot({}) → save as .morph/features/$ARGUMENTS/
|
|
492
|
+
mcp__plugin_playwright_playwright__browser_take_screenshot({}) → save as .morph/features/$ARGUMENTS/1-ui/mockup-tablet.png
|
|
509
493
|
```
|
|
510
494
|
|
|
511
495
|
**Desktop (1440px):**
|
|
512
496
|
```
|
|
513
497
|
mcp__plugin_playwright_playwright__browser_resize({ width: 1440, height: 900 })
|
|
514
|
-
mcp__plugin_playwright_playwright__browser_take_screenshot({}) → save as .morph/features/$ARGUMENTS/
|
|
498
|
+
mcp__plugin_playwright_playwright__browser_take_screenshot({}) → save as .morph/features/$ARGUMENTS/1-ui/mockup-desktop.png
|
|
515
499
|
```
|
|
516
500
|
|
|
517
501
|
#### 3.5.3 — Present and Iterate
|
|
@@ -523,7 +507,7 @@ mcp__plugin_playwright_playwright__browser_take_screenshot({}) → save as .morp
|
|
|
523
507
|
3. **Iterate:** Refine `mockup.html` → re-take screenshots → show updated previews
|
|
524
508
|
4. **Continue only when user approves** this visual direction
|
|
525
509
|
|
|
526
|
-
> **Note:** `
|
|
510
|
+
> **Note:** `mockups.md` (Step 4.2) continues to exist as the reference for states and interactions.
|
|
527
511
|
> The PNGs are the visual reference; the .md covers behavior and edge cases.
|
|
528
512
|
|
|
529
513
|
---
|
|
@@ -534,22 +518,22 @@ Create the following files in `.morph/features/$ARGUMENTS/`:
|
|
|
534
518
|
|
|
535
519
|
> **Use templates:** Use `morph-spec template render` to generate files from templates in `.morph/framework/templates/docs/`. Available templates: `ui-design-system`, `ui-mockups`, `ui-components`, `ui-flows`.
|
|
536
520
|
|
|
537
|
-
#### 4.1. `
|
|
521
|
+
#### 4.1. `design-system.md`
|
|
538
522
|
|
|
539
523
|
**If project-level design system exists (`.morph/context/design-system.md`):**
|
|
540
524
|
- Reference it in specs: "Uses project design system at .morph/context/design-system.md"
|
|
541
|
-
- Create `
|
|
525
|
+
- Create `design-system.md` only if there are feature-specific colors/components
|
|
542
526
|
|
|
543
527
|
**If it doesn't exist:**
|
|
544
528
|
- Create complete feature-level design system with:
|
|
545
|
-
- **Section `## Aesthetic Direction
|
|
529
|
+
- **Section `## Aesthetic Direction`**:
|
|
546
530
|
direction, font pair, color philosophy, motion intent, composition approach
|
|
547
531
|
- Color palette (primary, secondary, accent, semantic)
|
|
548
532
|
- Typography (heading scales, body text, code)
|
|
549
533
|
- Spacing and layout (grid, margins, paddings)
|
|
550
534
|
- Base components (buttons, inputs, cards)
|
|
551
535
|
|
|
552
|
-
#### 4.2. `
|
|
536
|
+
#### 4.2. `mockups.md`
|
|
553
537
|
|
|
554
538
|
ASCII wireframes + descriptions:
|
|
555
539
|
- General layout of each screen/page
|
|
@@ -557,15 +541,15 @@ ASCII wireframes + descriptions:
|
|
|
557
541
|
- Responsiveness (desktop, tablet, mobile)
|
|
558
542
|
- States (loading, error, empty, success)
|
|
559
543
|
|
|
560
|
-
#### 4.3. `
|
|
544
|
+
#### 4.3. `components.md`
|
|
561
545
|
|
|
562
|
-
Technical specs for
|
|
563
|
-
- Component to use (
|
|
546
|
+
Technical specs for UI library components:
|
|
547
|
+
- Component to use (Button, DataTable, etc.)
|
|
564
548
|
- Props and configurations
|
|
565
549
|
- Events and bindings
|
|
566
550
|
- Validations and states
|
|
567
551
|
|
|
568
|
-
#### 4.4. `
|
|
552
|
+
#### 4.4. `flows.md`
|
|
569
553
|
|
|
570
554
|
Complete user flows:
|
|
571
555
|
- User stories
|
|
@@ -577,7 +561,7 @@ Complete user flows:
|
|
|
577
561
|
|
|
578
562
|
**PAUSE - Before proceeding to accessibility:**
|
|
579
563
|
|
|
580
|
-
- [ ] Aesthetic direction defined and documented in `
|
|
564
|
+
- [ ] Aesthetic direction defined and documented in `design-system.md`?
|
|
581
565
|
- [ ] Font pair specified (not just Inter/Roboto for display)?
|
|
582
566
|
- [ ] Color philosophy: dominant + accent + rationale documented?
|
|
583
567
|
- [ ] Design system defined (project-level or feature-level)?
|
|
@@ -623,11 +607,11 @@ morph-spec state mark-output $ARGUMENTS ui-flows
|
|
|
623
607
|
|
|
624
608
|
## Generated Outputs
|
|
625
609
|
|
|
626
|
-
- `.morph/features/$ARGUMENTS/
|
|
627
|
-
- `.morph/features/$ARGUMENTS/
|
|
628
|
-
- `.morph/features/$ARGUMENTS/
|
|
629
|
-
- `.morph/features/$ARGUMENTS/
|
|
630
|
-
- `.morph/features/$ARGUMENTS/
|
|
610
|
+
- `.morph/features/$ARGUMENTS/1-ui/design-system.md`
|
|
611
|
+
- `.morph/features/$ARGUMENTS/1-ui/mockups.md`
|
|
612
|
+
- `.morph/features/$ARGUMENTS/1-ui/components.md`
|
|
613
|
+
- `.morph/features/$ARGUMENTS/1-ui/flows.md`
|
|
614
|
+
- `.morph/features/$ARGUMENTS/2-design/decisions.md` (updated with UI library ADR)
|
|
631
615
|
|
|
632
616
|
### Step 7: Validate Design with Frontend Review
|
|
633
617
|
|
|
@@ -682,19 +666,15 @@ Use `AskUserQuestion` to capture explicit approval before advancing:
|
|
|
682
666
|
|
|
683
667
|
## Phase Outputs
|
|
684
668
|
|
|
685
|
-
<!-- morph-outputs:uiux -->
|
|
686
|
-
| Output | Caminho |
|
|
687
|
-
|--------|---------|
|
|
688
|
-
| `uiDesignSystem` | `.morph/features/{feature}/
|
|
689
|
-
| `uiMockups` | `.morph/features/{feature}/
|
|
690
|
-
| `uiComponents` | `.morph/features/{feature}/
|
|
691
|
-
| `uiFlows` | `.morph/features/{feature}/
|
|
692
|
-
| `uiMockupHtml` | `.morph/features/{feature}/2-ui/mockup.html` |
|
|
693
|
-
| `uiMockupMobile` | `.morph/features/{feature}/2-ui/mockup-mobile.png` |
|
|
694
|
-
| `uiMockupTablet` | `.morph/features/{feature}/2-ui/mockup-tablet.png` |
|
|
695
|
-
| `uiMockupDesktop` | `.morph/features/{feature}/2-ui/mockup-desktop.png` |
|
|
669
|
+
<!-- morph-outputs:uiux -->
|
|
670
|
+
| Output | Caminho |
|
|
671
|
+
|--------|---------|
|
|
672
|
+
| `uiDesignSystem` | `.morph/features/{feature}/1-ui/design-system.md` |
|
|
673
|
+
| `uiMockups` | `.morph/features/{feature}/1-ui/mockups.md` |
|
|
674
|
+
| `uiComponents` | `.morph/features/{feature}/1-ui/components.md` |
|
|
675
|
+
| `uiFlows` | `.morph/features/{feature}/1-ui/flows.md` |
|
|
696
676
|
<!-- /morph-outputs -->
|
|
697
677
|
|
|
698
678
|
---
|
|
699
679
|
|
|
700
|
-
Continue automatically to Phase
|
|
680
|
+
Continue automatically to Phase 3 (Design) after approval.
|
|
@@ -4,7 +4,7 @@ description: Guided workflow for mid-implementation scope escalation — analyze
|
|
|
4
4
|
user-invocable: true
|
|
5
5
|
argument-hint: "[feature-name]"
|
|
6
6
|
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
|
|
7
|
-
cliVersion: "4.
|
|
7
|
+
cliVersion: "4.14.0"
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Scope Escalation Workflow
|
|
@@ -19,16 +19,16 @@
|
|
|
19
19
|
"standards": ["coding.md", "ef-core.md"]
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
|
-
"id": "
|
|
23
|
-
"role": "
|
|
22
|
+
"id": "hangfire-orchestrator",
|
|
23
|
+
"role": "Background Jobs & Scheduling",
|
|
24
24
|
"domain": "backend",
|
|
25
|
-
"standards": ["coding.md"
|
|
25
|
+
"standards": ["coding.md"]
|
|
26
26
|
}
|
|
27
27
|
],
|
|
28
28
|
"deliverables": {
|
|
29
|
-
"dotnet-senior": "Application services, business logic, command/query handlers",
|
|
29
|
+
"dotnet-senior": "Application services, business logic, command/query handlers, API endpoints, DTOs",
|
|
30
30
|
"ef-modeler": "Entity models, DbContext, migrations",
|
|
31
|
-
"
|
|
31
|
+
"hangfire-orchestrator": "Background jobs, recurring tasks, job scheduling"
|
|
32
32
|
},
|
|
33
33
|
"estimatedParallelGain": "2-3x throughput vs sequential",
|
|
34
34
|
"agent_team": {
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
{
|
|
39
39
|
"id": "dotnet-senior",
|
|
40
40
|
"spawn_context": "standards/coding.md, standards/architecture/, contracts.cs, spec.md",
|
|
41
|
-
"task_scope": "backend tasks (domain logic, application services, EF Core, API endpoints, DTOs)"
|
|
41
|
+
"task_scope": "backend tasks (domain logic, application services, EF Core, API endpoints, DTOs, background jobs)"
|
|
42
42
|
}
|
|
43
43
|
],
|
|
44
44
|
"coordination_notes": "Single-domain squad — Agent Teams not required. Use subagents for parallelization.",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "frontend-only",
|
|
3
3
|
"name": "Frontend Squad",
|
|
4
|
-
"description": "Frontend-focused squad:
|
|
4
|
+
"description": "Frontend-focused squad: UI components + CSS + UX",
|
|
5
5
|
"parallel": true,
|
|
6
6
|
"coordination": "ui-designer",
|
|
7
7
|
"waitForAll": true,
|
|
@@ -10,24 +10,33 @@
|
|
|
10
10
|
"id": "ui-designer",
|
|
11
11
|
"role": "UI Design Lead",
|
|
12
12
|
"domain": "frontend",
|
|
13
|
-
"standards": [
|
|
13
|
+
"standards": [
|
|
14
|
+
"css-architecture.md",
|
|
15
|
+
"css-design-system.md"
|
|
16
|
+
]
|
|
14
17
|
},
|
|
15
18
|
{
|
|
16
|
-
"id": "
|
|
17
|
-
"role": "
|
|
19
|
+
"id": "nextjs-expert",
|
|
20
|
+
"role": "Frontend Developer",
|
|
18
21
|
"domain": "frontend",
|
|
19
|
-
"standards": [
|
|
22
|
+
"standards": [
|
|
23
|
+
"coding.md",
|
|
24
|
+
"nextjs-components.md"
|
|
25
|
+
]
|
|
20
26
|
},
|
|
21
27
|
{
|
|
22
28
|
"id": "css-specialist",
|
|
23
29
|
"role": "CSS/Design System Specialist",
|
|
24
30
|
"domain": "frontend",
|
|
25
|
-
"standards": [
|
|
31
|
+
"standards": [
|
|
32
|
+
"css-architecture.md",
|
|
33
|
+
"css-design-system.md"
|
|
34
|
+
]
|
|
26
35
|
}
|
|
27
36
|
],
|
|
28
37
|
"deliverables": {
|
|
29
38
|
"ui-designer": "Design system tokens, component specs, mockup annotations",
|
|
30
|
-
"
|
|
39
|
+
"nextjs-expert": "React components, pages, state management",
|
|
31
40
|
"css-specialist": "CSS modules, design system implementation, responsive layout"
|
|
32
41
|
},
|
|
33
42
|
"estimatedParallelGain": "2x throughput vs sequential",
|
|
@@ -38,7 +47,7 @@
|
|
|
38
47
|
{
|
|
39
48
|
"id": "ui-designer",
|
|
40
49
|
"spawn_context": "standards/css-architecture.md, standards/css-design-system.md, design-system.md, spec.md",
|
|
41
|
-
"task_scope": "frontend tasks (
|
|
50
|
+
"task_scope": "frontend tasks (UI components, CSS, design system implementation, responsive layout)"
|
|
42
51
|
}
|
|
43
52
|
],
|
|
44
53
|
"coordination_notes": "Single-domain squad — Agent Teams not required. Use subagents for parallelization.",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "full-stack",
|
|
3
3
|
"name": "Full Stack Squad",
|
|
4
|
-
"description": "Full-stack feature squad: backend API +
|
|
4
|
+
"description": "Full-stack feature squad: backend API + frontend + infra",
|
|
5
5
|
"parallel": true,
|
|
6
6
|
"coordination": "standards-architect",
|
|
7
7
|
"waitForAll": true,
|
|
@@ -10,37 +10,42 @@
|
|
|
10
10
|
"id": "dotnet-senior",
|
|
11
11
|
"role": "Backend Squad Leader",
|
|
12
12
|
"domain": "backend",
|
|
13
|
-
"standards": [
|
|
13
|
+
"standards": [
|
|
14
|
+
"coding.md",
|
|
15
|
+
"architecture.md",
|
|
16
|
+
"dotnet10-compatibility.md"
|
|
17
|
+
]
|
|
14
18
|
},
|
|
15
19
|
{
|
|
16
|
-
"id": "
|
|
20
|
+
"id": "nextjs-expert",
|
|
17
21
|
"role": "Frontend Developer",
|
|
18
22
|
"domain": "frontend",
|
|
19
|
-
"standards": [
|
|
23
|
+
"standards": [
|
|
24
|
+
"coding.md",
|
|
25
|
+
"nextjs-components.md"
|
|
26
|
+
]
|
|
20
27
|
},
|
|
21
28
|
{
|
|
22
|
-
"id": "
|
|
29
|
+
"id": "infra-architect",
|
|
23
30
|
"role": "Infrastructure Engineer",
|
|
24
31
|
"domain": "infrastructure",
|
|
25
|
-
"standards": [
|
|
32
|
+
"standards": [
|
|
33
|
+
"infrastructure.md"
|
|
34
|
+
]
|
|
26
35
|
},
|
|
27
36
|
{
|
|
28
|
-
"id": "
|
|
29
|
-
"role": "
|
|
30
|
-
"domain": "
|
|
31
|
-
"standards": [
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
"id": "observability-expert",
|
|
35
|
-
"role": "Observability Specialist",
|
|
36
|
-
"domain": "observability",
|
|
37
|
-
"standards": ["observability/monitoring.md", "observability/logging.md"]
|
|
37
|
+
"id": "css-specialist",
|
|
38
|
+
"role": "Design System & CSS",
|
|
39
|
+
"domain": "frontend",
|
|
40
|
+
"standards": [
|
|
41
|
+
"css-design-system.md"
|
|
42
|
+
]
|
|
38
43
|
}
|
|
39
44
|
],
|
|
40
45
|
"deliverables": {
|
|
41
46
|
"backend": "Services, controllers, DTOs, EF Core entities",
|
|
42
|
-
"frontend": "
|
|
43
|
-
"infrastructure": "
|
|
47
|
+
"frontend": "Next.js components, pages, CSS, design system",
|
|
48
|
+
"infrastructure": "IaC templates, deployment scripts"
|
|
44
49
|
},
|
|
45
50
|
"estimatedParallelGain": "3-5x throughput vs sequential",
|
|
46
51
|
"agent_team": {
|
|
@@ -53,14 +58,14 @@
|
|
|
53
58
|
"task_scope": "backend tasks (domain logic, EF Core, API endpoints, DTOs)"
|
|
54
59
|
},
|
|
55
60
|
{
|
|
56
|
-
"id": "
|
|
57
|
-
"spawn_context": "standards/coding.md, standards/
|
|
58
|
-
"task_scope": "frontend tasks (
|
|
61
|
+
"id": "nextjs-expert",
|
|
62
|
+
"spawn_context": "standards/coding.md, standards/nextjs-components.md, design-system.md, spec.md",
|
|
63
|
+
"task_scope": "frontend tasks (pages, components, CSS, state management)"
|
|
59
64
|
},
|
|
60
65
|
{
|
|
61
|
-
"id": "
|
|
62
|
-
"spawn_context": "standards/
|
|
63
|
-
"task_scope": "infrastructure tasks (
|
|
66
|
+
"id": "infra-architect",
|
|
67
|
+
"spawn_context": "standards/infrastructure.md, spec.md",
|
|
68
|
+
"task_scope": "infrastructure tasks (IaC templates, cloud resources, deployments)"
|
|
64
69
|
}
|
|
65
70
|
],
|
|
66
71
|
"coordination_notes": "Backend deve sinalizar quando contracts.cs/DTOs estiverem estáveis antes do frontend prosseguir com chamadas de API. Infrastructure pode executar em paralelo com backend/frontend.",
|