@maestro-ai/mcp-server 1.2.0 → 2.1.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 (824) hide show
  1. package/README.md +26 -31
  2. package/dist/content/rules/GEMINI.md +79 -27
  3. package/dist/content/rules/RULES.md +6 -0
  4. package/dist/content/skills/specialist-acessibilidade/MCP_INTEGRATION.md +698 -0
  5. package/dist/content/skills/specialist-acessibilidade/README.md +292 -0
  6. package/dist/content/skills/specialist-acessibilidade/SKILL.md +202 -0
  7. package/dist/content/skills/specialist-acessibilidade/mcp_functions/init_accessibility_audit.py +675 -0
  8. package/dist/content/skills/specialist-acessibilidade/mcp_functions/validate_wcag_compliance.py +587 -0
  9. package/dist/content/skills/specialist-acessibilidade/resources/checklists/accessibility-validation.md +457 -0
  10. package/dist/content/skills/specialist-acessibilidade/resources/examples/accessibility-examples.md +863 -0
  11. package/dist/content/skills/specialist-acessibilidade/resources/reference/wcag-guide.md +359 -0
  12. package/dist/content/skills/specialist-acessibilidade/resources/templates/checklist-acessibilidade.md +435 -0
  13. package/dist/content/skills/specialist-acessibilidade/resources/templates/relatorio-acessibilidade.md +490 -0
  14. package/dist/content/skills/specialist-analise-testes/MCP_INTEGRATION.md +569 -0
  15. package/dist/content/skills/specialist-analise-testes/README.md +42 -0
  16. package/dist/content/skills/specialist-analise-testes/SKILL.md +258 -0
  17. package/dist/content/skills/specialist-analise-testes/mcp_functions/README.md +794 -0
  18. package/dist/content/skills/specialist-analise-testes/resources/checklists/testing-validation.md +305 -0
  19. package/dist/content/skills/specialist-analise-testes/resources/examples/testing-examples.md +395 -0
  20. package/dist/content/skills/specialist-analise-testes/resources/reference/testing-guide.md +1024 -0
  21. package/dist/content/skills/specialist-arquitetura-avancada/MCP_INTEGRATION.md +440 -0
  22. package/dist/content/skills/specialist-arquitetura-avancada/README.md +298 -0
  23. package/dist/content/skills/specialist-arquitetura-avancada/SKILL.md +295 -0
  24. package/dist/content/skills/specialist-arquitetura-avancada/mcp_functions/README.md +573 -0
  25. package/dist/content/skills/specialist-arquitetura-avancada/resources/checklists/architecture-validation.md +385 -0
  26. package/dist/content/skills/specialist-arquitetura-avancada/resources/examples/architecture-examples.md +743 -0
  27. package/dist/content/skills/specialist-arquitetura-avancada/resources/reference/architecture-guide.md +680 -0
  28. package/dist/content/skills/specialist-arquitetura-avancada/resources/templates/bounded-context.md +333 -0
  29. package/dist/content/skills/specialist-arquitetura-avancada/resources/templates/cqrs-implementation.md +495 -0
  30. package/dist/content/skills/specialist-arquitetura-avancada/resources/templates/event-sourcing.md +571 -0
  31. package/dist/content/skills/specialist-arquitetura-avancada/resources/templates/microservices-strategy.md +647 -0
  32. package/dist/content/skills/specialist-arquitetura-software/MCP_INTEGRATION.md +483 -0
  33. package/dist/content/skills/specialist-arquitetura-software/README.md +306 -0
  34. package/dist/content/skills/specialist-arquitetura-software/SKILL.md +194 -0
  35. package/dist/content/skills/specialist-arquitetura-software/mcp_functions/init_architecture.py +137 -0
  36. package/dist/content/skills/specialist-arquitetura-software/mcp_functions/process_architecture.py +279 -0
  37. package/dist/content/skills/specialist-arquitetura-software/mcp_functions/validate_architecture.py +302 -0
  38. package/dist/content/skills/specialist-arquitetura-software/resources/checklists/architecture-validation.md +180 -0
  39. package/dist/content/skills/specialist-arquitetura-software/resources/examples/architecture-examples.md +239 -0
  40. package/dist/content/skills/specialist-arquitetura-software/resources/reference/architecture-guide.md +489 -0
  41. package/dist/content/skills/specialist-arquitetura-software/resources/templates/adr.md +61 -0
  42. package/dist/content/skills/specialist-arquitetura-software/resources/templates/arquitetura.md +192 -0
  43. package/dist/content/skills/specialist-arquitetura-software/resources/templates/slo-sli.md +153 -0
  44. package/dist/content/skills/specialist-banco-dados/MCP_INTEGRATION.md +390 -0
  45. package/dist/content/skills/specialist-banco-dados/README.md +323 -0
  46. package/dist/content/skills/specialist-banco-dados/SKILL.md +221 -0
  47. package/dist/content/skills/specialist-banco-dados/mcp_functions/init_database.py +720 -0
  48. package/dist/content/skills/specialist-banco-dados/mcp_functions/process_database.py +386 -0
  49. package/dist/content/skills/specialist-banco-dados/mcp_functions/validate_database.py +551 -0
  50. package/dist/content/skills/specialist-banco-dados/resources/checklists/database-validation.md +434 -0
  51. package/dist/content/skills/specialist-banco-dados/resources/examples/database-examples.md +857 -0
  52. package/dist/content/skills/specialist-banco-dados/resources/reference/database-guide.md +708 -0
  53. package/dist/content/skills/specialist-banco-dados/resources/templates/constraints.md +935 -0
  54. package/dist/content/skills/specialist-banco-dados/resources/templates/design-banco.md +509 -0
  55. package/dist/content/skills/specialist-banco-dados/resources/templates/indices.md +553 -0
  56. package/dist/content/skills/specialist-banco-dados/resources/templates/migracoes.md +777 -0
  57. package/dist/content/skills/specialist-contrato-api/MCP_INTEGRATION.md +152 -0
  58. package/dist/content/skills/specialist-contrato-api/README.md +183 -0
  59. package/dist/content/skills/specialist-contrato-api/SKILL.md +317 -0
  60. package/dist/content/skills/specialist-contrato-api/mcp_functions/README.md +17 -0
  61. package/dist/content/skills/specialist-contrato-api/resources/checklists/api-validation.md +44 -0
  62. package/dist/content/skills/specialist-contrato-api/resources/examples/api-examples.md +137 -0
  63. package/dist/content/skills/specialist-contrato-api/resources/reference/api-guide.md +96 -0
  64. package/dist/content/skills/specialist-contrato-api/resources/templates/contrato-api.md +165 -0
  65. package/dist/content/skills/specialist-dados-analytics-ia/MCP_INTEGRATION.md +398 -0
  66. package/dist/content/skills/specialist-dados-analytics-ia/README.md +224 -0
  67. package/dist/content/skills/specialist-dados-analytics-ia/SKILL.md +160 -0
  68. package/dist/content/skills/specialist-dados-analytics-ia/mcp_functions/generate_insights_dashboard.py +669 -0
  69. package/dist/content/skills/specialist-dados-analytics-ia/mcp_functions/init_analytics_pipeline.py +626 -0
  70. package/dist/content/skills/specialist-dados-analytics-ia/mcp_functions/validate_analytics_quality.py +772 -0
  71. package/dist/content/skills/specialist-dados-analytics-ia/resources/checklists/analytics-validation.md +519 -0
  72. package/dist/content/skills/specialist-dados-analytics-ia/resources/examples/analytics-examples.md +646 -0
  73. package/dist/content/skills/specialist-dados-analytics-ia/resources/reference/analytics-guide.md +1111 -0
  74. package/dist/content/skills/specialist-dados-analytics-ia/resources/templates/feature.md +419 -0
  75. package/dist/content/skills/specialist-dados-analytics-ia/resources/templates/requisitos.md +384 -0
  76. package/dist/content/skills/specialist-dados-analytics-ia/resources/templates/slo-sli.md +381 -0
  77. package/dist/content/skills/specialist-debugging-troubleshooting/MCP_INTEGRATION.md +340 -0
  78. package/dist/content/skills/specialist-debugging-troubleshooting/README.md +218 -0
  79. package/dist/content/skills/specialist-debugging-troubleshooting/SKILL.md +194 -0
  80. package/dist/content/skills/specialist-debugging-troubleshooting/resources/checklists/debugging-validation.md +319 -0
  81. package/dist/content/skills/specialist-debugging-troubleshooting/resources/examples/debugging-examples.md +480 -0
  82. package/dist/content/skills/specialist-debugging-troubleshooting/resources/prompts/analise-bugs.md +527 -0
  83. package/dist/content/skills/specialist-debugging-troubleshooting/resources/reference/debugging-guide.md +392 -0
  84. package/dist/content/skills/specialist-debugging-troubleshooting/resources/templates/bug-report.md +192 -0
  85. package/dist/content/skills/specialist-debugging-troubleshooting/resources/templates/post-mortem.md +241 -0
  86. package/dist/content/skills/specialist-debugging-troubleshooting/scripts/README.md +64 -0
  87. package/dist/content/skills/specialist-desenvolvimento-backend/MCP_INTEGRATION.md +98 -0
  88. package/dist/content/skills/specialist-desenvolvimento-backend/README.md +167 -0
  89. package/dist/content/skills/specialist-desenvolvimento-backend/SKILL.md +288 -0
  90. package/dist/content/skills/specialist-desenvolvimento-backend/mcp_functions/README.md +17 -0
  91. package/dist/content/skills/specialist-desenvolvimento-backend/resources/checklists/backend-validation.md +44 -0
  92. package/dist/content/skills/specialist-desenvolvimento-backend/resources/examples/backend-examples.md +109 -0
  93. package/dist/content/skills/specialist-desenvolvimento-backend/resources/reference/backend-guide.md +86 -0
  94. package/dist/content/skills/specialist-desenvolvimento-frontend/MCP_INTEGRATION.md +914 -0
  95. package/dist/content/skills/specialist-desenvolvimento-frontend/README.md +261 -0
  96. package/dist/content/skills/specialist-desenvolvimento-frontend/SKILL.md +220 -0
  97. package/dist/content/skills/specialist-desenvolvimento-frontend/mcp_functions/init_frontend.py +861 -0
  98. package/dist/content/skills/specialist-desenvolvimento-frontend/mcp_functions/process_frontend.py +1003 -0
  99. package/dist/content/skills/specialist-desenvolvimento-frontend/mcp_functions/validate_frontend.py +766 -0
  100. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/checklists/frontend-validation.md +365 -0
  101. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/examples/frontend-examples.md +1125 -0
  102. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/reference/frontend-guide.md +1055 -0
  103. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/templates/component-story.md +530 -0
  104. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/templates/historia-frontend.md +243 -0
  105. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/templates/ui-guidelines.md +725 -0
  106. package/dist/content/skills/specialist-desenvolvimento-mobile/MCP_INTEGRATION.md +87 -0
  107. package/dist/content/skills/specialist-desenvolvimento-mobile/README.md +149 -0
  108. package/dist/content/skills/specialist-desenvolvimento-mobile/SKILL.md +360 -0
  109. package/dist/content/skills/specialist-desenvolvimento-mobile/mcp_functions/README.md +17 -0
  110. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/checklists/mobile-validation.md +330 -0
  111. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/examples/mobile-examples.md +966 -0
  112. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/android-guide.md +546 -0
  113. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/flutter-guide.md +500 -0
  114. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/ios-guide.md +518 -0
  115. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/mobile-guide.md +76 -0
  116. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/react-native-guide.md +659 -0
  117. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/templates/historia-mobile.md +284 -0
  118. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/templates/mobile-checklist.md +239 -0
  119. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/templates/platform-selection.md +302 -0
  120. package/dist/content/skills/specialist-devops-infra/MCP_INTEGRATION.md +471 -0
  121. package/dist/content/skills/specialist-devops-infra/README.md +234 -0
  122. package/dist/content/skills/specialist-devops-infra/SKILL.md +162 -0
  123. package/dist/content/skills/specialist-devops-infra/mcp_functions/generate_ci_cd_pipeline.py +870 -0
  124. package/dist/content/skills/specialist-devops-infra/mcp_functions/init_infrastructure_structure.py +704 -0
  125. package/dist/content/skills/specialist-devops-infra/mcp_functions/validate_infrastructure_quality.py +745 -0
  126. package/dist/content/skills/specialist-devops-infra/resources/checklists/devops-validation.md +427 -0
  127. package/dist/content/skills/specialist-devops-infra/resources/examples/devops-examples.md +652 -0
  128. package/dist/content/skills/specialist-devops-infra/resources/reference/devops-guide.md +1244 -0
  129. package/dist/content/skills/specialist-devops-infra/resources/templates/ci-cd-pipeline.yml +40 -0
  130. package/dist/content/skills/specialist-documentacao-tecnica/MCP_INTEGRATION.md +797 -0
  131. package/dist/content/skills/specialist-documentacao-tecnica/README.md +304 -0
  132. package/dist/content/skills/specialist-documentacao-tecnica/SKILL.md +202 -0
  133. package/dist/content/skills/specialist-documentacao-tecnica/mcp_functions/init_documentation_structure.py +733 -0
  134. package/dist/content/skills/specialist-documentacao-tecnica/mcp_functions/process_documentation_for_publishing.py +888 -0
  135. package/dist/content/skills/specialist-documentacao-tecnica/mcp_functions/validate_documentation_quality.py +775 -0
  136. package/dist/content/skills/specialist-documentacao-tecnica/resources/checklists/documentation-validation.md +296 -0
  137. package/dist/content/skills/specialist-documentacao-tecnica/resources/examples/documentation-examples.md +515 -0
  138. package/dist/content/skills/specialist-documentacao-tecnica/resources/reference/documentation-guide.md +798 -0
  139. package/dist/content/skills/specialist-documentacao-tecnica/resources/templates/api-docs.md +619 -0
  140. package/dist/content/skills/specialist-documentacao-tecnica/resources/templates/design-doc.md +250 -0
  141. package/dist/content/skills/specialist-documentacao-tecnica/resources/templates/guia-tecnico.md +383 -0
  142. package/dist/content/skills/specialist-documentacao-tecnica/resources/templates/readme-template.md +462 -0
  143. package/dist/content/skills/specialist-engenharia-requisitos-ia/MCP_INTEGRATION.md +457 -0
  144. package/dist/content/skills/specialist-engenharia-requisitos-ia/README.md +295 -0
  145. package/dist/content/skills/specialist-engenharia-requisitos-ia/SKILL.md +214 -0
  146. package/dist/content/skills/specialist-engenharia-requisitos-ia/mcp_functions/init_requirements.py +152 -0
  147. package/dist/content/skills/specialist-engenharia-requisitos-ia/mcp_functions/process_requirements.py +445 -0
  148. package/dist/content/skills/specialist-engenharia-requisitos-ia/mcp_functions/validate_requirements.py +475 -0
  149. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/checklists/requirements-validation.md +258 -0
  150. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/examples/requirements-examples.md +316 -0
  151. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/reference/requirements-guide.md +651 -0
  152. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/templates/criterios-aceite.md +484 -0
  153. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/templates/matriz-rastreabilidade.md +246 -0
  154. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/templates/requisitos.md +244 -0
  155. package/dist/content/skills/specialist-exploracao-codebase/MCP_INTEGRATION.md +155 -0
  156. package/dist/content/skills/specialist-exploracao-codebase/README.md +320 -0
  157. package/dist/content/skills/specialist-exploracao-codebase/SKILL.md +194 -0
  158. package/dist/content/skills/specialist-exploracao-codebase/mcp_functions/README.md +39 -0
  159. package/dist/content/skills/specialist-exploracao-codebase/resources/checklists/exploration-validation.md +51 -0
  160. package/dist/content/skills/specialist-exploracao-codebase/resources/examples/exploration-examples.md +106 -0
  161. package/dist/content/skills/specialist-exploracao-codebase/resources/reference/exploration-guide.md +111 -0
  162. package/dist/content/skills/specialist-exploracao-codebase/resources/templates/codebase-map.md +129 -0
  163. package/dist/content/skills/specialist-exploracao-codebase/resources/templates/refactoring-plan.md +96 -0
  164. package/dist/content/skills/specialist-exploracao-codebase/resources/templates/technical-debt-report.md +69 -0
  165. package/dist/content/skills/specialist-gestao-produto/MCP_INTEGRATION.md +436 -0
  166. package/dist/content/skills/specialist-gestao-produto/README.md +202 -0
  167. package/dist/content/skills/specialist-gestao-produto/SKILL.md +174 -0
  168. package/dist/content/skills/specialist-gestao-produto/resources/checklists/prd-validation.md +165 -0
  169. package/dist/content/skills/specialist-gestao-produto/resources/examples/prd-examples.md +231 -0
  170. package/dist/content/skills/specialist-gestao-produto/resources/reference/product-guide.md +416 -0
  171. package/dist/content/skills/specialist-gestao-produto/resources/templates/PRD.md +212 -0
  172. package/dist/content/skills/specialist-gestao-produto/scripts/init_prd.py +170 -0
  173. package/dist/content/skills/specialist-gestao-produto/scripts/process_prd.py +388 -0
  174. package/dist/content/skills/specialist-gestao-produto/scripts/validate_prd.py +406 -0
  175. package/dist/content/skills/specialist-migracao-modernizacao/MCP_INTEGRATION.md +17 -0
  176. package/dist/content/skills/specialist-migracao-modernizacao/README.md +46 -0
  177. package/dist/content/skills/specialist-migracao-modernizacao/SKILL.md +485 -0
  178. package/dist/content/skills/specialist-migracao-modernizacao/mcp_functions/README.md +10 -0
  179. package/dist/content/skills/specialist-migracao-modernizacao/resources/checklists/migration-validation.md +23 -0
  180. package/dist/content/skills/specialist-migracao-modernizacao/resources/examples/migration-examples.md +30 -0
  181. package/dist/content/skills/specialist-migracao-modernizacao/resources/reference/migration-guide.md +27 -0
  182. package/dist/content/skills/specialist-migracao-modernizacao/resources/templates/migration-assessment.md +391 -0
  183. package/dist/content/skills/specialist-migracao-modernizacao/resources/templates/modernization-roadmap.md +479 -0
  184. package/dist/content/skills/specialist-migracao-modernizacao/resources/templates/risk-analysis.md +527 -0
  185. package/dist/content/skills/specialist-mobile-design-avancado/MCP_INTEGRATION.md +17 -0
  186. package/dist/content/skills/specialist-mobile-design-avancado/README.md +46 -0
  187. package/dist/content/skills/specialist-mobile-design-avancado/SKILL.md +567 -0
  188. package/dist/content/skills/specialist-mobile-design-avancado/mcp_functions/README.md +10 -0
  189. package/dist/content/skills/specialist-mobile-design-avancado/resources/checklists/design-validation.md +23 -0
  190. package/dist/content/skills/specialist-mobile-design-avancado/resources/examples/design-examples.md +46 -0
  191. package/dist/content/skills/specialist-mobile-design-avancado/resources/reference/design-guide.md +23 -0
  192. package/dist/content/skills/specialist-modelagem-dominio/MCP_INTEGRATION.md +336 -0
  193. package/dist/content/skills/specialist-modelagem-dominio/README.md +314 -0
  194. package/dist/content/skills/specialist-modelagem-dominio/SKILL.md +241 -0
  195. package/dist/content/skills/specialist-modelagem-dominio/mcp_functions/init_domain.py +479 -0
  196. package/dist/content/skills/specialist-modelagem-dominio/mcp_functions/process_domain.py +526 -0
  197. package/dist/content/skills/specialist-modelagem-dominio/mcp_functions/validate_domain.py +569 -0
  198. package/dist/content/skills/specialist-modelagem-dominio/resources/checklists/domain-validation.md +341 -0
  199. package/dist/content/skills/specialist-modelagem-dominio/resources/examples/domain-examples.md +505 -0
  200. package/dist/content/skills/specialist-modelagem-dominio/resources/reference/domain-guide.md +601 -0
  201. package/dist/content/skills/specialist-modelagem-dominio/resources/reference/domain-modeling-complete-guide.md +1126 -0
  202. package/dist/content/skills/specialist-modelagem-dominio/resources/templates/arquitetura-c4.md +477 -0
  203. package/dist/content/skills/specialist-modelagem-dominio/resources/templates/casos-uso.md +395 -0
  204. package/dist/content/skills/specialist-modelagem-dominio/resources/templates/entidades-relacionamentos.md +368 -0
  205. package/dist/content/skills/specialist-modelagem-dominio/resources/templates/modelo-dominio.md +311 -0
  206. package/dist/content/skills/specialist-observabilidade/SKILL.md +462 -0
  207. package/dist/content/skills/specialist-performance-escalabilidade/SKILL.md +329 -0
  208. package/dist/content/skills/specialist-plano-execucao-ia/MCP_INTEGRATION.md +371 -0
  209. package/dist/content/skills/specialist-plano-execucao-ia/README.md +194 -0
  210. package/dist/content/skills/specialist-plano-execucao-ia/SKILL.md +271 -0
  211. package/dist/content/skills/specialist-plano-execucao-ia/mcp_functions/README.md +38 -0
  212. package/dist/content/skills/specialist-plano-execucao-ia/resources/checklists/planning-validation.md +144 -0
  213. package/dist/content/skills/specialist-plano-execucao-ia/resources/examples/planning-examples.md +203 -0
  214. package/dist/content/skills/specialist-plano-execucao-ia/resources/reference/planning-guide.md +316 -0
  215. package/dist/content/skills/specialist-plano-execucao-ia/resources/templates/backlog.md +146 -0
  216. package/dist/content/skills/specialist-plano-execucao-ia/resources/templates/historia-backend.md +157 -0
  217. package/dist/content/skills/specialist-plano-execucao-ia/resources/templates/historia-frontend.md +116 -0
  218. package/dist/content/skills/specialist-plano-execucao-ia/resources/templates/historia-usuario.md +66 -0
  219. package/dist/content/skills/specialist-prototipagem-stitch/MCP_INTEGRATION.md +533 -0
  220. package/dist/content/skills/specialist-prototipagem-stitch/README.md +321 -0
  221. package/dist/content/skills/specialist-prototipagem-stitch/SKILL.md +194 -0
  222. package/dist/content/skills/specialist-prototipagem-stitch/mcp_functions/README.md +239 -0
  223. package/dist/content/skills/specialist-prototipagem-stitch/resources/checklists/stitch-validation.md +357 -0
  224. package/dist/content/skills/specialist-prototipagem-stitch/resources/examples/stitch-examples.md +372 -0
  225. package/dist/content/skills/specialist-prototipagem-stitch/resources/reference/stitch-guide.md +517 -0
  226. package/dist/content/skills/specialist-prototipagem-stitch/resources/templates/prompt-stitch.md +429 -0
  227. package/dist/content/skills/specialist-prototipagem-stitch/resources/templates/prototipo-stitch.md +317 -0
  228. package/dist/content/skills/specialist-seguranca-informacao/MCP_INTEGRATION.md +466 -0
  229. package/dist/content/skills/specialist-seguranca-informacao/README.md +245 -0
  230. package/dist/content/skills/specialist-seguranca-informacao/SKILL.md +343 -0
  231. package/dist/content/skills/specialist-seguranca-informacao/mcp_functions/init_security.py +405 -0
  232. package/dist/content/skills/specialist-seguranca-informacao/mcp_functions/process_security.py +611 -0
  233. package/dist/content/skills/specialist-seguranca-informacao/mcp_functions/validate_security.py +468 -0
  234. package/dist/content/skills/specialist-seguranca-informacao/resources/checklists/security-validation.md +368 -0
  235. package/dist/content/skills/specialist-seguranca-informacao/resources/examples/security-examples.md +358 -0
  236. package/dist/content/skills/specialist-seguranca-informacao/resources/reference/security-guide.md +757 -0
  237. package/dist/content/skills/specialist-seguranca-informacao/resources/templates/checklist-seguranca.md +383 -0
  238. package/dist/content/skills/specialist-seguranca-informacao/resources/templates/slo-sli.md +244 -0
  239. package/dist/content/skills/specialist-seguranca-informacao/resources/templates/threat-modeling.md +161 -0
  240. package/dist/content/skills/specialist-ux-design/MCP_INTEGRATION.md +294 -0
  241. package/dist/content/skills/specialist-ux-design/README.md +304 -0
  242. package/dist/content/skills/specialist-ux-design/SKILL.md +212 -0
  243. package/dist/content/skills/specialist-ux-design/mcp_functions/init_ux.py +126 -0
  244. package/dist/content/skills/specialist-ux-design/mcp_functions/process_ux.py +408 -0
  245. package/dist/content/skills/specialist-ux-design/mcp_functions/validate_ux.py +379 -0
  246. package/dist/content/skills/specialist-ux-design/resources/checklists/ux-validation.md +77 -0
  247. package/dist/content/skills/specialist-ux-design/resources/examples/ux-examples.md +161 -0
  248. package/dist/content/skills/specialist-ux-design/resources/reference/ux-guide.md +184 -0
  249. package/dist/content/skills/specialist-ux-design/resources/templates/design-doc.md +160 -0
  250. package/dist/content/skills/specialist-ux-design/resources/templates/jornada-usuario.md +126 -0
  251. package/dist/content/skills/specialist-ux-design/resources/templates/wireframes.md +155 -0
  252. package/dist/core/adr/ADRGenerator.d.ts +28 -0
  253. package/dist/core/adr/ADRGenerator.d.ts.map +1 -0
  254. package/dist/core/adr/ADRGenerator.js +63 -0
  255. package/dist/core/adr/ADRGenerator.js.map +1 -0
  256. package/dist/core/adr/index.d.ts +2 -0
  257. package/dist/core/adr/index.d.ts.map +1 -0
  258. package/dist/core/adr/index.js +2 -0
  259. package/dist/core/adr/index.js.map +1 -0
  260. package/dist/core/architecture/FitnessFunctions.d.ts +67 -0
  261. package/dist/core/architecture/FitnessFunctions.d.ts.map +1 -0
  262. package/dist/core/architecture/FitnessFunctions.js +292 -0
  263. package/dist/core/architecture/FitnessFunctions.js.map +1 -0
  264. package/dist/core/architecture/index.d.ts +3 -0
  265. package/dist/core/architecture/index.d.ts.map +1 -0
  266. package/dist/core/architecture/index.js +3 -0
  267. package/dist/core/architecture/index.js.map +1 -0
  268. package/dist/core/architecture/types.d.ts +42 -0
  269. package/dist/core/architecture/types.d.ts.map +1 -0
  270. package/dist/core/architecture/types.js +5 -0
  271. package/dist/core/architecture/types.js.map +1 -0
  272. package/dist/core/atam/ATAMAnalyzer.d.ts +19 -0
  273. package/dist/core/atam/ATAMAnalyzer.d.ts.map +1 -0
  274. package/dist/core/atam/ATAMAnalyzer.js +206 -0
  275. package/dist/core/atam/ATAMAnalyzer.js.map +1 -0
  276. package/dist/core/atam/ATAMReporter.d.ts +16 -0
  277. package/dist/core/atam/ATAMReporter.d.ts.map +1 -0
  278. package/dist/core/atam/ATAMReporter.js +175 -0
  279. package/dist/core/atam/ATAMReporter.js.map +1 -0
  280. package/dist/core/atam/QualityScenarios.d.ts +16 -0
  281. package/dist/core/atam/QualityScenarios.d.ts.map +1 -0
  282. package/dist/core/atam/QualityScenarios.js +149 -0
  283. package/dist/core/atam/QualityScenarios.js.map +1 -0
  284. package/dist/core/atam/RiskRegistry.d.ts +21 -0
  285. package/dist/core/atam/RiskRegistry.d.ts.map +1 -0
  286. package/dist/core/atam/RiskRegistry.js +83 -0
  287. package/dist/core/atam/RiskRegistry.js.map +1 -0
  288. package/dist/core/atam/index.d.ts +6 -0
  289. package/dist/core/atam/index.d.ts.map +1 -0
  290. package/dist/core/atam/index.js +6 -0
  291. package/dist/core/atam/index.js.map +1 -0
  292. package/dist/core/atam/types.d.ts +86 -0
  293. package/dist/core/atam/types.d.ts.map +1 -0
  294. package/dist/core/atam/types.js +5 -0
  295. package/dist/core/atam/types.js.map +1 -0
  296. package/dist/core/authority/AuthorityManager.d.ts +19 -0
  297. package/dist/core/authority/AuthorityManager.d.ts.map +1 -0
  298. package/dist/core/authority/AuthorityManager.js +66 -0
  299. package/dist/core/authority/AuthorityManager.js.map +1 -0
  300. package/dist/core/authority/index.d.ts +2 -0
  301. package/dist/core/authority/index.d.ts.map +1 -0
  302. package/dist/core/authority/index.js +2 -0
  303. package/dist/core/authority/index.js.map +1 -0
  304. package/dist/core/autofix/AutoFixEngine.d.ts +17 -0
  305. package/dist/core/autofix/AutoFixEngine.d.ts.map +1 -0
  306. package/dist/core/autofix/AutoFixEngine.js +46 -0
  307. package/dist/core/autofix/AutoFixEngine.js.map +1 -0
  308. package/dist/core/autofix/index.d.ts +2 -0
  309. package/dist/core/autofix/index.d.ts.map +1 -0
  310. package/dist/core/autofix/index.js +2 -0
  311. package/dist/core/autofix/index.js.map +1 -0
  312. package/dist/core/automation/AutoExecutor.d.ts +20 -0
  313. package/dist/core/automation/AutoExecutor.d.ts.map +1 -0
  314. package/dist/core/automation/AutoExecutor.js +38 -0
  315. package/dist/core/automation/AutoExecutor.js.map +1 -0
  316. package/dist/core/automation/index.d.ts +2 -0
  317. package/dist/core/automation/index.d.ts.map +1 -0
  318. package/dist/core/automation/index.js +2 -0
  319. package/dist/core/automation/index.js.map +1 -0
  320. package/dist/core/checkpoint/CheckpointManager.d.ts +43 -0
  321. package/dist/core/checkpoint/CheckpointManager.d.ts.map +1 -0
  322. package/dist/core/checkpoint/CheckpointManager.js +158 -0
  323. package/dist/core/checkpoint/CheckpointManager.js.map +1 -0
  324. package/dist/core/checkpoint/RollbackEngine.d.ts +31 -0
  325. package/dist/core/checkpoint/RollbackEngine.d.ts.map +1 -0
  326. package/dist/core/checkpoint/RollbackEngine.js +176 -0
  327. package/dist/core/checkpoint/RollbackEngine.js.map +1 -0
  328. package/dist/core/checkpoint/index.d.ts +4 -0
  329. package/dist/core/checkpoint/index.d.ts.map +1 -0
  330. package/dist/core/checkpoint/index.js +4 -0
  331. package/dist/core/checkpoint/index.js.map +1 -0
  332. package/dist/core/checkpoint/types.d.ts +33 -0
  333. package/dist/core/checkpoint/types.d.ts.map +1 -0
  334. package/dist/core/checkpoint/types.js +2 -0
  335. package/dist/core/checkpoint/types.js.map +1 -0
  336. package/dist/core/consistency/ConsistencyAnalyzer.d.ts +12 -0
  337. package/dist/core/consistency/ConsistencyAnalyzer.d.ts.map +1 -0
  338. package/dist/core/consistency/ConsistencyAnalyzer.js +79 -0
  339. package/dist/core/consistency/ConsistencyAnalyzer.js.map +1 -0
  340. package/dist/core/consistency/index.d.ts +3 -0
  341. package/dist/core/consistency/index.d.ts.map +1 -0
  342. package/dist/core/consistency/index.js +3 -0
  343. package/dist/core/consistency/index.js.map +1 -0
  344. package/dist/core/consistency/types.d.ts +43 -0
  345. package/dist/core/consistency/types.d.ts.map +1 -0
  346. package/dist/core/consistency/types.js +5 -0
  347. package/dist/core/consistency/types.js.map +1 -0
  348. package/dist/core/context/ContextDetector.d.ts +14 -0
  349. package/dist/core/context/ContextDetector.d.ts.map +1 -0
  350. package/dist/core/context/ContextDetector.js +58 -0
  351. package/dist/core/context/ContextDetector.js.map +1 -0
  352. package/dist/core/context/index.d.ts +3 -0
  353. package/dist/core/context/index.d.ts.map +1 -0
  354. package/dist/core/context/index.js +3 -0
  355. package/dist/core/context/index.js.map +1 -0
  356. package/dist/core/context/types.d.ts +41 -0
  357. package/dist/core/context/types.d.ts.map +1 -0
  358. package/dist/core/context/types.js +5 -0
  359. package/dist/core/context/types.js.map +1 -0
  360. package/dist/core/decision/AlternativeGenerator.d.ts +32 -0
  361. package/dist/core/decision/AlternativeGenerator.d.ts.map +1 -0
  362. package/dist/core/decision/AlternativeGenerator.js +155 -0
  363. package/dist/core/decision/AlternativeGenerator.js.map +1 -0
  364. package/dist/core/decision/ConfidenceCalculator.d.ts +42 -0
  365. package/dist/core/decision/ConfidenceCalculator.d.ts.map +1 -0
  366. package/dist/core/decision/ConfidenceCalculator.js +114 -0
  367. package/dist/core/decision/ConfidenceCalculator.js.map +1 -0
  368. package/dist/core/decision/DecisionEngine.d.ts +42 -0
  369. package/dist/core/decision/DecisionEngine.d.ts.map +1 -0
  370. package/dist/core/decision/DecisionEngine.js +144 -0
  371. package/dist/core/decision/DecisionEngine.js.map +1 -0
  372. package/dist/core/decision/DecisionMatrix.d.ts +29 -0
  373. package/dist/core/decision/DecisionMatrix.d.ts.map +1 -0
  374. package/dist/core/decision/DecisionMatrix.js +66 -0
  375. package/dist/core/decision/DecisionMatrix.js.map +1 -0
  376. package/dist/core/decision/index.d.ts +6 -0
  377. package/dist/core/decision/index.d.ts.map +1 -0
  378. package/dist/core/decision/index.js +6 -0
  379. package/dist/core/decision/index.js.map +1 -0
  380. package/dist/core/decision/types.d.ts +40 -0
  381. package/dist/core/decision/types.d.ts.map +1 -0
  382. package/dist/core/decision/types.js +5 -0
  383. package/dist/core/decision/types.js.map +1 -0
  384. package/dist/core/discovery/CodebaseDiscovery.d.ts +19 -0
  385. package/dist/core/discovery/CodebaseDiscovery.d.ts.map +1 -0
  386. package/dist/core/discovery/CodebaseDiscovery.js +83 -0
  387. package/dist/core/discovery/CodebaseDiscovery.js.map +1 -0
  388. package/dist/core/discovery/index.d.ts +2 -0
  389. package/dist/core/discovery/index.d.ts.map +1 -0
  390. package/dist/core/discovery/index.js +2 -0
  391. package/dist/core/discovery/index.js.map +1 -0
  392. package/dist/core/feedback/FeedbackLoop.d.ts +21 -0
  393. package/dist/core/feedback/FeedbackLoop.d.ts.map +1 -0
  394. package/dist/core/feedback/FeedbackLoop.js +45 -0
  395. package/dist/core/feedback/FeedbackLoop.js.map +1 -0
  396. package/dist/core/feedback/index.d.ts +2 -0
  397. package/dist/core/feedback/index.d.ts.map +1 -0
  398. package/dist/core/feedback/index.js +2 -0
  399. package/dist/core/feedback/index.js.map +1 -0
  400. package/dist/core/growth/GrowthProjector.d.ts +12 -0
  401. package/dist/core/growth/GrowthProjector.d.ts.map +1 -0
  402. package/dist/core/growth/GrowthProjector.js +93 -0
  403. package/dist/core/growth/GrowthProjector.js.map +1 -0
  404. package/dist/core/growth/index.d.ts +3 -0
  405. package/dist/core/growth/index.d.ts.map +1 -0
  406. package/dist/core/growth/index.js +3 -0
  407. package/dist/core/growth/index.js.map +1 -0
  408. package/dist/core/growth/types.d.ts +40 -0
  409. package/dist/core/growth/types.d.ts.map +1 -0
  410. package/dist/core/growth/types.js +5 -0
  411. package/dist/core/growth/types.js.map +1 -0
  412. package/dist/core/impact/ImpactAnalyzer.d.ts +22 -0
  413. package/dist/core/impact/ImpactAnalyzer.d.ts.map +1 -0
  414. package/dist/core/impact/ImpactAnalyzer.js +43 -0
  415. package/dist/core/impact/ImpactAnalyzer.js.map +1 -0
  416. package/dist/core/impact/index.d.ts +2 -0
  417. package/dist/core/impact/index.d.ts.map +1 -0
  418. package/dist/core/impact/index.js +2 -0
  419. package/dist/core/impact/index.js.map +1 -0
  420. package/dist/core/knowledge/ADRManager.d.ts +22 -0
  421. package/dist/core/knowledge/ADRManager.d.ts.map +1 -0
  422. package/dist/core/knowledge/ADRManager.js +82 -0
  423. package/dist/core/knowledge/ADRManager.js.map +1 -0
  424. package/dist/core/knowledge/ContextLoader.d.ts +18 -0
  425. package/dist/core/knowledge/ContextLoader.d.ts.map +1 -0
  426. package/dist/core/knowledge/ContextLoader.js +48 -0
  427. package/dist/core/knowledge/ContextLoader.js.map +1 -0
  428. package/dist/core/knowledge/KnowledgeBase.d.ts +35 -0
  429. package/dist/core/knowledge/KnowledgeBase.d.ts.map +1 -0
  430. package/dist/core/knowledge/KnowledgeBase.js +143 -0
  431. package/dist/core/knowledge/KnowledgeBase.js.map +1 -0
  432. package/dist/core/knowledge/PatternRegistry.d.ts +22 -0
  433. package/dist/core/knowledge/PatternRegistry.d.ts.map +1 -0
  434. package/dist/core/knowledge/PatternRegistry.js +56 -0
  435. package/dist/core/knowledge/PatternRegistry.js.map +1 -0
  436. package/dist/core/knowledge/index.d.ts +6 -0
  437. package/dist/core/knowledge/index.d.ts.map +1 -0
  438. package/dist/core/knowledge/index.js +6 -0
  439. package/dist/core/knowledge/index.js.map +1 -0
  440. package/dist/core/knowledge/types.d.ts +60 -0
  441. package/dist/core/knowledge/types.d.ts.map +1 -0
  442. package/dist/core/knowledge/types.js +2 -0
  443. package/dist/core/knowledge/types.js.map +1 -0
  444. package/dist/core/metrics/MetricsCollector.d.ts +21 -0
  445. package/dist/core/metrics/MetricsCollector.d.ts.map +1 -0
  446. package/dist/core/metrics/MetricsCollector.js +20 -0
  447. package/dist/core/metrics/MetricsCollector.js.map +1 -0
  448. package/dist/core/metrics/index.d.ts +2 -0
  449. package/dist/core/metrics/index.d.ts.map +1 -0
  450. package/dist/core/metrics/index.js +2 -0
  451. package/dist/core/metrics/index.js.map +1 -0
  452. package/dist/core/notification/NotificationManager.d.ts +20 -0
  453. package/dist/core/notification/NotificationManager.d.ts.map +1 -0
  454. package/dist/core/notification/NotificationManager.js +16 -0
  455. package/dist/core/notification/NotificationManager.js.map +1 -0
  456. package/dist/core/notification/index.d.ts +2 -0
  457. package/dist/core/notification/index.d.ts.map +1 -0
  458. package/dist/core/notification/index.js +2 -0
  459. package/dist/core/notification/index.js.map +1 -0
  460. package/dist/core/risk/RiskEvaluator.d.ts +11 -0
  461. package/dist/core/risk/RiskEvaluator.d.ts.map +1 -0
  462. package/dist/core/risk/RiskEvaluator.js +83 -0
  463. package/dist/core/risk/RiskEvaluator.js.map +1 -0
  464. package/dist/core/risk/index.d.ts +3 -0
  465. package/dist/core/risk/index.d.ts.map +1 -0
  466. package/dist/core/risk/index.js +3 -0
  467. package/dist/core/risk/index.js.map +1 -0
  468. package/dist/core/risk/types.d.ts +19 -0
  469. package/dist/core/risk/types.d.ts.map +1 -0
  470. package/dist/core/risk/types.js +2 -0
  471. package/dist/core/risk/types.js.map +1 -0
  472. package/dist/core/roadmap/RoadmapManager.d.ts +14 -0
  473. package/dist/core/roadmap/RoadmapManager.d.ts.map +1 -0
  474. package/dist/core/roadmap/RoadmapManager.js +81 -0
  475. package/dist/core/roadmap/RoadmapManager.js.map +1 -0
  476. package/dist/core/roadmap/index.d.ts +3 -0
  477. package/dist/core/roadmap/index.d.ts.map +1 -0
  478. package/dist/core/roadmap/index.js +3 -0
  479. package/dist/core/roadmap/index.js.map +1 -0
  480. package/dist/core/roadmap/types.d.ts +64 -0
  481. package/dist/core/roadmap/types.d.ts.map +1 -0
  482. package/dist/core/roadmap/types.js +5 -0
  483. package/dist/core/roadmap/types.js.map +1 -0
  484. package/dist/core/strangler/StranglerOrchestrator.d.ts +14 -0
  485. package/dist/core/strangler/StranglerOrchestrator.d.ts.map +1 -0
  486. package/dist/core/strangler/StranglerOrchestrator.js +87 -0
  487. package/dist/core/strangler/StranglerOrchestrator.js.map +1 -0
  488. package/dist/core/strangler/index.d.ts +3 -0
  489. package/dist/core/strangler/index.d.ts.map +1 -0
  490. package/dist/core/strangler/index.js +3 -0
  491. package/dist/core/strangler/index.js.map +1 -0
  492. package/dist/core/strangler/types.d.ts +70 -0
  493. package/dist/core/strangler/types.d.ts.map +1 -0
  494. package/dist/core/strangler/types.js +5 -0
  495. package/dist/core/strangler/types.js.map +1 -0
  496. package/dist/core/testing/TestRunner.d.ts +17 -0
  497. package/dist/core/testing/TestRunner.d.ts.map +1 -0
  498. package/dist/core/testing/TestRunner.js +22 -0
  499. package/dist/core/testing/TestRunner.js.map +1 -0
  500. package/dist/core/testing/index.d.ts +2 -0
  501. package/dist/core/testing/index.d.ts.map +1 -0
  502. package/dist/core/testing/index.js +2 -0
  503. package/dist/core/testing/index.js.map +1 -0
  504. package/dist/core/tradeoff/TradeoffAnalyzer.d.ts +24 -0
  505. package/dist/core/tradeoff/TradeoffAnalyzer.d.ts.map +1 -0
  506. package/dist/core/tradeoff/TradeoffAnalyzer.js +51 -0
  507. package/dist/core/tradeoff/TradeoffAnalyzer.js.map +1 -0
  508. package/dist/core/tradeoff/index.d.ts +2 -0
  509. package/dist/core/tradeoff/index.d.ts.map +1 -0
  510. package/dist/core/tradeoff/index.js +2 -0
  511. package/dist/core/tradeoff/index.js.map +1 -0
  512. package/dist/core/validation/DependencyValidator.d.ts +28 -0
  513. package/dist/core/validation/DependencyValidator.d.ts.map +1 -0
  514. package/dist/core/validation/DependencyValidator.js +188 -0
  515. package/dist/core/validation/DependencyValidator.js.map +1 -0
  516. package/dist/core/validation/SecurityValidator.d.ts +44 -0
  517. package/dist/core/validation/SecurityValidator.d.ts.map +1 -0
  518. package/dist/core/validation/SecurityValidator.js +248 -0
  519. package/dist/core/validation/SecurityValidator.js.map +1 -0
  520. package/dist/core/validation/ValidationPipeline.d.ts +62 -0
  521. package/dist/core/validation/ValidationPipeline.d.ts.map +1 -0
  522. package/dist/core/validation/ValidationPipeline.js +216 -0
  523. package/dist/core/validation/ValidationPipeline.js.map +1 -0
  524. package/dist/core/validation/index.d.ts +4 -0
  525. package/dist/core/validation/index.d.ts.map +1 -0
  526. package/dist/core/validation/index.js +4 -0
  527. package/dist/core/validation/index.js.map +1 -0
  528. package/dist/core/validation/layers/ArchitectureValidator.d.ts +21 -0
  529. package/dist/core/validation/layers/ArchitectureValidator.d.ts.map +1 -0
  530. package/dist/core/validation/layers/ArchitectureValidator.js +226 -0
  531. package/dist/core/validation/layers/ArchitectureValidator.js.map +1 -0
  532. package/dist/core/validation/layers/QualityValidator.d.ts +23 -0
  533. package/dist/core/validation/layers/QualityValidator.d.ts.map +1 -0
  534. package/dist/core/validation/layers/QualityValidator.js +259 -0
  535. package/dist/core/validation/layers/QualityValidator.js.map +1 -0
  536. package/dist/core/validation/layers/SecurityValidatorWrapper.d.ts +12 -0
  537. package/dist/core/validation/layers/SecurityValidatorWrapper.d.ts.map +1 -0
  538. package/dist/core/validation/layers/SecurityValidatorWrapper.js +54 -0
  539. package/dist/core/validation/layers/SecurityValidatorWrapper.js.map +1 -0
  540. package/dist/core/validation/layers/SemanticValidator.d.ts +21 -0
  541. package/dist/core/validation/layers/SemanticValidator.d.ts.map +1 -0
  542. package/dist/core/validation/layers/SemanticValidator.js +182 -0
  543. package/dist/core/validation/layers/SemanticValidator.js.map +1 -0
  544. package/dist/core/validation/layers/SyntacticValidator.d.ts +17 -0
  545. package/dist/core/validation/layers/SyntacticValidator.d.ts.map +1 -0
  546. package/dist/core/validation/layers/SyntacticValidator.js +194 -0
  547. package/dist/core/validation/layers/SyntacticValidator.js.map +1 -0
  548. package/dist/core/validation/types.d.ts +90 -0
  549. package/dist/core/validation/types.d.ts.map +1 -0
  550. package/dist/core/validation/types.js +24 -0
  551. package/dist/core/validation/types.js.map +1 -0
  552. package/dist/frontend-first/contract-generator.d.ts +47 -0
  553. package/dist/frontend-first/contract-generator.d.ts.map +1 -0
  554. package/dist/frontend-first/contract-generator.js +312 -0
  555. package/dist/frontend-first/contract-generator.js.map +1 -0
  556. package/dist/frontend-first/mock-generator.d.ts +23 -0
  557. package/dist/frontend-first/mock-generator.d.ts.map +1 -0
  558. package/dist/frontend-first/mock-generator.js +186 -0
  559. package/dist/frontend-first/mock-generator.js.map +1 -0
  560. package/dist/index.js +2 -2
  561. package/dist/index.js.map +1 -1
  562. package/dist/optimization/batch-prompts.d.ts +27 -0
  563. package/dist/optimization/batch-prompts.d.ts.map +1 -0
  564. package/dist/optimization/batch-prompts.js +178 -0
  565. package/dist/optimization/batch-prompts.js.map +1 -0
  566. package/dist/optimization/context-cache.d.ts +45 -0
  567. package/dist/optimization/context-cache.d.ts.map +1 -0
  568. package/dist/optimization/context-cache.js +149 -0
  569. package/dist/optimization/context-cache.js.map +1 -0
  570. package/dist/optimization/smart-validation.d.ts +43 -0
  571. package/dist/optimization/smart-validation.d.ts.map +1 -0
  572. package/dist/optimization/smart-validation.js +137 -0
  573. package/dist/optimization/smart-validation.js.map +1 -0
  574. package/dist/state/storage.d.ts +1 -1
  575. package/dist/state/storage.d.ts.map +1 -1
  576. package/dist/state/storage.js +2 -1
  577. package/dist/state/storage.js.map +1 -1
  578. package/dist/stdio.js +186 -0
  579. package/dist/stdio.js.map +1 -1
  580. package/dist/tasks/task-manager.d.ts +30 -0
  581. package/dist/tasks/task-manager.d.ts.map +1 -0
  582. package/dist/tasks/task-manager.js +290 -0
  583. package/dist/tasks/task-manager.js.map +1 -0
  584. package/dist/tools/atualizar-tarefa.d.ts +17 -0
  585. package/dist/tools/atualizar-tarefa.d.ts.map +1 -0
  586. package/dist/tools/atualizar-tarefa.js +200 -0
  587. package/dist/tools/atualizar-tarefa.js.map +1 -0
  588. package/dist/tools/configurar-modo.d.ts +10 -0
  589. package/dist/tools/configurar-modo.d.ts.map +1 -0
  590. package/dist/tools/configurar-modo.js +121 -0
  591. package/dist/tools/configurar-modo.js.map +1 -0
  592. package/dist/tools/contexto.d.ts.map +1 -1
  593. package/dist/tools/contexto.js +35 -4
  594. package/dist/tools/contexto.js.map +1 -1
  595. package/dist/tools/criar-tarefa.d.ts +17 -0
  596. package/dist/tools/criar-tarefa.d.ts.map +1 -0
  597. package/dist/tools/criar-tarefa.js +132 -0
  598. package/dist/tools/criar-tarefa.js.map +1 -0
  599. package/dist/tools/discovery.d.ts +121 -0
  600. package/dist/tools/discovery.d.ts.map +1 -0
  601. package/dist/tools/discovery.js +344 -0
  602. package/dist/tools/discovery.js.map +1 -0
  603. package/dist/tools/fase1/checkpoint.tools.d.ts +150 -0
  604. package/dist/tools/fase1/checkpoint.tools.d.ts.map +1 -0
  605. package/dist/tools/fase1/checkpoint.tools.js +165 -0
  606. package/dist/tools/fase1/checkpoint.tools.js.map +1 -0
  607. package/dist/tools/fase1/knowledge.tools.d.ts +265 -0
  608. package/dist/tools/fase1/knowledge.tools.d.ts.map +1 -0
  609. package/dist/tools/fase1/knowledge.tools.js +209 -0
  610. package/dist/tools/fase1/knowledge.tools.js.map +1 -0
  611. package/dist/tools/fase1/misc.tools.d.ts +113 -0
  612. package/dist/tools/fase1/misc.tools.d.ts.map +1 -0
  613. package/dist/tools/fase1/misc.tools.js +99 -0
  614. package/dist/tools/fase1/misc.tools.js.map +1 -0
  615. package/dist/tools/fase1/validation.tools.d.ts +103 -0
  616. package/dist/tools/fase1/validation.tools.d.ts.map +1 -0
  617. package/dist/tools/fase1/validation.tools.js +174 -0
  618. package/dist/tools/fase1/validation.tools.js.map +1 -0
  619. package/dist/tools/fluxos-alternativos.js +4 -4
  620. package/dist/tools/fluxos-alternativos.js.map +1 -1
  621. package/dist/tools/gerar-contrato-api.d.ts +15 -0
  622. package/dist/tools/gerar-contrato-api.d.ts.map +1 -0
  623. package/dist/tools/gerar-contrato-api.js +216 -0
  624. package/dist/tools/gerar-contrato-api.js.map +1 -0
  625. package/dist/tools/index.d.ts.map +1 -1
  626. package/dist/tools/index.js +14 -0
  627. package/dist/tools/index.js.map +1 -1
  628. package/dist/tools/iniciar-projeto.d.ts +12 -0
  629. package/dist/tools/iniciar-projeto.d.ts.map +1 -1
  630. package/dist/tools/iniciar-projeto.js +92 -29
  631. package/dist/tools/iniciar-projeto.js.map +1 -1
  632. package/dist/tools/listar-tarefas.d.ts +16 -0
  633. package/dist/tools/listar-tarefas.d.ts.map +1 -0
  634. package/dist/tools/listar-tarefas.js +215 -0
  635. package/dist/tools/listar-tarefas.js.map +1 -0
  636. package/dist/tools/phase2/architecture.tools.d.ts +37 -0
  637. package/dist/tools/phase2/architecture.tools.d.ts.map +1 -0
  638. package/dist/tools/phase2/architecture.tools.js +51 -0
  639. package/dist/tools/phase2/architecture.tools.js.map +1 -0
  640. package/dist/tools/phase2/decision.tools.d.ts +61 -0
  641. package/dist/tools/phase2/decision.tools.d.ts.map +1 -0
  642. package/dist/tools/phase2/decision.tools.js +69 -0
  643. package/dist/tools/phase2/decision.tools.js.map +1 -0
  644. package/dist/tools/phase2/index.d.ts +8 -0
  645. package/dist/tools/phase2/index.d.ts.map +1 -0
  646. package/dist/tools/phase2/index.js +16 -0
  647. package/dist/tools/phase2/index.js.map +1 -0
  648. package/dist/tools/phase2/validation.tools.d.ts +40 -0
  649. package/dist/tools/phase2/validation.tools.d.ts.map +1 -0
  650. package/dist/tools/phase2/validation.tools.js +43 -0
  651. package/dist/tools/phase2/validation.tools.js.map +1 -0
  652. package/dist/tools/phase3/atam.tools.d.ts +26 -0
  653. package/dist/tools/phase3/atam.tools.d.ts.map +1 -0
  654. package/dist/tools/phase3/atam.tools.js +48 -0
  655. package/dist/tools/phase3/atam.tools.js.map +1 -0
  656. package/dist/tools/phase3/consistency.tools.d.ts +15 -0
  657. package/dist/tools/phase3/consistency.tools.d.ts.map +1 -0
  658. package/dist/tools/phase3/consistency.tools.js +20 -0
  659. package/dist/tools/phase3/consistency.tools.js.map +1 -0
  660. package/dist/tools/phase3/context.tools.d.ts +25 -0
  661. package/dist/tools/phase3/context.tools.d.ts.map +1 -0
  662. package/dist/tools/phase3/context.tools.js +32 -0
  663. package/dist/tools/phase3/context.tools.js.map +1 -0
  664. package/dist/tools/phase3/growth.tools.d.ts +28 -0
  665. package/dist/tools/phase3/growth.tools.d.ts.map +1 -0
  666. package/dist/tools/phase3/growth.tools.js +32 -0
  667. package/dist/tools/phase3/growth.tools.js.map +1 -0
  668. package/dist/tools/phase3/index.d.ts +10 -0
  669. package/dist/tools/phase3/index.d.ts.map +1 -0
  670. package/dist/tools/phase3/index.js +10 -0
  671. package/dist/tools/phase3/index.js.map +1 -0
  672. package/dist/tools/phase3/roadmap.tools.d.ts +41 -0
  673. package/dist/tools/phase3/roadmap.tools.d.ts.map +1 -0
  674. package/dist/tools/phase3/roadmap.tools.js +44 -0
  675. package/dist/tools/phase3/roadmap.tools.js.map +1 -0
  676. package/dist/tools/phase3/strangler.tools.d.ts +37 -0
  677. package/dist/tools/phase3/strangler.tools.d.ts.map +1 -0
  678. package/dist/tools/phase3/strangler.tools.js +44 -0
  679. package/dist/tools/phase3/strangler.tools.js.map +1 -0
  680. package/dist/tools/proximo.d.ts.map +1 -1
  681. package/dist/tools/proximo.js +44 -11
  682. package/dist/tools/proximo.js.map +1 -1
  683. package/dist/tools/status.d.ts.map +1 -1
  684. package/dist/tools/status.js +18 -5
  685. package/dist/tools/status.js.map +1 -1
  686. package/dist/tools/validar-gate.d.ts.map +1 -1
  687. package/dist/tools/validar-gate.js +17 -0
  688. package/dist/tools/validar-gate.js.map +1 -1
  689. package/dist/types/config.d.ts +46 -0
  690. package/dist/types/config.d.ts.map +1 -0
  691. package/dist/types/config.js +162 -0
  692. package/dist/types/config.js.map +1 -0
  693. package/dist/types/index.d.ts +39 -0
  694. package/dist/types/index.d.ts.map +1 -1
  695. package/dist/types/index.js.map +1 -1
  696. package/dist/types/tasks.d.ts +100 -0
  697. package/dist/types/tasks.d.ts.map +1 -0
  698. package/dist/types/tasks.js +2 -0
  699. package/dist/types/tasks.js.map +1 -0
  700. package/dist/utils/__tests__/prompt-mapper.test.d.ts +2 -0
  701. package/dist/utils/__tests__/prompt-mapper.test.d.ts.map +1 -0
  702. package/dist/utils/__tests__/prompt-mapper.test.js +184 -0
  703. package/dist/utils/__tests__/prompt-mapper.test.js.map +1 -0
  704. package/dist/utils/history.d.ts +10 -0
  705. package/dist/utils/history.d.ts.map +1 -1
  706. package/dist/utils/history.js +12 -1
  707. package/dist/utils/history.js.map +1 -1
  708. package/dist/utils/ide-paths.d.ts +61 -0
  709. package/dist/utils/ide-paths.d.ts.map +1 -0
  710. package/dist/utils/ide-paths.js +110 -0
  711. package/dist/utils/ide-paths.js.map +1 -0
  712. package/dist/utils/prompt-mapper.d.ts +48 -0
  713. package/dist/utils/prompt-mapper.d.ts.map +1 -1
  714. package/dist/utils/prompt-mapper.js +104 -0
  715. package/dist/utils/prompt-mapper.js.map +1 -1
  716. package/package.json +5 -5
  717. package/dist/content/examples/Exemplo de Fluxo Completo com Java e Spring Boot.md +0 -250
  718. package/dist/content/examples/Exemplo de Fluxo Completo com Laravel e Filament.md +0 -278
  719. package/dist/content/examples/Exemplo de Fluxo Completo com Laravel e Livewire.md +0 -261
  720. package/dist/content/examples/Exemplo de Fluxo Completo com Node e NestJS.md +0 -258
  721. package/dist/content/guides/Cat/303/241logo de Stacks para Cloud Moderna.md" +0 -119
  722. package/dist/content/guides/Cat/303/241logo de Stacks para Hospedagem Compartilhada.md" +0 -147
  723. package/dist/content/guides/Checklist Mestre de Entrega.md +0 -68
  724. package/dist/content/guides/Gates de Qualidade.md +0 -209
  725. package/dist/content/guides/Guia de Adi/303/247/303/243o de Novas Funcionalidades.md" +0 -355
  726. package/dist/content/guides/Guia de Chaos Engineering.md +0 -267
  727. package/dist/content/guides/Guia de Estrat/303/251gias de Cache.md" +0 -352
  728. package/dist/content/guides/Guia de Migrations Zero-Downtime.md +0 -311
  729. package/dist/content/guides/Guia de Multi-tenancy.md +0 -368
  730. package/dist/content/guides/Guia de Otimiza/303/247/303/243o de Custos Cloud.md" +0 -195
  731. package/dist/content/guides/Guia de Refatora/303/247/303/243o de C/303/263digo Legado com IA.md" +0 -162
  732. package/dist/content/guides/Guia de SLOs e Error Budgets.md +0 -315
  733. package/dist/content/guides/M/303/251tricas de Efici/303/252ncia do Desenvolvimento com IA.md" +0 -93
  734. package/dist/content/guides/Rules base.md +0 -90
  735. package/dist/content/playbook/Playbook de Desenvolvimento com IA.md +0 -364
  736. package/dist/content/prompts/README.md +0 -203
  737. package/dist/content/prompts/acessibilidade/analise-acessibilidade.md +0 -257
  738. package/dist/content/prompts/apis/design-api-rest.md +0 -303
  739. package/dist/content/prompts/apis/idempotencia.md +0 -254
  740. package/dist/content/prompts/apis/versionamento.md +0 -313
  741. package/dist/content/prompts/arquitetura/arquitetura-c4-completo.md +0 -190
  742. package/dist/content/prompts/arquitetura/clean-architecture.md +0 -151
  743. package/dist/content/prompts/arquitetura/multi-tenancy.md +0 -235
  744. package/dist/content/prompts/database/migrations-zero-downtime.md +0 -192
  745. package/dist/content/prompts/database/otimizacao-queries.md +0 -296
  746. package/dist/content/prompts/desenvolvimento/code-review.md +0 -301
  747. package/dist/content/prompts/desenvolvimento/gerar-servico.md +0 -271
  748. package/dist/content/prompts/devops/docker-compose.md +0 -336
  749. package/dist/content/prompts/devops/feature-flags.md +0 -374
  750. package/dist/content/prompts/devops/kubernetes-deploy.md +0 -460
  751. package/dist/content/prompts/devops/pipeline-cicd.md +0 -358
  752. package/dist/content/prompts/devops/terraform-iac.md +0 -502
  753. package/dist/content/prompts/escalabilidade/analise-performance.md +0 -240
  754. package/dist/content/prompts/escalabilidade/analise-performance.txt +0 -94
  755. package/dist/content/prompts/escalabilidade/caching.md +0 -255
  756. package/dist/content/prompts/observabilidade/chaos-testing.md +0 -237
  757. package/dist/content/prompts/observabilidade/estrategia-observabilidade.md +0 -263
  758. package/dist/content/prompts/observabilidade/estrategia-observabilidade.txt +0 -134
  759. package/dist/content/prompts/observabilidade/slos.md +0 -215
  760. package/dist/content/prompts/produto/discovery-inicial.md +0 -203
  761. package/dist/content/prompts/produto/discovery-inicial.txt +0 -33
  762. package/dist/content/prompts/requisitos/refinar-requisitos.md +0 -232
  763. package/dist/content/prompts/requisitos/refinar-requisitos.txt +0 -40
  764. package/dist/content/prompts/seguranca/analise-seguranca.md +0 -243
  765. package/dist/content/prompts/seguranca/pentest-checklist.md +0 -333
  766. package/dist/content/prompts/seguranca/rate-limiting.md +0 -356
  767. package/dist/content/prompts/seguranca/revisao-lgpd.md +0 -227
  768. package/dist/content/prompts/seguranca/threat-modeling.md +0 -224
  769. package/dist/content/prompts/testes/contract-testing.md +0 -340
  770. package/dist/content/prompts/testes/gerar-testes-unitarios.md +0 -474
  771. package/dist/content/prompts/testes/testes-e2e.md +0 -460
  772. package/dist/content/prompts/testes/testes-integracao.md +0 -418
  773. package/dist/content/prompts/testes/testes-performance.md +0 -458
  774. package/dist/content/prompts/ux/gerar-ui-stitch.md +0 -151
  775. package/dist/content/specialists/Especialista em Acessibilidade.md +0 -266
  776. package/dist/content/specialists/Especialista em An/303/241lise de Testes.md" +0 -434
  777. package/dist/content/specialists/Especialista em Arquitetura Avan/303/247ada.md" +0 -358
  778. package/dist/content/specialists/Especialista em Arquitetura de Software.md +0 -177
  779. package/dist/content/specialists/Especialista em Banco de Dados.md +0 -260
  780. package/dist/content/specialists/Especialista em Contrato de API.md +0 -172
  781. package/dist/content/specialists/Especialista em Dados e Analytics com IA.md +0 -246
  782. package/dist/content/specialists/Especialista em Debugging e Troubleshooting.md +0 -191
  783. package/dist/content/specialists/Especialista em Desenvolvimento Frontend.md +0 -477
  784. package/dist/content/specialists/Especialista em Desenvolvimento Mobile.md +0 -241
  785. package/dist/content/specialists/Especialista em Desenvolvimento e Vibe Coding Estruturado.md +0 -417
  786. package/dist/content/specialists/Especialista em DevOps e Infraestrutura.md +0 -294
  787. package/dist/content/specialists/Especialista em Documenta/303/247/303/243o T/303/251cnica.md" +0 -227
  788. package/dist/content/specialists/Especialista em Engenharia de Requisitos com IA.md +0 -299
  789. package/dist/content/specialists/Especialista em Explora/303/247/303/243o de Codebase.md" +0 -179
  790. package/dist/content/specialists/Especialista em Gest/303/243o de Produto.md" +0 -179
  791. package/dist/content/specialists/Especialista em Migra/303/247/303/243o e Moderniza/303/247/303/243o.md" +0 -410
  792. package/dist/content/specialists/Especialista em Modelagem e Arquitetura de Dom/303/255nio com IA.md" +0 -248
  793. package/dist/content/specialists/Especialista em Observabilidade.md +0 -415
  794. package/dist/content/specialists/Especialista em Performance e Escalabilidade.md +0 -373
  795. package/dist/content/specialists/Especialista em Plano de Execu/303/247/303/243o com IA.md" +0 -341
  796. package/dist/content/specialists/Especialista em Prototipagem R/303/241pida com Google Stitch.md" +0 -419
  797. package/dist/content/specialists/Especialista em Seguran/303/247a da Informa/303/247/303/243o.md" +0 -508
  798. package/dist/content/specialists/Especialista em UX Design.md +0 -453
  799. package/dist/content/specialists/INDEX.md +0 -43
  800. package/dist/content/templates/PRD.md +0 -165
  801. package/dist/content/templates/README.md +0 -65
  802. package/dist/content/templates/adr.md +0 -103
  803. package/dist/content/templates/arquitetura.md +0 -279
  804. package/dist/content/templates/backlog.md +0 -185
  805. package/dist/content/templates/checklist-seguranca.md +0 -180
  806. package/dist/content/templates/contexto.md +0 -120
  807. package/dist/content/templates/criterios-aceite.md +0 -99
  808. package/dist/content/templates/design-banco.md +0 -270
  809. package/dist/content/templates/design-doc.md +0 -240
  810. package/dist/content/templates/feature.md +0 -88
  811. package/dist/content/templates/historia-backend.md +0 -84
  812. package/dist/content/templates/historia-frontend.md +0 -75
  813. package/dist/content/templates/historia-usuario.md +0 -125
  814. package/dist/content/templates/mapa-navegacao.md +0 -133
  815. package/dist/content/templates/matriz-rastreabilidade.md +0 -121
  816. package/dist/content/templates/modelo-dominio.md +0 -219
  817. package/dist/content/templates/plano-testes.md +0 -199
  818. package/dist/content/templates/prototipo-stitch.md +0 -138
  819. package/dist/content/templates/requisitos.md +0 -162
  820. package/dist/content/templates/slo-sli.md +0 -197
  821. /package/dist/content/{guides/Guia de Debugging com IA.md → skills/specialist-debugging-troubleshooting/resources/reference/debugging-ai-guide.md} +0 -0
  822. /package/dist/content/{prompts/arquitetura → skills/specialist-modelagem-dominio/resources/prompts}/ddd-bounded-contexts.md +0 -0
  823. /package/dist/content/{prompts/arquitetura → skills/specialist-modelagem-dominio/resources/prompts}/ddd-cqrs.md +0 -0
  824. /package/dist/content/{prompts/arquitetura → skills/specialist-modelagem-dominio/resources/prompts}/modelo-dominio.md +0 -0
