@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,966 @@
1
+ # Mobile Development Examples - Input/Output Pairs
2
+
3
+ ## 📱 Exemplos Práticos de Desenvolvimento Mobile
4
+
5
+ Este documento contém exemplos práticos e completos de implementações mobile em diferentes plataformas e frameworks.
6
+
7
+ ---
8
+
9
+ ## Exemplo 1: Autenticação com Biometria (React Native)
10
+
11
+ ### Input (Requisito)
12
+ > Implementar autenticação biométrica (Face ID/Touch ID) para login rápido no app
13
+
14
+ ### Output (Implementação)
15
+
16
+ ```typescript
17
+ // src/services/BiometricAuth.ts
18
+ import ReactNativeBiometrics from 'react-native-biometrics';
19
+ import { Alert } from 'react-native';
20
+
21
+ export class BiometricAuthService {
22
+ private rnBiometrics = new ReactNativeBiometrics();
23
+
24
+ async checkAvailability(): Promise<{
25
+ available: boolean;
26
+ biometryType?: 'FaceID' | 'TouchID' | 'Biometrics';
27
+ }> {
28
+ const { available, biometryType } = await this.rnBiometrics.isSensorAvailable();
29
+ return { available, biometryType };
30
+ }
31
+
32
+ async authenticate(reason: string = 'Autentique-se para continuar'): Promise<boolean> {
33
+ try {
34
+ const { success } = await this.rnBiometrics.simplePrompt({
35
+ promptMessage: reason,
36
+ cancelButtonText: 'Cancelar',
37
+ });
38
+ return success;
39
+ } catch (error) {
40
+ console.error('Biometric authentication error:', error);
41
+ return false;
42
+ }
43
+ }
44
+
45
+ async createKeys(): Promise<void> {
46
+ const { publicKey } = await this.rnBiometrics.createKeys();
47
+ // Store publicKey securely
48
+ }
49
+
50
+ async createSignature(payload: string): Promise<string | null> {
51
+ try {
52
+ const { success, signature } = await this.rnBiometrics.createSignature({
53
+ promptMessage: 'Confirme sua identidade',
54
+ payload,
55
+ });
56
+ return success ? signature : null;
57
+ } catch (error) {
58
+ return null;
59
+ }
60
+ }
61
+ }
62
+
63
+ // src/screens/LoginScreen.tsx
64
+ import React, { useState, useEffect } from 'react';
65
+ import { View, Text, TouchableOpacity, StyleSheet, Platform } from 'react-native';
66
+ import { BiometricAuthService } from '../services/BiometricAuth';
67
+
68
+ export const LoginScreen = () => {
69
+ const [biometricAvailable, setBiometricAvailable] = useState(false);
70
+ const [biometricType, setBiometricType] = useState<string>('');
71
+ const biometricService = new BiometricAuthService();
72
+
73
+ useEffect(() => {
74
+ checkBiometricAvailability();
75
+ }, []);
76
+
77
+ const checkBiometricAvailability = async () => {
78
+ const { available, biometryType } = await biometricService.checkAvailability();
79
+ setBiometricAvailable(available);
80
+ setBiometricType(biometryType || '');
81
+ };
82
+
83
+ const handleBiometricLogin = async () => {
84
+ const success = await biometricService.authenticate();
85
+ if (success) {
86
+ // Navigate to home screen
87
+ console.log('Biometric authentication successful');
88
+ } else {
89
+ Alert.alert('Erro', 'Falha na autenticação biométrica');
90
+ }
91
+ };
92
+
93
+ const getBiometricIcon = () => {
94
+ if (biometricType === 'FaceID') return '🔐';
95
+ if (biometricType === 'TouchID') return '👆';
96
+ return '🔒';
97
+ };
98
+
99
+ return (
100
+ <View style={styles.container}>
101
+ <Text style={styles.title}>Bem-vindo</Text>
102
+
103
+ {biometricAvailable && (
104
+ <TouchableOpacity
105
+ style={styles.biometricButton}
106
+ onPress={handleBiometricLogin}
107
+ >
108
+ <Text style={styles.biometricIcon}>{getBiometricIcon()}</Text>
109
+ <Text style={styles.biometricText}>
110
+ Entrar com {biometricType}
111
+ </Text>
112
+ </TouchableOpacity>
113
+ )}
114
+
115
+ <TouchableOpacity style={styles.regularButton}>
116
+ <Text style={styles.regularButtonText}>Entrar com senha</Text>
117
+ </TouchableOpacity>
118
+ </View>
119
+ );
120
+ };
121
+
122
+ const styles = StyleSheet.create({
123
+ container: {
124
+ flex: 1,
125
+ justifyContent: 'center',
126
+ alignItems: 'center',
127
+ padding: 20,
128
+ },
129
+ title: {
130
+ fontSize: 32,
131
+ fontWeight: 'bold',
132
+ marginBottom: 40,
133
+ },
134
+ biometricButton: {
135
+ alignItems: 'center',
136
+ padding: 20,
137
+ marginBottom: 20,
138
+ },
139
+ biometricIcon: {
140
+ fontSize: 64,
141
+ marginBottom: 10,
142
+ },
143
+ biometricText: {
144
+ fontSize: 16,
145
+ color: '#007AFF',
146
+ },
147
+ regularButton: {
148
+ backgroundColor: '#007AFF',
149
+ paddingHorizontal: 40,
150
+ paddingVertical: 15,
151
+ borderRadius: 10,
152
+ },
153
+ regularButtonText: {
154
+ color: 'white',
155
+ fontSize: 16,
156
+ fontWeight: '600',
157
+ },
158
+ });
159
+ ```
160
+
161
+ **Resultado:**
162
+ - ✅ Autenticação biométrica funcional em iOS e Android
163
+ - ✅ Fallback para senha tradicional
164
+ - ✅ UI adaptada ao tipo de biometria disponível
165
+ - ✅ Tratamento de erros robusto
166
+
167
+ ---
168
+
169
+ ## Exemplo 2: Lista Infinita com Cache (Flutter)
170
+
171
+ ### Input (Requisito)
172
+ > Implementar lista de produtos com scroll infinito, cache local e pull-to-refresh
173
+
174
+ ### Output (Implementação)
175
+
176
+ ```dart
177
+ // lib/models/product.dart
178
+ class Product {
179
+ final String id;
180
+ final String name;
181
+ final String imageUrl;
182
+ final double price;
183
+
184
+ Product({
185
+ required this.id,
186
+ required this.name,
187
+ required this.imageUrl,
188
+ required this.price,
189
+ });
190
+
191
+ factory Product.fromJson(Map<String, dynamic> json) {
192
+ return Product(
193
+ id: json['id'],
194
+ name: json['name'],
195
+ imageUrl: json['imageUrl'],
196
+ price: json['price'].toDouble(),
197
+ );
198
+ }
199
+
200
+ Map<String, dynamic> toJson() {
201
+ return {
202
+ 'id': id,
203
+ 'name': name,
204
+ 'imageUrl': imageUrl,
205
+ 'price': price,
206
+ };
207
+ }
208
+ }
209
+
210
+ // lib/services/product_service.dart
211
+ import 'package:dio/dio.dart';
212
+ import 'package:hive/hive.dart';
213
+
214
+ class ProductService {
215
+ final Dio _dio = Dio();
216
+ final Box<Map> _cacheBox = Hive.box<Map>('products_cache');
217
+
218
+ Future<List<Product>> fetchProducts({
219
+ required int page,
220
+ int limit = 20,
221
+ bool forceRefresh = false,
222
+ }) async {
223
+ final cacheKey = 'products_page_$page';
224
+
225
+ // Try cache first
226
+ if (!forceRefresh && _cacheBox.containsKey(cacheKey)) {
227
+ final cached = _cacheBox.get(cacheKey);
228
+ if (cached != null) {
229
+ return (cached['products'] as List)
230
+ .map((json) => Product.fromJson(Map<String, dynamic>.from(json)))
231
+ .toList();
232
+ }
233
+ }
234
+
235
+ // Fetch from API
236
+ try {
237
+ final response = await _dio.get(
238
+ 'https://api.example.com/products',
239
+ queryParameters: {
240
+ 'page': page,
241
+ 'limit': limit,
242
+ },
243
+ );
244
+
245
+ final products = (response.data['products'] as List)
246
+ .map((json) => Product.fromJson(json))
247
+ .toList();
248
+
249
+ // Cache the result
250
+ await _cacheBox.put(cacheKey, {
251
+ 'products': products.map((p) => p.toJson()).toList(),
252
+ 'timestamp': DateTime.now().toIso8601String(),
253
+ });
254
+
255
+ return products;
256
+ } catch (e) {
257
+ // Return cached data if available
258
+ if (_cacheBox.containsKey(cacheKey)) {
259
+ final cached = _cacheBox.get(cacheKey);
260
+ return (cached!['products'] as List)
261
+ .map((json) => Product.fromJson(Map<String, dynamic>.from(json)))
262
+ .toList();
263
+ }
264
+ rethrow;
265
+ }
266
+ }
267
+ }
268
+
269
+ // lib/screens/product_list_screen.dart
270
+ import 'package:flutter/material.dart';
271
+ import 'package:infinite_scroll_pagination/infinite_scroll_pagination.dart';
272
+
273
+ class ProductListScreen extends StatefulWidget {
274
+ @override
275
+ _ProductListScreenState createState() => _ProductListScreenState();
276
+ }
277
+
278
+ class _ProductListScreenState extends State<ProductListScreen> {
279
+ final PagingController<int, Product> _pagingController =
280
+ PagingController(firstPageKey: 1);
281
+ final ProductService _productService = ProductService();
282
+
283
+ @override
284
+ void initState() {
285
+ super.initState();
286
+ _pagingController.addPageRequestListener((pageKey) {
287
+ _fetchPage(pageKey);
288
+ });
289
+ }
290
+
291
+ Future<void> _fetchPage(int pageKey) async {
292
+ try {
293
+ final newItems = await _productService.fetchProducts(page: pageKey);
294
+ final isLastPage = newItems.length < 20;
295
+
296
+ if (isLastPage) {
297
+ _pagingController.appendLastPage(newItems);
298
+ } else {
299
+ final nextPageKey = pageKey + 1;
300
+ _pagingController.appendPage(newItems, nextPageKey);
301
+ }
302
+ } catch (error) {
303
+ _pagingController.error = error;
304
+ }
305
+ }
306
+
307
+ @override
308
+ Widget build(BuildContext context) {
309
+ return Scaffold(
310
+ appBar: AppBar(
311
+ title: Text('Produtos'),
312
+ ),
313
+ body: RefreshIndicator(
314
+ onRefresh: () => Future.sync(() => _pagingController.refresh()),
315
+ child: PagedListView<int, Product>(
316
+ pagingController: _pagingController,
317
+ builderDelegate: PagedChildBuilderDelegate<Product>(
318
+ itemBuilder: (context, item, index) => ProductCard(product: item),
319
+ firstPageErrorIndicatorBuilder: (context) => ErrorView(
320
+ error: _pagingController.error,
321
+ onRetry: () => _pagingController.refresh(),
322
+ ),
323
+ noItemsFoundIndicatorBuilder: (context) => EmptyView(),
324
+ firstPageProgressIndicatorBuilder: (context) => LoadingView(),
325
+ newPageProgressIndicatorBuilder: (context) => Padding(
326
+ padding: EdgeInsets.all(16),
327
+ child: CircularProgressIndicator(),
328
+ ),
329
+ ),
330
+ ),
331
+ ),
332
+ );
333
+ }
334
+
335
+ @override
336
+ void dispose() {
337
+ _pagingController.dispose();
338
+ super.dispose();
339
+ }
340
+ }
341
+
342
+ // lib/widgets/product_card.dart
343
+ class ProductCard extends StatelessWidget {
344
+ final Product product;
345
+
346
+ const ProductCard({Key? key, required this.product}) : super(key: key);
347
+
348
+ @override
349
+ Widget build(BuildContext context) {
350
+ return Card(
351
+ margin: EdgeInsets.symmetric(horizontal: 16, vertical: 8),
352
+ child: ListTile(
353
+ leading: ClipRRect(
354
+ borderRadius: BorderRadius.circular(8),
355
+ child: Image.network(
356
+ product.imageUrl,
357
+ width: 60,
358
+ height: 60,
359
+ fit: BoxFit.cover,
360
+ loadingBuilder: (context, child, loadingProgress) {
361
+ if (loadingProgress == null) return child;
362
+ return Container(
363
+ width: 60,
364
+ height: 60,
365
+ color: Colors.grey[300],
366
+ child: Center(child: CircularProgressIndicator()),
367
+ );
368
+ },
369
+ ),
370
+ ),
371
+ title: Text(
372
+ product.name,
373
+ style: TextStyle(fontWeight: FontWeight.bold),
374
+ ),
375
+ subtitle: Text(
376
+ 'R\$ ${product.price.toStringAsFixed(2)}',
377
+ style: TextStyle(color: Colors.green, fontSize: 16),
378
+ ),
379
+ trailing: Icon(Icons.chevron_right),
380
+ onTap: () {
381
+ // Navigate to product details
382
+ },
383
+ ),
384
+ );
385
+ }
386
+ }
387
+ ```
388
+
389
+ **Resultado:**
390
+ - ✅ Scroll infinito com paginação
391
+ - ✅ Cache local com Hive
392
+ - ✅ Pull-to-refresh funcional
393
+ - ✅ Loading, error e empty states
394
+ - ✅ Otimização de performance
395
+
396
+ ---
397
+
398
+ ## Exemplo 3: Integração com HealthKit (iOS Native - Swift)
399
+
400
+ ### Input (Requisito)
401
+ > Integrar com HealthKit para ler dados de passos e calorias do usuário
402
+
403
+ ### Output (Implementação)
404
+
405
+ ```swift
406
+ // HealthKitManager.swift
407
+ import HealthKit
408
+
409
+ class HealthKitManager {
410
+ static let shared = HealthKitManager()
411
+ private let healthStore = HKHealthStore()
412
+
413
+ private init() {}
414
+
415
+ // MARK: - Authorization
416
+ func requestAuthorization(completion: @escaping (Bool, Error?) -> Void) {
417
+ guard HKHealthStore.isHealthDataAvailable() else {
418
+ completion(false, NSError(domain: "HealthKit not available", code: -1))
419
+ return
420
+ }
421
+
422
+ let typesToRead: Set<HKObjectType> = [
423
+ HKObjectType.quantityType(forIdentifier: .stepCount)!,
424
+ HKObjectType.quantityType(forIdentifier: .activeEnergyBurned)!,
425
+ HKObjectType.quantityType(forIdentifier: .distanceWalkingRunning)!
426
+ ]
427
+
428
+ healthStore.requestAuthorization(toShare: nil, read: typesToRead) { success, error in
429
+ completion(success, error)
430
+ }
431
+ }
432
+
433
+ // MARK: - Fetch Steps
434
+ func fetchSteps(for date: Date, completion: @escaping (Double?, Error?) -> Void) {
435
+ guard let stepType = HKQuantityType.quantityType(forIdentifier: .stepCount) else {
436
+ completion(nil, NSError(domain: "Invalid type", code: -1))
437
+ return
438
+ }
439
+
440
+ let calendar = Calendar.current
441
+ let startOfDay = calendar.startOfDay(for: date)
442
+ let endOfDay = calendar.date(byAdding: .day, value: 1, to: startOfDay)!
443
+
444
+ let predicate = HKQuery.predicateForSamples(
445
+ withStart: startOfDay,
446
+ end: endOfDay,
447
+ options: .strictStartDate
448
+ )
449
+
450
+ let query = HKStatisticsQuery(
451
+ quantityType: stepType,
452
+ quantitySamplePredicate: predicate,
453
+ options: .cumulativeSum
454
+ ) { _, result, error in
455
+ guard let result = result, let sum = result.sumQuantity() else {
456
+ completion(nil, error)
457
+ return
458
+ }
459
+
460
+ let steps = sum.doubleValue(for: HKUnit.count())
461
+ completion(steps, nil)
462
+ }
463
+
464
+ healthStore.execute(query)
465
+ }
466
+
467
+ // MARK: - Fetch Calories
468
+ func fetchCalories(for date: Date, completion: @escaping (Double?, Error?) -> Void) {
469
+ guard let calorieType = HKQuantityType.quantityType(forIdentifier: .activeEnergyBurned) else {
470
+ completion(nil, NSError(domain: "Invalid type", code: -1))
471
+ return
472
+ }
473
+
474
+ let calendar = Calendar.current
475
+ let startOfDay = calendar.startOfDay(for: date)
476
+ let endOfDay = calendar.date(byAdding: .day, value: 1, to: startOfDay)!
477
+
478
+ let predicate = HKQuery.predicateForSamples(
479
+ withStart: startOfDay,
480
+ end: endOfDay,
481
+ options: .strictStartDate
482
+ )
483
+
484
+ let query = HKStatisticsQuery(
485
+ quantityType: calorieType,
486
+ quantitySamplePredicate: predicate,
487
+ options: .cumulativeSum
488
+ ) { _, result, error in
489
+ guard let result = result, let sum = result.sumQuantity() else {
490
+ completion(nil, error)
491
+ return
492
+ }
493
+
494
+ let calories = sum.doubleValue(for: HKUnit.kilocalorie())
495
+ completion(calories, nil)
496
+ }
497
+
498
+ healthStore.execute(query)
499
+ }
500
+
501
+ // MARK: - Fetch Weekly Data
502
+ func fetchWeeklySteps(completion: @escaping ([DailyStats]?, Error?) -> Void) {
503
+ guard let stepType = HKQuantityType.quantityType(forIdentifier: .stepCount) else {
504
+ completion(nil, NSError(domain: "Invalid type", code: -1))
505
+ return
506
+ }
507
+
508
+ let calendar = Calendar.current
509
+ let now = Date()
510
+ let startOfWeek = calendar.date(byAdding: .day, value: -7, to: now)!
511
+
512
+ var interval = DateComponents()
513
+ interval.day = 1
514
+
515
+ let query = HKStatisticsCollectionQuery(
516
+ quantityType: stepType,
517
+ quantitySamplePredicate: nil,
518
+ options: .cumulativeSum,
519
+ anchorDate: startOfWeek,
520
+ intervalComponents: interval
521
+ )
522
+
523
+ query.initialResultsHandler = { _, results, error in
524
+ guard let results = results else {
525
+ completion(nil, error)
526
+ return
527
+ }
528
+
529
+ var dailyStats: [DailyStats] = []
530
+
531
+ results.enumerateStatistics(from: startOfWeek, to: now) { statistics, _ in
532
+ if let sum = statistics.sumQuantity() {
533
+ let steps = sum.doubleValue(for: HKUnit.count())
534
+ dailyStats.append(DailyStats(
535
+ date: statistics.startDate,
536
+ steps: steps
537
+ ))
538
+ }
539
+ }
540
+
541
+ completion(dailyStats, nil)
542
+ }
543
+
544
+ healthStore.execute(query)
545
+ }
546
+ }
547
+
548
+ // Models
549
+ struct DailyStats {
550
+ let date: Date
551
+ let steps: Double
552
+ }
553
+
554
+ // HealthView.swift (SwiftUI)
555
+ import SwiftUI
556
+
557
+ struct HealthView: View {
558
+ @State private var todaySteps: Double = 0
559
+ @State private var todayCalories: Double = 0
560
+ @State private var weeklyData: [DailyStats] = []
561
+ @State private var isLoading = true
562
+ @State private var errorMessage: String?
563
+
564
+ var body: some View {
565
+ NavigationView {
566
+ ScrollView {
567
+ VStack(spacing: 20) {
568
+ if isLoading {
569
+ ProgressView("Carregando dados...")
570
+ } else if let error = errorMessage {
571
+ ErrorView(message: error, onRetry: loadData)
572
+ } else {
573
+ // Today's Stats
574
+ HStack(spacing: 20) {
575
+ StatCard(
576
+ icon: "figure.walk",
577
+ title: "Passos",
578
+ value: "\(Int(todaySteps))",
579
+ color: .blue
580
+ )
581
+
582
+ StatCard(
583
+ icon: "flame.fill",
584
+ title: "Calorias",
585
+ value: "\(Int(todayCalories))",
586
+ color: .orange
587
+ )
588
+ }
589
+ .padding(.horizontal)
590
+
591
+ // Weekly Chart
592
+ VStack(alignment: .leading) {
593
+ Text("Últimos 7 dias")
594
+ .font(.headline)
595
+ .padding(.horizontal)
596
+
597
+ WeeklyChart(data: weeklyData)
598
+ .frame(height: 200)
599
+ .padding()
600
+ }
601
+ }
602
+ }
603
+ .padding(.vertical)
604
+ }
605
+ .navigationTitle("Saúde")
606
+ .onAppear(perform: loadData)
607
+ }
608
+ }
609
+
610
+ private func loadData() {
611
+ isLoading = true
612
+ errorMessage = nil
613
+
614
+ HealthKitManager.shared.requestAuthorization { success, error in
615
+ if success {
616
+ fetchTodayData()
617
+ fetchWeeklyData()
618
+ } else {
619
+ DispatchQueue.main.async {
620
+ isLoading = false
621
+ errorMessage = "Permissão negada para acessar dados de saúde"
622
+ }
623
+ }
624
+ }
625
+ }
626
+
627
+ private func fetchTodayData() {
628
+ let today = Date()
629
+
630
+ HealthKitManager.shared.fetchSteps(for: today) { steps, error in
631
+ DispatchQueue.main.async {
632
+ if let steps = steps {
633
+ todaySteps = steps
634
+ }
635
+ }
636
+ }
637
+
638
+ HealthKitManager.shared.fetchCalories(for: today) { calories, error in
639
+ DispatchQueue.main.async {
640
+ if let calories = calories {
641
+ todayCalories = calories
642
+ }
643
+ isLoading = false
644
+ }
645
+ }
646
+ }
647
+
648
+ private func fetchWeeklyData() {
649
+ HealthKitManager.shared.fetchWeeklySteps { data, error in
650
+ DispatchQueue.main.async {
651
+ if let data = data {
652
+ weeklyData = data
653
+ }
654
+ }
655
+ }
656
+ }
657
+ }
658
+
659
+ struct StatCard: View {
660
+ let icon: String
661
+ let title: String
662
+ let value: String
663
+ let color: Color
664
+
665
+ var body: some View {
666
+ VStack {
667
+ Image(systemName: icon)
668
+ .font(.system(size: 40))
669
+ .foregroundColor(color)
670
+
671
+ Text(value)
672
+ .font(.title)
673
+ .fontWeight(.bold)
674
+
675
+ Text(title)
676
+ .font(.caption)
677
+ .foregroundColor(.secondary)
678
+ }
679
+ .frame(maxWidth: .infinity)
680
+ .padding()
681
+ .background(Color(.systemGray6))
682
+ .cornerRadius(12)
683
+ }
684
+ }
685
+ ```
686
+
687
+ **Resultado:**
688
+ - ✅ Integração completa com HealthKit
689
+ - ✅ Leitura de passos e calorias
690
+ - ✅ Dados semanais com gráfico
691
+ - ✅ Tratamento de permissões
692
+ - ✅ UI moderna com SwiftUI
693
+
694
+ ---
695
+
696
+ ## Exemplo 4: Background Service (Android Native - Kotlin)
697
+
698
+ ### Input (Requisito)
699
+ > Implementar serviço em background para sincronização de dados mesmo com app fechado
700
+
701
+ ### Output (Implementação)
702
+
703
+ ```kotlin
704
+ // SyncWorker.kt
705
+ import android.content.Context
706
+ import androidx.work.*
707
+ import java.util.concurrent.TimeUnit
708
+
709
+ class SyncWorker(
710
+ context: Context,
711
+ params: WorkerParameters
712
+ ) : CoroutineWorker(context, params) {
713
+
714
+ override async suspend fun doWork(): Result {
715
+ return try {
716
+ // Perform sync
717
+ val syncService = SyncService()
718
+ syncService.syncData()
719
+
720
+ // Update notification
721
+ showNotification("Sincronização concluída")
722
+
723
+ Result.success()
724
+ } catch (e: Exception) {
725
+ if (runAttemptCount < 3) {
726
+ Result.retry()
727
+ } else {
728
+ Result.failure()
729
+ }
730
+ }
731
+ }
732
+
733
+ private fun showNotification(message: String) {
734
+ val notificationManager = applicationContext.getSystemService(
735
+ Context.NOTIFICATION_SERVICE
736
+ ) as NotificationManager
737
+
738
+ // Create notification
739
+ // ...
740
+ }
741
+ }
742
+
743
+ // SyncService.kt
744
+ class SyncService {
745
+ private val api = RetrofitClient.api
746
+ private val database = AppDatabase.getInstance()
747
+
748
+ suspend fun syncData() {
749
+ // Fetch pending items
750
+ val pendingItems = database.itemDao().getPendingSync()
751
+
752
+ // Upload to server
753
+ pendingItems.forEach { item ->
754
+ try {
755
+ api.uploadItem(item)
756
+ database.itemDao().markAsSynced(item.id)
757
+ } catch (e: Exception) {
758
+ // Log error
759
+ }
760
+ }
761
+
762
+ // Download new items
763
+ val newItems = api.fetchNewItems()
764
+ database.itemDao().insertAll(newItems)
765
+ }
766
+ }
767
+
768
+ // WorkManager Setup
769
+ class SyncManager(private val context: Context) {
770
+
771
+ fun schedulePeriodicSync() {
772
+ val constraints = Constraints.Builder()
773
+ .setRequiredNetworkType(NetworkType.CONNECTED)
774
+ .setRequiresBatteryNotLow(true)
775
+ .build()
776
+
777
+ val syncRequest = PeriodicWorkRequestBuilder<SyncWorker>(
778
+ 15, TimeUnit.MINUTES
779
+ )
780
+ .setConstraints(constraints)
781
+ .setBackoffCriteria(
782
+ BackoffPolicy.EXPONENTIAL,
783
+ WorkRequest.MIN_BACKOFF_MILLIS,
784
+ TimeUnit.MILLISECONDS
785
+ )
786
+ .build()
787
+
788
+ WorkManager.getInstance(context).enqueueUniquePeriodicWork(
789
+ "sync_work",
790
+ ExistingPeriodicWorkPolicy.KEEP,
791
+ syncRequest
792
+ )
793
+ }
794
+
795
+ fun syncNow() {
796
+ val syncRequest = OneTimeWorkRequestBuilder<SyncWorker>()
797
+ .setExpedited(OutOfQuotaPolicy.RUN_AS_NON_EXPEDITED_WORK_REQUEST)
798
+ .build()
799
+
800
+ WorkManager.getInstance(context).enqueue(syncRequest)
801
+ }
802
+
803
+ fun cancelSync() {
804
+ WorkManager.getInstance(context).cancelUniqueWork("sync_work")
805
+ }
806
+ }
807
+
808
+ // MainActivity.kt
809
+ class MainActivity : AppCompatActivity() {
810
+ private lateinit var syncManager: SyncManager
811
+
812
+ override fun onCreate(savedInstanceState: Bundle?) {
813
+ super.onCreate(savedInstanceState)
814
+ setContentView(R.layout.activity_main)
815
+
816
+ syncManager = SyncManager(this)
817
+ syncManager.schedulePeriodicSync()
818
+
819
+ // Observe sync status
820
+ WorkManager.getInstance(this)
821
+ .getWorkInfosForUniqueWorkLiveData("sync_work")
822
+ .observe(this) { workInfos ->
823
+ workInfos?.firstOrNull()?.let { workInfo ->
824
+ when (workInfo.state) {
825
+ WorkInfo.State.RUNNING -> showSyncingUI()
826
+ WorkInfo.State.SUCCEEDED -> showSyncSuccessUI()
827
+ WorkInfo.State.FAILED -> showSyncErrorUI()
828
+ else -> {}
829
+ }
830
+ }
831
+ }
832
+ }
833
+ }
834
+ ```
835
+
836
+ **Resultado:**
837
+ - ✅ Sincronização em background com WorkManager
838
+ - ✅ Retry automático em caso de falha
839
+ - ✅ Constraints de bateria e rede
840
+ - ✅ Observação de status em tempo real
841
+
842
+ ---
843
+
844
+ ## Exemplo 5: Deep Linking (Cross-Platform)
845
+
846
+ ### Input (Requisito)
847
+ > Implementar deep linking para abrir telas específicas do app via URL
848
+
849
+ ### Output (Implementação - React Native)
850
+
851
+ ```typescript
852
+ // src/navigation/linking.ts
853
+ import { LinkingOptions } from '@react-navigation/native';
854
+
855
+ export const linking: LinkingOptions<RootStackParamList> = {
856
+ prefixes: ['myapp://', 'https://myapp.com'],
857
+ config: {
858
+ screens: {
859
+ Home: '',
860
+ ProductDetails: 'product/:id',
861
+ UserProfile: 'user/:username',
862
+ Checkout: 'checkout',
863
+ OrderConfirmation: 'order/:orderId/confirmation',
864
+ },
865
+ },
866
+ };
867
+
868
+ // src/navigation/RootNavigator.tsx
869
+ import { NavigationContainer } from '@react-navigation/native';
870
+ import { createNativeStackNavigator } from '@react-navigation/native-stack';
871
+ import { linking } from './linking';
872
+
873
+ const Stack = createNativeStackNavigator<RootStackParamList>();
874
+
875
+ export const RootNavigator = () => {
876
+ return (
877
+ <NavigationContainer linking={linking}>
878
+ <Stack.Navigator>
879
+ <Stack.Screen name="Home" component={HomeScreen} />
880
+ <Stack.Screen name="ProductDetails" component={ProductDetailsScreen} />
881
+ <Stack.Screen name="UserProfile" component={UserProfileScreen} />
882
+ <Stack.Screen name="Checkout" component={CheckoutScreen} />
883
+ <Stack.Screen name="OrderConfirmation" component={OrderConfirmationScreen} />
884
+ </Stack.Navigator>
885
+ </NavigationContainer>
886
+ );
887
+ };
888
+
889
+ // iOS Configuration (ios/MyApp/AppDelegate.mm)
890
+ #import <React/RCTLinkingManager.h>
891
+
892
+ - (BOOL)application:(UIApplication *)application
893
+ openURL:(NSURL *)url
894
+ options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
895
+ {
896
+ return [RCTLinkingManager application:application openURL:url options:options];
897
+ }
898
+
899
+ - (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity
900
+ restorationHandler:(nonnull void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler
901
+ {
902
+ return [RCTLinkingManager application:application
903
+ continueUserActivity:userActivity
904
+ restorationHandler:restorationHandler];
905
+ }
906
+
907
+ // Android Configuration (android/app/src/main/AndroidManifest.xml)
908
+ <activity
909
+ android:name=".MainActivity"
910
+ android:launchMode="singleTask">
911
+ <intent-filter>
912
+ <action android:name="android.intent.action.MAIN" />
913
+ <category android:name="android.intent.category.LAUNCHER" />
914
+ </intent-filter>
915
+ <intent-filter>
916
+ <action android:name="android.intent.action.VIEW" />
917
+ <category android:name="android.intent.category.DEFAULT" />
918
+ <category android:name="android.intent.category.BROWSABLE" />
919
+ <data android:scheme="myapp" />
920
+ <data android:scheme="https" android:host="myapp.com" />
921
+ </intent-filter>
922
+ </activity>
923
+
924
+ // Usage in components
925
+ import { useNavigation } from '@react-navigation/native';
926
+ import { Linking } from 'react-native';
927
+
928
+ const ShareButton = ({ productId }: { productId: string }) => {
929
+ const handleShare = async () => {
930
+ const url = `https://myapp.com/product/${productId}`;
931
+ await Share.share({
932
+ message: `Confira este produto: ${url}`,
933
+ url,
934
+ });
935
+ };
936
+
937
+ return (
938
+ <TouchableOpacity onPress={handleShare}>
939
+ <Text>Compartilhar</Text>
940
+ </TouchableOpacity>
941
+ );
942
+ };
943
+ ```
944
+
945
+ **Resultado:**
946
+ - ✅ Deep linking configurado para iOS e Android
947
+ - ✅ Universal links (HTTPS) funcionando
948
+ - ✅ Navegação automática para telas específicas
949
+ - ✅ Compartilhamento com links funcionais
950
+
951
+ ---
952
+
953
+ ## 📊 Resumo dos Exemplos
954
+
955
+ | Exemplo | Plataforma | Complexidade | Recursos Usados |
956
+ |---------|-----------|--------------|-----------------|
957
+ | 1. Biometria | React Native | Média | Face ID, Touch ID, Secure Storage |
958
+ | 2. Lista Infinita | Flutter | Média | Paginação, Cache, Pull-to-refresh |
959
+ | 3. HealthKit | iOS Native | Alta | HealthKit, SwiftUI, Charts |
960
+ | 4. Background Service | Android Native | Alta | WorkManager, Room, Notifications |
961
+ | 5. Deep Linking | React Native | Baixa | Navigation, Linking, Share |
962
+
963
+ ---
964
+
965
+ **Última Atualização:** 31/01/2026
966
+ **Versão:** 2.0.0