@maestro-ai/mcp-server 1.1.0 → 2.0.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 (821) hide show
  1. package/dist/adapters/skill-adapter.d.ts +57 -0
  2. package/dist/adapters/skill-adapter.d.ts.map +1 -0
  3. package/dist/adapters/skill-adapter.js +272 -0
  4. package/dist/adapters/skill-adapter.js.map +1 -0
  5. package/dist/content/rules/GEMINI.md +79 -27
  6. package/dist/content/rules/RULES.md +6 -0
  7. package/dist/content/skills/specialist-acessibilidade/MCP_INTEGRATION.md +698 -0
  8. package/dist/content/skills/specialist-acessibilidade/README.md +292 -0
  9. package/dist/content/skills/specialist-acessibilidade/SKILL.md +202 -0
  10. package/dist/content/skills/specialist-acessibilidade/mcp_functions/init_accessibility_audit.py +675 -0
  11. package/dist/content/skills/specialist-acessibilidade/mcp_functions/validate_wcag_compliance.py +587 -0
  12. package/dist/content/skills/specialist-acessibilidade/resources/checklists/accessibility-validation.md +457 -0
  13. package/dist/content/skills/specialist-acessibilidade/resources/examples/accessibility-examples.md +863 -0
  14. package/dist/content/skills/specialist-acessibilidade/resources/reference/wcag-guide.md +359 -0
  15. package/dist/content/skills/specialist-acessibilidade/resources/templates/checklist-acessibilidade.md +435 -0
  16. package/dist/content/skills/specialist-acessibilidade/resources/templates/relatorio-acessibilidade.md +490 -0
  17. package/dist/content/skills/specialist-analise-testes/MCP_INTEGRATION.md +569 -0
  18. package/dist/content/skills/specialist-analise-testes/README.md +42 -0
  19. package/dist/content/skills/specialist-analise-testes/SKILL.md +258 -0
  20. package/dist/content/skills/specialist-analise-testes/mcp_functions/README.md +794 -0
  21. package/dist/content/skills/specialist-analise-testes/resources/checklists/testing-validation.md +305 -0
  22. package/dist/content/skills/specialist-analise-testes/resources/examples/testing-examples.md +395 -0
  23. package/dist/content/skills/specialist-analise-testes/resources/reference/testing-guide.md +1024 -0
  24. package/dist/content/skills/specialist-arquitetura-avancada/MCP_INTEGRATION.md +440 -0
  25. package/dist/content/skills/specialist-arquitetura-avancada/README.md +298 -0
  26. package/dist/content/skills/specialist-arquitetura-avancada/SKILL.md +295 -0
  27. package/dist/content/skills/specialist-arquitetura-avancada/mcp_functions/README.md +573 -0
  28. package/dist/content/skills/specialist-arquitetura-avancada/resources/checklists/architecture-validation.md +385 -0
  29. package/dist/content/skills/specialist-arquitetura-avancada/resources/examples/architecture-examples.md +743 -0
  30. package/dist/content/skills/specialist-arquitetura-avancada/resources/reference/architecture-guide.md +680 -0
  31. package/dist/content/skills/specialist-arquitetura-avancada/resources/templates/bounded-context.md +333 -0
  32. package/dist/content/skills/specialist-arquitetura-avancada/resources/templates/cqrs-implementation.md +495 -0
  33. package/dist/content/skills/specialist-arquitetura-avancada/resources/templates/event-sourcing.md +571 -0
  34. package/dist/content/skills/specialist-arquitetura-avancada/resources/templates/microservices-strategy.md +647 -0
  35. package/dist/content/skills/specialist-arquitetura-software/MCP_INTEGRATION.md +483 -0
  36. package/dist/content/skills/specialist-arquitetura-software/README.md +306 -0
  37. package/dist/content/skills/specialist-arquitetura-software/SKILL.md +194 -0
  38. package/dist/content/skills/specialist-arquitetura-software/mcp_functions/init_architecture.py +137 -0
  39. package/dist/content/skills/specialist-arquitetura-software/mcp_functions/process_architecture.py +279 -0
  40. package/dist/content/skills/specialist-arquitetura-software/mcp_functions/validate_architecture.py +302 -0
  41. package/dist/content/skills/specialist-arquitetura-software/resources/checklists/architecture-validation.md +180 -0
  42. package/dist/content/skills/specialist-arquitetura-software/resources/examples/architecture-examples.md +239 -0
  43. package/dist/content/skills/specialist-arquitetura-software/resources/reference/architecture-guide.md +489 -0
  44. package/dist/content/skills/specialist-arquitetura-software/resources/templates/adr.md +61 -0
  45. package/dist/content/skills/specialist-arquitetura-software/resources/templates/arquitetura.md +192 -0
  46. package/dist/content/skills/specialist-arquitetura-software/resources/templates/slo-sli.md +153 -0
  47. package/dist/content/skills/specialist-banco-dados/MCP_INTEGRATION.md +390 -0
  48. package/dist/content/skills/specialist-banco-dados/README.md +323 -0
  49. package/dist/content/skills/specialist-banco-dados/SKILL.md +221 -0
  50. package/dist/content/skills/specialist-banco-dados/mcp_functions/init_database.py +720 -0
  51. package/dist/content/skills/specialist-banco-dados/mcp_functions/process_database.py +386 -0
  52. package/dist/content/skills/specialist-banco-dados/mcp_functions/validate_database.py +551 -0
  53. package/dist/content/skills/specialist-banco-dados/resources/checklists/database-validation.md +434 -0
  54. package/dist/content/skills/specialist-banco-dados/resources/examples/database-examples.md +857 -0
  55. package/dist/content/skills/specialist-banco-dados/resources/reference/database-guide.md +708 -0
  56. package/dist/content/skills/specialist-banco-dados/resources/templates/constraints.md +935 -0
  57. package/dist/content/skills/specialist-banco-dados/resources/templates/design-banco.md +509 -0
  58. package/dist/content/skills/specialist-banco-dados/resources/templates/indices.md +553 -0
  59. package/dist/content/skills/specialist-banco-dados/resources/templates/migracoes.md +777 -0
  60. package/dist/content/skills/specialist-contrato-api/MCP_INTEGRATION.md +152 -0
  61. package/dist/content/skills/specialist-contrato-api/README.md +183 -0
  62. package/dist/content/skills/specialist-contrato-api/SKILL.md +317 -0
  63. package/dist/content/skills/specialist-contrato-api/mcp_functions/README.md +17 -0
  64. package/dist/content/skills/specialist-contrato-api/resources/checklists/api-validation.md +44 -0
  65. package/dist/content/skills/specialist-contrato-api/resources/examples/api-examples.md +137 -0
  66. package/dist/content/skills/specialist-contrato-api/resources/reference/api-guide.md +96 -0
  67. package/dist/content/skills/specialist-contrato-api/resources/templates/contrato-api.md +165 -0
  68. package/dist/content/skills/specialist-dados-analytics-ia/MCP_INTEGRATION.md +398 -0
  69. package/dist/content/skills/specialist-dados-analytics-ia/README.md +224 -0
  70. package/dist/content/skills/specialist-dados-analytics-ia/SKILL.md +160 -0
  71. package/dist/content/skills/specialist-dados-analytics-ia/mcp_functions/generate_insights_dashboard.py +669 -0
  72. package/dist/content/skills/specialist-dados-analytics-ia/mcp_functions/init_analytics_pipeline.py +626 -0
  73. package/dist/content/skills/specialist-dados-analytics-ia/mcp_functions/validate_analytics_quality.py +772 -0
  74. package/dist/content/skills/specialist-dados-analytics-ia/resources/checklists/analytics-validation.md +519 -0
  75. package/dist/content/skills/specialist-dados-analytics-ia/resources/examples/analytics-examples.md +646 -0
  76. package/dist/content/skills/specialist-dados-analytics-ia/resources/reference/analytics-guide.md +1111 -0
  77. package/dist/content/skills/specialist-dados-analytics-ia/resources/templates/feature.md +419 -0
  78. package/dist/content/skills/specialist-dados-analytics-ia/resources/templates/requisitos.md +384 -0
  79. package/dist/content/skills/specialist-dados-analytics-ia/resources/templates/slo-sli.md +381 -0
  80. package/dist/content/skills/specialist-debugging-troubleshooting/MCP_INTEGRATION.md +340 -0
  81. package/dist/content/skills/specialist-debugging-troubleshooting/README.md +218 -0
  82. package/dist/content/skills/specialist-debugging-troubleshooting/SKILL.md +194 -0
  83. package/dist/content/skills/specialist-debugging-troubleshooting/resources/checklists/debugging-validation.md +319 -0
  84. package/dist/content/skills/specialist-debugging-troubleshooting/resources/examples/debugging-examples.md +480 -0
  85. package/dist/content/skills/specialist-debugging-troubleshooting/resources/prompts/analise-bugs.md +527 -0
  86. package/dist/content/skills/specialist-debugging-troubleshooting/resources/reference/debugging-guide.md +392 -0
  87. package/dist/content/skills/specialist-debugging-troubleshooting/resources/templates/bug-report.md +192 -0
  88. package/dist/content/skills/specialist-debugging-troubleshooting/resources/templates/post-mortem.md +241 -0
  89. package/dist/content/skills/specialist-debugging-troubleshooting/scripts/README.md +64 -0
  90. package/dist/content/skills/specialist-desenvolvimento-backend/MCP_INTEGRATION.md +98 -0
  91. package/dist/content/skills/specialist-desenvolvimento-backend/README.md +167 -0
  92. package/dist/content/skills/specialist-desenvolvimento-backend/SKILL.md +288 -0
  93. package/dist/content/skills/specialist-desenvolvimento-backend/mcp_functions/README.md +17 -0
  94. package/dist/content/skills/specialist-desenvolvimento-backend/resources/checklists/backend-validation.md +44 -0
  95. package/dist/content/skills/specialist-desenvolvimento-backend/resources/examples/backend-examples.md +109 -0
  96. package/dist/content/skills/specialist-desenvolvimento-backend/resources/reference/backend-guide.md +86 -0
  97. package/dist/content/skills/specialist-desenvolvimento-frontend/MCP_INTEGRATION.md +914 -0
  98. package/dist/content/skills/specialist-desenvolvimento-frontend/README.md +261 -0
  99. package/dist/content/skills/specialist-desenvolvimento-frontend/SKILL.md +220 -0
  100. package/dist/content/skills/specialist-desenvolvimento-frontend/mcp_functions/init_frontend.py +861 -0
  101. package/dist/content/skills/specialist-desenvolvimento-frontend/mcp_functions/process_frontend.py +1003 -0
  102. package/dist/content/skills/specialist-desenvolvimento-frontend/mcp_functions/validate_frontend.py +766 -0
  103. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/checklists/frontend-validation.md +365 -0
  104. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/examples/frontend-examples.md +1125 -0
  105. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/reference/frontend-guide.md +1055 -0
  106. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/templates/component-story.md +530 -0
  107. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/templates/historia-frontend.md +243 -0
  108. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/templates/ui-guidelines.md +725 -0
  109. package/dist/content/skills/specialist-desenvolvimento-mobile/MCP_INTEGRATION.md +87 -0
  110. package/dist/content/skills/specialist-desenvolvimento-mobile/README.md +149 -0
  111. package/dist/content/skills/specialist-desenvolvimento-mobile/SKILL.md +360 -0
  112. package/dist/content/skills/specialist-desenvolvimento-mobile/mcp_functions/README.md +17 -0
  113. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/checklists/mobile-validation.md +330 -0
  114. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/examples/mobile-examples.md +966 -0
  115. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/android-guide.md +546 -0
  116. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/flutter-guide.md +500 -0
  117. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/ios-guide.md +518 -0
  118. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/mobile-guide.md +76 -0
  119. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/react-native-guide.md +659 -0
  120. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/templates/historia-mobile.md +284 -0
  121. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/templates/mobile-checklist.md +239 -0
  122. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/templates/platform-selection.md +302 -0
  123. package/dist/content/skills/specialist-devops-infra/MCP_INTEGRATION.md +471 -0
  124. package/dist/content/skills/specialist-devops-infra/README.md +234 -0
  125. package/dist/content/skills/specialist-devops-infra/SKILL.md +162 -0
  126. package/dist/content/skills/specialist-devops-infra/mcp_functions/generate_ci_cd_pipeline.py +870 -0
  127. package/dist/content/skills/specialist-devops-infra/mcp_functions/init_infrastructure_structure.py +704 -0
  128. package/dist/content/skills/specialist-devops-infra/mcp_functions/validate_infrastructure_quality.py +745 -0
  129. package/dist/content/skills/specialist-devops-infra/resources/checklists/devops-validation.md +427 -0
  130. package/dist/content/skills/specialist-devops-infra/resources/examples/devops-examples.md +652 -0
  131. package/dist/content/skills/specialist-devops-infra/resources/reference/devops-guide.md +1244 -0
  132. package/dist/content/skills/specialist-devops-infra/resources/templates/ci-cd-pipeline.yml +40 -0
  133. package/dist/content/skills/specialist-documentacao-tecnica/MCP_INTEGRATION.md +797 -0
  134. package/dist/content/skills/specialist-documentacao-tecnica/README.md +304 -0
  135. package/dist/content/skills/specialist-documentacao-tecnica/SKILL.md +202 -0
  136. package/dist/content/skills/specialist-documentacao-tecnica/mcp_functions/init_documentation_structure.py +733 -0
  137. package/dist/content/skills/specialist-documentacao-tecnica/mcp_functions/process_documentation_for_publishing.py +888 -0
  138. package/dist/content/skills/specialist-documentacao-tecnica/mcp_functions/validate_documentation_quality.py +775 -0
  139. package/dist/content/skills/specialist-documentacao-tecnica/resources/checklists/documentation-validation.md +296 -0
  140. package/dist/content/skills/specialist-documentacao-tecnica/resources/examples/documentation-examples.md +515 -0
  141. package/dist/content/skills/specialist-documentacao-tecnica/resources/reference/documentation-guide.md +798 -0
  142. package/dist/content/skills/specialist-documentacao-tecnica/resources/templates/api-docs.md +619 -0
  143. package/dist/content/skills/specialist-documentacao-tecnica/resources/templates/design-doc.md +250 -0
  144. package/dist/content/skills/specialist-documentacao-tecnica/resources/templates/guia-tecnico.md +383 -0
  145. package/dist/content/skills/specialist-documentacao-tecnica/resources/templates/readme-template.md +462 -0
  146. package/dist/content/skills/specialist-engenharia-requisitos-ia/MCP_INTEGRATION.md +457 -0
  147. package/dist/content/skills/specialist-engenharia-requisitos-ia/README.md +295 -0
  148. package/dist/content/skills/specialist-engenharia-requisitos-ia/SKILL.md +214 -0
  149. package/dist/content/skills/specialist-engenharia-requisitos-ia/mcp_functions/init_requirements.py +152 -0
  150. package/dist/content/skills/specialist-engenharia-requisitos-ia/mcp_functions/process_requirements.py +445 -0
  151. package/dist/content/skills/specialist-engenharia-requisitos-ia/mcp_functions/validate_requirements.py +475 -0
  152. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/checklists/requirements-validation.md +258 -0
  153. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/examples/requirements-examples.md +316 -0
  154. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/reference/requirements-guide.md +651 -0
  155. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/templates/criterios-aceite.md +484 -0
  156. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/templates/matriz-rastreabilidade.md +246 -0
  157. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/templates/requisitos.md +244 -0
  158. package/dist/content/skills/specialist-exploracao-codebase/MCP_INTEGRATION.md +155 -0
  159. package/dist/content/skills/specialist-exploracao-codebase/README.md +320 -0
  160. package/dist/content/skills/specialist-exploracao-codebase/SKILL.md +194 -0
  161. package/dist/content/skills/specialist-exploracao-codebase/mcp_functions/README.md +39 -0
  162. package/dist/content/skills/specialist-exploracao-codebase/resources/checklists/exploration-validation.md +51 -0
  163. package/dist/content/skills/specialist-exploracao-codebase/resources/examples/exploration-examples.md +106 -0
  164. package/dist/content/skills/specialist-exploracao-codebase/resources/reference/exploration-guide.md +111 -0
  165. package/dist/content/skills/specialist-exploracao-codebase/resources/templates/codebase-map.md +129 -0
  166. package/dist/content/skills/specialist-exploracao-codebase/resources/templates/refactoring-plan.md +96 -0
  167. package/dist/content/skills/specialist-exploracao-codebase/resources/templates/technical-debt-report.md +69 -0
  168. package/dist/content/skills/specialist-gestao-produto/MCP_INTEGRATION.md +436 -0
  169. package/dist/content/skills/specialist-gestao-produto/README.md +202 -0
  170. package/dist/content/skills/specialist-gestao-produto/SKILL.md +174 -0
  171. package/dist/content/skills/specialist-gestao-produto/resources/checklists/prd-validation.md +165 -0
  172. package/dist/content/skills/specialist-gestao-produto/resources/examples/prd-examples.md +231 -0
  173. package/dist/content/skills/specialist-gestao-produto/resources/reference/product-guide.md +416 -0
  174. package/dist/content/skills/specialist-gestao-produto/resources/templates/PRD.md +212 -0
  175. package/dist/content/skills/specialist-gestao-produto/scripts/init_prd.py +170 -0
  176. package/dist/content/skills/specialist-gestao-produto/scripts/process_prd.py +388 -0
  177. package/dist/content/skills/specialist-gestao-produto/scripts/validate_prd.py +406 -0
  178. package/dist/content/skills/specialist-migracao-modernizacao/MCP_INTEGRATION.md +17 -0
  179. package/dist/content/skills/specialist-migracao-modernizacao/README.md +46 -0
  180. package/dist/content/skills/specialist-migracao-modernizacao/SKILL.md +485 -0
  181. package/dist/content/skills/specialist-migracao-modernizacao/mcp_functions/README.md +10 -0
  182. package/dist/content/skills/specialist-migracao-modernizacao/resources/checklists/migration-validation.md +23 -0
  183. package/dist/content/skills/specialist-migracao-modernizacao/resources/examples/migration-examples.md +30 -0
  184. package/dist/content/skills/specialist-migracao-modernizacao/resources/reference/migration-guide.md +27 -0
  185. package/dist/content/skills/specialist-migracao-modernizacao/resources/templates/migration-assessment.md +391 -0
  186. package/dist/content/skills/specialist-migracao-modernizacao/resources/templates/modernization-roadmap.md +479 -0
  187. package/dist/content/skills/specialist-migracao-modernizacao/resources/templates/risk-analysis.md +527 -0
  188. package/dist/content/skills/specialist-mobile-design-avancado/MCP_INTEGRATION.md +17 -0
  189. package/dist/content/skills/specialist-mobile-design-avancado/README.md +46 -0
  190. package/dist/content/skills/specialist-mobile-design-avancado/SKILL.md +567 -0
  191. package/dist/content/skills/specialist-mobile-design-avancado/mcp_functions/README.md +10 -0
  192. package/dist/content/skills/specialist-mobile-design-avancado/resources/checklists/design-validation.md +23 -0
  193. package/dist/content/skills/specialist-mobile-design-avancado/resources/examples/design-examples.md +46 -0
  194. package/dist/content/skills/specialist-mobile-design-avancado/resources/reference/design-guide.md +23 -0
  195. package/dist/content/skills/specialist-modelagem-dominio/MCP_INTEGRATION.md +336 -0
  196. package/dist/content/skills/specialist-modelagem-dominio/README.md +314 -0
  197. package/dist/content/skills/specialist-modelagem-dominio/SKILL.md +241 -0
  198. package/dist/content/skills/specialist-modelagem-dominio/mcp_functions/init_domain.py +479 -0
  199. package/dist/content/skills/specialist-modelagem-dominio/mcp_functions/process_domain.py +526 -0
  200. package/dist/content/skills/specialist-modelagem-dominio/mcp_functions/validate_domain.py +569 -0
  201. package/dist/content/skills/specialist-modelagem-dominio/resources/checklists/domain-validation.md +341 -0
  202. package/dist/content/skills/specialist-modelagem-dominio/resources/examples/domain-examples.md +505 -0
  203. package/dist/content/skills/specialist-modelagem-dominio/resources/reference/domain-guide.md +601 -0
  204. package/dist/content/skills/specialist-modelagem-dominio/resources/reference/domain-modeling-complete-guide.md +1126 -0
  205. package/dist/content/skills/specialist-modelagem-dominio/resources/templates/arquitetura-c4.md +477 -0
  206. package/dist/content/skills/specialist-modelagem-dominio/resources/templates/casos-uso.md +395 -0
  207. package/dist/content/skills/specialist-modelagem-dominio/resources/templates/entidades-relacionamentos.md +368 -0
  208. package/dist/content/skills/specialist-modelagem-dominio/resources/templates/modelo-dominio.md +311 -0
  209. package/dist/content/skills/specialist-observabilidade/SKILL.md +462 -0
  210. package/dist/content/skills/specialist-performance-escalabilidade/SKILL.md +329 -0
  211. package/dist/content/skills/specialist-plano-execucao-ia/MCP_INTEGRATION.md +371 -0
  212. package/dist/content/skills/specialist-plano-execucao-ia/README.md +194 -0
  213. package/dist/content/skills/specialist-plano-execucao-ia/SKILL.md +271 -0
  214. package/dist/content/skills/specialist-plano-execucao-ia/mcp_functions/README.md +38 -0
  215. package/dist/content/skills/specialist-plano-execucao-ia/resources/checklists/planning-validation.md +144 -0
  216. package/dist/content/skills/specialist-plano-execucao-ia/resources/examples/planning-examples.md +203 -0
  217. package/dist/content/skills/specialist-plano-execucao-ia/resources/reference/planning-guide.md +316 -0
  218. package/dist/content/skills/specialist-plano-execucao-ia/resources/templates/backlog.md +146 -0
  219. package/dist/content/skills/specialist-plano-execucao-ia/resources/templates/historia-backend.md +157 -0
  220. package/dist/content/skills/specialist-plano-execucao-ia/resources/templates/historia-frontend.md +116 -0
  221. package/dist/content/skills/specialist-plano-execucao-ia/resources/templates/historia-usuario.md +66 -0
  222. package/dist/content/skills/specialist-prototipagem-stitch/MCP_INTEGRATION.md +533 -0
  223. package/dist/content/skills/specialist-prototipagem-stitch/README.md +321 -0
  224. package/dist/content/skills/specialist-prototipagem-stitch/SKILL.md +194 -0
  225. package/dist/content/skills/specialist-prototipagem-stitch/mcp_functions/README.md +239 -0
  226. package/dist/content/skills/specialist-prototipagem-stitch/resources/checklists/stitch-validation.md +357 -0
  227. package/dist/content/skills/specialist-prototipagem-stitch/resources/examples/stitch-examples.md +372 -0
  228. package/dist/content/skills/specialist-prototipagem-stitch/resources/reference/stitch-guide.md +517 -0
  229. package/dist/content/skills/specialist-prototipagem-stitch/resources/templates/prompt-stitch.md +429 -0
  230. package/dist/content/skills/specialist-prototipagem-stitch/resources/templates/prototipo-stitch.md +317 -0
  231. package/dist/content/skills/specialist-seguranca-informacao/MCP_INTEGRATION.md +466 -0
  232. package/dist/content/skills/specialist-seguranca-informacao/README.md +245 -0
  233. package/dist/content/skills/specialist-seguranca-informacao/SKILL.md +343 -0
  234. package/dist/content/skills/specialist-seguranca-informacao/mcp_functions/init_security.py +405 -0
  235. package/dist/content/skills/specialist-seguranca-informacao/mcp_functions/process_security.py +611 -0
  236. package/dist/content/skills/specialist-seguranca-informacao/mcp_functions/validate_security.py +468 -0
  237. package/dist/content/skills/specialist-seguranca-informacao/resources/checklists/security-validation.md +368 -0
  238. package/dist/content/skills/specialist-seguranca-informacao/resources/examples/security-examples.md +358 -0
  239. package/dist/content/skills/specialist-seguranca-informacao/resources/reference/security-guide.md +757 -0
  240. package/dist/content/skills/specialist-seguranca-informacao/resources/templates/checklist-seguranca.md +383 -0
  241. package/dist/content/skills/specialist-seguranca-informacao/resources/templates/slo-sli.md +244 -0
  242. package/dist/content/skills/specialist-seguranca-informacao/resources/templates/threat-modeling.md +161 -0
  243. package/dist/content/skills/specialist-ux-design/MCP_INTEGRATION.md +294 -0
  244. package/dist/content/skills/specialist-ux-design/README.md +304 -0
  245. package/dist/content/skills/specialist-ux-design/SKILL.md +212 -0
  246. package/dist/content/skills/specialist-ux-design/mcp_functions/init_ux.py +126 -0
  247. package/dist/content/skills/specialist-ux-design/mcp_functions/process_ux.py +408 -0
  248. package/dist/content/skills/specialist-ux-design/mcp_functions/validate_ux.py +379 -0
  249. package/dist/content/skills/specialist-ux-design/resources/checklists/ux-validation.md +77 -0
  250. package/dist/content/skills/specialist-ux-design/resources/examples/ux-examples.md +161 -0
  251. package/dist/content/skills/specialist-ux-design/resources/reference/ux-guide.md +184 -0
  252. package/dist/content/skills/specialist-ux-design/resources/templates/design-doc.md +160 -0
  253. package/dist/content/skills/specialist-ux-design/resources/templates/jornada-usuario.md +126 -0
  254. package/dist/content/skills/specialist-ux-design/resources/templates/wireframes.md +155 -0
  255. package/dist/core/adr/ADRGenerator.d.ts +28 -0
  256. package/dist/core/adr/ADRGenerator.d.ts.map +1 -0
  257. package/dist/core/adr/ADRGenerator.js +63 -0
  258. package/dist/core/adr/ADRGenerator.js.map +1 -0
  259. package/dist/core/adr/index.d.ts +2 -0
  260. package/dist/core/adr/index.d.ts.map +1 -0
  261. package/dist/core/adr/index.js +2 -0
  262. package/dist/core/adr/index.js.map +1 -0
  263. package/dist/core/architecture/FitnessFunctions.d.ts +67 -0
  264. package/dist/core/architecture/FitnessFunctions.d.ts.map +1 -0
  265. package/dist/core/architecture/FitnessFunctions.js +292 -0
  266. package/dist/core/architecture/FitnessFunctions.js.map +1 -0
  267. package/dist/core/architecture/index.d.ts +3 -0
  268. package/dist/core/architecture/index.d.ts.map +1 -0
  269. package/dist/core/architecture/index.js +3 -0
  270. package/dist/core/architecture/index.js.map +1 -0
  271. package/dist/core/architecture/types.d.ts +42 -0
  272. package/dist/core/architecture/types.d.ts.map +1 -0
  273. package/dist/core/architecture/types.js +5 -0
  274. package/dist/core/architecture/types.js.map +1 -0
  275. package/dist/core/atam/ATAMAnalyzer.d.ts +19 -0
  276. package/dist/core/atam/ATAMAnalyzer.d.ts.map +1 -0
  277. package/dist/core/atam/ATAMAnalyzer.js +206 -0
  278. package/dist/core/atam/ATAMAnalyzer.js.map +1 -0
  279. package/dist/core/atam/ATAMReporter.d.ts +16 -0
  280. package/dist/core/atam/ATAMReporter.d.ts.map +1 -0
  281. package/dist/core/atam/ATAMReporter.js +175 -0
  282. package/dist/core/atam/ATAMReporter.js.map +1 -0
  283. package/dist/core/atam/QualityScenarios.d.ts +16 -0
  284. package/dist/core/atam/QualityScenarios.d.ts.map +1 -0
  285. package/dist/core/atam/QualityScenarios.js +149 -0
  286. package/dist/core/atam/QualityScenarios.js.map +1 -0
  287. package/dist/core/atam/RiskRegistry.d.ts +21 -0
  288. package/dist/core/atam/RiskRegistry.d.ts.map +1 -0
  289. package/dist/core/atam/RiskRegistry.js +83 -0
  290. package/dist/core/atam/RiskRegistry.js.map +1 -0
  291. package/dist/core/atam/index.d.ts +6 -0
  292. package/dist/core/atam/index.d.ts.map +1 -0
  293. package/dist/core/atam/index.js +6 -0
  294. package/dist/core/atam/index.js.map +1 -0
  295. package/dist/core/atam/types.d.ts +86 -0
  296. package/dist/core/atam/types.d.ts.map +1 -0
  297. package/dist/core/atam/types.js +5 -0
  298. package/dist/core/atam/types.js.map +1 -0
  299. package/dist/core/authority/AuthorityManager.d.ts +19 -0
  300. package/dist/core/authority/AuthorityManager.d.ts.map +1 -0
  301. package/dist/core/authority/AuthorityManager.js +66 -0
  302. package/dist/core/authority/AuthorityManager.js.map +1 -0
  303. package/dist/core/authority/index.d.ts +2 -0
  304. package/dist/core/authority/index.d.ts.map +1 -0
  305. package/dist/core/authority/index.js +2 -0
  306. package/dist/core/authority/index.js.map +1 -0
  307. package/dist/core/autofix/AutoFixEngine.d.ts +17 -0
  308. package/dist/core/autofix/AutoFixEngine.d.ts.map +1 -0
  309. package/dist/core/autofix/AutoFixEngine.js +46 -0
  310. package/dist/core/autofix/AutoFixEngine.js.map +1 -0
  311. package/dist/core/autofix/index.d.ts +2 -0
  312. package/dist/core/autofix/index.d.ts.map +1 -0
  313. package/dist/core/autofix/index.js +2 -0
  314. package/dist/core/autofix/index.js.map +1 -0
  315. package/dist/core/automation/AutoExecutor.d.ts +20 -0
  316. package/dist/core/automation/AutoExecutor.d.ts.map +1 -0
  317. package/dist/core/automation/AutoExecutor.js +38 -0
  318. package/dist/core/automation/AutoExecutor.js.map +1 -0
  319. package/dist/core/automation/index.d.ts +2 -0
  320. package/dist/core/automation/index.d.ts.map +1 -0
  321. package/dist/core/automation/index.js +2 -0
  322. package/dist/core/automation/index.js.map +1 -0
  323. package/dist/core/checkpoint/CheckpointManager.d.ts +43 -0
  324. package/dist/core/checkpoint/CheckpointManager.d.ts.map +1 -0
  325. package/dist/core/checkpoint/CheckpointManager.js +158 -0
  326. package/dist/core/checkpoint/CheckpointManager.js.map +1 -0
  327. package/dist/core/checkpoint/RollbackEngine.d.ts +31 -0
  328. package/dist/core/checkpoint/RollbackEngine.d.ts.map +1 -0
  329. package/dist/core/checkpoint/RollbackEngine.js +176 -0
  330. package/dist/core/checkpoint/RollbackEngine.js.map +1 -0
  331. package/dist/core/checkpoint/index.d.ts +4 -0
  332. package/dist/core/checkpoint/index.d.ts.map +1 -0
  333. package/dist/core/checkpoint/index.js +4 -0
  334. package/dist/core/checkpoint/index.js.map +1 -0
  335. package/dist/core/checkpoint/types.d.ts +33 -0
  336. package/dist/core/checkpoint/types.d.ts.map +1 -0
  337. package/dist/core/checkpoint/types.js +2 -0
  338. package/dist/core/checkpoint/types.js.map +1 -0
  339. package/dist/core/consistency/ConsistencyAnalyzer.d.ts +12 -0
  340. package/dist/core/consistency/ConsistencyAnalyzer.d.ts.map +1 -0
  341. package/dist/core/consistency/ConsistencyAnalyzer.js +79 -0
  342. package/dist/core/consistency/ConsistencyAnalyzer.js.map +1 -0
  343. package/dist/core/consistency/index.d.ts +3 -0
  344. package/dist/core/consistency/index.d.ts.map +1 -0
  345. package/dist/core/consistency/index.js +3 -0
  346. package/dist/core/consistency/index.js.map +1 -0
  347. package/dist/core/consistency/types.d.ts +43 -0
  348. package/dist/core/consistency/types.d.ts.map +1 -0
  349. package/dist/core/consistency/types.js +5 -0
  350. package/dist/core/consistency/types.js.map +1 -0
  351. package/dist/core/context/ContextDetector.d.ts +14 -0
  352. package/dist/core/context/ContextDetector.d.ts.map +1 -0
  353. package/dist/core/context/ContextDetector.js +58 -0
  354. package/dist/core/context/ContextDetector.js.map +1 -0
  355. package/dist/core/context/index.d.ts +3 -0
  356. package/dist/core/context/index.d.ts.map +1 -0
  357. package/dist/core/context/index.js +3 -0
  358. package/dist/core/context/index.js.map +1 -0
  359. package/dist/core/context/types.d.ts +41 -0
  360. package/dist/core/context/types.d.ts.map +1 -0
  361. package/dist/core/context/types.js +5 -0
  362. package/dist/core/context/types.js.map +1 -0
  363. package/dist/core/decision/AlternativeGenerator.d.ts +32 -0
  364. package/dist/core/decision/AlternativeGenerator.d.ts.map +1 -0
  365. package/dist/core/decision/AlternativeGenerator.js +155 -0
  366. package/dist/core/decision/AlternativeGenerator.js.map +1 -0
  367. package/dist/core/decision/ConfidenceCalculator.d.ts +42 -0
  368. package/dist/core/decision/ConfidenceCalculator.d.ts.map +1 -0
  369. package/dist/core/decision/ConfidenceCalculator.js +114 -0
  370. package/dist/core/decision/ConfidenceCalculator.js.map +1 -0
  371. package/dist/core/decision/DecisionEngine.d.ts +42 -0
  372. package/dist/core/decision/DecisionEngine.d.ts.map +1 -0
  373. package/dist/core/decision/DecisionEngine.js +144 -0
  374. package/dist/core/decision/DecisionEngine.js.map +1 -0
  375. package/dist/core/decision/DecisionMatrix.d.ts +29 -0
  376. package/dist/core/decision/DecisionMatrix.d.ts.map +1 -0
  377. package/dist/core/decision/DecisionMatrix.js +66 -0
  378. package/dist/core/decision/DecisionMatrix.js.map +1 -0
  379. package/dist/core/decision/index.d.ts +6 -0
  380. package/dist/core/decision/index.d.ts.map +1 -0
  381. package/dist/core/decision/index.js +6 -0
  382. package/dist/core/decision/index.js.map +1 -0
  383. package/dist/core/decision/types.d.ts +40 -0
  384. package/dist/core/decision/types.d.ts.map +1 -0
  385. package/dist/core/decision/types.js +5 -0
  386. package/dist/core/decision/types.js.map +1 -0
  387. package/dist/core/discovery/CodebaseDiscovery.d.ts +19 -0
  388. package/dist/core/discovery/CodebaseDiscovery.d.ts.map +1 -0
  389. package/dist/core/discovery/CodebaseDiscovery.js +83 -0
  390. package/dist/core/discovery/CodebaseDiscovery.js.map +1 -0
  391. package/dist/core/discovery/index.d.ts +2 -0
  392. package/dist/core/discovery/index.d.ts.map +1 -0
  393. package/dist/core/discovery/index.js +2 -0
  394. package/dist/core/discovery/index.js.map +1 -0
  395. package/dist/core/feedback/FeedbackLoop.d.ts +21 -0
  396. package/dist/core/feedback/FeedbackLoop.d.ts.map +1 -0
  397. package/dist/core/feedback/FeedbackLoop.js +45 -0
  398. package/dist/core/feedback/FeedbackLoop.js.map +1 -0
  399. package/dist/core/feedback/index.d.ts +2 -0
  400. package/dist/core/feedback/index.d.ts.map +1 -0
  401. package/dist/core/feedback/index.js +2 -0
  402. package/dist/core/feedback/index.js.map +1 -0
  403. package/dist/core/growth/GrowthProjector.d.ts +12 -0
  404. package/dist/core/growth/GrowthProjector.d.ts.map +1 -0
  405. package/dist/core/growth/GrowthProjector.js +93 -0
  406. package/dist/core/growth/GrowthProjector.js.map +1 -0
  407. package/dist/core/growth/index.d.ts +3 -0
  408. package/dist/core/growth/index.d.ts.map +1 -0
  409. package/dist/core/growth/index.js +3 -0
  410. package/dist/core/growth/index.js.map +1 -0
  411. package/dist/core/growth/types.d.ts +40 -0
  412. package/dist/core/growth/types.d.ts.map +1 -0
  413. package/dist/core/growth/types.js +5 -0
  414. package/dist/core/growth/types.js.map +1 -0
  415. package/dist/core/impact/ImpactAnalyzer.d.ts +22 -0
  416. package/dist/core/impact/ImpactAnalyzer.d.ts.map +1 -0
  417. package/dist/core/impact/ImpactAnalyzer.js +43 -0
  418. package/dist/core/impact/ImpactAnalyzer.js.map +1 -0
  419. package/dist/core/impact/index.d.ts +2 -0
  420. package/dist/core/impact/index.d.ts.map +1 -0
  421. package/dist/core/impact/index.js +2 -0
  422. package/dist/core/impact/index.js.map +1 -0
  423. package/dist/core/knowledge/ADRManager.d.ts +22 -0
  424. package/dist/core/knowledge/ADRManager.d.ts.map +1 -0
  425. package/dist/core/knowledge/ADRManager.js +82 -0
  426. package/dist/core/knowledge/ADRManager.js.map +1 -0
  427. package/dist/core/knowledge/ContextLoader.d.ts +18 -0
  428. package/dist/core/knowledge/ContextLoader.d.ts.map +1 -0
  429. package/dist/core/knowledge/ContextLoader.js +48 -0
  430. package/dist/core/knowledge/ContextLoader.js.map +1 -0
  431. package/dist/core/knowledge/KnowledgeBase.d.ts +35 -0
  432. package/dist/core/knowledge/KnowledgeBase.d.ts.map +1 -0
  433. package/dist/core/knowledge/KnowledgeBase.js +143 -0
  434. package/dist/core/knowledge/KnowledgeBase.js.map +1 -0
  435. package/dist/core/knowledge/PatternRegistry.d.ts +22 -0
  436. package/dist/core/knowledge/PatternRegistry.d.ts.map +1 -0
  437. package/dist/core/knowledge/PatternRegistry.js +56 -0
  438. package/dist/core/knowledge/PatternRegistry.js.map +1 -0
  439. package/dist/core/knowledge/index.d.ts +6 -0
  440. package/dist/core/knowledge/index.d.ts.map +1 -0
  441. package/dist/core/knowledge/index.js +6 -0
  442. package/dist/core/knowledge/index.js.map +1 -0
  443. package/dist/core/knowledge/types.d.ts +60 -0
  444. package/dist/core/knowledge/types.d.ts.map +1 -0
  445. package/dist/core/knowledge/types.js +2 -0
  446. package/dist/core/knowledge/types.js.map +1 -0
  447. package/dist/core/metrics/MetricsCollector.d.ts +21 -0
  448. package/dist/core/metrics/MetricsCollector.d.ts.map +1 -0
  449. package/dist/core/metrics/MetricsCollector.js +20 -0
  450. package/dist/core/metrics/MetricsCollector.js.map +1 -0
  451. package/dist/core/metrics/index.d.ts +2 -0
  452. package/dist/core/metrics/index.d.ts.map +1 -0
  453. package/dist/core/metrics/index.js +2 -0
  454. package/dist/core/metrics/index.js.map +1 -0
  455. package/dist/core/notification/NotificationManager.d.ts +20 -0
  456. package/dist/core/notification/NotificationManager.d.ts.map +1 -0
  457. package/dist/core/notification/NotificationManager.js +16 -0
  458. package/dist/core/notification/NotificationManager.js.map +1 -0
  459. package/dist/core/notification/index.d.ts +2 -0
  460. package/dist/core/notification/index.d.ts.map +1 -0
  461. package/dist/core/notification/index.js +2 -0
  462. package/dist/core/notification/index.js.map +1 -0
  463. package/dist/core/risk/RiskEvaluator.d.ts +11 -0
  464. package/dist/core/risk/RiskEvaluator.d.ts.map +1 -0
  465. package/dist/core/risk/RiskEvaluator.js +83 -0
  466. package/dist/core/risk/RiskEvaluator.js.map +1 -0
  467. package/dist/core/risk/index.d.ts +3 -0
  468. package/dist/core/risk/index.d.ts.map +1 -0
  469. package/dist/core/risk/index.js +3 -0
  470. package/dist/core/risk/index.js.map +1 -0
  471. package/dist/core/risk/types.d.ts +19 -0
  472. package/dist/core/risk/types.d.ts.map +1 -0
  473. package/dist/core/risk/types.js +2 -0
  474. package/dist/core/risk/types.js.map +1 -0
  475. package/dist/core/roadmap/RoadmapManager.d.ts +14 -0
  476. package/dist/core/roadmap/RoadmapManager.d.ts.map +1 -0
  477. package/dist/core/roadmap/RoadmapManager.js +81 -0
  478. package/dist/core/roadmap/RoadmapManager.js.map +1 -0
  479. package/dist/core/roadmap/index.d.ts +3 -0
  480. package/dist/core/roadmap/index.d.ts.map +1 -0
  481. package/dist/core/roadmap/index.js +3 -0
  482. package/dist/core/roadmap/index.js.map +1 -0
  483. package/dist/core/roadmap/types.d.ts +64 -0
  484. package/dist/core/roadmap/types.d.ts.map +1 -0
  485. package/dist/core/roadmap/types.js +5 -0
  486. package/dist/core/roadmap/types.js.map +1 -0
  487. package/dist/core/strangler/StranglerOrchestrator.d.ts +14 -0
  488. package/dist/core/strangler/StranglerOrchestrator.d.ts.map +1 -0
  489. package/dist/core/strangler/StranglerOrchestrator.js +87 -0
  490. package/dist/core/strangler/StranglerOrchestrator.js.map +1 -0
  491. package/dist/core/strangler/index.d.ts +3 -0
  492. package/dist/core/strangler/index.d.ts.map +1 -0
  493. package/dist/core/strangler/index.js +3 -0
  494. package/dist/core/strangler/index.js.map +1 -0
  495. package/dist/core/strangler/types.d.ts +70 -0
  496. package/dist/core/strangler/types.d.ts.map +1 -0
  497. package/dist/core/strangler/types.js +5 -0
  498. package/dist/core/strangler/types.js.map +1 -0
  499. package/dist/core/testing/TestRunner.d.ts +17 -0
  500. package/dist/core/testing/TestRunner.d.ts.map +1 -0
  501. package/dist/core/testing/TestRunner.js +22 -0
  502. package/dist/core/testing/TestRunner.js.map +1 -0
  503. package/dist/core/testing/index.d.ts +2 -0
  504. package/dist/core/testing/index.d.ts.map +1 -0
  505. package/dist/core/testing/index.js +2 -0
  506. package/dist/core/testing/index.js.map +1 -0
  507. package/dist/core/tradeoff/TradeoffAnalyzer.d.ts +24 -0
  508. package/dist/core/tradeoff/TradeoffAnalyzer.d.ts.map +1 -0
  509. package/dist/core/tradeoff/TradeoffAnalyzer.js +51 -0
  510. package/dist/core/tradeoff/TradeoffAnalyzer.js.map +1 -0
  511. package/dist/core/tradeoff/index.d.ts +2 -0
  512. package/dist/core/tradeoff/index.d.ts.map +1 -0
  513. package/dist/core/tradeoff/index.js +2 -0
  514. package/dist/core/tradeoff/index.js.map +1 -0
  515. package/dist/core/validation/DependencyValidator.d.ts +28 -0
  516. package/dist/core/validation/DependencyValidator.d.ts.map +1 -0
  517. package/dist/core/validation/DependencyValidator.js +188 -0
  518. package/dist/core/validation/DependencyValidator.js.map +1 -0
  519. package/dist/core/validation/SecurityValidator.d.ts +44 -0
  520. package/dist/core/validation/SecurityValidator.d.ts.map +1 -0
  521. package/dist/core/validation/SecurityValidator.js +248 -0
  522. package/dist/core/validation/SecurityValidator.js.map +1 -0
  523. package/dist/core/validation/ValidationPipeline.d.ts +62 -0
  524. package/dist/core/validation/ValidationPipeline.d.ts.map +1 -0
  525. package/dist/core/validation/ValidationPipeline.js +216 -0
  526. package/dist/core/validation/ValidationPipeline.js.map +1 -0
  527. package/dist/core/validation/index.d.ts +4 -0
  528. package/dist/core/validation/index.d.ts.map +1 -0
  529. package/dist/core/validation/index.js +4 -0
  530. package/dist/core/validation/index.js.map +1 -0
  531. package/dist/core/validation/layers/ArchitectureValidator.d.ts +21 -0
  532. package/dist/core/validation/layers/ArchitectureValidator.d.ts.map +1 -0
  533. package/dist/core/validation/layers/ArchitectureValidator.js +226 -0
  534. package/dist/core/validation/layers/ArchitectureValidator.js.map +1 -0
  535. package/dist/core/validation/layers/QualityValidator.d.ts +23 -0
  536. package/dist/core/validation/layers/QualityValidator.d.ts.map +1 -0
  537. package/dist/core/validation/layers/QualityValidator.js +259 -0
  538. package/dist/core/validation/layers/QualityValidator.js.map +1 -0
  539. package/dist/core/validation/layers/SecurityValidatorWrapper.d.ts +12 -0
  540. package/dist/core/validation/layers/SecurityValidatorWrapper.d.ts.map +1 -0
  541. package/dist/core/validation/layers/SecurityValidatorWrapper.js +54 -0
  542. package/dist/core/validation/layers/SecurityValidatorWrapper.js.map +1 -0
  543. package/dist/core/validation/layers/SemanticValidator.d.ts +21 -0
  544. package/dist/core/validation/layers/SemanticValidator.d.ts.map +1 -0
  545. package/dist/core/validation/layers/SemanticValidator.js +182 -0
  546. package/dist/core/validation/layers/SemanticValidator.js.map +1 -0
  547. package/dist/core/validation/layers/SyntacticValidator.d.ts +17 -0
  548. package/dist/core/validation/layers/SyntacticValidator.d.ts.map +1 -0
  549. package/dist/core/validation/layers/SyntacticValidator.js +194 -0
  550. package/dist/core/validation/layers/SyntacticValidator.js.map +1 -0
  551. package/dist/core/validation/types.d.ts +90 -0
  552. package/dist/core/validation/types.d.ts.map +1 -0
  553. package/dist/core/validation/types.js +24 -0
  554. package/dist/core/validation/types.js.map +1 -0
  555. package/dist/frontend-first/contract-generator.d.ts +47 -0
  556. package/dist/frontend-first/contract-generator.d.ts.map +1 -0
  557. package/dist/frontend-first/contract-generator.js +312 -0
  558. package/dist/frontend-first/contract-generator.js.map +1 -0
  559. package/dist/frontend-first/mock-generator.d.ts +23 -0
  560. package/dist/frontend-first/mock-generator.d.ts.map +1 -0
  561. package/dist/frontend-first/mock-generator.js +186 -0
  562. package/dist/frontend-first/mock-generator.js.map +1 -0
  563. package/dist/index.js +4 -4
  564. package/dist/index.js.map +1 -1
  565. package/dist/optimization/batch-prompts.d.ts +27 -0
  566. package/dist/optimization/batch-prompts.d.ts.map +1 -0
  567. package/dist/optimization/batch-prompts.js +178 -0
  568. package/dist/optimization/batch-prompts.js.map +1 -0
  569. package/dist/optimization/context-cache.d.ts +45 -0
  570. package/dist/optimization/context-cache.d.ts.map +1 -0
  571. package/dist/optimization/context-cache.js +149 -0
  572. package/dist/optimization/context-cache.js.map +1 -0
  573. package/dist/optimization/smart-validation.d.ts +43 -0
  574. package/dist/optimization/smart-validation.d.ts.map +1 -0
  575. package/dist/optimization/smart-validation.js +137 -0
  576. package/dist/optimization/smart-validation.js.map +1 -0
  577. package/dist/resources/index.d.ts.map +1 -1
  578. package/dist/resources/index.js +9 -9
  579. package/dist/resources/index.js.map +1 -1
  580. package/dist/stdio.js +189 -1
  581. package/dist/stdio.js.map +1 -1
  582. package/dist/tasks/task-manager.d.ts +30 -0
  583. package/dist/tasks/task-manager.d.ts.map +1 -0
  584. package/dist/tasks/task-manager.js +290 -0
  585. package/dist/tasks/task-manager.js.map +1 -0
  586. package/dist/tools/atualizar-tarefa.d.ts +17 -0
  587. package/dist/tools/atualizar-tarefa.d.ts.map +1 -0
  588. package/dist/tools/atualizar-tarefa.js +200 -0
  589. package/dist/tools/atualizar-tarefa.js.map +1 -0
  590. package/dist/tools/configurar-modo.d.ts +10 -0
  591. package/dist/tools/configurar-modo.d.ts.map +1 -0
  592. package/dist/tools/configurar-modo.js +121 -0
  593. package/dist/tools/configurar-modo.js.map +1 -0
  594. package/dist/tools/contexto.d.ts.map +1 -1
  595. package/dist/tools/contexto.js +35 -4
  596. package/dist/tools/contexto.js.map +1 -1
  597. package/dist/tools/criar-tarefa.d.ts +17 -0
  598. package/dist/tools/criar-tarefa.d.ts.map +1 -0
  599. package/dist/tools/criar-tarefa.js +132 -0
  600. package/dist/tools/criar-tarefa.js.map +1 -0
  601. package/dist/tools/fase1/checkpoint.tools.d.ts +150 -0
  602. package/dist/tools/fase1/checkpoint.tools.d.ts.map +1 -0
  603. package/dist/tools/fase1/checkpoint.tools.js +165 -0
  604. package/dist/tools/fase1/checkpoint.tools.js.map +1 -0
  605. package/dist/tools/fase1/knowledge.tools.d.ts +265 -0
  606. package/dist/tools/fase1/knowledge.tools.d.ts.map +1 -0
  607. package/dist/tools/fase1/knowledge.tools.js +209 -0
  608. package/dist/tools/fase1/knowledge.tools.js.map +1 -0
  609. package/dist/tools/fase1/misc.tools.d.ts +113 -0
  610. package/dist/tools/fase1/misc.tools.d.ts.map +1 -0
  611. package/dist/tools/fase1/misc.tools.js +99 -0
  612. package/dist/tools/fase1/misc.tools.js.map +1 -0
  613. package/dist/tools/fase1/validation.tools.d.ts +103 -0
  614. package/dist/tools/fase1/validation.tools.d.ts.map +1 -0
  615. package/dist/tools/fase1/validation.tools.js +174 -0
  616. package/dist/tools/fase1/validation.tools.js.map +1 -0
  617. package/dist/tools/gerar-contrato-api.d.ts +15 -0
  618. package/dist/tools/gerar-contrato-api.d.ts.map +1 -0
  619. package/dist/tools/gerar-contrato-api.js +216 -0
  620. package/dist/tools/gerar-contrato-api.js.map +1 -0
  621. package/dist/tools/iniciar-projeto.d.ts +12 -0
  622. package/dist/tools/iniciar-projeto.d.ts.map +1 -1
  623. package/dist/tools/iniciar-projeto.js +51 -17
  624. package/dist/tools/iniciar-projeto.js.map +1 -1
  625. package/dist/tools/listar-tarefas.d.ts +16 -0
  626. package/dist/tools/listar-tarefas.d.ts.map +1 -0
  627. package/dist/tools/listar-tarefas.js +215 -0
  628. package/dist/tools/listar-tarefas.js.map +1 -0
  629. package/dist/tools/phase2/architecture.tools.d.ts +37 -0
  630. package/dist/tools/phase2/architecture.tools.d.ts.map +1 -0
  631. package/dist/tools/phase2/architecture.tools.js +51 -0
  632. package/dist/tools/phase2/architecture.tools.js.map +1 -0
  633. package/dist/tools/phase2/decision.tools.d.ts +61 -0
  634. package/dist/tools/phase2/decision.tools.d.ts.map +1 -0
  635. package/dist/tools/phase2/decision.tools.js +69 -0
  636. package/dist/tools/phase2/decision.tools.js.map +1 -0
  637. package/dist/tools/phase2/index.d.ts +8 -0
  638. package/dist/tools/phase2/index.d.ts.map +1 -0
  639. package/dist/tools/phase2/index.js +16 -0
  640. package/dist/tools/phase2/index.js.map +1 -0
  641. package/dist/tools/phase2/validation.tools.d.ts +40 -0
  642. package/dist/tools/phase2/validation.tools.d.ts.map +1 -0
  643. package/dist/tools/phase2/validation.tools.js +43 -0
  644. package/dist/tools/phase2/validation.tools.js.map +1 -0
  645. package/dist/tools/phase3/atam.tools.d.ts +26 -0
  646. package/dist/tools/phase3/atam.tools.d.ts.map +1 -0
  647. package/dist/tools/phase3/atam.tools.js +48 -0
  648. package/dist/tools/phase3/atam.tools.js.map +1 -0
  649. package/dist/tools/phase3/consistency.tools.d.ts +15 -0
  650. package/dist/tools/phase3/consistency.tools.d.ts.map +1 -0
  651. package/dist/tools/phase3/consistency.tools.js +20 -0
  652. package/dist/tools/phase3/consistency.tools.js.map +1 -0
  653. package/dist/tools/phase3/context.tools.d.ts +25 -0
  654. package/dist/tools/phase3/context.tools.d.ts.map +1 -0
  655. package/dist/tools/phase3/context.tools.js +32 -0
  656. package/dist/tools/phase3/context.tools.js.map +1 -0
  657. package/dist/tools/phase3/growth.tools.d.ts +28 -0
  658. package/dist/tools/phase3/growth.tools.d.ts.map +1 -0
  659. package/dist/tools/phase3/growth.tools.js +32 -0
  660. package/dist/tools/phase3/growth.tools.js.map +1 -0
  661. package/dist/tools/phase3/index.d.ts +10 -0
  662. package/dist/tools/phase3/index.d.ts.map +1 -0
  663. package/dist/tools/phase3/index.js +10 -0
  664. package/dist/tools/phase3/index.js.map +1 -0
  665. package/dist/tools/phase3/roadmap.tools.d.ts +41 -0
  666. package/dist/tools/phase3/roadmap.tools.d.ts.map +1 -0
  667. package/dist/tools/phase3/roadmap.tools.js +44 -0
  668. package/dist/tools/phase3/roadmap.tools.js.map +1 -0
  669. package/dist/tools/phase3/strangler.tools.d.ts +37 -0
  670. package/dist/tools/phase3/strangler.tools.d.ts.map +1 -0
  671. package/dist/tools/phase3/strangler.tools.js +44 -0
  672. package/dist/tools/phase3/strangler.tools.js.map +1 -0
  673. package/dist/tools/proximo.d.ts.map +1 -1
  674. package/dist/tools/proximo.js +45 -8
  675. package/dist/tools/proximo.js.map +1 -1
  676. package/dist/tools/status.d.ts.map +1 -1
  677. package/dist/tools/status.js +28 -5
  678. package/dist/tools/status.js.map +1 -1
  679. package/dist/tools/validar-gate.d.ts.map +1 -1
  680. package/dist/tools/validar-gate.js +14 -0
  681. package/dist/tools/validar-gate.js.map +1 -1
  682. package/dist/types/config.d.ts +46 -0
  683. package/dist/types/config.d.ts.map +1 -0
  684. package/dist/types/config.js +162 -0
  685. package/dist/types/config.js.map +1 -0
  686. package/dist/types/index.d.ts +38 -0
  687. package/dist/types/index.d.ts.map +1 -1
  688. package/dist/types/index.js.map +1 -1
  689. package/dist/types/tasks.d.ts +100 -0
  690. package/dist/types/tasks.d.ts.map +1 -0
  691. package/dist/types/tasks.js +2 -0
  692. package/dist/types/tasks.js.map +1 -0
  693. package/dist/utils/__tests__/prompt-mapper.test.d.ts +2 -0
  694. package/dist/utils/__tests__/prompt-mapper.test.d.ts.map +1 -0
  695. package/dist/utils/__tests__/prompt-mapper.test.js +184 -0
  696. package/dist/utils/__tests__/prompt-mapper.test.js.map +1 -0
  697. package/dist/utils/content-injector.d.ts +1 -0
  698. package/dist/utils/content-injector.d.ts.map +1 -1
  699. package/dist/utils/content-injector.js +122 -2
  700. package/dist/utils/content-injector.js.map +1 -1
  701. package/dist/utils/files.d.ts +16 -16
  702. package/dist/utils/files.d.ts.map +1 -1
  703. package/dist/utils/files.js +59 -115
  704. package/dist/utils/files.js.map +1 -1
  705. package/dist/utils/history.d.ts +10 -0
  706. package/dist/utils/history.d.ts.map +1 -1
  707. package/dist/utils/history.js +12 -1
  708. package/dist/utils/history.js.map +1 -1
  709. package/dist/utils/prompt-mapper.d.ts +46 -0
  710. package/dist/utils/prompt-mapper.d.ts.map +1 -1
  711. package/dist/utils/prompt-mapper.js +100 -0
  712. package/dist/utils/prompt-mapper.js.map +1 -1
  713. package/package.json +5 -5
  714. package/dist/content/examples/Exemplo de Fluxo Completo com Java e Spring Boot.md +0 -250
  715. package/dist/content/examples/Exemplo de Fluxo Completo com Laravel e Filament.md +0 -278
  716. package/dist/content/examples/Exemplo de Fluxo Completo com Laravel e Livewire.md +0 -261
  717. package/dist/content/examples/Exemplo de Fluxo Completo com Node e NestJS.md +0 -258
  718. package/dist/content/guides/Cat/303/241logo de Stacks para Cloud Moderna.md" +0 -119
  719. package/dist/content/guides/Cat/303/241logo de Stacks para Hospedagem Compartilhada.md" +0 -147
  720. package/dist/content/guides/Checklist Mestre de Entrega.md +0 -68
  721. package/dist/content/guides/Gates de Qualidade.md +0 -209
  722. package/dist/content/guides/Guia de Adi/303/247/303/243o de Novas Funcionalidades.md" +0 -355
  723. package/dist/content/guides/Guia de Chaos Engineering.md +0 -267
  724. package/dist/content/guides/Guia de Estrat/303/251gias de Cache.md" +0 -352
  725. package/dist/content/guides/Guia de Migrations Zero-Downtime.md +0 -311
  726. package/dist/content/guides/Guia de Multi-tenancy.md +0 -368
  727. package/dist/content/guides/Guia de Otimiza/303/247/303/243o de Custos Cloud.md" +0 -195
  728. package/dist/content/guides/Guia de Refatora/303/247/303/243o de C/303/263digo Legado com IA.md" +0 -162
  729. package/dist/content/guides/Guia de SLOs e Error Budgets.md +0 -315
  730. package/dist/content/guides/M/303/251tricas de Efici/303/252ncia do Desenvolvimento com IA.md" +0 -93
  731. package/dist/content/guides/Rules base.md +0 -90
  732. package/dist/content/playbook/Playbook de Desenvolvimento com IA.md +0 -364
  733. package/dist/content/prompts/README.md +0 -203
  734. package/dist/content/prompts/acessibilidade/analise-acessibilidade.md +0 -257
  735. package/dist/content/prompts/apis/design-api-rest.md +0 -303
  736. package/dist/content/prompts/apis/idempotencia.md +0 -254
  737. package/dist/content/prompts/apis/versionamento.md +0 -313
  738. package/dist/content/prompts/arquitetura/arquitetura-c4-completo.md +0 -190
  739. package/dist/content/prompts/arquitetura/clean-architecture.md +0 -151
  740. package/dist/content/prompts/arquitetura/multi-tenancy.md +0 -235
  741. package/dist/content/prompts/database/migrations-zero-downtime.md +0 -192
  742. package/dist/content/prompts/database/otimizacao-queries.md +0 -296
  743. package/dist/content/prompts/desenvolvimento/code-review.md +0 -301
  744. package/dist/content/prompts/desenvolvimento/gerar-servico.md +0 -271
  745. package/dist/content/prompts/devops/docker-compose.md +0 -336
  746. package/dist/content/prompts/devops/feature-flags.md +0 -374
  747. package/dist/content/prompts/devops/kubernetes-deploy.md +0 -460
  748. package/dist/content/prompts/devops/pipeline-cicd.md +0 -358
  749. package/dist/content/prompts/devops/terraform-iac.md +0 -502
  750. package/dist/content/prompts/escalabilidade/analise-performance.md +0 -240
  751. package/dist/content/prompts/escalabilidade/analise-performance.txt +0 -94
  752. package/dist/content/prompts/escalabilidade/caching.md +0 -255
  753. package/dist/content/prompts/observabilidade/chaos-testing.md +0 -237
  754. package/dist/content/prompts/observabilidade/estrategia-observabilidade.md +0 -263
  755. package/dist/content/prompts/observabilidade/estrategia-observabilidade.txt +0 -134
  756. package/dist/content/prompts/observabilidade/slos.md +0 -215
  757. package/dist/content/prompts/produto/discovery-inicial.md +0 -203
  758. package/dist/content/prompts/produto/discovery-inicial.txt +0 -33
  759. package/dist/content/prompts/requisitos/refinar-requisitos.md +0 -232
  760. package/dist/content/prompts/requisitos/refinar-requisitos.txt +0 -40
  761. package/dist/content/prompts/seguranca/analise-seguranca.md +0 -243
  762. package/dist/content/prompts/seguranca/pentest-checklist.md +0 -333
  763. package/dist/content/prompts/seguranca/rate-limiting.md +0 -356
  764. package/dist/content/prompts/seguranca/revisao-lgpd.md +0 -227
  765. package/dist/content/prompts/seguranca/threat-modeling.md +0 -224
  766. package/dist/content/prompts/testes/contract-testing.md +0 -340
  767. package/dist/content/prompts/testes/gerar-testes-unitarios.md +0 -474
  768. package/dist/content/prompts/testes/testes-e2e.md +0 -460
  769. package/dist/content/prompts/testes/testes-integracao.md +0 -418
  770. package/dist/content/prompts/testes/testes-performance.md +0 -458
  771. package/dist/content/prompts/ux/gerar-ui-stitch.md +0 -151
  772. package/dist/content/specialists/Especialista em Acessibilidade.md +0 -266
  773. package/dist/content/specialists/Especialista em An/303/241lise de Testes.md" +0 -434
  774. package/dist/content/specialists/Especialista em Arquitetura Avan/303/247ada.md" +0 -358
  775. package/dist/content/specialists/Especialista em Arquitetura de Software.md +0 -177
  776. package/dist/content/specialists/Especialista em Banco de Dados.md +0 -260
  777. package/dist/content/specialists/Especialista em Contrato de API.md +0 -172
  778. package/dist/content/specialists/Especialista em Dados e Analytics com IA.md +0 -246
  779. package/dist/content/specialists/Especialista em Debugging e Troubleshooting.md +0 -191
  780. package/dist/content/specialists/Especialista em Desenvolvimento Frontend.md +0 -477
  781. package/dist/content/specialists/Especialista em Desenvolvimento Mobile.md +0 -241
  782. package/dist/content/specialists/Especialista em Desenvolvimento e Vibe Coding Estruturado.md +0 -417
  783. package/dist/content/specialists/Especialista em DevOps e Infraestrutura.md +0 -294
  784. package/dist/content/specialists/Especialista em Documenta/303/247/303/243o T/303/251cnica.md" +0 -227
  785. package/dist/content/specialists/Especialista em Engenharia de Requisitos com IA.md +0 -299
  786. package/dist/content/specialists/Especialista em Explora/303/247/303/243o de Codebase.md" +0 -179
  787. package/dist/content/specialists/Especialista em Gest/303/243o de Produto.md" +0 -179
  788. package/dist/content/specialists/Especialista em Migra/303/247/303/243o e Moderniza/303/247/303/243o.md" +0 -410
  789. package/dist/content/specialists/Especialista em Modelagem e Arquitetura de Dom/303/255nio com IA.md" +0 -248
  790. package/dist/content/specialists/Especialista em Observabilidade.md +0 -415
  791. package/dist/content/specialists/Especialista em Performance e Escalabilidade.md +0 -373
  792. package/dist/content/specialists/Especialista em Plano de Execu/303/247/303/243o com IA.md" +0 -341
  793. package/dist/content/specialists/Especialista em Prototipagem R/303/241pida com Google Stitch.md" +0 -419
  794. package/dist/content/specialists/Especialista em Seguran/303/247a da Informa/303/247/303/243o.md" +0 -508
  795. package/dist/content/specialists/Especialista em UX Design.md +0 -453
  796. package/dist/content/specialists/INDEX.md +0 -43
  797. package/dist/content/templates/PRD.md +0 -165
  798. package/dist/content/templates/README.md +0 -65
  799. package/dist/content/templates/adr.md +0 -103
  800. package/dist/content/templates/arquitetura.md +0 -279
  801. package/dist/content/templates/backlog.md +0 -185
  802. package/dist/content/templates/checklist-seguranca.md +0 -180
  803. package/dist/content/templates/contexto.md +0 -120
  804. package/dist/content/templates/criterios-aceite.md +0 -99
  805. package/dist/content/templates/design-banco.md +0 -270
  806. package/dist/content/templates/design-doc.md +0 -240
  807. package/dist/content/templates/feature.md +0 -88
  808. package/dist/content/templates/historia-backend.md +0 -84
  809. package/dist/content/templates/historia-frontend.md +0 -75
  810. package/dist/content/templates/historia-usuario.md +0 -125
  811. package/dist/content/templates/mapa-navegacao.md +0 -133
  812. package/dist/content/templates/matriz-rastreabilidade.md +0 -121
  813. package/dist/content/templates/modelo-dominio.md +0 -219
  814. package/dist/content/templates/plano-testes.md +0 -199
  815. package/dist/content/templates/prototipo-stitch.md +0 -138
  816. package/dist/content/templates/requisitos.md +0 -162
  817. package/dist/content/templates/slo-sli.md +0 -197
  818. /package/dist/content/{guides/Guia de Debugging com IA.md → skills/specialist-debugging-troubleshooting/resources/reference/debugging-ai-guide.md} +0 -0
  819. /package/dist/content/{prompts/arquitetura → skills/specialist-modelagem-dominio/resources/prompts}/ddd-bounded-contexts.md +0 -0
  820. /package/dist/content/{prompts/arquitetura → skills/specialist-modelagem-dominio/resources/prompts}/ddd-cqrs.md +0 -0
  821. /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