@maestro-ai/mcp-server 1.0.0 → 1.0.1
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/README.md +266 -227
- package/dist/content/design-system/README.md +231 -231
- package/dist/content/design-system/indexes/README.md +211 -211
- package/dist/content/design-system/indexes/colors-index.md +156 -156
- package/dist/content/design-system/indexes/quick-search.md +111 -111
- package/dist/content/design-system/indexes/stacks-index.md +341 -341
- package/dist/content/examples/Exemplo de Fluxo Completo com Java e Spring Boot.md +249 -249
- package/dist/content/examples/Exemplo de Fluxo Completo com Laravel e Filament.md +277 -277
- package/dist/content/examples/Exemplo de Fluxo Completo com Laravel e Livewire.md +260 -260
- package/dist/content/examples/Exemplo de Fluxo Completo com Node e NestJS.md +257 -257
- package/dist/content/guides/Cat/303/241logo de Stacks para Cloud Moderna.md" +119 -119
- package/dist/content/guides/Cat/303/241logo de Stacks para Hospedagem Compartilhada.md" +147 -147
- package/dist/content/guides/Checklist Mestre de Entrega.md +68 -68
- package/dist/content/guides/Gates de Qualidade.md +209 -209
- package/dist/content/guides/Guia de Adi/303/247/303/243o de Novas Funcionalidades.md" +355 -355
- package/dist/content/guides/Guia de Chaos Engineering.md +267 -267
- package/dist/content/guides/Guia de Debugging com IA.md +135 -135
- package/dist/content/guides/Guia de Estrat/303/251gias de Cache.md" +352 -352
- package/dist/content/guides/Guia de Migrations Zero-Downtime.md +311 -311
- package/dist/content/guides/Guia de Multi-tenancy.md +368 -368
- package/dist/content/guides/Guia de Otimiza/303/247/303/243o de Custos Cloud.md" +195 -195
- package/dist/content/guides/Guia de Refatora/303/247/303/243o de C/303/263digo Legado com IA.md" +162 -162
- package/dist/content/guides/Guia de SLOs e Error Budgets.md +315 -315
- package/dist/content/guides/M/303/251tricas de Efici/303/252ncia do Desenvolvimento com IA.md" +93 -93
- package/dist/content/guides/Rules base.md +90 -90
- package/dist/content/playbook/Playbook de Desenvolvimento com IA.md +364 -364
- package/dist/content/prompts/README.md +203 -203
- package/dist/content/prompts/acessibilidade/analise-acessibilidade.md +257 -257
- package/dist/content/prompts/apis/design-api-rest.md +303 -303
- package/dist/content/prompts/apis/idempotencia.md +254 -254
- package/dist/content/prompts/apis/versionamento.md +313 -313
- package/dist/content/prompts/arquitetura/arquitetura-c4-completo.md +190 -190
- package/dist/content/prompts/arquitetura/clean-architecture.md +151 -151
- package/dist/content/prompts/arquitetura/ddd-bounded-contexts.md +183 -183
- package/dist/content/prompts/arquitetura/ddd-cqrs.md +176 -176
- package/dist/content/prompts/arquitetura/modelo-dominio.md +207 -207
- package/dist/content/prompts/arquitetura/multi-tenancy.md +235 -235
- package/dist/content/prompts/database/migrations-zero-downtime.md +192 -192
- package/dist/content/prompts/database/otimizacao-queries.md +296 -296
- package/dist/content/prompts/desenvolvimento/code-review.md +301 -301
- package/dist/content/prompts/desenvolvimento/gerar-servico.md +271 -271
- package/dist/content/prompts/devops/docker-compose.md +336 -336
- package/dist/content/prompts/devops/feature-flags.md +374 -374
- package/dist/content/prompts/devops/kubernetes-deploy.md +460 -460
- package/dist/content/prompts/devops/pipeline-cicd.md +358 -358
- package/dist/content/prompts/devops/terraform-iac.md +502 -502
- package/dist/content/prompts/escalabilidade/analise-performance.md +240 -240
- package/dist/content/prompts/escalabilidade/analise-performance.txt +94 -94
- package/dist/content/prompts/escalabilidade/caching.md +255 -255
- package/dist/content/prompts/observabilidade/chaos-testing.md +237 -237
- package/dist/content/prompts/observabilidade/estrategia-observabilidade.md +263 -263
- package/dist/content/prompts/observabilidade/estrategia-observabilidade.txt +134 -134
- package/dist/content/prompts/observabilidade/slos.md +215 -215
- package/dist/content/prompts/produto/discovery-inicial.md +203 -203
- package/dist/content/prompts/produto/discovery-inicial.txt +33 -33
- package/dist/content/prompts/requisitos/refinar-requisitos.md +232 -232
- package/dist/content/prompts/requisitos/refinar-requisitos.txt +40 -40
- package/dist/content/prompts/seguranca/analise-seguranca.md +243 -243
- package/dist/content/prompts/seguranca/pentest-checklist.md +333 -333
- package/dist/content/prompts/seguranca/rate-limiting.md +356 -356
- package/dist/content/prompts/seguranca/revisao-lgpd.md +227 -227
- package/dist/content/prompts/seguranca/threat-modeling.md +224 -224
- package/dist/content/prompts/testes/contract-testing.md +340 -340
- package/dist/content/prompts/testes/gerar-testes-unitarios.md +474 -474
- package/dist/content/prompts/testes/testes-e2e.md +460 -460
- package/dist/content/prompts/testes/testes-integracao.md +418 -418
- package/dist/content/prompts/testes/testes-performance.md +458 -458
- package/dist/content/prompts/ux/gerar-ui-stitch.md +151 -151
- package/dist/content/rules/RULES.md +835 -835
- package/dist/content/rules/adapters/copilot.md +10 -10
- package/dist/content/rules/adapters/cursor.md +10 -10
- package/dist/content/rules/adapters/gemini.md +13 -13
- package/dist/content/rules/adapters/windsurf.md +10 -10
- package/dist/content/specialists/Especialista em Acessibilidade.md +266 -266
- package/dist/content/specialists/Especialista em An/303/241lise de Testes.md" +434 -434
- package/dist/content/specialists/Especialista em Arquitetura Avan/303/247ada.md" +358 -358
- package/dist/content/specialists/Especialista em Arquitetura de Software.md +177 -177
- package/dist/content/specialists/Especialista em Banco de Dados.md +260 -260
- package/dist/content/specialists/Especialista em Contrato de API.md +172 -172
- package/dist/content/specialists/Especialista em Dados e Analytics com IA.md +246 -246
- package/dist/content/specialists/Especialista em Debugging e Troubleshooting.md +191 -191
- package/dist/content/specialists/Especialista em Desenvolvimento Frontend.md +477 -477
- package/dist/content/specialists/Especialista em Desenvolvimento Mobile.md +241 -241
- package/dist/content/specialists/Especialista em Desenvolvimento e Vibe Coding Estruturado.md +417 -417
- package/dist/content/specialists/Especialista em DevOps e Infraestrutura.md +294 -294
- package/dist/content/specialists/Especialista em Documenta/303/247/303/243o T/303/251cnica.md" +227 -227
- package/dist/content/specialists/Especialista em Engenharia de Requisitos com IA.md +299 -299
- package/dist/content/specialists/Especialista em Explora/303/247/303/243o de Codebase.md" +179 -179
- package/dist/content/specialists/Especialista em Gest/303/243o de Produto.md" +179 -179
- package/dist/content/specialists/Especialista em Migra/303/247/303/243o e Moderniza/303/247/303/243o.md" +410 -410
- package/dist/content/specialists/Especialista em Modelagem e Arquitetura de Dom/303/255nio com IA.md" +248 -248
- package/dist/content/specialists/Especialista em Observabilidade.md +415 -415
- package/dist/content/specialists/Especialista em Performance e Escalabilidade.md +373 -373
- package/dist/content/specialists/Especialista em Plano de Execu/303/247/303/243o com IA.md" +341 -341
- package/dist/content/specialists/Especialista em Prototipagem R/303/241pida com Google Stitch.md" +419 -419
- package/dist/content/specialists/Especialista em Seguran/303/247a da Informa/303/247/303/243o.md" +508 -508
- package/dist/content/specialists/Especialista em UX Design.md +453 -453
- package/dist/content/specialists/INDEX.md +43 -43
- package/dist/content/templates/PRD.md +165 -165
- package/dist/content/templates/README.md +65 -65
- package/dist/content/templates/adr.md +103 -103
- package/dist/content/templates/arquitetura.md +279 -279
- package/dist/content/templates/backlog.md +185 -185
- package/dist/content/templates/checklist-seguranca.md +180 -180
- package/dist/content/templates/contexto.md +120 -120
- package/dist/content/templates/criterios-aceite.md +99 -99
- package/dist/content/templates/design-banco.md +270 -270
- package/dist/content/templates/design-doc.md +240 -240
- package/dist/content/templates/feature.md +88 -88
- package/dist/content/templates/historia-backend.md +84 -84
- package/dist/content/templates/historia-frontend.md +75 -75
- package/dist/content/templates/historia-usuario.md +125 -125
- package/dist/content/templates/mapa-navegacao.md +133 -133
- package/dist/content/templates/matriz-rastreabilidade.md +121 -121
- package/dist/content/templates/modelo-dominio.md +219 -219
- package/dist/content/templates/plano-testes.md +199 -199
- package/dist/content/templates/prototipo-stitch.md +138 -138
- package/dist/content/templates/requisitos.md +162 -162
- package/dist/content/templates/slo-sli.md +197 -197
- package/dist/content/workflows/README-MCP.md +363 -363
- package/dist/content/workflows/mcp-debug.md +506 -506
- package/dist/content/workflows/mcp-feature.md +385 -385
- package/dist/content/workflows/mcp-gate.md +413 -413
- package/dist/content/workflows/mcp-next.md +388 -388
- package/dist/content/workflows/mcp-refactor.md +600 -600
- package/dist/content/workflows/mcp-start.md +304 -304
- package/dist/content/workflows/mcp-status.md +400 -400
- package/dist/gates/tiers.test.js +14 -14
- package/dist/index.js +133 -133
- package/dist/resources/index.js +61 -61
- package/dist/stdio.js +39 -32
- package/dist/stdio.js.map +1 -1
- package/dist/tools/analise/performance.js +23 -23
- package/dist/tools/analise/qualidade.js +23 -23
- package/dist/tools/analise/relatorio.js +24 -24
- package/dist/tools/analise/seguranca.js +28 -28
- package/dist/tools/aprovar-gate.js +81 -81
- package/dist/tools/atualizar-codebase.js +18 -18
- package/dist/tools/avaliar-entregavel.js +18 -18
- package/dist/tools/carregar-projeto.js +103 -103
- package/dist/tools/classificar.js +36 -36
- package/dist/tools/confirmar-classificacao.js +36 -36
- package/dist/tools/confirmar-stitch.js +75 -75
- package/dist/tools/contexto.js +56 -56
- package/dist/tools/fluxos-alternativos.js +98 -98
- package/dist/tools/implementar-historia.js +63 -63
- package/dist/tools/iniciar-projeto.js +174 -174
- package/dist/tools/proximo.js +239 -239
- package/dist/tools/salvar.js +59 -59
- package/dist/tools/status.js +76 -76
- package/dist/tools/validar-gate.js +35 -35
- package/dist/types/response.js +11 -11
- package/dist/utils/instructions.js +48 -48
- package/dist/utils/prompt-mapper.js +16 -16
- package/dist/utils/system-md.js +33 -33
- package/package.json +67 -67
- package/dist/content/content/design-system/README.md +0 -231
- package/dist/content/content/design-system/data/charts.csv +0 -26
- package/dist/content/content/design-system/data/colors.csv +0 -97
- package/dist/content/content/design-system/data/icons.csv +0 -101
- package/dist/content/content/design-system/data/landing.csv +0 -31
- package/dist/content/content/design-system/data/products.csv +0 -97
- package/dist/content/content/design-system/data/prompts.csv +0 -24
- package/dist/content/content/design-system/data/react-performance.csv +0 -45
- package/dist/content/content/design-system/data/styles.csv +0 -59
- package/dist/content/content/design-system/data/typography.csv +0 -58
- package/dist/content/content/design-system/data/ui-reasoning.csv +0 -101
- package/dist/content/content/design-system/data/ux-guidelines.csv +0 -100
- package/dist/content/content/design-system/data/web-interface.csv +0 -31
- package/dist/content/content/design-system/indexes/README.md +0 -211
- package/dist/content/content/design-system/indexes/colors-index.md +0 -156
- package/dist/content/content/design-system/indexes/quick-search.md +0 -111
- package/dist/content/content/design-system/indexes/stacks-index.md +0 -341
- package/dist/content/content/design-system/stacks/flutter.csv +0 -53
- package/dist/content/content/design-system/stacks/html-tailwind.csv +0 -56
- package/dist/content/content/design-system/stacks/jetpack-compose.csv +0 -53
- package/dist/content/content/design-system/stacks/nextjs.csv +0 -53
- package/dist/content/content/design-system/stacks/nuxt-ui.csv +0 -51
- package/dist/content/content/design-system/stacks/nuxtjs.csv +0 -59
- package/dist/content/content/design-system/stacks/react-native.csv +0 -52
- package/dist/content/content/design-system/stacks/react.csv +0 -54
- package/dist/content/content/design-system/stacks/shadcn.csv +0 -61
- package/dist/content/content/design-system/stacks/svelte.csv +0 -54
- package/dist/content/content/design-system/stacks/swiftui.csv +0 -51
- package/dist/content/content/design-system/stacks/vue.csv +0 -50
- package/dist/content/content/examples/Exemplo de Fluxo Completo com Java e Spring Boot.md +0 -250
- package/dist/content/content/examples/Exemplo de Fluxo Completo com Laravel e Filament.md +0 -278
- package/dist/content/content/examples/Exemplo de Fluxo Completo com Laravel e Livewire.md +0 -261
- package/dist/content/content/examples/Exemplo de Fluxo Completo com Node e NestJS.md +0 -258
- package/dist/content/content/guides/Cat/303/241logo de Stacks para Cloud Moderna.md" +0 -119
- package/dist/content/content/guides/Cat/303/241logo de Stacks para Hospedagem Compartilhada.md" +0 -147
- package/dist/content/content/guides/Checklist Mestre de Entrega.md +0 -68
- package/dist/content/content/guides/Gates de Qualidade.md +0 -209
- package/dist/content/content/guides/Guia de Adi/303/247/303/243o de Novas Funcionalidades.md" +0 -355
- package/dist/content/content/guides/Guia de Chaos Engineering.md +0 -267
- package/dist/content/content/guides/Guia de Debugging com IA.md +0 -135
- package/dist/content/content/guides/Guia de Estrat/303/251gias de Cache.md" +0 -352
- package/dist/content/content/guides/Guia de Migrations Zero-Downtime.md +0 -311
- package/dist/content/content/guides/Guia de Multi-tenancy.md +0 -368
- package/dist/content/content/guides/Guia de Otimiza/303/247/303/243o de Custos Cloud.md" +0 -195
- package/dist/content/content/guides/Guia de Refatora/303/247/303/243o de C/303/263digo Legado com IA.md" +0 -162
- package/dist/content/content/guides/Guia de SLOs e Error Budgets.md +0 -315
- package/dist/content/content/guides/M/303/251tricas de Efici/303/252ncia do Desenvolvimento com IA.md" +0 -93
- package/dist/content/content/guides/Rules base.md +0 -90
- package/dist/content/content/playbook/Playbook de Desenvolvimento com IA.md +0 -364
- package/dist/content/content/prompts/README.md +0 -203
- package/dist/content/content/prompts/acessibilidade/analise-acessibilidade.md +0 -257
- package/dist/content/content/prompts/apis/design-api-rest.md +0 -303
- package/dist/content/content/prompts/apis/idempotencia.md +0 -254
- package/dist/content/content/prompts/apis/versionamento.md +0 -313
- package/dist/content/content/prompts/arquitetura/arquitetura-c4-completo.md +0 -190
- package/dist/content/content/prompts/arquitetura/clean-architecture.md +0 -151
- package/dist/content/content/prompts/arquitetura/ddd-bounded-contexts.md +0 -183
- package/dist/content/content/prompts/arquitetura/ddd-cqrs.md +0 -176
- package/dist/content/content/prompts/arquitetura/modelo-dominio.md +0 -207
- package/dist/content/content/prompts/arquitetura/multi-tenancy.md +0 -235
- package/dist/content/content/prompts/database/migrations-zero-downtime.md +0 -192
- package/dist/content/content/prompts/database/otimizacao-queries.md +0 -296
- package/dist/content/content/prompts/desenvolvimento/code-review.md +0 -301
- package/dist/content/content/prompts/desenvolvimento/gerar-servico.md +0 -271
- package/dist/content/content/prompts/devops/docker-compose.md +0 -336
- package/dist/content/content/prompts/devops/feature-flags.md +0 -374
- package/dist/content/content/prompts/devops/kubernetes-deploy.md +0 -460
- package/dist/content/content/prompts/devops/pipeline-cicd.md +0 -358
- package/dist/content/content/prompts/devops/terraform-iac.md +0 -502
- package/dist/content/content/prompts/escalabilidade/analise-performance.md +0 -240
- package/dist/content/content/prompts/escalabilidade/analise-performance.txt +0 -94
- package/dist/content/content/prompts/escalabilidade/caching.md +0 -255
- package/dist/content/content/prompts/observabilidade/chaos-testing.md +0 -237
- package/dist/content/content/prompts/observabilidade/estrategia-observabilidade.md +0 -263
- package/dist/content/content/prompts/observabilidade/estrategia-observabilidade.txt +0 -134
- package/dist/content/content/prompts/observabilidade/slos.md +0 -215
- package/dist/content/content/prompts/produto/discovery-inicial.md +0 -203
- package/dist/content/content/prompts/produto/discovery-inicial.txt +0 -33
- package/dist/content/content/prompts/requisitos/refinar-requisitos.md +0 -232
- package/dist/content/content/prompts/requisitos/refinar-requisitos.txt +0 -40
- package/dist/content/content/prompts/seguranca/analise-seguranca.md +0 -243
- package/dist/content/content/prompts/seguranca/pentest-checklist.md +0 -333
- package/dist/content/content/prompts/seguranca/rate-limiting.md +0 -356
- package/dist/content/content/prompts/seguranca/revisao-lgpd.md +0 -227
- package/dist/content/content/prompts/seguranca/threat-modeling.md +0 -224
- package/dist/content/content/prompts/testes/contract-testing.md +0 -340
- package/dist/content/content/prompts/testes/gerar-testes-unitarios.md +0 -474
- package/dist/content/content/prompts/testes/testes-e2e.md +0 -460
- package/dist/content/content/prompts/testes/testes-integracao.md +0 -418
- package/dist/content/content/prompts/testes/testes-performance.md +0 -458
- package/dist/content/content/prompts/ux/gerar-ui-stitch.md +0 -151
- package/dist/content/content/rules/GEMINI.md +0 -841
- package/dist/content/content/rules/RULES.md +0 -835
- package/dist/content/content/rules/adapters/copilot.md +0 -10
- package/dist/content/content/rules/adapters/cursor.md +0 -10
- package/dist/content/content/rules/adapters/gemini.md +0 -13
- package/dist/content/content/rules/adapters/windsurf.md +0 -10
- package/dist/content/content/skills/api-patterns/SKILL.md +0 -81
- package/dist/content/content/skills/api-patterns/api-style.md +0 -42
- package/dist/content/content/skills/api-patterns/auth.md +0 -24
- package/dist/content/content/skills/api-patterns/documentation.md +0 -26
- package/dist/content/content/skills/api-patterns/graphql.md +0 -41
- package/dist/content/content/skills/api-patterns/rate-limiting.md +0 -31
- package/dist/content/content/skills/api-patterns/response.md +0 -37
- package/dist/content/content/skills/api-patterns/rest.md +0 -40
- package/dist/content/content/skills/api-patterns/scripts/api_validator.py +0 -211
- package/dist/content/content/skills/api-patterns/security-testing.md +0 -122
- package/dist/content/content/skills/api-patterns/trpc.md +0 -41
- package/dist/content/content/skills/api-patterns/versioning.md +0 -22
- package/dist/content/content/skills/app-builder/SKILL.md +0 -75
- package/dist/content/content/skills/app-builder/agent-coordination.md +0 -71
- package/dist/content/content/skills/app-builder/feature-building.md +0 -53
- package/dist/content/content/skills/app-builder/project-detection.md +0 -34
- package/dist/content/content/skills/app-builder/scaffolding.md +0 -118
- package/dist/content/content/skills/app-builder/tech-stack.md +0 -40
- package/dist/content/content/skills/app-builder/templates/SKILL.md +0 -39
- package/dist/content/content/skills/app-builder/templates/astro-static/TEMPLATE.md +0 -76
- package/dist/content/content/skills/app-builder/templates/chrome-extension/TEMPLATE.md +0 -92
- package/dist/content/content/skills/app-builder/templates/cli-tool/TEMPLATE.md +0 -88
- package/dist/content/content/skills/app-builder/templates/electron-desktop/TEMPLATE.md +0 -88
- package/dist/content/content/skills/app-builder/templates/express-api/TEMPLATE.md +0 -83
- package/dist/content/content/skills/app-builder/templates/flutter-app/TEMPLATE.md +0 -90
- package/dist/content/content/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +0 -90
- package/dist/content/content/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +0 -82
- package/dist/content/content/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +0 -100
- package/dist/content/content/skills/app-builder/templates/nextjs-static/TEMPLATE.md +0 -106
- package/dist/content/content/skills/app-builder/templates/nuxt-app/TEMPLATE.md +0 -101
- package/dist/content/content/skills/app-builder/templates/python-fastapi/TEMPLATE.md +0 -83
- package/dist/content/content/skills/app-builder/templates/react-native-app/TEMPLATE.md +0 -93
- package/dist/content/content/skills/architecture/SKILL.md +0 -55
- package/dist/content/content/skills/architecture/context-discovery.md +0 -43
- package/dist/content/content/skills/architecture/examples.md +0 -94
- package/dist/content/content/skills/architecture/pattern-selection.md +0 -68
- package/dist/content/content/skills/architecture/patterns-reference.md +0 -50
- package/dist/content/content/skills/architecture/trade-off-analysis.md +0 -77
- package/dist/content/content/skills/bash-linux/SKILL.md +0 -199
- package/dist/content/content/skills/behavioral-modes/SKILL.md +0 -242
- package/dist/content/content/skills/brainstorming/SKILL.md +0 -163
- package/dist/content/content/skills/brainstorming/dynamic-questioning.md +0 -350
- package/dist/content/content/skills/clean-code/SKILL.md +0 -201
- package/dist/content/content/skills/code-review-checklist/SKILL.md +0 -109
- package/dist/content/content/skills/database-design/SKILL.md +0 -52
- package/dist/content/content/skills/database-design/database-selection.md +0 -43
- package/dist/content/content/skills/database-design/indexing.md +0 -39
- package/dist/content/content/skills/database-design/migrations.md +0 -48
- package/dist/content/content/skills/database-design/optimization.md +0 -36
- package/dist/content/content/skills/database-design/orm-selection.md +0 -30
- package/dist/content/content/skills/database-design/schema-design.md +0 -56
- package/dist/content/content/skills/database-design/scripts/schema_validator.py +0 -172
- package/dist/content/content/skills/deployment-procedures/SKILL.md +0 -241
- package/dist/content/content/skills/doc.md +0 -177
- package/dist/content/content/skills/documentation-templates/SKILL.md +0 -194
- package/dist/content/content/skills/frontend-design/SKILL.md +0 -396
- package/dist/content/content/skills/frontend-design/animation-guide.md +0 -331
- package/dist/content/content/skills/frontend-design/color-system.md +0 -311
- package/dist/content/content/skills/frontend-design/decision-trees.md +0 -418
- package/dist/content/content/skills/frontend-design/motion-graphics.md +0 -306
- package/dist/content/content/skills/frontend-design/scripts/accessibility_checker.py +0 -183
- package/dist/content/content/skills/frontend-design/scripts/ux_audit.py +0 -722
- package/dist/content/content/skills/frontend-design/typography-system.md +0 -345
- package/dist/content/content/skills/frontend-design/ux-psychology.md +0 -541
- package/dist/content/content/skills/frontend-design/visual-effects.md +0 -383
- package/dist/content/content/skills/game-development/2d-games/SKILL.md +0 -119
- package/dist/content/content/skills/game-development/3d-games/SKILL.md +0 -135
- package/dist/content/content/skills/game-development/SKILL.md +0 -167
- package/dist/content/content/skills/game-development/game-art/SKILL.md +0 -185
- package/dist/content/content/skills/game-development/game-audio/SKILL.md +0 -190
- package/dist/content/content/skills/game-development/game-design/SKILL.md +0 -129
- package/dist/content/content/skills/game-development/mobile-games/SKILL.md +0 -108
- package/dist/content/content/skills/game-development/multiplayer/SKILL.md +0 -132
- package/dist/content/content/skills/game-development/pc-games/SKILL.md +0 -144
- package/dist/content/content/skills/game-development/vr-ar/SKILL.md +0 -123
- package/dist/content/content/skills/game-development/web-games/SKILL.md +0 -150
- package/dist/content/content/skills/geo-fundamentals/SKILL.md +0 -156
- package/dist/content/content/skills/geo-fundamentals/scripts/geo_checker.py +0 -289
- package/dist/content/content/skills/i18n-localization/SKILL.md +0 -154
- package/dist/content/content/skills/i18n-localization/scripts/i18n_checker.py +0 -241
- package/dist/content/content/skills/intelligent-routing/SKILL.md +0 -334
- package/dist/content/content/skills/lint-and-validate/SKILL.md +0 -45
- package/dist/content/content/skills/lint-and-validate/scripts/lint_runner.py +0 -172
- package/dist/content/content/skills/lint-and-validate/scripts/type_coverage.py +0 -173
- package/dist/content/content/skills/mcp-builder/SKILL.md +0 -176
- package/dist/content/content/skills/mobile-design/SKILL.md +0 -394
- package/dist/content/content/skills/mobile-design/decision-trees.md +0 -516
- package/dist/content/content/skills/mobile-design/mobile-backend.md +0 -491
- package/dist/content/content/skills/mobile-design/mobile-color-system.md +0 -420
- package/dist/content/content/skills/mobile-design/mobile-debugging.md +0 -122
- package/dist/content/content/skills/mobile-design/mobile-design-thinking.md +0 -357
- package/dist/content/content/skills/mobile-design/mobile-navigation.md +0 -458
- package/dist/content/content/skills/mobile-design/mobile-performance.md +0 -767
- package/dist/content/content/skills/mobile-design/mobile-testing.md +0 -356
- package/dist/content/content/skills/mobile-design/mobile-typography.md +0 -433
- package/dist/content/content/skills/mobile-design/platform-android.md +0 -666
- package/dist/content/content/skills/mobile-design/platform-ios.md +0 -561
- package/dist/content/content/skills/mobile-design/scripts/mobile_audit.py +0 -670
- package/dist/content/content/skills/mobile-design/touch-psychology.md +0 -537
- package/dist/content/content/skills/nextjs-best-practices/SKILL.md +0 -203
- package/dist/content/content/skills/nodejs-best-practices/SKILL.md +0 -333
- package/dist/content/content/skills/parallel-agents/SKILL.md +0 -175
- package/dist/content/content/skills/performance-profiling/SKILL.md +0 -143
- package/dist/content/content/skills/performance-profiling/scripts/lighthouse_audit.py +0 -76
- package/dist/content/content/skills/plan-writing/SKILL.md +0 -152
- package/dist/content/content/skills/powershell-windows/SKILL.md +0 -167
- package/dist/content/content/skills/python-patterns/SKILL.md +0 -441
- package/dist/content/content/skills/react-patterns/SKILL.md +0 -198
- package/dist/content/content/skills/red-team-tactics/SKILL.md +0 -199
- package/dist/content/content/skills/seo-fundamentals/SKILL.md +0 -129
- package/dist/content/content/skills/seo-fundamentals/scripts/seo_checker.py +0 -219
- package/dist/content/content/skills/server-management/SKILL.md +0 -161
- package/dist/content/content/skills/systematic-debugging/SKILL.md +0 -109
- package/dist/content/content/skills/tailwind-patterns/SKILL.md +0 -269
- package/dist/content/content/skills/tdd-workflow/SKILL.md +0 -149
- package/dist/content/content/skills/testing-patterns/SKILL.md +0 -178
- package/dist/content/content/skills/testing-patterns/scripts/test_runner.py +0 -219
- package/dist/content/content/skills/vulnerability-scanner/SKILL.md +0 -276
- package/dist/content/content/skills/vulnerability-scanner/checklists.md +0 -121
- package/dist/content/content/skills/vulnerability-scanner/scripts/security_scan.py +0 -458
- package/dist/content/content/skills/webapp-testing/SKILL.md +0 -187
- package/dist/content/content/skills/webapp-testing/scripts/playwright_runner.py +0 -173
- package/dist/content/content/specialists/Especialista em Acessibilidade.md +0 -266
- package/dist/content/content/specialists/Especialista em An/303/241lise de Testes.md" +0 -434
- package/dist/content/content/specialists/Especialista em Arquitetura Avan/303/247ada.md" +0 -358
- package/dist/content/content/specialists/Especialista em Arquitetura de Software.md +0 -177
- package/dist/content/content/specialists/Especialista em Banco de Dados.md +0 -260
- package/dist/content/content/specialists/Especialista em Contrato de API.md +0 -172
- package/dist/content/content/specialists/Especialista em Dados e Analytics com IA.md +0 -246
- package/dist/content/content/specialists/Especialista em Debugging e Troubleshooting.md +0 -191
- package/dist/content/content/specialists/Especialista em Desenvolvimento Frontend.md +0 -477
- package/dist/content/content/specialists/Especialista em Desenvolvimento Mobile.md +0 -241
- package/dist/content/content/specialists/Especialista em Desenvolvimento e Vibe Coding Estruturado.md +0 -417
- package/dist/content/content/specialists/Especialista em DevOps e Infraestrutura.md +0 -294
- package/dist/content/content/specialists/Especialista em Documenta/303/247/303/243o T/303/251cnica.md" +0 -227
- package/dist/content/content/specialists/Especialista em Engenharia de Requisitos com IA.md +0 -299
- package/dist/content/content/specialists/Especialista em Explora/303/247/303/243o de Codebase.md" +0 -179
- package/dist/content/content/specialists/Especialista em Gest/303/243o de Produto.md" +0 -179
- package/dist/content/content/specialists/Especialista em Migra/303/247/303/243o e Moderniza/303/247/303/243o.md" +0 -410
- package/dist/content/content/specialists/Especialista em Modelagem e Arquitetura de Dom/303/255nio com IA.md" +0 -248
- package/dist/content/content/specialists/Especialista em Observabilidade.md +0 -415
- package/dist/content/content/specialists/Especialista em Performance e Escalabilidade.md +0 -373
- package/dist/content/content/specialists/Especialista em Plano de Execu/303/247/303/243o com IA.md" +0 -341
- package/dist/content/content/specialists/Especialista em Prototipagem R/303/241pida com Google Stitch.md" +0 -419
- package/dist/content/content/specialists/Especialista em Seguran/303/247a da Informa/303/247/303/243o.md" +0 -508
- package/dist/content/content/specialists/Especialista em UX Design.md +0 -453
- package/dist/content/content/specialists/INDEX.md +0 -43
- package/dist/content/content/templates/PRD.md +0 -165
- package/dist/content/content/templates/README.md +0 -65
- package/dist/content/content/templates/adr.md +0 -103
- package/dist/content/content/templates/arquitetura.md +0 -279
- package/dist/content/content/templates/backlog.md +0 -185
- package/dist/content/content/templates/checklist-seguranca.md +0 -180
- package/dist/content/content/templates/contexto.md +0 -120
- package/dist/content/content/templates/criterios-aceite.md +0 -99
- package/dist/content/content/templates/design-banco.md +0 -270
- package/dist/content/content/templates/design-doc.md +0 -240
- package/dist/content/content/templates/feature.md +0 -88
- package/dist/content/content/templates/historia-backend.md +0 -84
- package/dist/content/content/templates/historia-frontend.md +0 -75
- package/dist/content/content/templates/historia-usuario.md +0 -125
- package/dist/content/content/templates/mapa-navegacao.md +0 -133
- package/dist/content/content/templates/matriz-rastreabilidade.md +0 -121
- package/dist/content/content/templates/modelo-dominio.md +0 -219
- package/dist/content/content/templates/plano-testes.md +0 -199
- package/dist/content/content/templates/prototipo-stitch.md +0 -138
- package/dist/content/content/templates/requisitos.md +0 -162
- package/dist/content/content/templates/slo-sli.md +0 -197
- package/dist/content/content/workflows/README-MCP.md +0 -363
- package/dist/content/content/workflows/brainstorm.md +0 -113
- package/dist/content/content/workflows/create.md +0 -59
- package/dist/content/content/workflows/debug.md +0 -103
- package/dist/content/content/workflows/deploy.md +0 -176
- package/dist/content/content/workflows/enhance.md +0 -63
- package/dist/content/content/workflows/mcp-debug.md +0 -506
- package/dist/content/content/workflows/mcp-feature.md +0 -385
- package/dist/content/content/workflows/mcp-gate.md +0 -413
- package/dist/content/content/workflows/mcp-next.md +0 -388
- package/dist/content/content/workflows/mcp-refactor.md +0 -600
- package/dist/content/content/workflows/mcp-start.md +0 -304
- package/dist/content/content/workflows/mcp-status.md +0 -400
- package/dist/content/content/workflows/orchestrate.md +0 -237
- package/dist/content/content/workflows/plan.md +0 -89
- package/dist/content/content/workflows/preview.md +0 -81
- package/dist/content/content/workflows/status.md +0 -86
- package/dist/content/content/workflows/test.md +0 -144
- package/dist/content/content/workflows/ui-ux-pro-max.md +0 -296
|
@@ -1,303 +1,303 @@
|
|
|
1
|
-
# Prompt: Design de API REST
|
|
2
|
-
|
|
3
|
-
> **Quando usar**: Fase de arquitetura, antes de implementar endpoints
|
|
4
|
-
> **Especialista**: [Arquitetura de Software](../../02-especialistas/Especialista%20em%20Arquitetura%20de%20Software.md)
|
|
5
|
-
> **Nível**: Médio
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Fluxo de Contexto
|
|
10
|
-
|
|
11
|
-
Antes de usar este prompt, tenha em mãos:
|
|
12
|
-
- `docs/CONTEXTO.md` - Entendimento do projeto
|
|
13
|
-
- `docs/02-requisitos/requisitos.md` - Requisitos funcionais
|
|
14
|
-
- `docs/04-modelo/modelo-dominio.md` - Entidades do sistema
|
|
15
|
-
|
|
16
|
-
Após gerar, salve o resultado em:
|
|
17
|
-
- `docs/06-api/api-design.md`
|
|
18
|
-
- `docs/06-api/openapi.yaml` (especificação)
|
|
19
|
-
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## Prompt Completo
|
|
23
|
-
|
|
24
|
-
```text
|
|
25
|
-
Atue como arquiteto de APIs especializado em REST e OpenAPI.
|
|
26
|
-
|
|
27
|
-
## Contexto do Projeto
|
|
28
|
-
|
|
29
|
-
[COLE O CONTEÚDO DE docs/CONTEXTO.md]
|
|
30
|
-
|
|
31
|
-
## Requisitos Funcionais
|
|
32
|
-
|
|
33
|
-
[COLE RFs DE docs/02-requisitos/requisitos.md]
|
|
34
|
-
|
|
35
|
-
## Modelo de Domínio
|
|
36
|
-
|
|
37
|
-
[COLE ENTIDADES DE docs/04-modelo/modelo-dominio.md]
|
|
38
|
-
|
|
39
|
-
## Configurações
|
|
40
|
-
|
|
41
|
-
Versionamento: [URL path: /v1 | Header: X-API-Version | Query: ?version=1]
|
|
42
|
-
Autenticação: [JWT Bearer | API Key | OAuth 2.0 | Session]
|
|
43
|
-
Formato: [JSON | JSON:API | HAL]
|
|
44
|
-
Base URL: [https://api.exemplo.com]
|
|
45
|
-
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
## Sua Missão
|
|
49
|
-
|
|
50
|
-
Projete uma API REST completa seguindo boas práticas:
|
|
51
|
-
|
|
52
|
-
### 1. Recursos e Endpoints
|
|
53
|
-
|
|
54
|
-
Para cada recurso (baseado nas entidades):
|
|
55
|
-
|
|
56
|
-
**Recurso: /recursos**
|
|
57
|
-
|
|
58
|
-
| Método | Endpoint | Descrição | Auth |
|
|
59
|
-
|--------|----------|-----------|------|
|
|
60
|
-
| GET | /recursos | Listar (paginado) | Sim/Não |
|
|
61
|
-
| GET | /recursos/:id | Obter por ID | Sim/Não |
|
|
62
|
-
| POST | /recursos | Criar | Sim/Não |
|
|
63
|
-
| PUT | /recursos/:id | Atualizar completo | Sim/Não |
|
|
64
|
-
| PATCH | /recursos/:id | Atualizar parcial | Sim/Não |
|
|
65
|
-
| DELETE | /recursos/:id | Remover | Sim/Não |
|
|
66
|
-
|
|
67
|
-
### 2. Padrões de Nomenclatura
|
|
68
|
-
|
|
69
|
-
- Recursos no plural: /users, /orders
|
|
70
|
-
- Kebab-case para multi-palavras: /order-items
|
|
71
|
-
- IDs como path parameter: /users/:id
|
|
72
|
-
- Relacionamentos: /users/:id/orders
|
|
73
|
-
- Ações especiais: POST /orders/:id/cancel
|
|
74
|
-
|
|
75
|
-
### 3. Query Parameters
|
|
76
|
-
|
|
77
|
-
Padronize:
|
|
78
|
-
- **Paginação**: page, limit (ou cursor)
|
|
79
|
-
- **Ordenação**: sort=field:asc,field2:desc
|
|
80
|
-
- **Filtros**: filter[field]=value
|
|
81
|
-
- **Campos**: fields=id,name,email
|
|
82
|
-
- **Expands**: include=orders,profile
|
|
83
|
-
|
|
84
|
-
### 4. Request/Response Schemas
|
|
85
|
-
|
|
86
|
-
Para cada endpoint principal, defina:
|
|
87
|
-
|
|
88
|
-
**Request Body (POST/PUT)**
|
|
89
|
-
```json
|
|
90
|
-
{
|
|
91
|
-
"campo1": "tipo",
|
|
92
|
-
"campo2": "tipo"
|
|
93
|
-
}
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
**Response Body (Sucesso)**
|
|
97
|
-
```json
|
|
98
|
-
{
|
|
99
|
-
"data": { ... },
|
|
100
|
-
"meta": { ... }
|
|
101
|
-
}
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
**Response Body (Lista)**
|
|
105
|
-
```json
|
|
106
|
-
{
|
|
107
|
-
"data": [ ... ],
|
|
108
|
-
"meta": {
|
|
109
|
-
"page": 1,
|
|
110
|
-
"limit": 20,
|
|
111
|
-
"total": 100,
|
|
112
|
-
"totalPages": 5
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
### 5. HTTP Status Codes
|
|
118
|
-
|
|
119
|
-
| Código | Quando Usar |
|
|
120
|
-
|--------|-------------|
|
|
121
|
-
| 200 | Sucesso (GET, PUT, PATCH) |
|
|
122
|
-
| 201 | Criado (POST) |
|
|
123
|
-
| 204 | Sem conteúdo (DELETE) |
|
|
124
|
-
| 400 | Request inválido |
|
|
125
|
-
| 401 | Não autenticado |
|
|
126
|
-
| 403 | Não autorizado |
|
|
127
|
-
| 404 | Não encontrado |
|
|
128
|
-
| 409 | Conflito (duplicação) |
|
|
129
|
-
| 422 | Erro de validação |
|
|
130
|
-
| 429 | Rate limit exceeded |
|
|
131
|
-
| 500 | Erro interno |
|
|
132
|
-
|
|
133
|
-
### 6. Formato de Erros
|
|
134
|
-
|
|
135
|
-
```json
|
|
136
|
-
{
|
|
137
|
-
"error": {
|
|
138
|
-
"code": "VALIDATION_ERROR",
|
|
139
|
-
"message": "Mensagem amigável",
|
|
140
|
-
"details": [
|
|
141
|
-
{
|
|
142
|
-
"field": "email",
|
|
143
|
-
"message": "Email inválido"
|
|
144
|
-
}
|
|
145
|
-
],
|
|
146
|
-
"traceId": "abc-123"
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
### 7. Headers
|
|
152
|
-
|
|
153
|
-
**Request Headers**
|
|
154
|
-
- Authorization: Bearer {token}
|
|
155
|
-
- Content-Type: application/json
|
|
156
|
-
- Accept: application/json
|
|
157
|
-
- X-Request-ID: {uuid}
|
|
158
|
-
|
|
159
|
-
**Response Headers**
|
|
160
|
-
- X-Request-ID: {uuid}
|
|
161
|
-
- X-RateLimit-Limit: 100
|
|
162
|
-
- X-RateLimit-Remaining: 95
|
|
163
|
-
- X-RateLimit-Reset: timestamp
|
|
164
|
-
|
|
165
|
-
### 8. Versionamento
|
|
166
|
-
|
|
167
|
-
Estratégia escolhida e como deprecar versões antigas.
|
|
168
|
-
|
|
169
|
-
### 9. Segurança
|
|
170
|
-
|
|
171
|
-
- Rate limiting por endpoint
|
|
172
|
-
- Validação de input
|
|
173
|
-
- CORS configuration
|
|
174
|
-
|
|
175
|
-
### 10. OpenAPI Specification
|
|
176
|
-
|
|
177
|
-
Gere a especificação OpenAPI 3.0 em YAML para os endpoints principais.
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
---
|
|
181
|
-
|
|
182
|
-
## Exemplo de Uso
|
|
183
|
-
|
|
184
|
-
```text
|
|
185
|
-
Atue como arquiteto de APIs especializado em REST e OpenAPI.
|
|
186
|
-
|
|
187
|
-
## Contexto do Projeto
|
|
188
|
-
|
|
189
|
-
Sistema de agendamento para salões de beleza.
|
|
190
|
-
|
|
191
|
-
## Requisitos Funcionais
|
|
192
|
-
|
|
193
|
-
- RF-001: Listar horários disponíveis
|
|
194
|
-
- RF-002: Criar agendamento
|
|
195
|
-
- RF-003: Cancelar agendamento
|
|
196
|
-
- RF-004: Listar agendamentos do dia
|
|
197
|
-
|
|
198
|
-
## Modelo de Domínio
|
|
199
|
-
|
|
200
|
-
- Cliente (id, nome, telefone, email)
|
|
201
|
-
- Servico (id, nome, duracao, preco)
|
|
202
|
-
- Profissional (id, nome, especialidades)
|
|
203
|
-
- Agendamento (id, clienteId, servicoId, profissionalId, dataHora, status)
|
|
204
|
-
|
|
205
|
-
## Configurações
|
|
206
|
-
|
|
207
|
-
Versionamento: URL path /v1
|
|
208
|
-
Autenticação: JWT Bearer (admin) / Público (cliente agendando)
|
|
209
|
-
Formato: JSON
|
|
210
|
-
Base URL: https://api.salao.com
|
|
211
|
-
```
|
|
212
|
-
|
|
213
|
-
---
|
|
214
|
-
|
|
215
|
-
## Resposta Esperada
|
|
216
|
-
|
|
217
|
-
### Recursos
|
|
218
|
-
|
|
219
|
-
**Recurso: /agendamentos**
|
|
220
|
-
|
|
221
|
-
| Método | Endpoint | Descrição | Auth |
|
|
222
|
-
|--------|----------|-----------|------|
|
|
223
|
-
| GET | /v1/agendamentos | Listar (admin) | JWT |
|
|
224
|
-
| GET | /v1/agendamentos/:id | Obter | JWT |
|
|
225
|
-
| POST | /v1/agendamentos | Criar | Público |
|
|
226
|
-
| DELETE | /v1/agendamentos/:id | Cancelar | JWT ou Token |
|
|
227
|
-
|
|
228
|
-
**Recurso: /disponibilidade**
|
|
229
|
-
|
|
230
|
-
| Método | Endpoint | Descrição | Auth |
|
|
231
|
-
|--------|----------|-----------|------|
|
|
232
|
-
| GET | /v1/profissionais/:id/disponibilidade | Horários livres | Público |
|
|
233
|
-
|
|
234
|
-
### Request/Response
|
|
235
|
-
|
|
236
|
-
**POST /v1/agendamentos**
|
|
237
|
-
|
|
238
|
-
Request:
|
|
239
|
-
```json
|
|
240
|
-
{
|
|
241
|
-
"profissionalId": "uuid",
|
|
242
|
-
"servicoId": "uuid",
|
|
243
|
-
"dataHora": "2024-01-15T14:00:00Z",
|
|
244
|
-
"cliente": {
|
|
245
|
-
"nome": "Maria Silva",
|
|
246
|
-
"telefone": "11999998888"
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
Response (201):
|
|
252
|
-
```json
|
|
253
|
-
{
|
|
254
|
-
"data": {
|
|
255
|
-
"id": "uuid",
|
|
256
|
-
"status": "CONFIRMADO",
|
|
257
|
-
"dataHora": "2024-01-15T14:00:00Z",
|
|
258
|
-
"profissional": { "id": "uuid", "nome": "Ana" },
|
|
259
|
-
"servico": { "id": "uuid", "nome": "Corte", "duracao": 30 }
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
```
|
|
263
|
-
|
|
264
|
-
### OpenAPI (Resumo)
|
|
265
|
-
|
|
266
|
-
```yaml
|
|
267
|
-
openapi: 3.0.3
|
|
268
|
-
info:
|
|
269
|
-
title: API Salão de Beleza
|
|
270
|
-
version: 1.0.0
|
|
271
|
-
|
|
272
|
-
paths:
|
|
273
|
-
/v1/agendamentos:
|
|
274
|
-
post:
|
|
275
|
-
summary: Criar agendamento
|
|
276
|
-
requestBody:
|
|
277
|
-
content:
|
|
278
|
-
application/json:
|
|
279
|
-
schema:
|
|
280
|
-
$ref: '#/components/schemas/CriarAgendamento'
|
|
281
|
-
responses:
|
|
282
|
-
'201':
|
|
283
|
-
description: Agendamento criado
|
|
284
|
-
content:
|
|
285
|
-
application/json:
|
|
286
|
-
schema:
|
|
287
|
-
$ref: '#/components/schemas/AgendamentoResponse'
|
|
288
|
-
```
|
|
289
|
-
|
|
290
|
-
---
|
|
291
|
-
|
|
292
|
-
## Checklist Pós-Geração
|
|
293
|
-
|
|
294
|
-
- [ ] Todos os recursos mapeados das entidades
|
|
295
|
-
- [ ] Verbos HTTP corretos para cada ação
|
|
296
|
-
- [ ] Paginação padronizada
|
|
297
|
-
- [ ] Formato de erro consistente
|
|
298
|
-
- [ ] Status codes documentados
|
|
299
|
-
- [ ] Headers de request/response definidos
|
|
300
|
-
- [ ] Rate limiting especificado
|
|
301
|
-
- [ ] Versionamento definido
|
|
302
|
-
- [ ] OpenAPI spec gerada
|
|
303
|
-
- [ ] Salvar em `docs/06-api/api-design.md`
|
|
1
|
+
# Prompt: Design de API REST
|
|
2
|
+
|
|
3
|
+
> **Quando usar**: Fase de arquitetura, antes de implementar endpoints
|
|
4
|
+
> **Especialista**: [Arquitetura de Software](../../02-especialistas/Especialista%20em%20Arquitetura%20de%20Software.md)
|
|
5
|
+
> **Nível**: Médio
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Fluxo de Contexto
|
|
10
|
+
|
|
11
|
+
Antes de usar este prompt, tenha em mãos:
|
|
12
|
+
- `docs/CONTEXTO.md` - Entendimento do projeto
|
|
13
|
+
- `docs/02-requisitos/requisitos.md` - Requisitos funcionais
|
|
14
|
+
- `docs/04-modelo/modelo-dominio.md` - Entidades do sistema
|
|
15
|
+
|
|
16
|
+
Após gerar, salve o resultado em:
|
|
17
|
+
- `docs/06-api/api-design.md`
|
|
18
|
+
- `docs/06-api/openapi.yaml` (especificação)
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Prompt Completo
|
|
23
|
+
|
|
24
|
+
```text
|
|
25
|
+
Atue como arquiteto de APIs especializado em REST e OpenAPI.
|
|
26
|
+
|
|
27
|
+
## Contexto do Projeto
|
|
28
|
+
|
|
29
|
+
[COLE O CONTEÚDO DE docs/CONTEXTO.md]
|
|
30
|
+
|
|
31
|
+
## Requisitos Funcionais
|
|
32
|
+
|
|
33
|
+
[COLE RFs DE docs/02-requisitos/requisitos.md]
|
|
34
|
+
|
|
35
|
+
## Modelo de Domínio
|
|
36
|
+
|
|
37
|
+
[COLE ENTIDADES DE docs/04-modelo/modelo-dominio.md]
|
|
38
|
+
|
|
39
|
+
## Configurações
|
|
40
|
+
|
|
41
|
+
Versionamento: [URL path: /v1 | Header: X-API-Version | Query: ?version=1]
|
|
42
|
+
Autenticação: [JWT Bearer | API Key | OAuth 2.0 | Session]
|
|
43
|
+
Formato: [JSON | JSON:API | HAL]
|
|
44
|
+
Base URL: [https://api.exemplo.com]
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Sua Missão
|
|
49
|
+
|
|
50
|
+
Projete uma API REST completa seguindo boas práticas:
|
|
51
|
+
|
|
52
|
+
### 1. Recursos e Endpoints
|
|
53
|
+
|
|
54
|
+
Para cada recurso (baseado nas entidades):
|
|
55
|
+
|
|
56
|
+
**Recurso: /recursos**
|
|
57
|
+
|
|
58
|
+
| Método | Endpoint | Descrição | Auth |
|
|
59
|
+
|--------|----------|-----------|------|
|
|
60
|
+
| GET | /recursos | Listar (paginado) | Sim/Não |
|
|
61
|
+
| GET | /recursos/:id | Obter por ID | Sim/Não |
|
|
62
|
+
| POST | /recursos | Criar | Sim/Não |
|
|
63
|
+
| PUT | /recursos/:id | Atualizar completo | Sim/Não |
|
|
64
|
+
| PATCH | /recursos/:id | Atualizar parcial | Sim/Não |
|
|
65
|
+
| DELETE | /recursos/:id | Remover | Sim/Não |
|
|
66
|
+
|
|
67
|
+
### 2. Padrões de Nomenclatura
|
|
68
|
+
|
|
69
|
+
- Recursos no plural: /users, /orders
|
|
70
|
+
- Kebab-case para multi-palavras: /order-items
|
|
71
|
+
- IDs como path parameter: /users/:id
|
|
72
|
+
- Relacionamentos: /users/:id/orders
|
|
73
|
+
- Ações especiais: POST /orders/:id/cancel
|
|
74
|
+
|
|
75
|
+
### 3. Query Parameters
|
|
76
|
+
|
|
77
|
+
Padronize:
|
|
78
|
+
- **Paginação**: page, limit (ou cursor)
|
|
79
|
+
- **Ordenação**: sort=field:asc,field2:desc
|
|
80
|
+
- **Filtros**: filter[field]=value
|
|
81
|
+
- **Campos**: fields=id,name,email
|
|
82
|
+
- **Expands**: include=orders,profile
|
|
83
|
+
|
|
84
|
+
### 4. Request/Response Schemas
|
|
85
|
+
|
|
86
|
+
Para cada endpoint principal, defina:
|
|
87
|
+
|
|
88
|
+
**Request Body (POST/PUT)**
|
|
89
|
+
```json
|
|
90
|
+
{
|
|
91
|
+
"campo1": "tipo",
|
|
92
|
+
"campo2": "tipo"
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**Response Body (Sucesso)**
|
|
97
|
+
```json
|
|
98
|
+
{
|
|
99
|
+
"data": { ... },
|
|
100
|
+
"meta": { ... }
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
**Response Body (Lista)**
|
|
105
|
+
```json
|
|
106
|
+
{
|
|
107
|
+
"data": [ ... ],
|
|
108
|
+
"meta": {
|
|
109
|
+
"page": 1,
|
|
110
|
+
"limit": 20,
|
|
111
|
+
"total": 100,
|
|
112
|
+
"totalPages": 5
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### 5. HTTP Status Codes
|
|
118
|
+
|
|
119
|
+
| Código | Quando Usar |
|
|
120
|
+
|--------|-------------|
|
|
121
|
+
| 200 | Sucesso (GET, PUT, PATCH) |
|
|
122
|
+
| 201 | Criado (POST) |
|
|
123
|
+
| 204 | Sem conteúdo (DELETE) |
|
|
124
|
+
| 400 | Request inválido |
|
|
125
|
+
| 401 | Não autenticado |
|
|
126
|
+
| 403 | Não autorizado |
|
|
127
|
+
| 404 | Não encontrado |
|
|
128
|
+
| 409 | Conflito (duplicação) |
|
|
129
|
+
| 422 | Erro de validação |
|
|
130
|
+
| 429 | Rate limit exceeded |
|
|
131
|
+
| 500 | Erro interno |
|
|
132
|
+
|
|
133
|
+
### 6. Formato de Erros
|
|
134
|
+
|
|
135
|
+
```json
|
|
136
|
+
{
|
|
137
|
+
"error": {
|
|
138
|
+
"code": "VALIDATION_ERROR",
|
|
139
|
+
"message": "Mensagem amigável",
|
|
140
|
+
"details": [
|
|
141
|
+
{
|
|
142
|
+
"field": "email",
|
|
143
|
+
"message": "Email inválido"
|
|
144
|
+
}
|
|
145
|
+
],
|
|
146
|
+
"traceId": "abc-123"
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### 7. Headers
|
|
152
|
+
|
|
153
|
+
**Request Headers**
|
|
154
|
+
- Authorization: Bearer {token}
|
|
155
|
+
- Content-Type: application/json
|
|
156
|
+
- Accept: application/json
|
|
157
|
+
- X-Request-ID: {uuid}
|
|
158
|
+
|
|
159
|
+
**Response Headers**
|
|
160
|
+
- X-Request-ID: {uuid}
|
|
161
|
+
- X-RateLimit-Limit: 100
|
|
162
|
+
- X-RateLimit-Remaining: 95
|
|
163
|
+
- X-RateLimit-Reset: timestamp
|
|
164
|
+
|
|
165
|
+
### 8. Versionamento
|
|
166
|
+
|
|
167
|
+
Estratégia escolhida e como deprecar versões antigas.
|
|
168
|
+
|
|
169
|
+
### 9. Segurança
|
|
170
|
+
|
|
171
|
+
- Rate limiting por endpoint
|
|
172
|
+
- Validação de input
|
|
173
|
+
- CORS configuration
|
|
174
|
+
|
|
175
|
+
### 10. OpenAPI Specification
|
|
176
|
+
|
|
177
|
+
Gere a especificação OpenAPI 3.0 em YAML para os endpoints principais.
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## Exemplo de Uso
|
|
183
|
+
|
|
184
|
+
```text
|
|
185
|
+
Atue como arquiteto de APIs especializado em REST e OpenAPI.
|
|
186
|
+
|
|
187
|
+
## Contexto do Projeto
|
|
188
|
+
|
|
189
|
+
Sistema de agendamento para salões de beleza.
|
|
190
|
+
|
|
191
|
+
## Requisitos Funcionais
|
|
192
|
+
|
|
193
|
+
- RF-001: Listar horários disponíveis
|
|
194
|
+
- RF-002: Criar agendamento
|
|
195
|
+
- RF-003: Cancelar agendamento
|
|
196
|
+
- RF-004: Listar agendamentos do dia
|
|
197
|
+
|
|
198
|
+
## Modelo de Domínio
|
|
199
|
+
|
|
200
|
+
- Cliente (id, nome, telefone, email)
|
|
201
|
+
- Servico (id, nome, duracao, preco)
|
|
202
|
+
- Profissional (id, nome, especialidades)
|
|
203
|
+
- Agendamento (id, clienteId, servicoId, profissionalId, dataHora, status)
|
|
204
|
+
|
|
205
|
+
## Configurações
|
|
206
|
+
|
|
207
|
+
Versionamento: URL path /v1
|
|
208
|
+
Autenticação: JWT Bearer (admin) / Público (cliente agendando)
|
|
209
|
+
Formato: JSON
|
|
210
|
+
Base URL: https://api.salao.com
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## Resposta Esperada
|
|
216
|
+
|
|
217
|
+
### Recursos
|
|
218
|
+
|
|
219
|
+
**Recurso: /agendamentos**
|
|
220
|
+
|
|
221
|
+
| Método | Endpoint | Descrição | Auth |
|
|
222
|
+
|--------|----------|-----------|------|
|
|
223
|
+
| GET | /v1/agendamentos | Listar (admin) | JWT |
|
|
224
|
+
| GET | /v1/agendamentos/:id | Obter | JWT |
|
|
225
|
+
| POST | /v1/agendamentos | Criar | Público |
|
|
226
|
+
| DELETE | /v1/agendamentos/:id | Cancelar | JWT ou Token |
|
|
227
|
+
|
|
228
|
+
**Recurso: /disponibilidade**
|
|
229
|
+
|
|
230
|
+
| Método | Endpoint | Descrição | Auth |
|
|
231
|
+
|--------|----------|-----------|------|
|
|
232
|
+
| GET | /v1/profissionais/:id/disponibilidade | Horários livres | Público |
|
|
233
|
+
|
|
234
|
+
### Request/Response
|
|
235
|
+
|
|
236
|
+
**POST /v1/agendamentos**
|
|
237
|
+
|
|
238
|
+
Request:
|
|
239
|
+
```json
|
|
240
|
+
{
|
|
241
|
+
"profissionalId": "uuid",
|
|
242
|
+
"servicoId": "uuid",
|
|
243
|
+
"dataHora": "2024-01-15T14:00:00Z",
|
|
244
|
+
"cliente": {
|
|
245
|
+
"nome": "Maria Silva",
|
|
246
|
+
"telefone": "11999998888"
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
Response (201):
|
|
252
|
+
```json
|
|
253
|
+
{
|
|
254
|
+
"data": {
|
|
255
|
+
"id": "uuid",
|
|
256
|
+
"status": "CONFIRMADO",
|
|
257
|
+
"dataHora": "2024-01-15T14:00:00Z",
|
|
258
|
+
"profissional": { "id": "uuid", "nome": "Ana" },
|
|
259
|
+
"servico": { "id": "uuid", "nome": "Corte", "duracao": 30 }
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
### OpenAPI (Resumo)
|
|
265
|
+
|
|
266
|
+
```yaml
|
|
267
|
+
openapi: 3.0.3
|
|
268
|
+
info:
|
|
269
|
+
title: API Salão de Beleza
|
|
270
|
+
version: 1.0.0
|
|
271
|
+
|
|
272
|
+
paths:
|
|
273
|
+
/v1/agendamentos:
|
|
274
|
+
post:
|
|
275
|
+
summary: Criar agendamento
|
|
276
|
+
requestBody:
|
|
277
|
+
content:
|
|
278
|
+
application/json:
|
|
279
|
+
schema:
|
|
280
|
+
$ref: '#/components/schemas/CriarAgendamento'
|
|
281
|
+
responses:
|
|
282
|
+
'201':
|
|
283
|
+
description: Agendamento criado
|
|
284
|
+
content:
|
|
285
|
+
application/json:
|
|
286
|
+
schema:
|
|
287
|
+
$ref: '#/components/schemas/AgendamentoResponse'
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
## Checklist Pós-Geração
|
|
293
|
+
|
|
294
|
+
- [ ] Todos os recursos mapeados das entidades
|
|
295
|
+
- [ ] Verbos HTTP corretos para cada ação
|
|
296
|
+
- [ ] Paginação padronizada
|
|
297
|
+
- [ ] Formato de erro consistente
|
|
298
|
+
- [ ] Status codes documentados
|
|
299
|
+
- [ ] Headers de request/response definidos
|
|
300
|
+
- [ ] Rate limiting especificado
|
|
301
|
+
- [ ] Versionamento definido
|
|
302
|
+
- [ ] OpenAPI spec gerada
|
|
303
|
+
- [ ] Salvar em `docs/06-api/api-design.md`
|