@@ -0,0 +1,1055 @@
1
+ # 📚 Guia Completo de Desenvolvimento Frontend
2
+
3
+ ## 🎯 Visão Geral
4
+
5
+ Este guia completo aborda todos os aspectos do desenvolvimento frontend moderno, desde conceitos fundamentais até práticas avançadas. É o recurso de referência para o especialista em Desenvolvimento Frontend do Maestro.
6
+
7
+ ## 🏗️ Arquitetura Frontend Moderna
8
+
9
+ ### Princípios Fundamentais
10
+ - **Component-First**: Desenvolvimento orientado a componentes
11
+ - **Mobile-First**: Design responsivo começando pelo mobile
12
+ - **Performance-First**: Otimização de performance desde o início
13
+ - **Accessibility-First**: Acessibilidade como requisito, não como afterthought
14
+ - **TypeScript-First**: Tipagem forte para melhor manutenção
15
+
16
+ ### Stack Tecnológico Recomendado
17
+ ```json
18
+ {
19
+ "framework": "React 18+",
20
+ "language": "TypeScript",
21
+ "styling": "Tailwind CSS v4",
22
+ "state": "Zustand / React Query",
23
+ "testing": "Vitest + Testing Library",
24
+ "build": "Vite",
25
+ "linting": "ESLint + Prettier",
26
+ "documentation": "Storybook",
27
+ "monitoring": "Sentry + Analytics"
28
+ }
29
+ ```
30
+
31
+ ---
32
+
33
+ ## 🧩 Componentes React
34
+
35
+ ### Estrutura Padrão de Componente
36
+ ```typescript
37
+ // src/components/ComponentName/ComponentName.tsx
38
+ import React from 'react';
39
+ import { motion } from 'framer-motion';
40
+ import { cn } from '@/utils/cn';
41
+
42
+ interface ComponentNameProps {
43
+ // Props tipadas
44
+ variant?: 'default' | 'primary' | 'secondary';
45
+ size?: 'sm' | 'md' | 'lg';
46
+ children: React.ReactNode;
47
+ className?: string;
48
+ onClick?: () => void;
49
+ }
50
+
51
+ export const ComponentName: React.FC<ComponentNameProps> = ({
52
+ variant = 'default',
53
+ size = 'md',
54
+ children,
55
+ className = '',
56
+ onClick
57
+ }) => {
58
+ const baseClasses = 'font-medium rounded-lg transition-colors';
59
+
60
+ const variantClasses = {
61
+ default: 'bg-gray-100 text-gray-900 hover:bg-gray-200',
62
+ primary: 'bg-blue-600 text-white hover:bg-blue-700',
63
+ secondary: 'bg-green-600 text-white hover:bg-green-700'
64
+ };
65
+
66
+ const sizeClasses = {
67
+ sm: 'px-3 py-1.5 text-sm',
68
+ md: 'px-4 py-2 text-base',
69
+ lg: 'px-6 py-3 text-lg'
70
+ };
71
+
72
+ return (
73
+ <motion.button
74
+ className={cn(
75
+ baseClasses,
76
+ variantClasses[variant],
77
+ sizeClasses[size],
78
+ className
79
+ )}
80
+ onClick={onClick}
81
+ whileHover={{ scale: 1.02 }}
82
+ whileTap={{ scale: 0.98 }}
83
+ >
84
+ {children}
85
+ </motion.button>
86
+ );
87
+ };
88
+
89
+ export default ComponentName;
90
+ ```
91
+
92
+ ### Padrões de Componentes
93
+
94
+ #### 1. Container Components
95
+ ```typescript
96
+ // Componentes que gerenciam estado e lógica
97
+ export const ProductListContainer: React.FC = () => {
98
+ const { products, loading, error } = useProducts();
99
+
100
+ if (loading) return <ProductListSkeleton />;
101
+ if (error) return <ErrorMessage error={error} />;
102
+
103
+ return <ProductList products={products} />;
104
+ };
105
+ ```
106
+
107
+ #### 2. Presentation Components
108
+ ```typescript
109
+ // Componentes que apenas apresentam dados
110
+ interface ProductListProps {
111
+ products: Product[];
112
+ }
113
+
114
+ export const ProductList: React.FC<ProductListProps> = ({ products }) => {
115
+ return (
116
+ <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
117
+ {products.map(product => (
118
+ <ProductCard key={product.id} product={product} />
119
+ ))}
120
+ </div>
121
+ );
122
+ };
123
+ ```
124
+
125
+ #### 3. Higher-Order Components
126
+ ```typescript
127
+ // HOC para adicionar funcionalidades
128
+ export const withLoading = <P extends object>(
129
+ Component: React.ComponentType<P>
130
+ ) => {
131
+ return (props: P & { loading?: boolean }) => {
132
+ const { loading, ...rest } = props;
133
+
134
+ if (loading) {
135
+ return <LoadingSpinner />;
136
+ }
137
+
138
+ return <Component {...(rest as P)} />;
139
+ };
140
+ };
141
+ ```
142
+
143
+ #### 4. Custom Hooks
144
+ ```typescript
145
+ // Hooks para lógica reutilizável
146
+ export const useLocalStorage = <T>(
147
+ key: string,
148
+ initialValue: T
149
+ ) => {
150
+ const [storedValue, setStoredValue] = useState<T>(() => {
151
+ try {
152
+ const item = window.localStorage.getItem(key);
153
+ return item ? JSON.parse(item) : initialValue;
154
+ } catch (error) {
155
+ return initialValue;
156
+ }
157
+ });
158
+
159
+ const setValue = (value: T | ((val: T) => T)) => {
160
+ try {
161
+ const valueToStore = value instanceof Function ? value(storedValue) : value;
162
+ setStoredValue(valueToStore);
163
+ window.localStorage.setItem(key, JSON.stringify(valueToStore));
164
+ } catch (error) {
165
+ console.error('Error saving to localStorage:', error);
166
+ }
167
+ };
168
+
169
+ return [storedValue, setValue] as const;
170
+ };
171
+ ```
172
+
173
+ ---
174
+
175
+ ## 🎨 Styling com Tailwind CSS v4
176
+
177
+ ### Configuração Otimizada
178
+ ```typescript
179
+ // tailwind.config.ts
180
+ import type { Config } from 'tailwindcss';
181
+
182
+ const config: Config = {
183
+ content: ['./src/**/*.{js,ts,jsx,tsx}'],
184
+ theme: {
185
+ extend: {
186
+ colors: {
187
+ primary: {
188
+ 50: '#eff6ff',
189
+ 500: '#3b82f6',
190
+ 600: '#2563eb',
191
+ 700: '#1d4ed8',
192
+ },
193
+ gray: {
194
+ 50: '#f9fafb',
195
+ 100: '#f3f4f6',
196
+ // ... custom gray scale
197
+ }
198
+ },
199
+ fontFamily: {
200
+ sans: ['Inter', 'system-ui', 'sans-serif'],
201
+ mono: ['JetBrains Mono', 'monospace'],
202
+ },
203
+ animation: {
204
+ 'fade-in': 'fadeIn 0.5s ease-in-out',
205
+ 'slide-up': 'slideUp 0.3s ease-out',
206
+ 'stagger': 'stagger 0.6s ease-out',
207
+ },
208
+ keyframes: {
209
+ fadeIn: {
210
+ '0%': { opacity: '0' },
211
+ '100%': { opacity: '1' },
212
+ },
213
+ slideUp: {
214
+ '0%': { transform: 'translateY(10px)', opacity: '0' },
215
+ '100%': { transform: 'translateY(0)', opacity: '1' },
216
+ },
217
+ stagger: {
218
+ '0%': { transform: 'translateY(20px)', opacity: '0' },
219
+ '100%': { transform: 'translateY(0)', opacity: '1' },
220
+ },
221
+ },
222
+ },
223
+ },
224
+ plugins: [
225
+ require('@tailwindcss/forms'),
226
+ require('@tailwindcss/typography'),
227
+ require('@tailwindcss/aspect-ratio'),
228
+ ],
229
+ };
230
+
231
+ export default config;
232
+ ```
233
+
234
+ ### Padrões de Styling
235
+
236
+ #### 1. Component Variants
237
+ ```typescript
238
+ const buttonVariants = {
239
+ variant: {
240
+ primary: 'bg-primary-600 text-white hover:bg-primary-700',
241
+ secondary: 'bg-gray-100 text-gray-900 hover:bg-gray-200',
242
+ outline: 'border-2 border-primary-600 text-primary-600 hover:bg-primary-50',
243
+ },
244
+ size: {
245
+ sm: 'px-3 py-1.5 text-sm',
246
+ md: 'px-4 py-2 text-base',
247
+ lg: 'px-6 py-3 text-lg',
248
+ }
249
+ };
250
+ ```
251
+
252
+ #### 2. Responsive Design
253
+ ```typescript
254
+ // Mobile-first approach
255
+ <div className="w-full sm:w-1/2 md:w-1/3 lg:w-1/4">
256
+ <h3 className="text-lg sm:text-xl md:text-2xl lg:text-3xl">
257
+ Responsive Typography
258
+ </h3>
259
+ </div>
260
+ ```
261
+
262
+ #### 3. Dark Mode
263
+ ```typescript
264
+ // Suporte a dark mode
265
+ <div className="bg-white dark:bg-gray-900 text-gray-900 dark:text-white">
266
+ <button className="bg-primary-600 dark:bg-primary-500 text-white">
267
+ Dark Mode Button
268
+ </button>
269
+ </div>
270
+ ```
271
+
272
+ ---
273
+
274
+ ## 🔄 State Management
275
+
276
+ ### Zustand para Estado Global
277
+ ```typescript
278
+ // src/store/useProductStore.ts
279
+ import { create } from 'zustand';
280
+ import { devtools, persist } from 'zustand/middleware';
281
+
282
+ interface Product {
283
+ id: number;
284
+ name: string;
285
+ price: number;
286
+ category: string;
287
+ }
288
+
289
+ interface ProductStore {
290
+ products: Product[];
291
+ cart: Product[];
292
+ filters: {
293
+ category: string;
294
+ priceRange: [number, number];
295
+ search: string;
296
+ };
297
+ setProducts: (products: Product[]) => void;
298
+ addToCart: (product: Product) => void;
299
+ removeFromCart: (productId: number) => void;
300
+ setFilters: (filters: Partial<ProductStore['filters']>) => void;
301
+ clearCart: () => void;
302
+ }
303
+
304
+ export const useProductStore = create<ProductStore>()(
305
+ devtools(
306
+ persist(
307
+ (set, get) => ({
308
+ products: [],
309
+ cart: [],
310
+ filters: {
311
+ category: '',
312
+ priceRange: [0, 1000],
313
+ search: '',
314
+ },
315
+
316
+ setProducts: (products) => set({ products }),
317
+
318
+ addToCart: (product) => set((state) => ({
319
+ cart: [...state.cart, product],
320
+ })),
321
+
322
+ removeFromCart: (productId) => set((state) => ({
323
+ cart: state.cart.filter((p) => p.id !== productId),
324
+ })),
325
+
326
+ setFilters: (newFilters) => set((state) => ({
327
+ filters: { ...state.filters, ...newFilters },
328
+ })),
329
+
330
+ clearCart: () => set({ cart: [] }),
331
+ }),
332
+ {
333
+ name: 'product-store',
334
+ partialize: (state) => ({ cart: state.cart }),
335
+ }
336
+ )
337
+ )
338
+ );
339
+ ```
340
+
341
+ ### React Query para Server State
342
+ ```typescript
343
+ // src/hooks/useProducts.ts
344
+ import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';
345
+ import { productService } from '@/services/productService';
346
+
347
+ export const useProducts = (filters?: ProductFilters) => {
348
+ return useQuery({
349
+ queryKey: ['products', filters],
350
+ queryFn: () => productService.getProducts(filters),
351
+ staleTime: 5 * 60 * 1000, // 5 minutes
352
+ cacheTime: 10 * 60 * 1000, // 10 minutes
353
+ });
354
+ };
355
+
356
+ export const useCreateProduct = () => {
357
+ const queryClient = useQueryClient();
358
+
359
+ return useMutation({
360
+ mutationFn: productService.createProduct,
361
+ onSuccess: () => {
362
+ queryClient.invalidateQueries({ queryKey: ['products'] });
363
+ },
364
+ });
365
+ };
366
+ ```
367
+
368
+ ---
369
+
370
+ ## 🧪 Testes Abrangentes
371
+
372
+ ### Configuração do Vitest
373
+ ```typescript
374
+ // vitest.config.ts
375
+ import { defineConfig } from 'vitest/config';
376
+ import react from '@vitejs/plugin-react';
377
+ import path from 'path';
378
+
379
+ export default defineConfig({
380
+ plugins: [react()],
381
+ test: {
382
+ globals: true,
383
+ environment: 'jsdom',
384
+ setupFiles: ['./src/test/setup.ts'],
385
+ coverage: {
386
+ provider: 'v8',
387
+ reporter: ['text', 'json', 'html'],
388
+ exclude: [
389
+ 'node_modules/',
390
+ 'src/test/',
391
+ '**/*.d.ts',
392
+ '**/*.config.*',
393
+ ],
394
+ },
395
+ },
396
+ resolve: {
397
+ alias: {
398
+ '@': path.resolve(__dirname, './src'),
399
+ },
400
+ },
401
+ });
402
+ ```
403
+
404
+ ### Testes de Componentes
405
+ ```typescript
406
+ // src/components/Button/Button.test.tsx
407
+ import { render, screen, fireEvent } from '@testing-library/react';
408
+ import { Button } from './Button';
409
+
410
+ describe('Button', () => {
411
+ it('renders with correct text', () => {
412
+ render(<Button>Click me</Button>);
413
+ expect(screen.getByRole('button', { name: 'Click me' })).toBeInTheDocument();
414
+ });
415
+
416
+ it('calls onClick when clicked', () => {
417
+ const handleClick = vi.fn();
418
+ render(<Button onClick={handleClick}>Click me</Button>);
419
+
420
+ fireEvent.click(screen.getByRole('button'));
421
+ expect(handleClick).toHaveBeenCalledTimes(1);
422
+ });
423
+
424
+ it('applies correct variant classes', () => {
425
+ render(<Button variant="primary">Primary Button</Button>);
426
+
427
+ const button = screen.getByRole('button');
428
+ expect(button).toHaveClass('bg-primary-600');
429
+ });
430
+
431
+ it('is accessible', () => {
432
+ render(<Button disabled>Disabled Button</Button>);
433
+
434
+ const button = screen.getByRole('button');
435
+ expect(button).toBeDisabled();
436
+ expect(button).toHaveAttribute('aria-disabled', 'true');
437
+ });
438
+ });
439
+ ```
440
+
441
+ ### Testes de Hooks
442
+ ```typescript
443
+ // src/hooks/useCounter.test.ts
444
+ import { renderHook, act } from '@testing-library/react';
445
+ import { useCounter } from './useCounter';
446
+
447
+ describe('useCounter', () => {
448
+ it('should initialize with default value', () => {
449
+ const { result } = renderHook(() => useCounter());
450
+
451
+ expect(result.current.count).toBe(0);
452
+ });
453
+
454
+ it('should increment count', () => {
455
+ const { result } = renderHook(() => useCounter());
456
+
457
+ act(() => {
458
+ result.current.increment();
459
+ });
460
+
461
+ expect(result.current.count).toBe(1);
462
+ });
463
+
464
+ it('should decrement count', () => {
465
+ const { result } = renderHook(() => useCounter(5));
466
+
467
+ act(() => {
468
+ result.current.decrement();
469
+ });
470
+
471
+ expect(result.current.count).toBe(4);
472
+ });
473
+ });
474
+ ```
475
+
476
+ ### Testes E2E com Playwright
477
+ ```typescript
478
+ // tests/e2e/product-list.spec.ts
479
+ import { test, expect } from '@playwright/test';
480
+
481
+ test('product list loads correctly', async ({ page }) => {
482
+ await page.goto('/products');
483
+
484
+ // Check if products are loaded
485
+ await expect(page.locator('[data-testid="product-card"]')).toHaveCount(12);
486
+
487
+ // Check if first product is visible
488
+ await expect(page.locator('[data-testid="product-card"]').first()).toBeVisible();
489
+ });
490
+
491
+ test('product filtering works', async ({ page }) => {
492
+ await page.goto('/products');
493
+
494
+ // Select category filter
495
+ await page.selectOption('[data-testid="category-filter"]', 'electronics');
496
+
497
+ // Wait for products to update
498
+ await page.waitForTimeout(1000);
499
+
500
+ // Check if filtered products are shown
501
+ const products = page.locator('[data-testid="product-card"]');
502
+ await expect(products).toHaveCountLessThan(12);
503
+ });
504
+ ```
505
+
506
+ ---
507
+
508
+ ## ⚡ Performance Optimization
509
+
510
+ ### Code Splitting
511
+ ```typescript
512
+ // Lazy loading de componentes
513
+ const ProductList = lazy(() => import('./ProductList'));
514
+ const ProductDetails = lazy(() => import('./ProductDetails'));
515
+
516
+ // Suspense boundary
517
+ <Suspense fallback={<ProductListSkeleton />}>
518
+ <ProductList />
519
+ </Suspense>
520
+ ```
521
+
522
+ ### Virtualization
523
+ ```typescript
524
+ // react-window para listas longas
525
+ import { FixedSizeList as List } from 'react-window';
526
+
527
+ const VirtualizedProductList: React.FC<{ products: Product[] }> = ({ products }) => {
528
+ const Row = ({ index, style }: { index: number; style: React.CSSProperties }) => (
529
+ <div style={style}>
530
+ <ProductCard product={products[index]} />
531
+ </div>
532
+ );
533
+
534
+ return (
535
+ <List
536
+ height={600}
537
+ itemCount={products.length}
538
+ itemSize={200}
539
+ width="100%"
540
+ >
541
+ {Row}
542
+ </List>
543
+ );
544
+ };
545
+ ```
546
+
547
+ ### Image Optimization
548
+ ```typescript
549
+ // next/image para otimização automática
550
+ import Image from 'next/image';
551
+
552
+ const OptimizedImage: React.FC<{ src: string; alt: string }> = ({ src, alt }) => (
553
+ <Image
554
+ src={src}
555
+ alt={alt}
556
+ width={300}
557
+ height={200}
558
+ placeholder="blur"
559
+ blurDataURL="data:image/jpeg;base64,..."
560
+ loading="lazy"
561
+ sizes="(max-width: 768px) 100vw, (max-width: 1200px) 50vw, 33vw"
562
+ />
563
+ );
564
+ ```
565
+
566
+ ### Memoization
567
+ ```typescript
568
+ // React.memo para componentes
569
+ export const ProductCard = React.memo<ProductCardProps>(({ product }) => {
570
+ return (
571
+ <div className="product-card">
572
+ {/* Component content */}
573
+ </div>
574
+ );
575
+ });
576
+
577
+ // useMemo para valores computados
578
+ const filteredProducts = useMemo(() => {
579
+ return products.filter(product =>
580
+ product.name.toLowerCase().includes(searchTerm.toLowerCase())
581
+ );
582
+ }, [products, searchTerm]);
583
+
584
+ // useCallback para funções
585
+ const handleAddToCart = useCallback((product: Product) => {
586
+ addToCart(product);
587
+ }, [addToCart]);
588
+ ```
589
+
590
+ ---
591
+
592
+ ## ♿ Acessibilidade (WCAG 2.1 AA)
593
+
594
+ ### Semantic HTML
595
+ ```typescript
596
+ // Uso correto de elementos semânticos
597
+ const ProductPage: React.FC = () => (
598
+ <main role="main" aria-label="Product listing">
599
+ <header>
600
+ <h1>Our Products</h1>
601
+ <nav aria-label="Product filters">
602
+ {/* Filter controls */}
603
+ </nav>
604
+ </header>
605
+
606
+ <section aria-labelledby="products-heading">
607
+ <h2 id="products-heading" className="sr-only">Product list</h2>
608
+ <div role="grid" aria-label="Products grid">
609
+ {/* Product grid */}
610
+ </div>
611
+ </section>
612
+ </main>
613
+ );
614
+ ```
615
+
616
+ ### ARIA Labels
617
+ ```typescript
618
+ // Botões com descrições acessíveis
619
+ <button
620
+ onClick={() => addToCart(product)}
621
+ aria-label={`Add ${product.name} to cart`}
622
+ aria-describedby={`product-${product.id}-price`}
623
+ >
624
+ Add to Cart
625
+ </button>
626
+
627
+ <div id={`product-${product.id}-price`} className="sr-only">
628
+ Price: ${product.price}
629
+ </div>
630
+ ```
631
+
632
+ ### Focus Management
633
+ ```typescript
634
+ // Modal com gerenciamento de foco
635
+ const Modal: React.FC<ModalProps> = ({ isOpen, onClose, children }) => {
636
+ const modalRef = useRef<HTMLDivElement>(null);
637
+ const previousFocusRef = useRef<HTMLElement | null>(null);
638
+
639
+ useEffect(() => {
640
+ if (isOpen) {
641
+ previousFocusRef.current = document.activeElement as HTMLElement;
642
+ modalRef.current?.focus();
643
+ document.body.style.overflow = 'hidden';
644
+ } else {
645
+ document.body.style.overflow = 'unset';
646
+ previousFocusRef.current?.focus();
647
+ }
648
+ }, [isOpen]);
649
+
650
+ return isOpen ? (
651
+ <div className="modal-overlay" onClick={onClose}>
652
+ <div
653
+ ref={modalRef}
654
+ className="modal-content"
655
+ role="dialog"
656
+ aria-modal="true"
657
+ tabIndex={-1}
658
+ >
659
+ {children}
660
+ </div>
661
+ </div>
662
+ ) : null;
663
+ };
664
+ ```
665
+
666
+ ### Keyboard Navigation
667
+ ```typescript
668
+ // Suporte completo a teclado
669
+ const DropdownMenu: React.FC = () => {
670
+ const [isOpen, setIsOpen] = useState(false);
671
+ const menuRef = useRef<HTMLDivElement>(null);
672
+
673
+ const handleKeyDown = (event: KeyboardEvent) => {
674
+ if (event.key === 'Escape') {
675
+ setIsOpen(false);
676
+ }
677
+ if (event.key === 'ArrowDown') {
678
+ // Navigate to next item
679
+ }
680
+ if (event.key === 'ArrowUp') {
681
+ // Navigate to previous item
682
+ }
683
+ };
684
+
685
+ useEffect(() => {
686
+ if (isOpen) {
687
+ document.addEventListener('keydown', handleKeyDown);
688
+ }
689
+ return () => document.removeEventListener('keydown', handleKeyDown);
690
+ }, [isOpen]);
691
+
692
+ return (
693
+ <div ref={menuRef} className="dropdown">
694
+ {/* Dropdown content */}
695
+ </div>
696
+ );
697
+ };
698
+ ```
699
+
700
+ ---
701
+
702
+ ## 🔐 Segurança Frontend
703
+
704
+ ### XSS Prevention
705
+ ```typescript
706
+ // Sanitização de conteúdo
707
+ import DOMPurify from 'dompurify';
708
+
709
+ const SafeHTML: React.FC<{ html: string }> = ({ html }) => {
710
+ const cleanHTML = DOMPurify.sanitize(html);
711
+ return <div dangerouslySetInnerHTML={{ __html: cleanHTML }} />;
712
+ };
713
+
714
+ // Validação de inputs
715
+ const validateInput = (input: string): string => {
716
+ // Remove potentially dangerous characters
717
+ return input.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, '');
718
+ };
719
+ ```
720
+
721
+ ### Content Security Policy
722
+ ```typescript
723
+ // Configuração de CSP
724
+ const ContentSecurityPolicy: React.FC = () => {
725
+ useEffect(() => {
726
+ const csp = [
727
+ "default-src 'self'",
728
+ "script-src 'self' 'unsafe-inline' 'unsafe-eval'",
729
+ "style-src 'self' 'unsafe-inline'",
730
+ "img-src 'self' data: https:",
731
+ "font-src 'self'",
732
+ "connect-src 'self' https://api.example.com",
733
+ ].join('; ');
734
+
735
+ document.head.appendChild(
736
+ Object.assign(document.createElement('meta'), {
737
+ httpEquiv: 'Content-Security-Policy',
738
+ content: csp,
739
+ })
740
+ );
741
+ }, []);
742
+
743
+ return null;
744
+ };
745
+ ```
746
+
747
+ ### Secure Storage
748
+ ```typescript
749
+ // Armazenamento seguro de dados sensíveis
750
+ const secureStorage = {
751
+ set: (key: string, value: any) => {
752
+ const encrypted = btoa(JSON.stringify(value));
753
+ localStorage.setItem(key, encrypted);
754
+ },
755
+
756
+ get: (key: string) => {
757
+ const encrypted = localStorage.getItem(key);
758
+ if (!encrypted) return null;
759
+
760
+ try {
761
+ return JSON.parse(atob(encrypted));
762
+ } catch {
763
+ return null;
764
+ }
765
+ },
766
+
767
+ remove: (key: string) => {
768
+ localStorage.removeItem(key);
769
+ },
770
+ };
771
+ ```
772
+
773
+ ---
774
+
775
+ ## 📱 Progressive Web App (PWA)
776
+
777
+ ### Service Worker
778
+ ```typescript
779
+ // public/sw.js
780
+ const CACHE_NAME = 'v1';
781
+ const urlsToCache = [
782
+ '/',
783
+ '/static/js/bundle.js',
784
+ '/static/css/main.css',
785
+ '/manifest.json',
786
+ ];
787
+
788
+ self.addEventListener('install', (event) => {
789
+ event.waitUntil(
790
+ caches.open(CACHE_NAME)
791
+ .then((cache) => cache.addAll(urlsToCache))
792
+ );
793
+ });
794
+
795
+ self.addEventListener('fetch', (event) => {
796
+ event.respondWith(
797
+ caches.match(event.request)
798
+ .then((response) => {
799
+ // Cache hit - return response
800
+ if (response) {
801
+ return response;
802
+ }
803
+ return fetch(event.request);
804
+ })
805
+ );
806
+ });
807
+ ```
808
+
809
+ ### Web App Manifest
810
+ ```json
811
+ {
812
+ "name": "My App",
813
+ "short_name": "MyApp",
814
+ "description": "A progressive web app",
815
+ "start_url": "/",
816
+ "display": "standalone",
817
+ "background_color": "#ffffff",
818
+ "theme_color": "#3b82f6",
819
+ "icons": [
820
+ {
821
+ "src": "/icons/icon-192x192.png",
822
+ "sizes": "192x192",
823
+ "type": "image/png"
824
+ },
825
+ {
826
+ "src": "/icons/icon-512x512.png",
827
+ "sizes": "512x512",
828
+ "type": "image/png"
829
+ }
830
+ ]
831
+ }
832
+ ```
833
+
834
+ ---
835
+
836
+ ## 📊 Monitoramento e Analytics
837
+
838
+ ### Error Tracking com Sentry
839
+ ```typescript
840
+ // src/utils/sentry.ts
841
+ import * as Sentry from '@sentry/react';
842
+
843
+ Sentry.init({
844
+ dsn: process.env.NEXT_PUBLIC_SENTRY_DSN,
845
+ environment: process.env.NODE_ENV,
846
+ tracesSampleRate: 1.0,
847
+ });
848
+
849
+ // Error boundary
850
+ export const ErrorBoundary: React.FC<{ children: React.ReactNode }> = ({ children }) => (
851
+ <Sentry.ErrorBoundary fallback={<ErrorFallback />}>
852
+ {children}
853
+ </Sentry.ErrorBoundary>
854
+ );
855
+ ```
856
+
857
+ ### Performance Monitoring
858
+ ```typescript
859
+ // Web Vitals monitoring
860
+ import { getCLS, getFID, getFCP, getLCP, getTTFB } from 'web-vitals';
861
+
862
+ const sendToAnalytics = (metric: any) => {
863
+ // Send to analytics service
864
+ gtag('event', metric.name, {
865
+ value: Math.round(metric.value),
866
+ event_category: 'Web Vitals',
867
+ });
868
+ };
869
+
870
+ getCLS(sendToAnalytics);
871
+ getFID(sendToAnalytics);
872
+ getFCP(sendToAnalytics);
873
+ getLCP(sendToAnalytics);
874
+ getTTFB(sendToAnalytics);
875
+ ```
876
+
877
+ ---
878
+
879
+ ## 🚀 Deploy e CI/CD
880
+
881
+ ### GitHub Actions Workflow
882
+ ```yaml
883
+ # .github/workflows/frontend.yml
884
+ name: Frontend CI/CD
885
+
886
+ on:
887
+ push:
888
+ branches: [main, develop]
889
+ pull_request:
890
+ branches: [main]
891
+
892
+ jobs:
893
+ test:
894
+ runs-on: ubuntu-latest
895
+ steps:
896
+ - uses: actions/checkout@v3
897
+ - uses: actions/setup-node@v3
898
+ with:
899
+ node-version: '18'
900
+ cache: 'npm'
901
+
902
+ - run: npm ci
903
+ - run: npm run lint
904
+ - run: npm run test
905
+ - run: npm run test:e2e
906
+
907
+ - name: Upload coverage
908
+ uses: codecov/codecov-action@v3
909
+
910
+ build:
911
+ needs: test
912
+ runs-on: ubuntu-latest
913
+ steps:
914
+ - uses: actions/checkout@v3
915
+ - uses: actions/setup-node@v3
916
+ with:
917
+ node-version: '18'
918
+ cache: 'npm'
919
+
920
+ - run: npm ci
921
+ - run: npm run build
922
+
923
+ - name: Deploy to staging
924
+ if: github.ref == 'refs/heads/develop'
925
+ run: |
926
+ # Deploy to staging
927
+
928
+ - name: Deploy to production
929
+ if: github.ref == 'refs/heads/main'
930
+ run: |
931
+ # Deploy to production
932
+ ```
933
+
934
+ ### Docker Configuration
935
+ ```dockerfile
936
+ # Dockerfile
937
+ FROM node:18-alpine AS builder
938
+
939
+ WORKDIR /app
940
+ COPY package*.json ./
941
+ RUN npm ci --only=production
942
+
943
+ COPY . .
944
+ RUN npm run build
945
+
946
+ FROM nginx:alpine
947
+ COPY --from=builder /app/dist /usr/share/nginx/html
948
+ COPY nginx.conf /etc/nginx/nginx.conf
949
+
950
+ EXPOSE 80
951
+ CMD ["nginx", "-g", "daemon off;"]
952
+ ```
953
+
954
+ ---
955
+
956
+ ## 📚 Melhores Práticas e Padrões
957
+
958
+ ### Code Organization
959
+ ```
960
+ src/
961
+ ├── components/ # Reusable UI components
962
+ │ ├── ui/ # Base UI components
963
+ │ ├── forms/ # Form components
964
+ │ └── layout/ # Layout components
965
+ ├── pages/ # Page components
966
+ ├── hooks/ # Custom hooks
967
+ ├── services/ # API services
968
+ ├── store/ # State management
969
+ ├── utils/ # Utility functions
970
+ ├── types/ # TypeScript types
971
+ ├── styles/ # Global styles
972
+ ├── assets/ # Static assets
973
+ └── test/ # Test utilities
974
+ ```
975
+
976
+ ### Naming Conventions
977
+ - **Components**: PascalCase (ProductCard, UserList)
978
+ - **Files**: kebab-case (product-card.tsx, user-list.test.tsx)
979
+ - **Variables**: camelCase (userName, productList)
980
+ - **Constants**: UPPER_SNAKE_CASE (API_BASE_URL, MAX_ITEMS)
981
+ - **CSS Classes**: kebab-case (product-card, user-list)
982
+
983
+ ### Git Workflow
984
+ ```bash
985
+ # Feature branch workflow
986
+ git checkout -b feature/product-search
987
+ # Develop feature
988
+ git add .
989
+ git commit -m "feat: add product search functionality"
990
+ git push origin feature/product-search
991
+ # Create pull request
992
+ # Code review
993
+ # Merge to develop
994
+ # Deploy to staging
995
+ # Merge to main
996
+ # Deploy to production
997
+ ```
998
+
999
+ ---
1000
+
1001
+ ## 🔧 Ferramentas e Recursos
1002
+
1003
+ ### Essential Tools
1004
+ - **VS Code**: Editor com extensões React/TypeScript
1005
+ - **React DevTools**: Debugging de componentes
1006
+ - **Redux DevTools**: Debugging de estado
1007
+ - **Lighthouse**: Auditoria de performance
1008
+ - **axe DevTools**: Testes de acessibilidade
1009
+
1010
+ ### Browser Extensions
1011
+ - **React Developer Tools**
1012
+ - **Redux DevTools**
1013
+ - **WAVE**: Acessibilidade evaluation
1014
+ - **Lighthouse**: Performance audit
1015
+ - **ColorZilla**: Color picker
1016
+
1017
+ ### Online Tools
1018
+ - **Figma**: Design e prototipagem
1019
+ - **Storybook**: Documentação de componentes
1020
+ - **Bundle Analyzer**: Análise de bundle
1021
+ - **Can I Use**: Compatibilidade de browsers
1022
+ - **Web.dev**: Guias de performance
1023
+
1024
+ ---
1025
+
1026
+ ## 📖 Referências Adicionais
1027
+
1028
+ ### Documentação Oficial
1029
+ - [React Documentation](https://react.dev/)
1030
+ - [TypeScript Handbook](https://www.typescriptlang.org/docs/)
1031
+ - [Tailwind CSS](https://tailwindcss.com/docs)
1032
+ - [Vite Documentation](https://vitejs.dev/)
1033
+ - [Testing Library](https://testing-library.com/)
1034
+
1035
+ ### Comunidade e Tutoriais
1036
+ - [React Patterns](https://reactpatterns.com/)
1037
+ - [Frontend Masters](https://frontendmasters.com/)
1038
+ - [CSS Tricks](https://css-tricks.com/)
1039
+ - [Smashing Magazine](https://www.smashingmagazine.com/)
1040
+ - [Web.dev](https://web.dev/)
1041
+
1042
+ ### Livros Recomendados
1043
+ - "Clean Code" - Robert C. Martin
1044
+ - "Refactoring" - Martin Fowler
1045
+ - "Design Patterns" - Gang of Four
1046
+ - "You Don't Know JS" - Kyle Simpson
1047
+ - "JavaScript: The Good Parts" - Douglas Crockford
1048
+
1049
+ ---
1050
+
1051
+ **Versão:** 1.0
1052
+ **Data:** 2026-01-29
1053
+ **Status:** Production Ready
1054
+ **Próxima Atualização:** 2026-02-29
1055
+ **Responsável:** Frontend Team