@polymorphism-tech/morph-spec 4.12.0 → 4.13.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.
Files changed (314) hide show
  1. package/README.md +21 -29
  2. package/bin/morph-spec.js +41 -24
  3. package/bin/task-manager.js +962 -1341
  4. package/bin/validate.js +1 -1
  5. package/claude-plugin.json +1 -1
  6. package/docs/CHEATSHEET.md +10 -11
  7. package/docs/QUICKSTART.md +15 -15
  8. package/framework/CLAUDE.md +5 -2
  9. package/framework/agents/README.md +3 -4
  10. package/framework/agents/ai-agents/ai-system-architect.md +6 -10
  11. package/framework/agents/architecture/seo-growth-hacker.md +166 -326
  12. package/framework/agents/architecture/standards-architect.md +21 -31
  13. package/framework/agents/backend/dotnet-senior.md +160 -86
  14. package/framework/agents/backend/ef-modeler.md +2 -6
  15. package/framework/agents/backend/hangfire-orchestrator.md +8 -9
  16. package/framework/agents/backend/ms-agent-expert.md +1 -1
  17. package/framework/agents/frontend/nextjs-expert.md +198 -133
  18. package/framework/agents/frontend/ui-ux-designer.md +226 -267
  19. package/framework/agents/infrastructure/infra-architect.md +191 -27
  20. package/framework/agents/integrations/clerk-auth.md +19 -26
  21. package/framework/agents/integrations/hangfire-integration.md +1 -4
  22. package/framework/agents.json +215 -1453
  23. package/framework/commands/morph-apply.md +4 -4
  24. package/framework/commands/morph-preflight.md +4 -26
  25. package/framework/commands/morph-proposal.md +19 -19
  26. package/framework/commands/morph-status.md +2 -2
  27. package/framework/commands/morph-troubleshoot.md +6 -13
  28. package/framework/hooks/README.md +1 -6
  29. package/framework/hooks/claude-code/post-tool-use/validator-feedback.js +4 -6
  30. package/framework/hooks/claude-code/pre-compact/save-morph-context.js +12 -7
  31. package/framework/hooks/claude-code/pre-tool-use/enforce-phase-writes.js +2 -2
  32. package/framework/hooks/claude-code/pre-tool-use/protect-spec-files.js +2 -2
  33. package/framework/hooks/claude-code/pre-tool-use/task-tracking-guard.js +5 -10
  34. package/framework/hooks/claude-code/session-start/inject-morph-context.js +63 -30
  35. package/framework/hooks/claude-code/session-start/resume-context.js +77 -0
  36. package/framework/hooks/claude-code/statusline.py +4 -5
  37. package/framework/hooks/claude-code/stop/validate-completion.js +4 -4
  38. package/framework/hooks/claude-code/user-prompt/enrich-prompt.js +8 -8
  39. package/framework/hooks/shared/compact-restore.js +28 -5
  40. package/framework/hooks/shared/phase-utils.js +4 -8
  41. package/framework/hooks/shared/state-reader.js +34 -3
  42. package/framework/phases.json +7 -45
  43. package/framework/rules/ai-agents-standards.md +15 -0
  44. package/framework/rules/asaas-standards.md +13 -0
  45. package/framework/rules/clerk-standards.md +13 -0
  46. package/framework/rules/csharp-standards.md +8 -4
  47. package/framework/rules/data-standards.md +18 -0
  48. package/framework/rules/dotnet-templates.md +87 -0
  49. package/framework/rules/frontend-standards.md +13 -13
  50. package/framework/rules/hangfire-standards.md +13 -0
  51. package/framework/rules/infrastructure-standards.md +27 -16
  52. package/framework/rules/morph-workflow.md +73 -13
  53. package/framework/rules/nextjs-standards.md +1 -0
  54. package/framework/rules/nextjs-templates.md +40 -0
  55. package/framework/rules/resend-standards.md +12 -0
  56. package/framework/rules/supabase-standards.md +29 -0
  57. package/framework/skills/README.md +6 -8
  58. package/framework/skills/level-0-meta/mcp-registry.json +21 -99
  59. package/framework/{standards/ai-agents/team-orchestration.md → skills/level-0-meta/morph-agent-teams/SKILL.md} +472 -479
  60. package/framework/skills/level-0-meta/morph-brainstorming/SKILL.md +28 -1
  61. package/framework/skills/level-0-meta/morph-checklist/SKILL.md +2 -2
  62. package/framework/skills/level-0-meta/morph-code-review/SKILL.md +1 -5
  63. package/framework/skills/level-0-meta/morph-code-review/scripts/scan-csharp.mjs +1 -1
  64. package/framework/skills/level-0-meta/morph-frontend-review/SKILL.md +23 -41
  65. package/framework/skills/level-0-meta/morph-init/SKILL.md +18 -14
  66. package/framework/skills/level-0-meta/morph-parallel-dispatch/SKILL.md +225 -0
  67. package/framework/skills/level-0-meta/morph-post-implementation/SKILL.md +20 -0
  68. package/framework/skills/level-0-meta/morph-tool-usage-guide/SKILL.md +4 -8
  69. package/framework/skills/level-0-meta/morph-tool-usage-guide/references/tools-per-phase.md +15 -59
  70. package/framework/skills/level-0-meta/morph-verification-before-completion/SKILL.md +7 -19
  71. package/framework/skills/level-0-meta/morph-verification-before-completion/scripts/check-phase-outputs.mjs +8 -8
  72. package/framework/skills/level-1-workflows/README.md +1 -1
  73. package/framework/skills/level-1-workflows/morph-phase-codebase-analysis/SKILL.md +49 -50
  74. package/framework/skills/level-1-workflows/morph-phase-design/SKILL.md +58 -124
  75. package/framework/skills/level-1-workflows/morph-phase-design/references/architecture-analysis-guide.md +5 -50
  76. package/framework/skills/level-1-workflows/morph-phase-design/references/spec-example.md +1 -1
  77. package/framework/skills/level-1-workflows/morph-phase-implement/SKILL.md +127 -159
  78. package/framework/skills/level-1-workflows/morph-phase-implement/prompts/implementer-prompt.md +4 -3
  79. package/framework/skills/level-1-workflows/morph-phase-implement/prompts/spec-reviewer-prompt.md +2 -2
  80. package/framework/skills/level-1-workflows/morph-phase-implement/references/recap-example.md +1 -1
  81. package/framework/skills/level-1-workflows/morph-phase-plan/SKILL.md +17 -13
  82. package/framework/skills/level-1-workflows/morph-phase-tasks/SKILL.md +22 -40
  83. package/framework/skills/level-1-workflows/morph-phase-tasks/references/task-planning-patterns.md +0 -2
  84. package/framework/skills/level-1-workflows/morph-phase-tasks/references/tasks-example.md +5 -5
  85. package/framework/skills/level-1-workflows/morph-phase-uiux/SKILL.md +57 -77
  86. package/framework/skills/level-1-workflows/morph-scope-escalation/SKILL.md +1 -1
  87. package/framework/squad-templates/backend-only.json +6 -6
  88. package/framework/squad-templates/frontend-only.json +17 -8
  89. package/framework/squad-templates/full-stack.json +29 -24
  90. package/framework/standards/STANDARDS.json +1021 -2369
  91. package/framework/standards/backend/dotnet/fluent-validation-vsa.md +200 -0
  92. package/framework/standards/backend/dotnet/result-pattern.md +213 -0
  93. package/framework/standards/backend/dotnet/scalar-ui.md +172 -0
  94. package/framework/standards/backend/dotnet/scrutor.md +158 -0
  95. package/framework/standards/backend/dotnet/vsa-handler-patterns.md +274 -0
  96. package/framework/standards/frontend/nextjs/motion-patterns.md +1 -1
  97. package/framework/standards/infrastructure/supabase/mcp-setup.md +83 -193
  98. package/framework/standards/integration/mcp/mcp-tools.md +91 -77
  99. package/framework/templates/IDE-SNIPPETS.md +2 -6
  100. package/framework/templates/README.md +709 -814
  101. package/framework/templates/REGISTRY.json +223 -762
  102. package/framework/templates/code/dotnet/abstractions/api-endpoint.cs +7 -0
  103. package/framework/templates/code/dotnet/abstractions/error.cs +60 -0
  104. package/framework/templates/code/dotnet/abstractions/handler.cs +12 -0
  105. package/framework/templates/code/dotnet/abstractions/result.cs +74 -0
  106. package/framework/templates/code/dotnet/backend/repository.cs +148 -141
  107. package/framework/templates/code/dotnet/constants/api-tags.cs +6 -0
  108. package/framework/templates/code/dotnet/exceptions/exception-handler.cs +32 -0
  109. package/framework/templates/code/dotnet/extensions/database-extensions.cs +20 -0
  110. package/framework/templates/code/dotnet/extensions/handler-registration.cs +38 -0
  111. package/framework/templates/code/dotnet/extensions/health-checks.cs +24 -0
  112. package/framework/templates/code/dotnet/extensions/map-endpoints.cs +35 -0
  113. package/framework/templates/code/dotnet/extensions/result-extensions.cs +29 -0
  114. package/framework/templates/code/dotnet/feature/endpoint.cs.hbs +21 -0
  115. package/framework/templates/code/dotnet/feature/entity.cs.hbs +8 -0
  116. package/framework/templates/code/dotnet/feature/errors.cs.hbs +8 -0
  117. package/framework/templates/code/dotnet/feature/handler.cs.hbs +24 -0
  118. package/framework/templates/code/dotnet/feature/request.cs.hbs +4 -0
  119. package/framework/templates/code/dotnet/feature/response.cs.hbs +4 -0
  120. package/framework/templates/code/dotnet/feature/validator.cs.hbs +15 -0
  121. package/framework/templates/code/dotnet/jobs/job.cs +21 -17
  122. package/framework/templates/code/dotnet/pipelines/logging-decorator.cs +31 -0
  123. package/framework/templates/code/dotnet/pipelines/validation-decorator.cs +97 -0
  124. package/framework/templates/code/dotnet/test.cs +192 -106
  125. package/framework/templates/context/ARCHITECTURE.md +89 -0
  126. package/framework/templates/context/CONTEXT-FEATURE.md +2 -2
  127. package/framework/templates/context/CONTEXT.md +180 -181
  128. package/framework/templates/context/design-system.md +1 -5
  129. package/framework/templates/docs/onboarding.md +2 -3
  130. package/framework/templates/docs/proposal.md +171 -182
  131. package/framework/templates/docs/spec.md +1 -3
  132. package/framework/templates/docs/ui-components.md +0 -72
  133. package/framework/templates/examples/design-system-examples.md +4 -4
  134. package/framework/templates/feature/decisions.md +0 -66
  135. package/framework/templates/feature/recap.md +1 -2
  136. package/framework/templates/infrastructure/github/README.md +56 -593
  137. package/framework/templates/integrations/clerk-config.cs +0 -41
  138. package/framework/templates/meta-prompts/parallel-workers/parallel-worker.md +2 -2
  139. package/framework/templates/meta-prompts/squad-leaders/backend-squad.md +1 -2
  140. package/framework/templates/meta-prompts/squad-leaders/frontend-squad.md +83 -126
  141. package/framework/templates/meta-prompts/validators/pre-commit-validator.md +2 -2
  142. package/framework/templates/project/validate.js +2 -4
  143. package/framework/templates/ui/design-system.css +1 -1
  144. package/framework/workflows/README.md +8 -8
  145. package/framework/workflows/configs/fast-track.json +51 -0
  146. package/framework/workflows/configs/full.json +68 -0
  147. package/framework/workflows/configs/standard.json +7 -3
  148. package/framework/workflows/docs/STORY-DRIVEN-DEVELOPMENT.md +1 -1
  149. package/framework/workflows/docs/enforcement-pipeline.md +18 -19
  150. package/framework/workflows/docs/full-morph.md +69 -76
  151. package/framework/workflows/docs/standard.md +49 -44
  152. package/framework/workflows/docs/ui-refresh.md +1 -1
  153. package/package.json +3 -3
  154. package/src/commands/agents/dispatch-agents.js +55 -116
  155. package/src/commands/context/context-refresh.js +79 -0
  156. package/src/commands/phase/phase-reset.js +1 -1
  157. package/src/commands/project/doctor.js +10 -32
  158. package/src/commands/project/init.js +12 -0
  159. package/src/commands/project/status.js +6 -12
  160. package/src/commands/scaffold/scaffold.js +131 -0
  161. package/src/commands/scope/escalate.js +1 -1
  162. package/src/commands/state/advance-phase.js +15 -29
  163. package/src/commands/state/state.js +20 -5
  164. package/src/commands/tasks/task.js +0 -30
  165. package/src/commands/validation/validate-feature.js +3 -10
  166. package/src/core/paths/output-schema.js +12 -13
  167. package/src/core/state/phase-state-machine.js +211 -217
  168. package/src/core/state/state-manager.js +9 -9
  169. package/src/lib/agents/agents-manager.js +2 -2
  170. package/src/lib/agents/output-collector.js +1 -2
  171. package/src/lib/detectors/design-system-detector.js +4 -4
  172. package/src/lib/detectors/index.js +1 -11
  173. package/src/lib/generators/architecture-scanner.js +640 -0
  174. package/src/lib/generators/context-generator.js +3 -3
  175. package/src/lib/generators/design-system-generator.js +508 -587
  176. package/src/lib/generators/index.js +12 -10
  177. package/src/lib/generators/metadata-extractor.js +386 -387
  178. package/src/lib/generators/recap-generator.js +4 -4
  179. package/src/lib/generators/scaffold-generator.js +317 -0
  180. package/src/lib/generators/settings-generator.js +0 -1
  181. package/src/lib/phase-chain/phase-validator.js +64 -42
  182. package/src/lib/stack/stack-profile.js +2 -2
  183. package/src/lib/standards/digest-builder.js +72 -285
  184. package/src/lib/tasks/task-parser.js +11 -5
  185. package/src/lib/validators/architecture/architecture-validator.js +259 -387
  186. package/src/lib/validators/content/content-validator.js +287 -287
  187. package/src/lib/validators/css/css-validator.js +340 -352
  188. package/src/lib/validators/packages/package-validator.js +347 -360
  189. package/src/lib/validators/shared/issue-counter.js +14 -18
  190. package/src/lib/validators/validation-runner.js +3 -19
  191. package/src/scripts/setup-infra.js +1 -1
  192. package/src/utils/agents-installer.js +24 -3
  193. package/src/utils/file-copier.js +1 -0
  194. package/src/utils/hooks-installer.js +11 -19
  195. package/src/utils/skills-installer.js +178 -178
  196. package/framework/agents/architecture/prompt-engineer.md +0 -195
  197. package/framework/agents/backend/api-designer.md +0 -106
  198. package/framework/agents/frontend/blazor-builder.md +0 -229
  199. package/framework/agents/frontend/nextjs-ui-specialist.md +0 -218
  200. package/framework/agents/infrastructure/azure-architect.md +0 -150
  201. package/framework/agents/infrastructure/azure-deploy-specialist.md +0 -707
  202. package/framework/agents/infrastructure/bicep-architect.md +0 -132
  203. package/framework/agents/infrastructure/container-specialist.md +0 -137
  204. package/framework/agents/infrastructure/devops-engineer.md +0 -126
  205. package/framework/agents/integrations/azure-identity.md +0 -148
  206. package/framework/agents/quality/code-analyzer.md +0 -239
  207. package/framework/agents/quality/testing-specialist.md +0 -130
  208. package/framework/hooks/claude-code/notification/approval-reminder.js +0 -57
  209. package/framework/hooks/claude-code/post-tool-use/context-refresh.js +0 -109
  210. package/framework/hooks/claude-code/post-tool-use/skill-reminder.js +0 -78
  211. package/framework/index/troubleshooting-index.json +0 -184
  212. package/framework/rules/testing-standards.md +0 -14
  213. package/framework/skills/level-0-meta/morph-replicate/SKILL.md +0 -230
  214. package/framework/skills/level-0-meta/morph-replicate/references/blazor-html-mapping.md +0 -70
  215. package/framework/skills/level-1-workflows/morph-phase-clarify/SKILL.md +0 -256
  216. package/framework/skills/level-1-workflows/morph-phase-clarify/references/clarifications-example.md +0 -117
  217. package/framework/skills/level-1-workflows/morph-phase-setup/SKILL.md +0 -269
  218. package/framework/standards/ai-agents/blazor-ui.md +0 -364
  219. package/framework/standards/architecture/ddd/aggregates.md +0 -120
  220. package/framework/standards/architecture/ddd/bounded-contexts.md +0 -105
  221. package/framework/standards/architecture/ddd/complexity-levels.md +0 -108
  222. package/framework/standards/architecture/ddd/entities.md +0 -99
  223. package/framework/standards/architecture/ddd/ubiquitous-language.md +0 -58
  224. package/framework/standards/architecture/ddd/value-objects.md +0 -124
  225. package/framework/standards/backend/api/minimal-api.md +0 -494
  226. package/framework/standards/backend/api/rest.md +0 -492
  227. package/framework/standards/backend/authentication/passkeys.md +0 -428
  228. package/framework/standards/backend/database/ef-core.md +0 -199
  229. package/framework/standards/backend/database/migrations.md +0 -393
  230. package/framework/standards/backend/database/repository-patterns.md +0 -528
  231. package/framework/standards/backend/dotnet/async.md +0 -366
  232. package/framework/standards/backend/dotnet/core.md +0 -117
  233. package/framework/standards/backend/dotnet/di.md +0 -439
  234. package/framework/standards/backend/dotnet/program-cs-checklist.md +0 -92
  235. package/framework/standards/context/analytics.md +0 -96
  236. package/framework/standards/context/bundles.md +0 -110
  237. package/framework/standards/context/priming.md +0 -78
  238. package/framework/standards/core/architecture.md +0 -185
  239. package/framework/standards/core/coding.md +0 -214
  240. package/framework/standards/core/git-branching-strategy.md +0 -403
  241. package/framework/standards/core/git.md +0 -185
  242. package/framework/standards/core/testing.md +0 -295
  243. package/framework/standards/data/nosql/blob-storage.md +0 -102
  244. package/framework/standards/data/vector-search/azure-ai-search.md +0 -121
  245. package/framework/standards/frontend/blazor/design-checklist.md +0 -222
  246. package/framework/standards/frontend/blazor/fluent-ui-setup.md +0 -595
  247. package/framework/standards/frontend/blazor/fluent-ui.md +0 -137
  248. package/framework/standards/frontend/blazor/html-conversion.md +0 -184
  249. package/framework/standards/frontend/blazor/lifecycle.md +0 -195
  250. package/framework/standards/frontend/blazor/pitfalls.md +0 -198
  251. package/framework/standards/frontend/blazor/state.md +0 -191
  252. package/framework/standards/frontend/design-system/aesthetic-direction.md +0 -266
  253. package/framework/standards/frontend/design-system/design-trends.md +0 -171
  254. package/framework/standards/infrastructure/azure/azure.md +0 -624
  255. package/framework/standards/infrastructure/azure/bicep/bicep-patterns.md +0 -422
  256. package/framework/standards/infrastructure/azure/devops/azure-devops-setup.md +0 -516
  257. package/framework/standards/infrastructure/azure/devops/local-development.md +0 -520
  258. package/framework/standards/infrastructure/azure/services/functions.md +0 -486
  259. package/framework/standards/infrastructure/azure/services/service-bus.md +0 -459
  260. package/framework/standards/infrastructure/azure/services/storage.md +0 -407
  261. package/framework/standards/infrastructure/vercel/vercel-database.md +0 -106
  262. package/framework/standards/integration/api/graphql.md +0 -91
  263. package/framework/standards/integration/api/grpc.md +0 -114
  264. package/framework/standards/integration/api/rest-design.md +0 -95
  265. package/framework/standards/integration/event-driven/cqrs.md +0 -101
  266. package/framework/standards/integration/event-driven/event-sourcing.md +0 -124
  267. package/framework/standards/integration/event-driven/service-bus.md +0 -95
  268. package/framework/standards/observability/logging.md +0 -131
  269. package/framework/standards/observability/metrics.md +0 -121
  270. package/framework/standards/observability/monitoring.md +0 -114
  271. package/framework/standards/observability/tracing.md +0 -132
  272. package/framework/standards/workflows/parallel-execution.md +0 -112
  273. package/framework/standards/workflows/thread-management.md +0 -113
  274. package/framework/templates/code/dotnet/backend/service.cs +0 -139
  275. package/framework/templates/code/dotnet/contracts/Commands.cs +0 -74
  276. package/framework/templates/code/dotnet/contracts/Entities.cs +0 -25
  277. package/framework/templates/code/dotnet/contracts/Queries.cs +0 -74
  278. package/framework/templates/code/dotnet/contracts/api-contracts.cs +0 -173
  279. package/framework/templates/code/dotnet/contracts/contracts-level1.cs +0 -69
  280. package/framework/templates/code/dotnet/contracts/contracts-level2.cs +0 -86
  281. package/framework/templates/code/dotnet/contracts/contracts-level3.cs +0 -41
  282. package/framework/templates/code/dotnet/frontend/component.razor +0 -239
  283. package/framework/templates/infrastructure/azure/Dockerfile.example +0 -82
  284. package/framework/templates/infrastructure/azure/README.md +0 -286
  285. package/framework/templates/infrastructure/azure/app-insights.bicep +0 -63
  286. package/framework/templates/infrastructure/azure/app-service.bicep +0 -164
  287. package/framework/templates/infrastructure/azure/container-app-env.bicep +0 -49
  288. package/framework/templates/infrastructure/azure/container-app.bicep +0 -156
  289. package/framework/templates/infrastructure/azure/deploy-checklist.md +0 -426
  290. package/framework/templates/infrastructure/azure/deploy.ps1 +0 -229
  291. package/framework/templates/infrastructure/azure/deploy.sh +0 -208
  292. package/framework/templates/infrastructure/azure/key-vault.bicep +0 -91
  293. package/framework/templates/infrastructure/azure/main.bicep +0 -189
  294. package/framework/templates/infrastructure/azure/parameters.dev.json +0 -29
  295. package/framework/templates/infrastructure/azure/parameters.prod.json +0 -29
  296. package/framework/templates/infrastructure/azure/parameters.staging.json +0 -29
  297. package/framework/templates/infrastructure/azure/sql-database.bicep +0 -103
  298. package/framework/templates/infrastructure/azure/storage.bicep +0 -106
  299. package/framework/templates/infrastructure/github/actions/azure-auth/action.yml.hbs +0 -22
  300. package/framework/templates/infrastructure/github/workflows/deploy-azure-app-service.yml.hbs +0 -61
  301. package/framework/templates/integrations/azure-identity-config.cs +0 -288
  302. package/framework/templates/project-structure/dotnet-ddd.md +0 -70
  303. package/framework/templates/saas/subscription.cs +0 -347
  304. package/framework/templates/saas/tenant.cs +0 -338
  305. package/framework/templates/ui/FluentDesignTheme.cs +0 -149
  306. package/framework/templates/ui/MudTheme.cs +0 -281
  307. package/framework/workflows/configs/nodejs-cli.json +0 -40
  308. package/src/commands/standards/context-budget.js +0 -89
  309. package/src/lib/standards/index.js +0 -7
  310. package/src/lib/standards/standards-context-injector.js +0 -302
  311. package/src/lib/validators/blazor/blazor-concurrency-analyzer.js +0 -316
  312. package/src/lib/validators/blazor/blazor-state-validator.js +0 -279
  313. package/src/lib/validators/blazor/blazor-validator.js +0 -369
  314. package/src/lib/validators/blazor/index.js +0 -9
@@ -1,195 +0,0 @@
1
- ---
2
- name: prompt-engineer
3
- description: Prompt Engineer specialist for designing system prompts, few-shot examples, chain-of-thought patterns, and LLM interaction optimization. Use when building AI features, writing or improving system prompts, designing LLM agent instructions, or optimizing prompt performance.
4
- allowed-tools: Read, Write, Edit, Bash, Glob, Grep
5
- ---
6
-
7
- # Prompt Engineer
8
-
9
- Especialista em engenharia de prompts para LLMs e sistemas de IA. Use PROATIVAMENTE ao construir features de IA, melhorar performance de agentes ou criar system prompts.
10
-
11
- ## Responsabilidades
12
-
13
- 1. Criar prompts otimizados para LLMs
14
- 2. Aplicar técnicas avançadas de prompting
15
- 3. Definir formatos de output estruturados
16
- 4. Otimizar prompts existentes
17
- 5. Adaptar prompts para diferentes modelos
18
-
19
- ## Triggers
20
-
21
- Keywords: `prompt`, `prompting`, `system prompt`, `few-shot`, `chain-of-thought`, `llm prompt`, `agent prompt`, `engenharia de prompt`
22
-
23
- ## Áreas de Expertise
24
-
25
- ### Otimização de Prompts
26
-
27
- - Seleção few-shot vs zero-shot
28
- - Raciocínio chain-of-thought
29
- - Role-playing e definição de perspectiva
30
- - Especificação de formato de output
31
- - Definição de constraints e limites
32
-
33
- ### Arsenal de Técnicas
34
-
35
- - Constitutional AI principles
36
- - Recursive prompting
37
- - Tree of thoughts
38
- - Self-consistency checking
39
- - Prompt chaining e pipelines
40
-
41
- ### Otimização por Modelo
42
-
43
- - **Claude**: Ênfase em helpful, harmless, honest
44
- - **GPT**: Estrutura clara e exemplos
45
- - **Open models**: Necessidades específicas de formatação
46
- - **Modelos especializados**: Adaptação de domínio
47
-
48
- ## Processo de Otimização
49
-
50
- 1. Analisar caso de uso pretendido
51
- 2. Identificar requisitos e constraints chave
52
- 3. Selecionar técnicas de prompting apropriadas
53
- 4. Criar prompt inicial com estrutura clara
54
- 5. Testar e iterar baseado em outputs
55
- 6. Documentar padrões efetivos
56
-
57
- ## Formato de Output Obrigatório
58
-
59
- **IMPORTANTE:** SEMPRE que criar qualquer prompt, DEVE exibir o texto completo. NUNCA apenas descreva um prompt.
60
-
61
- ### O Prompt
62
- ```
63
- [Exibir texto completo do prompt aqui]
64
- ```
65
-
66
- ### Notas de Implementação
67
- - Técnicas chave usadas
68
- - Por que essas escolhas foram feitas
69
- - Outcomes esperados
70
-
71
- ## Deliverables
72
-
73
- - **O texto do prompt** (exibido completo, formatado)
74
- - Explicação das escolhas de design
75
- - Guidelines de uso
76
- - Exemplos de outputs esperados
77
- - Benchmarks de performance
78
- - Estratégias de tratamento de erro
79
-
80
- ## Padrões Comuns
81
-
82
- ### Estrutura System/User/Assistant
83
- ```
84
- <system>
85
- [Contexto e personalidade]
86
- </system>
87
-
88
- <user>
89
- [Input do usuário]
90
- </user>
91
- ```
92
-
93
- ### Tags XML para Seções Claras
94
- ```xml
95
- <context>
96
- [Background information]
97
- </context>
98
-
99
- <instructions>
100
- [What to do]
101
- </instructions>
102
-
103
- <output_format>
104
- [Expected format]
105
- </output_format>
106
- ```
107
-
108
- ### Outros Padrões
109
- - Formatos de output explícitos
110
- - Raciocínio passo-a-passo
111
- - Critérios de auto-avaliação
112
-
113
- ## Exemplo de Output
114
-
115
- Quando solicitado a criar prompt para code review:
116
-
117
- ### O Prompt
118
- ```
119
- You are an expert code reviewer with 10+ years of experience. Review the provided code focusing on:
120
- 1. Security vulnerabilities
121
- 2. Performance optimizations
122
- 3. Code maintainability
123
- 4. Best practices
124
-
125
- For each issue found, provide:
126
- - Severity level (Critical/High/Medium/Low)
127
- - Specific line numbers
128
- - Explanation of the issue
129
- - Suggested fix with code example
130
-
131
- Format your response as a structured report with clear sections.
132
- ```
133
-
134
- ### Notas de Implementação
135
- - Usa role-playing para estabelecer expertise
136
- - Fornece critérios de avaliação claros
137
- - Especifica formato de output para consistência
138
- - Inclui requisitos de feedback acionável
139
-
140
- ## Técnicas Avançadas
141
-
142
- ### Few-Shot Prompting
143
- ```
144
- Here are examples of good responses:
145
-
146
- Example 1:
147
- Input: [example input]
148
- Output: [example output]
149
-
150
- Example 2:
151
- Input: [example input]
152
- Output: [example output]
153
-
154
- Now process this:
155
- Input: [actual input]
156
- ```
157
-
158
- ### Chain-of-Thought
159
- ```
160
- Think through this step by step:
161
- 1. First, identify...
162
- 2. Then, analyze...
163
- 3. Finally, conclude...
164
-
165
- Show your reasoning before giving the final answer.
166
- ```
167
-
168
- ### Self-Consistency
169
- ```
170
- Generate 3 different approaches to solve this problem.
171
- Compare the approaches and select the most robust one.
172
- Explain why this approach is best.
173
- ```
174
-
175
- ## Checklist Antes de Completar
176
-
177
- - [ ] Exibiu texto completo do prompt (não apenas descreveu)
178
- - [ ] Marcou claramente com headers ou code blocks
179
- - [ ] Forneceu instruções de uso
180
- - [ ] Explicou escolhas de design
181
- - [ ] Incluiu exemplos de outputs esperados
182
-
183
- ## Documentação de Referência
184
-
185
- - [Anthropic Prompt Engineering Guide](https://docs.anthropic.com/claude/docs/prompt-engineering)
186
- - [OpenAI Prompt Engineering](https://platform.openai.com/docs/guides/prompt-engineering)
187
- - [Prompt Engineering Patterns](https://www.promptingguide.ai/)
188
-
189
- ## Anti-Patterns a Evitar
190
-
191
- 1. **Prompts vagos**: "Faça algo bom" → Especifique critérios claros
192
- 2. **Sem formato de output**: Sempre definir estrutura esperada
193
- 3. **Instruções contraditórias**: Revisar consistência antes de usar
194
- 4. **Overloading**: Muitas instruções = confusão. Priorize as essenciais
195
- 5. **Falta de exemplos**: Few-shot geralmente supera zero-shot
@@ -1,106 +0,0 @@
1
- ---
2
- name: api-designer
3
- description: API Designer specialist for REST API design, OpenAPI/Swagger specs, endpoint architecture, and HTTP contract definitions. Use when designing API endpoints, creating OpenAPI specs, defining REST contracts, or implementing Minimal API controllers in .NET.
4
- allowed-tools: Read, Write, Edit, Bash, Glob, Grep
5
- stacks:
6
- - dotnet
7
- - nextjs
8
- ---
9
-
10
- # API Designer
11
-
12
- REST API design specialist for .NET Minimal API. Focuses on clean endpoint design, DTO contracts, and HTTP semantics.
13
-
14
- ## Standards
15
-
16
- - `framework/standards/backend/api/rest.md`
17
- - `framework/standards/backend/api/validation.md`
18
- - `framework/standards/backend/dotnet/async.md`
19
- - `framework/standards/core/coding.md`
20
-
21
- ---
22
-
23
- ## Minimal API Pattern
24
-
25
- ```csharp
26
- // Endpoint group — one file per feature
27
- public static class PhotoProcessingEndpoints
28
- {
29
- public static IEndpointRouteBuilder MapPhotoProcessing(this IEndpointRouteBuilder app)
30
- {
31
- var group = app.MapGroup("/api/photos").RequireAuthorization();
32
-
33
- group.MapPost("/upload", UploadAsync)
34
- .DisableAntiforgery();
35
-
36
- group.MapGet("/status/{jobId:guid}", GetStatusAsync);
37
- group.MapGet("/download/{jobId:guid}", DownloadAsync);
38
-
39
- return app;
40
- }
41
-
42
- private static async Task<IResult> UploadAsync(
43
- IFormFile file,
44
- IPhotoProcessingService service,
45
- ClaimsPrincipal user,
46
- CancellationToken ct)
47
- {
48
- var result = await service.UploadAsync(new(file, user.GetUserId()), ct);
49
- return result.IsSuccess
50
- ? TypedResults.Ok(new { result.Value.JobId })
51
- : TypedResults.ValidationProblem(result.Errors);
52
- }
53
- }
54
- ```
55
-
56
- ## HTTP Status Codes
57
-
58
- | Scenario | Code | Method |
59
- |----------|------|--------|
60
- | Created resource | 201 | `TypedResults.Created(location, dto)` |
61
- | Success, no body | 204 | `TypedResults.NoContent()` |
62
- | Validation error | 400 | `TypedResults.ValidationProblem(errors)` |
63
- | Unauthorized | 401 | `TypedResults.Unauthorized()` |
64
- | Forbidden | 403 | `TypedResults.Forbid()` |
65
- | Not found | 404 | `TypedResults.NotFound()` |
66
- | Server error | 500 | let exception middleware handle |
67
-
68
- ## DTO Rules
69
-
70
- ```csharp
71
- // Request DTOs: record + required init
72
- public record UploadPhotoCommand(IFormFile Photo, Guid UserId);
73
-
74
- // Response DTOs: include only what UI needs
75
- public record JobStatusDto(Guid JobId, ProcessingStatus Status, string? DownloadUrl, DateTime CreatedAt);
76
-
77
- // Never expose domain entities directly — always map to DTO
78
- ```
79
-
80
- ## Validation (FluentValidation)
81
-
82
- ```csharp
83
- public class UploadPhotoCommandValidator : AbstractValidator<UploadPhotoCommand>
84
- {
85
- public UploadPhotoCommandValidator()
86
- {
87
- RuleFor(x => x.Photo).NotNull();
88
- RuleFor(x => x.Photo.Length).LessThanOrEqualTo(10 * 1024 * 1024)
89
- .WithMessage("File must be under 10MB");
90
- RuleFor(x => x.Photo.ContentType)
91
- .Must(t => t is "image/jpeg" or "image/png")
92
- .WithMessage("Only JPG and PNG are allowed");
93
- }
94
- }
95
- ```
96
-
97
- ## Collaborates With
98
-
99
- - **dotnet-senior** — service layer consumed by endpoints
100
- - **ef-modeler** — entity → DTO mapping
101
- - **blazor-builder** — frontend consuming API
102
- - **testing-specialist** — integration tests
103
-
104
- ---
105
-
106
- *MORPH-SPEC by Polymorphism Tech*
@@ -1,229 +0,0 @@
1
- ---
2
- name: blazor-builder
3
- description: Blazor Builder specialist for .NET + Blazor Server stack, Razor components, Fluent UI Blazor, MudBlazor, and .NET 10 patterns. Use when implementing Blazor components and pages, configuring Program.cs, handling Blazor lifecycle patterns, or choosing between Fluent UI and MudBlazor libraries.
4
- allowed-tools: Read, Write, Edit, Bash, Glob, Grep
5
- stacks:
6
- - blazor
7
- ---
8
-
9
- # .NET + Blazor Stack
10
-
11
- Stack principal para aplicações web com .NET e Blazor Server.
12
-
13
- | Aspecto | Tecnologia |
14
- |---------|------------|
15
- | **Backend** | .NET 10 / C# 14 |
16
- | **Frontend** | Blazor Server |
17
- | **Database** | EF Core 10 + Azure SQL |
18
- | **Hosting** | Azure Container Apps |
19
- | **Background** | Hangfire |
20
- | **AI** | Microsoft Agent Framework |
21
-
22
- ---
23
-
24
- ## Critical Standards (Read FIRST)
25
-
26
- | Standard | What |
27
- |----------|------|
28
- | `framework/standards/coding.md` | **C# naming conventions, code style, .editorconfig template** |
29
- | `framework/standards/architecture.md` | **Clean Architecture layers, SOLID, service patterns** |
30
- | `framework/standards/blazor-efcore.md` | DbContext concurrency, Repository Factory, background ops, migrations |
31
- | `framework/standards/blazor-pitfalls.md` | Common Blazor issues & solutions |
32
- | `framework/standards/fluent-ui-blazor.md` | Fluent UI APIs, icon sizes, dialog patterns |
33
- | `framework/standards/blazor-lifecycle.md` | Component lifecycle patterns |
34
- | `framework/standards/program-cs-checklist.md` | Required Program.cs setup |
35
-
36
- ## Mandatory Design System Protocol
37
-
38
- **Before any UI implementation:**
39
-
40
- 1. **READ** `.morph/context/design-system.md`
41
- 2. **Use EXCLUSIVELY** the tokens defined there — never hardcode hex values, pixel values, or durations
42
- 3. **If a token is missing:** add it to `design-system.md` in the correct section before using it
43
- 4. **Register in Changelog:** add `- YYYY-MM-DD [blazor-builder] Description of addition`
44
-
45
- > Tokens map to CSS custom properties in `wwwroot/css/app.css`. Use `var(--token-name)` in Blazor component styles.
46
-
47
- ### Quick Checklist
48
- - [ ] Read `.morph/context/design-system.md` before any UI work
49
- - [ ] No hardcoded colors in .razor files — use CSS token variables
50
- - [ ] Background ops: Use `IDbContextFactory` / Repository Factory (ref: blazor-efcore.md)
51
- - [ ] JSRuntime: ONLY in `OnAfterRenderAsync(firstRender)`
52
- - [ ] Program.cs: `UseStaticFiles()` BEFORE `UseAntiforgery()`
53
- - [ ] File Upload: Specify `maxAllowedSize` in `OpenReadStream()`
54
- - [ ] RenderMode: NO `@rendermode` on MainLayout
55
- - [ ] Package Versions: MudBlazor >= 8.15.0 for .NET 10
56
-
57
- ---
58
-
59
- ## Mandatory Code Patterns
60
-
61
- ### Status Validation
62
-
63
- ```csharp
64
- // ✅ Validate INVALID states (allows future extensions)
65
- if (order.Status >= OrderStatus.Completed || order.Status == OrderStatus.Failed)
66
- throw new InvalidOperationException("Cannot process completed or failed order");
67
-
68
- // ❌ Never assume single valid flow
69
- if (order.Status != OrderStatus.PendingPayment)
70
- throw new InvalidOperationException("Invalid status");
71
- ```
72
-
73
- ### Enums with Logical Order
74
-
75
- ```csharp
76
- public enum OrderStatus
77
- {
78
- Created = 0, PendingPayment = 1, Processing = 2, Completed = 3, // Normal flow
79
- Failed = 100, Cancelled = 101, Refunded = 102 // Error states (high values)
80
- }
81
- ```
82
-
83
- ### Service Pattern
84
-
85
- ```csharp
86
- public async Task<Result<Order>> ProcessAsync(Guid orderId, CancellationToken ct)
87
- {
88
- _logger.LogInformation("Processing order {OrderId}", orderId);
89
- var order = await _repository.GetByIdAsync(orderId, ct);
90
- if (order == null) return Result.Failure<Order>("Order not found");
91
- if (order.Status >= OrderStatus.Completed)
92
- return Result.Failure<Order>("Order already completed");
93
- // ... process ...
94
- return Result.Success(order);
95
- }
96
- ```
97
-
98
- **Rules:** Logging at critical points, CancellationToken propagated, Result pattern for business errors, exceptions for infrastructure.
99
-
100
- **More patterns:** See `code-review.md` for DTOs/contracts naming and service checklists.
101
-
102
- ---
103
-
104
- ## Project Structure
105
-
106
- ```
107
- src/
108
- ├── {App}.Domain/ # Entities, Value Objects, Enums, Exceptions
109
- ├── {App}.Application/ # Services, DTOs, Interfaces, Validators
110
- ├── {App}.Infrastructure/ # EF Core (DbContext, Configs, Migrations), External Services
111
- ├── {App}.Web/ # Blazor Server (Program.cs, Components, Pages, wwwroot)
112
- └── tests/ # UnitTests, IntegrationTests
113
- ```
114
-
115
- ### Program.cs Essentials
116
-
117
- ```csharp
118
- var builder = WebApplication.CreateBuilder(args);
119
- builder.Services.AddRazorComponents().AddInteractiveServerComponents();
120
- builder.Services.AddDbContext<AppDbContext>(o => o.UseSqlServer(connString));
121
- builder.Services.AddDbContextFactory<AppDbContext>(o => o.UseSqlServer(connString));
122
- // Register services, factories, Hangfire...
123
-
124
- var app = builder.Build();
125
- app.UseHttpsRedirection();
126
- app.UseStaticFiles(); // BEFORE UseAntiforgery!
127
- app.UseAntiforgery();
128
- app.MapRazorComponents<App>().AddInteractiveServerRenderMode();
129
- app.Run();
130
- ```
131
-
132
- ---
133
-
134
- ## Blazor Component Patterns
135
-
136
- ### Page with List
137
-
138
- ```razor
139
- @page "/orders"
140
- @inject IOrderService OrderService
141
-
142
- @if (_orders is null) { <Loading /> }
143
- else if (!_orders.Any()) { <EmptyState Message="No orders found" /> }
144
- else
145
- {
146
- @foreach (var order in _orders)
147
- {
148
- <FluentCard>@order.OrderNumber - @order.Total.ToString("C")</FluentCard>
149
- }
150
- }
151
-
152
- @code {
153
- private List<OrderDto>? _orders;
154
- protected override async Task OnInitializedAsync()
155
- => _orders = await OrderService.GetAllAsync();
156
- }
157
- ```
158
-
159
- ### Form with Validation
160
-
161
- ```razor
162
- @page "/orders/new"
163
- <EditForm Model="_model" OnValidSubmit="HandleSubmit">
164
- <DataAnnotationsValidator />
165
- <InputSelect @bind-Value="_model.CustomerId">...</InputSelect>
166
- <ValidationMessage For="() => _model.CustomerId" />
167
- <button type="submit" disabled="@_isSubmitting">Save</button>
168
- </EditForm>
169
- ```
170
-
171
- ---
172
-
173
- ## UI Libraries
174
-
175
- > **Decision matrix:** See `ui-ux-designer.md` skill for full comparison.
176
-
177
- | Library | When | Key Advantage |
178
- |---------|------|---------------|
179
- | **Fluent UI** | AI-first, Microsoft stack | Performance (~200KB), AI components |
180
- | **MudBlazor** | Complex dashboards | 140+ components, charts |
181
- | **Hybrid** | SaaS with AI + analytics | Best of both |
182
-
183
- ---
184
-
185
- ## .NET 10 Features
186
-
187
- ### PersistentState (new)
188
- ```razor
189
- @code {
190
- [PersistentState]
191
- private int Count { get; set; } = 0; // Survives pre-rendering & circuit disconnections
192
- }
193
- ```
194
-
195
- ### Circuit Pause/Resume (new)
196
- ```javascript
197
- document.addEventListener('visibilitychange', () => {
198
- document.hidden ? Blazor.pauseCircuit() : Blazor.resumeCircuit();
199
- });
200
- ```
201
-
202
- ### Nested Model Validation (new)
203
- ```csharp
204
- builder.Services.AddValidation(); // Enables automatic nested model validation
205
- ```
206
-
207
- ### Blazor Metrics
208
- ```csharp
209
- builder.Services.AddOpenTelemetry()
210
- .WithTracing(t => t.AddSource("Microsoft.AspNetCore.Components.Server"))
211
- .WithMetrics(m => m.AddMeter("Microsoft.AspNetCore.Components.Server"));
212
- ```
213
-
214
- ---
215
-
216
- ## Project Checklist
217
-
218
- - [ ] Clean Architecture layers (Domain, Application, Infrastructure, Web)
219
- - [ ] EF Core with migrations + IDbContextFactory
220
- - [ ] Repository Factory for background ops (ref: blazor-efcore.md)
221
- - [ ] Blazor Server with reusable components
222
- - [ ] Services with DI + structured logging
223
- - [ ] Validation (FluentValidation or DataAnnotations)
224
- - [ ] Hangfire for background jobs
225
- - [ ] Dockerfile for containerization
226
-
227
- ---
228
-
229
- *MORPH-SPEC by Polymorphism Tech*