@maestro-ai/mcp-server 1.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 (778) hide show
  1. package/README.md +227 -0
  2. package/dist/analyzers/base.d.ts +64 -0
  3. package/dist/analyzers/base.d.ts.map +1 -0
  4. package/dist/analyzers/base.js +104 -0
  5. package/dist/analyzers/base.js.map +1 -0
  6. package/dist/analyzers/index.d.ts +12 -0
  7. package/dist/analyzers/index.d.ts.map +1 -0
  8. package/dist/analyzers/index.js +31 -0
  9. package/dist/analyzers/index.js.map +1 -0
  10. package/dist/analyzers/performance-analyzer.d.ts +11 -0
  11. package/dist/analyzers/performance-analyzer.d.ts.map +1 -0
  12. package/dist/analyzers/performance-analyzer.js +162 -0
  13. package/dist/analyzers/performance-analyzer.js.map +1 -0
  14. package/dist/analyzers/quality-analyzer.d.ts +11 -0
  15. package/dist/analyzers/quality-analyzer.d.ts.map +1 -0
  16. package/dist/analyzers/quality-analyzer.js +196 -0
  17. package/dist/analyzers/quality-analyzer.js.map +1 -0
  18. package/dist/analyzers/security-analyzer.d.ts +11 -0
  19. package/dist/analyzers/security-analyzer.d.ts.map +1 -0
  20. package/dist/analyzers/security-analyzer.js +177 -0
  21. package/dist/analyzers/security-analyzer.js.map +1 -0
  22. package/dist/content/content/design-system/README.md +231 -0
  23. package/dist/content/content/design-system/data/charts.csv +26 -0
  24. package/dist/content/content/design-system/data/colors.csv +97 -0
  25. package/dist/content/content/design-system/data/icons.csv +101 -0
  26. package/dist/content/content/design-system/data/landing.csv +31 -0
  27. package/dist/content/content/design-system/data/products.csv +97 -0
  28. package/dist/content/content/design-system/data/prompts.csv +24 -0
  29. package/dist/content/content/design-system/data/react-performance.csv +45 -0
  30. package/dist/content/content/design-system/data/styles.csv +59 -0
  31. package/dist/content/content/design-system/data/typography.csv +58 -0
  32. package/dist/content/content/design-system/data/ui-reasoning.csv +101 -0
  33. package/dist/content/content/design-system/data/ux-guidelines.csv +100 -0
  34. package/dist/content/content/design-system/data/web-interface.csv +31 -0
  35. package/dist/content/content/design-system/indexes/README.md +211 -0
  36. package/dist/content/content/design-system/indexes/colors-index.md +156 -0
  37. package/dist/content/content/design-system/indexes/quick-search.md +111 -0
  38. package/dist/content/content/design-system/indexes/stacks-index.md +341 -0
  39. package/dist/content/content/design-system/stacks/flutter.csv +53 -0
  40. package/dist/content/content/design-system/stacks/html-tailwind.csv +56 -0
  41. package/dist/content/content/design-system/stacks/jetpack-compose.csv +53 -0
  42. package/dist/content/content/design-system/stacks/nextjs.csv +53 -0
  43. package/dist/content/content/design-system/stacks/nuxt-ui.csv +51 -0
  44. package/dist/content/content/design-system/stacks/nuxtjs.csv +59 -0
  45. package/dist/content/content/design-system/stacks/react-native.csv +52 -0
  46. package/dist/content/content/design-system/stacks/react.csv +54 -0
  47. package/dist/content/content/design-system/stacks/shadcn.csv +61 -0
  48. package/dist/content/content/design-system/stacks/svelte.csv +54 -0
  49. package/dist/content/content/design-system/stacks/swiftui.csv +51 -0
  50. package/dist/content/content/design-system/stacks/vue.csv +50 -0
  51. package/dist/content/content/examples/Exemplo de Fluxo Completo com Java e Spring Boot.md +250 -0
  52. package/dist/content/content/examples/Exemplo de Fluxo Completo com Laravel e Filament.md +278 -0
  53. package/dist/content/content/examples/Exemplo de Fluxo Completo com Laravel e Livewire.md +261 -0
  54. package/dist/content/content/examples/Exemplo de Fluxo Completo com Node e NestJS.md +258 -0
  55. package/dist/content/content/guides/Cat/303/241logo de Stacks para Cloud Moderna.md" +119 -0
  56. package/dist/content/content/guides/Cat/303/241logo de Stacks para Hospedagem Compartilhada.md" +147 -0
  57. package/dist/content/content/guides/Checklist Mestre de Entrega.md +68 -0
  58. package/dist/content/content/guides/Gates de Qualidade.md +209 -0
  59. package/dist/content/content/guides/Guia de Adi/303/247/303/243o de Novas Funcionalidades.md" +355 -0
  60. package/dist/content/content/guides/Guia de Chaos Engineering.md +267 -0
  61. package/dist/content/content/guides/Guia de Debugging com IA.md +135 -0
  62. package/dist/content/content/guides/Guia de Estrat/303/251gias de Cache.md" +352 -0
  63. package/dist/content/content/guides/Guia de Migrations Zero-Downtime.md +311 -0
  64. package/dist/content/content/guides/Guia de Multi-tenancy.md +368 -0
  65. package/dist/content/content/guides/Guia de Otimiza/303/247/303/243o de Custos Cloud.md" +195 -0
  66. package/dist/content/content/guides/Guia de Refatora/303/247/303/243o de C/303/263digo Legado com IA.md" +162 -0
  67. package/dist/content/content/guides/Guia de SLOs e Error Budgets.md +315 -0
  68. package/dist/content/content/guides/M/303/251tricas de Efici/303/252ncia do Desenvolvimento com IA.md" +93 -0
  69. package/dist/content/content/guides/Rules base.md +90 -0
  70. package/dist/content/content/playbook/Playbook de Desenvolvimento com IA.md +364 -0
  71. package/dist/content/content/prompts/README.md +203 -0
  72. package/dist/content/content/prompts/acessibilidade/analise-acessibilidade.md +257 -0
  73. package/dist/content/content/prompts/apis/design-api-rest.md +303 -0
  74. package/dist/content/content/prompts/apis/idempotencia.md +254 -0
  75. package/dist/content/content/prompts/apis/versionamento.md +313 -0
  76. package/dist/content/content/prompts/arquitetura/arquitetura-c4-completo.md +190 -0
  77. package/dist/content/content/prompts/arquitetura/clean-architecture.md +151 -0
  78. package/dist/content/content/prompts/arquitetura/ddd-bounded-contexts.md +183 -0
  79. package/dist/content/content/prompts/arquitetura/ddd-cqrs.md +176 -0
  80. package/dist/content/content/prompts/arquitetura/modelo-dominio.md +207 -0
  81. package/dist/content/content/prompts/arquitetura/multi-tenancy.md +235 -0
  82. package/dist/content/content/prompts/database/migrations-zero-downtime.md +192 -0
  83. package/dist/content/content/prompts/database/otimizacao-queries.md +296 -0
  84. package/dist/content/content/prompts/desenvolvimento/code-review.md +301 -0
  85. package/dist/content/content/prompts/desenvolvimento/gerar-servico.md +271 -0
  86. package/dist/content/content/prompts/devops/docker-compose.md +336 -0
  87. package/dist/content/content/prompts/devops/feature-flags.md +374 -0
  88. package/dist/content/content/prompts/devops/kubernetes-deploy.md +460 -0
  89. package/dist/content/content/prompts/devops/pipeline-cicd.md +358 -0
  90. package/dist/content/content/prompts/devops/terraform-iac.md +502 -0
  91. package/dist/content/content/prompts/escalabilidade/analise-performance.md +240 -0
  92. package/dist/content/content/prompts/escalabilidade/analise-performance.txt +94 -0
  93. package/dist/content/content/prompts/escalabilidade/caching.md +255 -0
  94. package/dist/content/content/prompts/observabilidade/chaos-testing.md +237 -0
  95. package/dist/content/content/prompts/observabilidade/estrategia-observabilidade.md +263 -0
  96. package/dist/content/content/prompts/observabilidade/estrategia-observabilidade.txt +134 -0
  97. package/dist/content/content/prompts/observabilidade/slos.md +215 -0
  98. package/dist/content/content/prompts/produto/discovery-inicial.md +203 -0
  99. package/dist/content/content/prompts/produto/discovery-inicial.txt +33 -0
  100. package/dist/content/content/prompts/requisitos/refinar-requisitos.md +232 -0
  101. package/dist/content/content/prompts/requisitos/refinar-requisitos.txt +40 -0
  102. package/dist/content/content/prompts/seguranca/analise-seguranca.md +243 -0
  103. package/dist/content/content/prompts/seguranca/pentest-checklist.md +333 -0
  104. package/dist/content/content/prompts/seguranca/rate-limiting.md +356 -0
  105. package/dist/content/content/prompts/seguranca/revisao-lgpd.md +227 -0
  106. package/dist/content/content/prompts/seguranca/threat-modeling.md +224 -0
  107. package/dist/content/content/prompts/testes/contract-testing.md +340 -0
  108. package/dist/content/content/prompts/testes/gerar-testes-unitarios.md +474 -0
  109. package/dist/content/content/prompts/testes/testes-e2e.md +460 -0
  110. package/dist/content/content/prompts/testes/testes-integracao.md +418 -0
  111. package/dist/content/content/prompts/testes/testes-performance.md +458 -0
  112. package/dist/content/content/prompts/ux/gerar-ui-stitch.md +151 -0
  113. package/dist/content/content/rules/GEMINI.md +841 -0
  114. package/dist/content/content/rules/RULES.md +835 -0
  115. package/dist/content/content/rules/adapters/copilot.md +10 -0
  116. package/dist/content/content/rules/adapters/cursor.md +10 -0
  117. package/dist/content/content/rules/adapters/gemini.md +13 -0
  118. package/dist/content/content/rules/adapters/windsurf.md +10 -0
  119. package/dist/content/content/skills/api-patterns/SKILL.md +81 -0
  120. package/dist/content/content/skills/api-patterns/api-style.md +42 -0
  121. package/dist/content/content/skills/api-patterns/auth.md +24 -0
  122. package/dist/content/content/skills/api-patterns/documentation.md +26 -0
  123. package/dist/content/content/skills/api-patterns/graphql.md +41 -0
  124. package/dist/content/content/skills/api-patterns/rate-limiting.md +31 -0
  125. package/dist/content/content/skills/api-patterns/response.md +37 -0
  126. package/dist/content/content/skills/api-patterns/rest.md +40 -0
  127. package/dist/content/content/skills/api-patterns/scripts/api_validator.py +211 -0
  128. package/dist/content/content/skills/api-patterns/security-testing.md +122 -0
  129. package/dist/content/content/skills/api-patterns/trpc.md +41 -0
  130. package/dist/content/content/skills/api-patterns/versioning.md +22 -0
  131. package/dist/content/content/skills/app-builder/SKILL.md +75 -0
  132. package/dist/content/content/skills/app-builder/agent-coordination.md +71 -0
  133. package/dist/content/content/skills/app-builder/feature-building.md +53 -0
  134. package/dist/content/content/skills/app-builder/project-detection.md +34 -0
  135. package/dist/content/content/skills/app-builder/scaffolding.md +118 -0
  136. package/dist/content/content/skills/app-builder/tech-stack.md +40 -0
  137. package/dist/content/content/skills/app-builder/templates/SKILL.md +39 -0
  138. package/dist/content/content/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  139. package/dist/content/content/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  140. package/dist/content/content/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  141. package/dist/content/content/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  142. package/dist/content/content/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  143. package/dist/content/content/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  144. package/dist/content/content/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  145. package/dist/content/content/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
  146. package/dist/content/content/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
  147. package/dist/content/content/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
  148. package/dist/content/content/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
  149. package/dist/content/content/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  150. package/dist/content/content/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
  151. package/dist/content/content/skills/architecture/SKILL.md +55 -0
  152. package/dist/content/content/skills/architecture/context-discovery.md +43 -0
  153. package/dist/content/content/skills/architecture/examples.md +94 -0
  154. package/dist/content/content/skills/architecture/pattern-selection.md +68 -0
  155. package/dist/content/content/skills/architecture/patterns-reference.md +50 -0
  156. package/dist/content/content/skills/architecture/trade-off-analysis.md +77 -0
  157. package/dist/content/content/skills/bash-linux/SKILL.md +199 -0
  158. package/dist/content/content/skills/behavioral-modes/SKILL.md +242 -0
  159. package/dist/content/content/skills/brainstorming/SKILL.md +163 -0
  160. package/dist/content/content/skills/brainstorming/dynamic-questioning.md +350 -0
  161. package/dist/content/content/skills/clean-code/SKILL.md +201 -0
  162. package/dist/content/content/skills/code-review-checklist/SKILL.md +109 -0
  163. package/dist/content/content/skills/database-design/SKILL.md +52 -0
  164. package/dist/content/content/skills/database-design/database-selection.md +43 -0
  165. package/dist/content/content/skills/database-design/indexing.md +39 -0
  166. package/dist/content/content/skills/database-design/migrations.md +48 -0
  167. package/dist/content/content/skills/database-design/optimization.md +36 -0
  168. package/dist/content/content/skills/database-design/orm-selection.md +30 -0
  169. package/dist/content/content/skills/database-design/schema-design.md +56 -0
  170. package/dist/content/content/skills/database-design/scripts/schema_validator.py +172 -0
  171. package/dist/content/content/skills/deployment-procedures/SKILL.md +241 -0
  172. package/dist/content/content/skills/doc.md +177 -0
  173. package/dist/content/content/skills/documentation-templates/SKILL.md +194 -0
  174. package/dist/content/content/skills/frontend-design/SKILL.md +396 -0
  175. package/dist/content/content/skills/frontend-design/animation-guide.md +331 -0
  176. package/dist/content/content/skills/frontend-design/color-system.md +311 -0
  177. package/dist/content/content/skills/frontend-design/decision-trees.md +418 -0
  178. package/dist/content/content/skills/frontend-design/motion-graphics.md +306 -0
  179. package/dist/content/content/skills/frontend-design/scripts/accessibility_checker.py +183 -0
  180. package/dist/content/content/skills/frontend-design/scripts/ux_audit.py +722 -0
  181. package/dist/content/content/skills/frontend-design/typography-system.md +345 -0
  182. package/dist/content/content/skills/frontend-design/ux-psychology.md +541 -0
  183. package/dist/content/content/skills/frontend-design/visual-effects.md +383 -0
  184. package/dist/content/content/skills/game-development/2d-games/SKILL.md +119 -0
  185. package/dist/content/content/skills/game-development/3d-games/SKILL.md +135 -0
  186. package/dist/content/content/skills/game-development/SKILL.md +167 -0
  187. package/dist/content/content/skills/game-development/game-art/SKILL.md +185 -0
  188. package/dist/content/content/skills/game-development/game-audio/SKILL.md +190 -0
  189. package/dist/content/content/skills/game-development/game-design/SKILL.md +129 -0
  190. package/dist/content/content/skills/game-development/mobile-games/SKILL.md +108 -0
  191. package/dist/content/content/skills/game-development/multiplayer/SKILL.md +132 -0
  192. package/dist/content/content/skills/game-development/pc-games/SKILL.md +144 -0
  193. package/dist/content/content/skills/game-development/vr-ar/SKILL.md +123 -0
  194. package/dist/content/content/skills/game-development/web-games/SKILL.md +150 -0
  195. package/dist/content/content/skills/geo-fundamentals/SKILL.md +156 -0
  196. package/dist/content/content/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
  197. package/dist/content/content/skills/i18n-localization/SKILL.md +154 -0
  198. package/dist/content/content/skills/i18n-localization/scripts/i18n_checker.py +241 -0
  199. package/dist/content/content/skills/intelligent-routing/SKILL.md +334 -0
  200. package/dist/content/content/skills/lint-and-validate/SKILL.md +45 -0
  201. package/dist/content/content/skills/lint-and-validate/scripts/lint_runner.py +172 -0
  202. package/dist/content/content/skills/lint-and-validate/scripts/type_coverage.py +173 -0
  203. package/dist/content/content/skills/mcp-builder/SKILL.md +176 -0
  204. package/dist/content/content/skills/mobile-design/SKILL.md +394 -0
  205. package/dist/content/content/skills/mobile-design/decision-trees.md +516 -0
  206. package/dist/content/content/skills/mobile-design/mobile-backend.md +491 -0
  207. package/dist/content/content/skills/mobile-design/mobile-color-system.md +420 -0
  208. package/dist/content/content/skills/mobile-design/mobile-debugging.md +122 -0
  209. package/dist/content/content/skills/mobile-design/mobile-design-thinking.md +357 -0
  210. package/dist/content/content/skills/mobile-design/mobile-navigation.md +458 -0
  211. package/dist/content/content/skills/mobile-design/mobile-performance.md +767 -0
  212. package/dist/content/content/skills/mobile-design/mobile-testing.md +356 -0
  213. package/dist/content/content/skills/mobile-design/mobile-typography.md +433 -0
  214. package/dist/content/content/skills/mobile-design/platform-android.md +666 -0
  215. package/dist/content/content/skills/mobile-design/platform-ios.md +561 -0
  216. package/dist/content/content/skills/mobile-design/scripts/mobile_audit.py +670 -0
  217. package/dist/content/content/skills/mobile-design/touch-psychology.md +537 -0
  218. package/dist/content/content/skills/nextjs-best-practices/SKILL.md +203 -0
  219. package/dist/content/content/skills/nodejs-best-practices/SKILL.md +333 -0
  220. package/dist/content/content/skills/parallel-agents/SKILL.md +175 -0
  221. package/dist/content/content/skills/performance-profiling/SKILL.md +143 -0
  222. package/dist/content/content/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
  223. package/dist/content/content/skills/plan-writing/SKILL.md +152 -0
  224. package/dist/content/content/skills/powershell-windows/SKILL.md +167 -0
  225. package/dist/content/content/skills/python-patterns/SKILL.md +441 -0
  226. package/dist/content/content/skills/react-patterns/SKILL.md +198 -0
  227. package/dist/content/content/skills/red-team-tactics/SKILL.md +199 -0
  228. package/dist/content/content/skills/seo-fundamentals/SKILL.md +129 -0
  229. package/dist/content/content/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
  230. package/dist/content/content/skills/server-management/SKILL.md +161 -0
  231. package/dist/content/content/skills/systematic-debugging/SKILL.md +109 -0
  232. package/dist/content/content/skills/tailwind-patterns/SKILL.md +269 -0
  233. package/dist/content/content/skills/tdd-workflow/SKILL.md +149 -0
  234. package/dist/content/content/skills/testing-patterns/SKILL.md +178 -0
  235. package/dist/content/content/skills/testing-patterns/scripts/test_runner.py +219 -0
  236. package/dist/content/content/skills/vulnerability-scanner/SKILL.md +276 -0
  237. package/dist/content/content/skills/vulnerability-scanner/checklists.md +121 -0
  238. package/dist/content/content/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
  239. package/dist/content/content/skills/webapp-testing/SKILL.md +187 -0
  240. package/dist/content/content/skills/webapp-testing/scripts/playwright_runner.py +173 -0
  241. package/dist/content/content/specialists/Especialista em Acessibilidade.md +266 -0
  242. package/dist/content/content/specialists/Especialista em An/303/241lise de Testes.md" +434 -0
  243. package/dist/content/content/specialists/Especialista em Arquitetura Avan/303/247ada.md" +358 -0
  244. package/dist/content/content/specialists/Especialista em Arquitetura de Software.md +177 -0
  245. package/dist/content/content/specialists/Especialista em Banco de Dados.md +260 -0
  246. package/dist/content/content/specialists/Especialista em Contrato de API.md +172 -0
  247. package/dist/content/content/specialists/Especialista em Dados e Analytics com IA.md +246 -0
  248. package/dist/content/content/specialists/Especialista em Debugging e Troubleshooting.md +191 -0
  249. package/dist/content/content/specialists/Especialista em Desenvolvimento Frontend.md +477 -0
  250. package/dist/content/content/specialists/Especialista em Desenvolvimento Mobile.md +241 -0
  251. package/dist/content/content/specialists/Especialista em Desenvolvimento e Vibe Coding Estruturado.md +417 -0
  252. package/dist/content/content/specialists/Especialista em DevOps e Infraestrutura.md +294 -0
  253. package/dist/content/content/specialists/Especialista em Documenta/303/247/303/243o T/303/251cnica.md" +227 -0
  254. package/dist/content/content/specialists/Especialista em Engenharia de Requisitos com IA.md +299 -0
  255. package/dist/content/content/specialists/Especialista em Explora/303/247/303/243o de Codebase.md" +179 -0
  256. package/dist/content/content/specialists/Especialista em Gest/303/243o de Produto.md" +179 -0
  257. package/dist/content/content/specialists/Especialista em Migra/303/247/303/243o e Moderniza/303/247/303/243o.md" +410 -0
  258. package/dist/content/content/specialists/Especialista em Modelagem e Arquitetura de Dom/303/255nio com IA.md" +248 -0
  259. package/dist/content/content/specialists/Especialista em Observabilidade.md +415 -0
  260. package/dist/content/content/specialists/Especialista em Performance e Escalabilidade.md +373 -0
  261. package/dist/content/content/specialists/Especialista em Plano de Execu/303/247/303/243o com IA.md" +341 -0
  262. package/dist/content/content/specialists/Especialista em Prototipagem R/303/241pida com Google Stitch.md" +419 -0
  263. package/dist/content/content/specialists/Especialista em Seguran/303/247a da Informa/303/247/303/243o.md" +508 -0
  264. package/dist/content/content/specialists/Especialista em UX Design.md +453 -0
  265. package/dist/content/content/specialists/INDEX.md +43 -0
  266. package/dist/content/content/templates/PRD.md +165 -0
  267. package/dist/content/content/templates/README.md +65 -0
  268. package/dist/content/content/templates/adr.md +103 -0
  269. package/dist/content/content/templates/arquitetura.md +279 -0
  270. package/dist/content/content/templates/backlog.md +185 -0
  271. package/dist/content/content/templates/checklist-seguranca.md +180 -0
  272. package/dist/content/content/templates/contexto.md +120 -0
  273. package/dist/content/content/templates/criterios-aceite.md +99 -0
  274. package/dist/content/content/templates/design-banco.md +270 -0
  275. package/dist/content/content/templates/design-doc.md +240 -0
  276. package/dist/content/content/templates/feature.md +88 -0
  277. package/dist/content/content/templates/historia-backend.md +84 -0
  278. package/dist/content/content/templates/historia-frontend.md +75 -0
  279. package/dist/content/content/templates/historia-usuario.md +125 -0
  280. package/dist/content/content/templates/mapa-navegacao.md +133 -0
  281. package/dist/content/content/templates/matriz-rastreabilidade.md +121 -0
  282. package/dist/content/content/templates/modelo-dominio.md +219 -0
  283. package/dist/content/content/templates/plano-testes.md +199 -0
  284. package/dist/content/content/templates/prototipo-stitch.md +138 -0
  285. package/dist/content/content/templates/requisitos.md +162 -0
  286. package/dist/content/content/templates/slo-sli.md +197 -0
  287. package/dist/content/content/workflows/README-MCP.md +363 -0
  288. package/dist/content/content/workflows/brainstorm.md +113 -0
  289. package/dist/content/content/workflows/create.md +59 -0
  290. package/dist/content/content/workflows/debug.md +103 -0
  291. package/dist/content/content/workflows/deploy.md +176 -0
  292. package/dist/content/content/workflows/enhance.md +63 -0
  293. package/dist/content/content/workflows/mcp-debug.md +506 -0
  294. package/dist/content/content/workflows/mcp-feature.md +385 -0
  295. package/dist/content/content/workflows/mcp-gate.md +413 -0
  296. package/dist/content/content/workflows/mcp-next.md +388 -0
  297. package/dist/content/content/workflows/mcp-refactor.md +600 -0
  298. package/dist/content/content/workflows/mcp-start.md +304 -0
  299. package/dist/content/content/workflows/mcp-status.md +400 -0
  300. package/dist/content/content/workflows/orchestrate.md +237 -0
  301. package/dist/content/content/workflows/plan.md +89 -0
  302. package/dist/content/content/workflows/preview.md +81 -0
  303. package/dist/content/content/workflows/status.md +86 -0
  304. package/dist/content/content/workflows/test.md +144 -0
  305. package/dist/content/content/workflows/ui-ux-pro-max.md +296 -0
  306. package/dist/content/design-system/README.md +231 -0
  307. package/dist/content/design-system/data/charts.csv +26 -0
  308. package/dist/content/design-system/data/colors.csv +97 -0
  309. package/dist/content/design-system/data/icons.csv +101 -0
  310. package/dist/content/design-system/data/landing.csv +31 -0
  311. package/dist/content/design-system/data/products.csv +97 -0
  312. package/dist/content/design-system/data/prompts.csv +24 -0
  313. package/dist/content/design-system/data/react-performance.csv +45 -0
  314. package/dist/content/design-system/data/styles.csv +59 -0
  315. package/dist/content/design-system/data/typography.csv +58 -0
  316. package/dist/content/design-system/data/ui-reasoning.csv +101 -0
  317. package/dist/content/design-system/data/ux-guidelines.csv +100 -0
  318. package/dist/content/design-system/data/web-interface.csv +31 -0
  319. package/dist/content/design-system/indexes/README.md +211 -0
  320. package/dist/content/design-system/indexes/colors-index.md +156 -0
  321. package/dist/content/design-system/indexes/quick-search.md +111 -0
  322. package/dist/content/design-system/indexes/stacks-index.md +341 -0
  323. package/dist/content/design-system/stacks/flutter.csv +53 -0
  324. package/dist/content/design-system/stacks/html-tailwind.csv +56 -0
  325. package/dist/content/design-system/stacks/jetpack-compose.csv +53 -0
  326. package/dist/content/design-system/stacks/nextjs.csv +53 -0
  327. package/dist/content/design-system/stacks/nuxt-ui.csv +51 -0
  328. package/dist/content/design-system/stacks/nuxtjs.csv +59 -0
  329. package/dist/content/design-system/stacks/react-native.csv +52 -0
  330. package/dist/content/design-system/stacks/react.csv +54 -0
  331. package/dist/content/design-system/stacks/shadcn.csv +61 -0
  332. package/dist/content/design-system/stacks/svelte.csv +54 -0
  333. package/dist/content/design-system/stacks/swiftui.csv +51 -0
  334. package/dist/content/design-system/stacks/vue.csv +50 -0
  335. package/dist/content/examples/Exemplo de Fluxo Completo com Java e Spring Boot.md +250 -0
  336. package/dist/content/examples/Exemplo de Fluxo Completo com Laravel e Filament.md +278 -0
  337. package/dist/content/examples/Exemplo de Fluxo Completo com Laravel e Livewire.md +261 -0
  338. package/dist/content/examples/Exemplo de Fluxo Completo com Node e NestJS.md +258 -0
  339. package/dist/content/guides/Cat/303/241logo de Stacks para Cloud Moderna.md" +119 -0
  340. package/dist/content/guides/Cat/303/241logo de Stacks para Hospedagem Compartilhada.md" +147 -0
  341. package/dist/content/guides/Checklist Mestre de Entrega.md +68 -0
  342. package/dist/content/guides/Gates de Qualidade.md +209 -0
  343. package/dist/content/guides/Guia de Adi/303/247/303/243o de Novas Funcionalidades.md" +355 -0
  344. package/dist/content/guides/Guia de Chaos Engineering.md +267 -0
  345. package/dist/content/guides/Guia de Debugging com IA.md +135 -0
  346. package/dist/content/guides/Guia de Estrat/303/251gias de Cache.md" +352 -0
  347. package/dist/content/guides/Guia de Migrations Zero-Downtime.md +311 -0
  348. package/dist/content/guides/Guia de Multi-tenancy.md +368 -0
  349. package/dist/content/guides/Guia de Otimiza/303/247/303/243o de Custos Cloud.md" +195 -0
  350. package/dist/content/guides/Guia de Refatora/303/247/303/243o de C/303/263digo Legado com IA.md" +162 -0
  351. package/dist/content/guides/Guia de SLOs e Error Budgets.md +315 -0
  352. package/dist/content/guides/M/303/251tricas de Efici/303/252ncia do Desenvolvimento com IA.md" +93 -0
  353. package/dist/content/guides/Rules base.md +90 -0
  354. package/dist/content/playbook/Playbook de Desenvolvimento com IA.md +364 -0
  355. package/dist/content/prompts/README.md +203 -0
  356. package/dist/content/prompts/acessibilidade/analise-acessibilidade.md +257 -0
  357. package/dist/content/prompts/apis/design-api-rest.md +303 -0
  358. package/dist/content/prompts/apis/idempotencia.md +254 -0
  359. package/dist/content/prompts/apis/versionamento.md +313 -0
  360. package/dist/content/prompts/arquitetura/arquitetura-c4-completo.md +190 -0
  361. package/dist/content/prompts/arquitetura/clean-architecture.md +151 -0
  362. package/dist/content/prompts/arquitetura/ddd-bounded-contexts.md +183 -0
  363. package/dist/content/prompts/arquitetura/ddd-cqrs.md +176 -0
  364. package/dist/content/prompts/arquitetura/modelo-dominio.md +207 -0
  365. package/dist/content/prompts/arquitetura/multi-tenancy.md +235 -0
  366. package/dist/content/prompts/database/migrations-zero-downtime.md +192 -0
  367. package/dist/content/prompts/database/otimizacao-queries.md +296 -0
  368. package/dist/content/prompts/desenvolvimento/code-review.md +301 -0
  369. package/dist/content/prompts/desenvolvimento/gerar-servico.md +271 -0
  370. package/dist/content/prompts/devops/docker-compose.md +336 -0
  371. package/dist/content/prompts/devops/feature-flags.md +374 -0
  372. package/dist/content/prompts/devops/kubernetes-deploy.md +460 -0
  373. package/dist/content/prompts/devops/pipeline-cicd.md +358 -0
  374. package/dist/content/prompts/devops/terraform-iac.md +502 -0
  375. package/dist/content/prompts/escalabilidade/analise-performance.md +240 -0
  376. package/dist/content/prompts/escalabilidade/analise-performance.txt +94 -0
  377. package/dist/content/prompts/escalabilidade/caching.md +255 -0
  378. package/dist/content/prompts/observabilidade/chaos-testing.md +237 -0
  379. package/dist/content/prompts/observabilidade/estrategia-observabilidade.md +263 -0
  380. package/dist/content/prompts/observabilidade/estrategia-observabilidade.txt +134 -0
  381. package/dist/content/prompts/observabilidade/slos.md +215 -0
  382. package/dist/content/prompts/produto/discovery-inicial.md +203 -0
  383. package/dist/content/prompts/produto/discovery-inicial.txt +33 -0
  384. package/dist/content/prompts/requisitos/refinar-requisitos.md +232 -0
  385. package/dist/content/prompts/requisitos/refinar-requisitos.txt +40 -0
  386. package/dist/content/prompts/seguranca/analise-seguranca.md +243 -0
  387. package/dist/content/prompts/seguranca/pentest-checklist.md +333 -0
  388. package/dist/content/prompts/seguranca/rate-limiting.md +356 -0
  389. package/dist/content/prompts/seguranca/revisao-lgpd.md +227 -0
  390. package/dist/content/prompts/seguranca/threat-modeling.md +224 -0
  391. package/dist/content/prompts/testes/contract-testing.md +340 -0
  392. package/dist/content/prompts/testes/gerar-testes-unitarios.md +474 -0
  393. package/dist/content/prompts/testes/testes-e2e.md +460 -0
  394. package/dist/content/prompts/testes/testes-integracao.md +418 -0
  395. package/dist/content/prompts/testes/testes-performance.md +458 -0
  396. package/dist/content/prompts/ux/gerar-ui-stitch.md +151 -0
  397. package/dist/content/rules/GEMINI.md +841 -0
  398. package/dist/content/rules/RULES.md +835 -0
  399. package/dist/content/rules/adapters/copilot.md +10 -0
  400. package/dist/content/rules/adapters/cursor.md +10 -0
  401. package/dist/content/rules/adapters/gemini.md +13 -0
  402. package/dist/content/rules/adapters/windsurf.md +10 -0
  403. package/dist/content/skills/api-patterns/SKILL.md +81 -0
  404. package/dist/content/skills/api-patterns/api-style.md +42 -0
  405. package/dist/content/skills/api-patterns/auth.md +24 -0
  406. package/dist/content/skills/api-patterns/documentation.md +26 -0
  407. package/dist/content/skills/api-patterns/graphql.md +41 -0
  408. package/dist/content/skills/api-patterns/rate-limiting.md +31 -0
  409. package/dist/content/skills/api-patterns/response.md +37 -0
  410. package/dist/content/skills/api-patterns/rest.md +40 -0
  411. package/dist/content/skills/api-patterns/scripts/api_validator.py +211 -0
  412. package/dist/content/skills/api-patterns/security-testing.md +122 -0
  413. package/dist/content/skills/api-patterns/trpc.md +41 -0
  414. package/dist/content/skills/api-patterns/versioning.md +22 -0
  415. package/dist/content/skills/app-builder/SKILL.md +75 -0
  416. package/dist/content/skills/app-builder/agent-coordination.md +71 -0
  417. package/dist/content/skills/app-builder/feature-building.md +53 -0
  418. package/dist/content/skills/app-builder/project-detection.md +34 -0
  419. package/dist/content/skills/app-builder/scaffolding.md +118 -0
  420. package/dist/content/skills/app-builder/tech-stack.md +40 -0
  421. package/dist/content/skills/app-builder/templates/SKILL.md +39 -0
  422. package/dist/content/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  423. package/dist/content/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  424. package/dist/content/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  425. package/dist/content/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  426. package/dist/content/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  427. package/dist/content/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  428. package/dist/content/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  429. package/dist/content/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
  430. package/dist/content/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
  431. package/dist/content/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
  432. package/dist/content/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
  433. package/dist/content/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  434. package/dist/content/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
  435. package/dist/content/skills/architecture/SKILL.md +55 -0
  436. package/dist/content/skills/architecture/context-discovery.md +43 -0
  437. package/dist/content/skills/architecture/examples.md +94 -0
  438. package/dist/content/skills/architecture/pattern-selection.md +68 -0
  439. package/dist/content/skills/architecture/patterns-reference.md +50 -0
  440. package/dist/content/skills/architecture/trade-off-analysis.md +77 -0
  441. package/dist/content/skills/bash-linux/SKILL.md +199 -0
  442. package/dist/content/skills/behavioral-modes/SKILL.md +242 -0
  443. package/dist/content/skills/brainstorming/SKILL.md +163 -0
  444. package/dist/content/skills/brainstorming/dynamic-questioning.md +350 -0
  445. package/dist/content/skills/clean-code/SKILL.md +201 -0
  446. package/dist/content/skills/code-review-checklist/SKILL.md +109 -0
  447. package/dist/content/skills/database-design/SKILL.md +52 -0
  448. package/dist/content/skills/database-design/database-selection.md +43 -0
  449. package/dist/content/skills/database-design/indexing.md +39 -0
  450. package/dist/content/skills/database-design/migrations.md +48 -0
  451. package/dist/content/skills/database-design/optimization.md +36 -0
  452. package/dist/content/skills/database-design/orm-selection.md +30 -0
  453. package/dist/content/skills/database-design/schema-design.md +56 -0
  454. package/dist/content/skills/database-design/scripts/schema_validator.py +172 -0
  455. package/dist/content/skills/deployment-procedures/SKILL.md +241 -0
  456. package/dist/content/skills/doc.md +177 -0
  457. package/dist/content/skills/documentation-templates/SKILL.md +194 -0
  458. package/dist/content/skills/frontend-design/SKILL.md +396 -0
  459. package/dist/content/skills/frontend-design/animation-guide.md +331 -0
  460. package/dist/content/skills/frontend-design/color-system.md +311 -0
  461. package/dist/content/skills/frontend-design/decision-trees.md +418 -0
  462. package/dist/content/skills/frontend-design/motion-graphics.md +306 -0
  463. package/dist/content/skills/frontend-design/scripts/accessibility_checker.py +183 -0
  464. package/dist/content/skills/frontend-design/scripts/ux_audit.py +722 -0
  465. package/dist/content/skills/frontend-design/typography-system.md +345 -0
  466. package/dist/content/skills/frontend-design/ux-psychology.md +541 -0
  467. package/dist/content/skills/frontend-design/visual-effects.md +383 -0
  468. package/dist/content/skills/game-development/2d-games/SKILL.md +119 -0
  469. package/dist/content/skills/game-development/3d-games/SKILL.md +135 -0
  470. package/dist/content/skills/game-development/SKILL.md +167 -0
  471. package/dist/content/skills/game-development/game-art/SKILL.md +185 -0
  472. package/dist/content/skills/game-development/game-audio/SKILL.md +190 -0
  473. package/dist/content/skills/game-development/game-design/SKILL.md +129 -0
  474. package/dist/content/skills/game-development/mobile-games/SKILL.md +108 -0
  475. package/dist/content/skills/game-development/multiplayer/SKILL.md +132 -0
  476. package/dist/content/skills/game-development/pc-games/SKILL.md +144 -0
  477. package/dist/content/skills/game-development/vr-ar/SKILL.md +123 -0
  478. package/dist/content/skills/game-development/web-games/SKILL.md +150 -0
  479. package/dist/content/skills/geo-fundamentals/SKILL.md +156 -0
  480. package/dist/content/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
  481. package/dist/content/skills/i18n-localization/SKILL.md +154 -0
  482. package/dist/content/skills/i18n-localization/scripts/i18n_checker.py +241 -0
  483. package/dist/content/skills/intelligent-routing/SKILL.md +334 -0
  484. package/dist/content/skills/lint-and-validate/SKILL.md +45 -0
  485. package/dist/content/skills/lint-and-validate/scripts/lint_runner.py +172 -0
  486. package/dist/content/skills/lint-and-validate/scripts/type_coverage.py +173 -0
  487. package/dist/content/skills/mcp-builder/SKILL.md +176 -0
  488. package/dist/content/skills/mobile-design/SKILL.md +394 -0
  489. package/dist/content/skills/mobile-design/decision-trees.md +516 -0
  490. package/dist/content/skills/mobile-design/mobile-backend.md +491 -0
  491. package/dist/content/skills/mobile-design/mobile-color-system.md +420 -0
  492. package/dist/content/skills/mobile-design/mobile-debugging.md +122 -0
  493. package/dist/content/skills/mobile-design/mobile-design-thinking.md +357 -0
  494. package/dist/content/skills/mobile-design/mobile-navigation.md +458 -0
  495. package/dist/content/skills/mobile-design/mobile-performance.md +767 -0
  496. package/dist/content/skills/mobile-design/mobile-testing.md +356 -0
  497. package/dist/content/skills/mobile-design/mobile-typography.md +433 -0
  498. package/dist/content/skills/mobile-design/platform-android.md +666 -0
  499. package/dist/content/skills/mobile-design/platform-ios.md +561 -0
  500. package/dist/content/skills/mobile-design/scripts/mobile_audit.py +670 -0
  501. package/dist/content/skills/mobile-design/touch-psychology.md +537 -0
  502. package/dist/content/skills/nextjs-best-practices/SKILL.md +203 -0
  503. package/dist/content/skills/nodejs-best-practices/SKILL.md +333 -0
  504. package/dist/content/skills/parallel-agents/SKILL.md +175 -0
  505. package/dist/content/skills/performance-profiling/SKILL.md +143 -0
  506. package/dist/content/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
  507. package/dist/content/skills/plan-writing/SKILL.md +152 -0
  508. package/dist/content/skills/powershell-windows/SKILL.md +167 -0
  509. package/dist/content/skills/python-patterns/SKILL.md +441 -0
  510. package/dist/content/skills/react-patterns/SKILL.md +198 -0
  511. package/dist/content/skills/red-team-tactics/SKILL.md +199 -0
  512. package/dist/content/skills/seo-fundamentals/SKILL.md +129 -0
  513. package/dist/content/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
  514. package/dist/content/skills/server-management/SKILL.md +161 -0
  515. package/dist/content/skills/systematic-debugging/SKILL.md +109 -0
  516. package/dist/content/skills/tailwind-patterns/SKILL.md +269 -0
  517. package/dist/content/skills/tdd-workflow/SKILL.md +149 -0
  518. package/dist/content/skills/testing-patterns/SKILL.md +178 -0
  519. package/dist/content/skills/testing-patterns/scripts/test_runner.py +219 -0
  520. package/dist/content/skills/vulnerability-scanner/SKILL.md +276 -0
  521. package/dist/content/skills/vulnerability-scanner/checklists.md +121 -0
  522. package/dist/content/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
  523. package/dist/content/skills/webapp-testing/SKILL.md +187 -0
  524. package/dist/content/skills/webapp-testing/scripts/playwright_runner.py +173 -0
  525. package/dist/content/specialists/Especialista em Acessibilidade.md +266 -0
  526. package/dist/content/specialists/Especialista em An/303/241lise de Testes.md" +434 -0
  527. package/dist/content/specialists/Especialista em Arquitetura Avan/303/247ada.md" +358 -0
  528. package/dist/content/specialists/Especialista em Arquitetura de Software.md +177 -0
  529. package/dist/content/specialists/Especialista em Banco de Dados.md +260 -0
  530. package/dist/content/specialists/Especialista em Contrato de API.md +172 -0
  531. package/dist/content/specialists/Especialista em Dados e Analytics com IA.md +246 -0
  532. package/dist/content/specialists/Especialista em Debugging e Troubleshooting.md +191 -0
  533. package/dist/content/specialists/Especialista em Desenvolvimento Frontend.md +477 -0
  534. package/dist/content/specialists/Especialista em Desenvolvimento Mobile.md +241 -0
  535. package/dist/content/specialists/Especialista em Desenvolvimento e Vibe Coding Estruturado.md +417 -0
  536. package/dist/content/specialists/Especialista em DevOps e Infraestrutura.md +294 -0
  537. package/dist/content/specialists/Especialista em Documenta/303/247/303/243o T/303/251cnica.md" +227 -0
  538. package/dist/content/specialists/Especialista em Engenharia de Requisitos com IA.md +299 -0
  539. package/dist/content/specialists/Especialista em Explora/303/247/303/243o de Codebase.md" +179 -0
  540. package/dist/content/specialists/Especialista em Gest/303/243o de Produto.md" +179 -0
  541. package/dist/content/specialists/Especialista em Migra/303/247/303/243o e Moderniza/303/247/303/243o.md" +410 -0
  542. package/dist/content/specialists/Especialista em Modelagem e Arquitetura de Dom/303/255nio com IA.md" +248 -0
  543. package/dist/content/specialists/Especialista em Observabilidade.md +415 -0
  544. package/dist/content/specialists/Especialista em Performance e Escalabilidade.md +373 -0
  545. package/dist/content/specialists/Especialista em Plano de Execu/303/247/303/243o com IA.md" +341 -0
  546. package/dist/content/specialists/Especialista em Prototipagem R/303/241pida com Google Stitch.md" +419 -0
  547. package/dist/content/specialists/Especialista em Seguran/303/247a da Informa/303/247/303/243o.md" +508 -0
  548. package/dist/content/specialists/Especialista em UX Design.md +453 -0
  549. package/dist/content/specialists/INDEX.md +43 -0
  550. package/dist/content/templates/PRD.md +165 -0
  551. package/dist/content/templates/README.md +65 -0
  552. package/dist/content/templates/adr.md +103 -0
  553. package/dist/content/templates/arquitetura.md +279 -0
  554. package/dist/content/templates/backlog.md +185 -0
  555. package/dist/content/templates/checklist-seguranca.md +180 -0
  556. package/dist/content/templates/contexto.md +120 -0
  557. package/dist/content/templates/criterios-aceite.md +99 -0
  558. package/dist/content/templates/design-banco.md +270 -0
  559. package/dist/content/templates/design-doc.md +240 -0
  560. package/dist/content/templates/feature.md +88 -0
  561. package/dist/content/templates/historia-backend.md +84 -0
  562. package/dist/content/templates/historia-frontend.md +75 -0
  563. package/dist/content/templates/historia-usuario.md +125 -0
  564. package/dist/content/templates/mapa-navegacao.md +133 -0
  565. package/dist/content/templates/matriz-rastreabilidade.md +121 -0
  566. package/dist/content/templates/modelo-dominio.md +219 -0
  567. package/dist/content/templates/plano-testes.md +199 -0
  568. package/dist/content/templates/prototipo-stitch.md +138 -0
  569. package/dist/content/templates/requisitos.md +162 -0
  570. package/dist/content/templates/slo-sli.md +197 -0
  571. package/dist/content/workflows/README-MCP.md +363 -0
  572. package/dist/content/workflows/brainstorm.md +113 -0
  573. package/dist/content/workflows/create.md +59 -0
  574. package/dist/content/workflows/debug.md +103 -0
  575. package/dist/content/workflows/deploy.md +176 -0
  576. package/dist/content/workflows/enhance.md +63 -0
  577. package/dist/content/workflows/mcp-debug.md +506 -0
  578. package/dist/content/workflows/mcp-feature.md +385 -0
  579. package/dist/content/workflows/mcp-gate.md +413 -0
  580. package/dist/content/workflows/mcp-next.md +388 -0
  581. package/dist/content/workflows/mcp-refactor.md +600 -0
  582. package/dist/content/workflows/mcp-start.md +304 -0
  583. package/dist/content/workflows/mcp-status.md +400 -0
  584. package/dist/content/workflows/orchestrate.md +237 -0
  585. package/dist/content/workflows/plan.md +89 -0
  586. package/dist/content/workflows/preview.md +81 -0
  587. package/dist/content/workflows/status.md +86 -0
  588. package/dist/content/workflows/test.md +144 -0
  589. package/dist/content/workflows/ui-ux-pro-max.md +296 -0
  590. package/dist/flows/alternativas.d.ts +5 -0
  591. package/dist/flows/alternativas.d.ts.map +1 -0
  592. package/dist/flows/alternativas.js +218 -0
  593. package/dist/flows/alternativas.js.map +1 -0
  594. package/dist/flows/classifier.d.ts +10 -0
  595. package/dist/flows/classifier.d.ts.map +1 -0
  596. package/dist/flows/classifier.js +112 -0
  597. package/dist/flows/classifier.js.map +1 -0
  598. package/dist/flows/types.d.ts +23 -0
  599. package/dist/flows/types.d.ts.map +1 -0
  600. package/dist/flows/types.js +470 -0
  601. package/dist/flows/types.js.map +1 -0
  602. package/dist/gates/estrutura.d.ts +43 -0
  603. package/dist/gates/estrutura.d.ts.map +1 -0
  604. package/dist/gates/estrutura.js +199 -0
  605. package/dist/gates/estrutura.js.map +1 -0
  606. package/dist/gates/tiers.d.ts +42 -0
  607. package/dist/gates/tiers.d.ts.map +1 -0
  608. package/dist/gates/tiers.js +255 -0
  609. package/dist/gates/tiers.js.map +1 -0
  610. package/dist/gates/tiers.test.d.ts +2 -0
  611. package/dist/gates/tiers.test.d.ts.map +1 -0
  612. package/dist/gates/tiers.test.js +86 -0
  613. package/dist/gates/tiers.test.js.map +1 -0
  614. package/dist/gates/validator.d.ts +18 -0
  615. package/dist/gates/validator.d.ts.map +1 -0
  616. package/dist/gates/validator.js +171 -0
  617. package/dist/gates/validator.js.map +1 -0
  618. package/dist/index.d.ts +3 -0
  619. package/dist/index.d.ts.map +1 -0
  620. package/dist/index.js +596 -0
  621. package/dist/index.js.map +1 -0
  622. package/dist/resources/index.d.ts +6 -0
  623. package/dist/resources/index.d.ts.map +1 -0
  624. package/dist/resources/index.js +166 -0
  625. package/dist/resources/index.js.map +1 -0
  626. package/dist/server.d.ts +6 -0
  627. package/dist/server.d.ts.map +1 -0
  628. package/dist/server.js +27 -0
  629. package/dist/server.js.map +1 -0
  630. package/dist/state/context.d.ts +43 -0
  631. package/dist/state/context.d.ts.map +1 -0
  632. package/dist/state/context.js +92 -0
  633. package/dist/state/context.js.map +1 -0
  634. package/dist/state/memory.d.ts +54 -0
  635. package/dist/state/memory.d.ts.map +1 -0
  636. package/dist/state/memory.js +173 -0
  637. package/dist/state/memory.js.map +1 -0
  638. package/dist/state/storage.d.ts +37 -0
  639. package/dist/state/storage.d.ts.map +1 -0
  640. package/dist/state/storage.js +127 -0
  641. package/dist/state/storage.js.map +1 -0
  642. package/dist/stdio.d.ts +3 -0
  643. package/dist/stdio.d.ts.map +1 -0
  644. package/dist/stdio.js +350 -0
  645. package/dist/stdio.js.map +1 -0
  646. package/dist/tools/analise/index.d.ts +8 -0
  647. package/dist/tools/analise/index.d.ts.map +1 -0
  648. package/dist/tools/analise/index.js +8 -0
  649. package/dist/tools/analise/index.js.map +1 -0
  650. package/dist/tools/analise/performance.d.ts +25 -0
  651. package/dist/tools/analise/performance.d.ts.map +1 -0
  652. package/dist/tools/analise/performance.js +82 -0
  653. package/dist/tools/analise/performance.js.map +1 -0
  654. package/dist/tools/analise/qualidade.d.ts +25 -0
  655. package/dist/tools/analise/qualidade.d.ts.map +1 -0
  656. package/dist/tools/analise/qualidade.js +82 -0
  657. package/dist/tools/analise/qualidade.js.map +1 -0
  658. package/dist/tools/analise/relatorio.d.ts +31 -0
  659. package/dist/tools/analise/relatorio.d.ts.map +1 -0
  660. package/dist/tools/analise/relatorio.js +162 -0
  661. package/dist/tools/analise/relatorio.js.map +1 -0
  662. package/dist/tools/analise/seguranca.d.ts +25 -0
  663. package/dist/tools/analise/seguranca.d.ts.map +1 -0
  664. package/dist/tools/analise/seguranca.js +87 -0
  665. package/dist/tools/analise/seguranca.js.map +1 -0
  666. package/dist/tools/aprovar-gate.d.ts +40 -0
  667. package/dist/tools/aprovar-gate.d.ts.map +1 -0
  668. package/dist/tools/aprovar-gate.js +217 -0
  669. package/dist/tools/aprovar-gate.js.map +1 -0
  670. package/dist/tools/atualizar-codebase.d.ts +184 -0
  671. package/dist/tools/atualizar-codebase.d.ts.map +1 -0
  672. package/dist/tools/atualizar-codebase.js +199 -0
  673. package/dist/tools/atualizar-codebase.js.map +1 -0
  674. package/dist/tools/avaliar-entregavel.d.ts +31 -0
  675. package/dist/tools/avaliar-entregavel.d.ts.map +1 -0
  676. package/dist/tools/avaliar-entregavel.js +164 -0
  677. package/dist/tools/avaliar-entregavel.js.map +1 -0
  678. package/dist/tools/carregar-projeto.d.ts +32 -0
  679. package/dist/tools/carregar-projeto.d.ts.map +1 -0
  680. package/dist/tools/carregar-projeto.js +202 -0
  681. package/dist/tools/carregar-projeto.js.map +1 -0
  682. package/dist/tools/classificar.d.ts +46 -0
  683. package/dist/tools/classificar.d.ts.map +1 -0
  684. package/dist/tools/classificar.js +148 -0
  685. package/dist/tools/classificar.js.map +1 -0
  686. package/dist/tools/confirmar-classificacao.d.ts +35 -0
  687. package/dist/tools/confirmar-classificacao.d.ts.map +1 -0
  688. package/dist/tools/confirmar-classificacao.js +121 -0
  689. package/dist/tools/confirmar-classificacao.js.map +1 -0
  690. package/dist/tools/confirmar-stitch.d.ts +32 -0
  691. package/dist/tools/confirmar-stitch.d.ts.map +1 -0
  692. package/dist/tools/confirmar-stitch.js +176 -0
  693. package/dist/tools/confirmar-stitch.js.map +1 -0
  694. package/dist/tools/contexto.d.ts +29 -0
  695. package/dist/tools/contexto.d.ts.map +1 -0
  696. package/dist/tools/contexto.js +138 -0
  697. package/dist/tools/contexto.js.map +1 -0
  698. package/dist/tools/fluxos-alternativos.d.ts +79 -0
  699. package/dist/tools/fluxos-alternativos.d.ts.map +1 -0
  700. package/dist/tools/fluxos-alternativos.js +221 -0
  701. package/dist/tools/fluxos-alternativos.js.map +1 -0
  702. package/dist/tools/implementar-historia.d.ts +34 -0
  703. package/dist/tools/implementar-historia.d.ts.map +1 -0
  704. package/dist/tools/implementar-historia.js +175 -0
  705. package/dist/tools/implementar-historia.js.map +1 -0
  706. package/dist/tools/index.d.ts +6 -0
  707. package/dist/tools/index.d.ts.map +1 -0
  708. package/dist/tools/index.js +291 -0
  709. package/dist/tools/index.js.map +1 -0
  710. package/dist/tools/iniciar-projeto.d.ts +64 -0
  711. package/dist/tools/iniciar-projeto.d.ts.map +1 -0
  712. package/dist/tools/iniciar-projeto.js +366 -0
  713. package/dist/tools/iniciar-projeto.js.map +1 -0
  714. package/dist/tools/injetar-conteudo.d.ts +41 -0
  715. package/dist/tools/injetar-conteudo.d.ts.map +1 -0
  716. package/dist/tools/injetar-conteudo.js +107 -0
  717. package/dist/tools/injetar-conteudo.js.map +1 -0
  718. package/dist/tools/proximo.d.ts +45 -0
  719. package/dist/tools/proximo.d.ts.map +1 -0
  720. package/dist/tools/proximo.js +571 -0
  721. package/dist/tools/proximo.js.map +1 -0
  722. package/dist/tools/salvar.d.ts +46 -0
  723. package/dist/tools/salvar.d.ts.map +1 -0
  724. package/dist/tools/salvar.js +176 -0
  725. package/dist/tools/salvar.js.map +1 -0
  726. package/dist/tools/status.d.ts +29 -0
  727. package/dist/tools/status.d.ts.map +1 -0
  728. package/dist/tools/status.js +171 -0
  729. package/dist/tools/status.js.map +1 -0
  730. package/dist/tools/validar-gate.d.ts +39 -0
  731. package/dist/tools/validar-gate.d.ts.map +1 -0
  732. package/dist/tools/validar-gate.js +131 -0
  733. package/dist/tools/validar-gate.js.map +1 -0
  734. package/dist/types/index.d.ts +81 -0
  735. package/dist/types/index.d.ts.map +1 -0
  736. package/dist/types/index.js +3 -0
  737. package/dist/types/index.js.map +1 -0
  738. package/dist/types/memory.d.ts +171 -0
  739. package/dist/types/memory.d.ts.map +1 -0
  740. package/dist/types/memory.js +185 -0
  741. package/dist/types/memory.js.map +1 -0
  742. package/dist/types/response.d.ts +38 -0
  743. package/dist/types/response.d.ts.map +1 -0
  744. package/dist/types/response.js +35 -0
  745. package/dist/types/response.js.map +1 -0
  746. package/dist/utils/code-parser.d.ts +58 -0
  747. package/dist/utils/code-parser.d.ts.map +1 -0
  748. package/dist/utils/code-parser.js +182 -0
  749. package/dist/utils/code-parser.js.map +1 -0
  750. package/dist/utils/content-injector.d.ts +14 -0
  751. package/dist/utils/content-injector.d.ts.map +1 -0
  752. package/dist/utils/content-injector.js +88 -0
  753. package/dist/utils/content-injector.js.map +1 -0
  754. package/dist/utils/files.d.ts +73 -0
  755. package/dist/utils/files.d.ts.map +1 -0
  756. package/dist/utils/files.js +282 -0
  757. package/dist/utils/files.js.map +1 -0
  758. package/dist/utils/history.d.ts +28 -0
  759. package/dist/utils/history.d.ts.map +1 -0
  760. package/dist/utils/history.js +32 -0
  761. package/dist/utils/history.js.map +1 -0
  762. package/dist/utils/instructions.d.ts +16 -0
  763. package/dist/utils/instructions.d.ts.map +1 -0
  764. package/dist/utils/instructions.js +70 -0
  765. package/dist/utils/instructions.js.map +1 -0
  766. package/dist/utils/local-content.d.ts +21 -0
  767. package/dist/utils/local-content.d.ts.map +1 -0
  768. package/dist/utils/local-content.js +85 -0
  769. package/dist/utils/local-content.js.map +1 -0
  770. package/dist/utils/prompt-mapper.d.ts +33 -0
  771. package/dist/utils/prompt-mapper.d.ts.map +1 -0
  772. package/dist/utils/prompt-mapper.js +184 -0
  773. package/dist/utils/prompt-mapper.js.map +1 -0
  774. package/dist/utils/system-md.d.ts +7 -0
  775. package/dist/utils/system-md.d.ts.map +1 -0
  776. package/dist/utils/system-md.js +51 -0
  777. package/dist/utils/system-md.js.map +1 -0
  778. package/package.json +68 -0
package/README.md ADDED
@@ -0,0 +1,227 @@
1
+ # MCP Maestro
2
+
3
+ Servidor MCP (Model Context Protocol) para o Maestro - Guia de Desenvolvimento Assistido por IA.
4
+
5
+ ## 🚀 Uso via npx (Recomendado)
6
+
7
+ O Maestro agora é distribuído como pacote npm e executado localmente via `npx`, garantindo acesso direto aos arquivos do seu projeto.
8
+
9
+ ### Instalação e Configuração
10
+
11
+ 1. **Configure seu cliente MCP** (ex: Gemini, VS Code, Cline):
12
+
13
+ ```json
14
+ {
15
+ "mcpServers": {
16
+ "maestro": {
17
+ "command": "npx",
18
+ "args": ["-y", "@maestro/mcp-server", "D:\\SEU\\DIRETÓRIO\\DE\\PROJETOS"],
19
+ "disabled": false,
20
+ "env": {}
21
+ }
22
+ }
23
+ }
24
+ ```
25
+
26
+ 2. **Substitua `D:\\SEU\\DIRETÓRIO\\DE\\PROJETOS`** pelo caminho onde você cria projetos Maestro.
27
+
28
+ ### Fluxo de Uso
29
+
30
+ ```bash
31
+ # 1. Iniciar novo projeto (analisa e sugere classificação)
32
+ iniciar_projeto(
33
+ nome: "Meu App",
34
+ descricao: "Sistema de gestão de tarefas",
35
+ diretorio: "D:\\Projetos\\meu-app"
36
+ )
37
+
38
+ # 2. Confirmar criação (injeta conteúdo automaticamente)
39
+ confirmar_projeto(
40
+ nome: "Meu App",
41
+ diretorio: "D:\\Projetos\\meu-app",
42
+ tipo_artefato: "product",
43
+ nivel_complexidade: "medio"
44
+ )
45
+
46
+ # 3. Trabalhar nas fases
47
+ proximo() # Avança para próxima fase
48
+ status() # Ver status completo
49
+ salvar() # Salva entregáveis
50
+ ```
51
+
52
+ ### Injeção Automática de Conteúdo
53
+
54
+ Ao confirmar um projeto, o Maestro injeta automaticamente:
55
+
56
+ ```
57
+ meu-app/
58
+ ├── .maestro/
59
+ │ ├── content/ ← Conteúdo injetado aqui
60
+ │ │ ├── specialists/ # Especialistas de cada fase
61
+ │ │ ├── templates/ # Modelos de entregáveis
62
+ │ │ ├── guides/ # Guias de apoio
63
+ │ │ └── prompts/ # Prompts por categoria
64
+ │ ├── estado.json # Estado do projeto
65
+ │ └── resumo.json # Memória do projeto
66
+ ```
67
+
68
+ ### Comandos Principais
69
+
70
+ | Comando | Descrição |
71
+ |---------|-----------|
72
+ | `iniciar_projeto` | Analisa e sugere classificação |
73
+ | `confirmar_projeto` | Cria projeto e injeta conteúdo |
74
+ | `carregar_projeto` | Carrega projeto existente |
75
+ | `proximo` | Salva entregável e avança fase |
76
+ | `status` | Retorna status completo |
77
+ | `injetar_conteudo` | Reinjeta conteúdo (use `force:true`) |
78
+
79
+ ---
80
+
81
+ ## 🌐 Servidor Público (Legado)
82
+
83
+ O servidor HTTP público continua disponível para compatibilidade:
84
+
85
+ ```
86
+ https://maestro.deluna.dev.br
87
+ ```
88
+
89
+ > **Nota**: Recomendamos usar o modo npx para acesso completo aos arquivos locais.
90
+
91
+ ### Verificar Status
92
+
93
+ ```bash
94
+ curl https://maestro.deluna.dev.br/health
95
+ # Retorna: {"status":"ok","server":"mcp-maestro","version":"1.0.0"}
96
+ ```
97
+
98
+ ---
99
+
100
+ ## �️ Tools Disponíveis
101
+
102
+ | Tool | Descrição |
103
+ |------|-----------|
104
+ | `iniciar_projeto` | Inicia um novo projeto com classificação |
105
+ | `confirmar_projeto` | Confirma criação e injeta conteúdo |
106
+ | `carregar_projeto` | Carrega projeto existente |
107
+ | `proximo` | Salva entregável e avança para próxima fase |
108
+ | `status` | Retorna status atual do projeto |
109
+ | `validar_gate` | Valida checklist antes de avançar fase |
110
+ | `contexto` | Obtém contexto completo do projeto |
111
+ | `salvar` | Salva artefatos do projeto |
112
+ | `injetar_conteudo` | Injeta conteúdo base no projeto |
113
+ | `nova_feature` | Fluxo para adicionar nova feature |
114
+ | `corrigir_bug` | Fluxo para correção de bugs |
115
+ | `refatorar` | Fluxo para refatoração de código |
116
+ | `classificar` | Classifica entregáveis |
117
+ | `avaliar_entregavel` | Avalia qualidade com score |
118
+
119
+ ---
120
+
121
+ ## 📚 Resources Disponíveis
122
+
123
+ | URI | Descrição |
124
+ |-----|-----------|
125
+ | `maestro://especialista/{nome}` | Especialistas de IA |
126
+ | `maestro://template/{nome}` | Templates de documentos |
127
+ | `maestro://guia/{nome}` | Guias práticos |
128
+ | `maestro://prompt/{categoria}/{nome}` | Prompts especializados |
129
+ | `maestro://system-prompt` | System prompt do Maestro |
130
+
131
+ ---
132
+
133
+ ## 💻 Desenvolvimento Local
134
+
135
+ ### Instalação
136
+
137
+ ```bash
138
+ cd src
139
+ npm install
140
+ ```
141
+
142
+ ### Desenvolvimento
143
+
144
+ ```bash
145
+ # Modo npx (STDIO) - principal
146
+ npm run dev
147
+
148
+ # Modo HTTP - apenas para testes
149
+ npm run dev:http
150
+ ```
151
+
152
+ ### Build e Produção
153
+
154
+ ```bash
155
+ npm run build
156
+ npm run start:stdio # Modo npx
157
+ npm run start # Modo HTTP
158
+ ```
159
+
160
+ ### Teste Local do Pacote
161
+
162
+ ```bash
163
+ # Gerar pacote
164
+ npm run pack
165
+
166
+ # Testar antes de publicar
167
+ npx ./maestro-mcp-server-1.0.0.tgz D:\Projetos\teste
168
+ ```
169
+
170
+ ### Publicação
171
+
172
+ ```bash
173
+ # Publicar no npm (requer login)
174
+ npm publish --access public
175
+ ```
176
+
177
+ ---
178
+
179
+ ## 📋 Exemplo de Fluxo Completo (Modo npx)
180
+
181
+ ```bash
182
+ # 1. Iniciar projeto
183
+ iniciar_projeto(
184
+ nome: "meu-app",
185
+ descricao: "Sistema de gestão de tarefas",
186
+ diretorio: "D:\\Projetos\\meu-app"
187
+ )
188
+
189
+ # 2. Confirmar criação (injeta conteúdo automaticamente)
190
+ confirmar_projeto(
191
+ nome: "meu-app",
192
+ diretorio: "D:\\Projetos\\meu-app",
193
+ tipo_artefato: "product",
194
+ nivel_complexidade: "medio"
195
+ )
196
+
197
+ # 3. Verificar status
198
+ status(
199
+ diretorio: "D:\\Projetos\\meu-app"
200
+ )
201
+
202
+ # 4. Avançar fase
203
+ proximo(
204
+ entregavel: "# PRD - Produto\n\n## Problema\n...",
205
+ diretorio: "D:\\Projetos\\meu-app"
206
+ )
207
+ ```
208
+
209
+ ---
210
+
211
+ ## 🐳 Docker (Legado)
212
+
213
+ A imagem Docker continua disponível para o modo HTTP:
214
+
215
+ ```bash
216
+ # Produção
217
+ docker-compose up -d
218
+
219
+ # Desenvolvimento
220
+ docker-compose -f docker-compose.yml -f docker-compose.dev.yml up --build
221
+ ```
222
+
223
+ ---
224
+
225
+ ## 📄 Licença
226
+
227
+ MIT License - veja arquivo LICENSE para detalhes.
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Base types and interfaces for code analyzers
3
+ */
4
+ export type Severity = "critical" | "high" | "medium" | "low" | "info";
5
+ export type AnalysisCategory = "security" | "performance" | "quality" | "accessibility" | "dependency";
6
+ export interface Finding {
7
+ id: string;
8
+ category: AnalysisCategory;
9
+ severity: Severity;
10
+ title: string;
11
+ description: string;
12
+ file?: string;
13
+ line?: number;
14
+ column?: number;
15
+ code?: string;
16
+ suggestion?: string;
17
+ references?: string[];
18
+ }
19
+ export interface AnalysisResult {
20
+ category: AnalysisCategory;
21
+ timestamp: string;
22
+ duration: number;
23
+ findings: Finding[];
24
+ summary: {
25
+ total: number;
26
+ critical: number;
27
+ high: number;
28
+ medium: number;
29
+ low: number;
30
+ info: number;
31
+ };
32
+ }
33
+ export interface IAnalyzer {
34
+ category: AnalysisCategory;
35
+ name: string;
36
+ description: string;
37
+ analyze(content: string, options?: AnalyzerOptions): Promise<AnalysisResult>;
38
+ }
39
+ export interface AnalyzerOptions {
40
+ fileType?: string;
41
+ fileName?: string;
42
+ projectDir?: string;
43
+ rules?: string[];
44
+ severity?: Severity;
45
+ }
46
+ /**
47
+ * Abstract base class for all analyzers
48
+ */
49
+ export declare abstract class BaseAnalyzer implements IAnalyzer {
50
+ abstract category: AnalysisCategory;
51
+ abstract name: string;
52
+ abstract description: string;
53
+ protected findings: Finding[];
54
+ protected startTime: number;
55
+ analyze(content: string, options?: AnalyzerOptions): Promise<AnalysisResult>;
56
+ protected abstract performAnalysis(content: string, options?: AnalyzerOptions): Promise<void>;
57
+ protected addFinding(finding: Omit<Finding, "id" | "category">): void;
58
+ protected buildResult(): AnalysisResult;
59
+ }
60
+ /**
61
+ * Format analysis result as markdown
62
+ */
63
+ export declare function formatAnalysisResult(result: AnalysisResult): string;
64
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/analyzers/base.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAGvE,MAAM,MAAM,gBAAgB,GACtB,UAAU,GACV,aAAa,GACb,SAAS,GACT,eAAe,GACf,YAAY,CAAC;AAGnB,MAAM,WAAW,OAAO;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAGD,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;KAChB,CAAC;CACL;AAGD,MAAM,WAAW,SAAS;IACtB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IAEpB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CAChF;AAGD,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACvB;AAED;;GAEG;AACH,8BAAsB,YAAa,YAAW,SAAS;IACnD,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAM;IACnC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAK;IAE1B,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IASlF,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAE7F,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,UAAU,CAAC,GAAG,IAAI;IAQrE,SAAS,CAAC,WAAW,IAAI,cAAc;CAkB1C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CA0EnE"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Base types and interfaces for code analyzers
3
+ */
4
+ /**
5
+ * Abstract base class for all analyzers
6
+ */
7
+ export class BaseAnalyzer {
8
+ findings = [];
9
+ startTime = 0;
10
+ async analyze(content, options) {
11
+ this.startTime = Date.now();
12
+ this.findings = [];
13
+ await this.performAnalysis(content, options);
14
+ return this.buildResult();
15
+ }
16
+ addFinding(finding) {
17
+ this.findings.push({
18
+ id: `${this.category}-${this.findings.length + 1}`,
19
+ category: this.category,
20
+ ...finding,
21
+ });
22
+ }
23
+ buildResult() {
24
+ const summary = {
25
+ total: this.findings.length,
26
+ critical: this.findings.filter(f => f.severity === "critical").length,
27
+ high: this.findings.filter(f => f.severity === "high").length,
28
+ medium: this.findings.filter(f => f.severity === "medium").length,
29
+ low: this.findings.filter(f => f.severity === "low").length,
30
+ info: this.findings.filter(f => f.severity === "info").length,
31
+ };
32
+ return {
33
+ category: this.category,
34
+ timestamp: new Date().toISOString(),
35
+ duration: Date.now() - this.startTime,
36
+ findings: this.findings,
37
+ summary,
38
+ };
39
+ }
40
+ }
41
+ /**
42
+ * Format analysis result as markdown
43
+ */
44
+ export function formatAnalysisResult(result) {
45
+ const lines = [];
46
+ const emoji = {
47
+ security: "🔒",
48
+ performance: "⚡",
49
+ quality: "📊",
50
+ accessibility: "♿",
51
+ dependency: "📦",
52
+ };
53
+ lines.push(`# ${emoji[result.category]} Análise de ${result.category.charAt(0).toUpperCase() + result.category.slice(1)}\n`);
54
+ // Summary
55
+ lines.push("## Resumo\n");
56
+ lines.push(`| Severidade | Quantidade |`);
57
+ lines.push(`|------------|------------|`);
58
+ lines.push(`| 🔴 Crítico | ${result.summary.critical} |`);
59
+ lines.push(`| 🟠 Alto | ${result.summary.high} |`);
60
+ lines.push(`| 🟡 Médio | ${result.summary.medium} |`);
61
+ lines.push(`| 🔵 Baixo | ${result.summary.low} |`);
62
+ lines.push(`| ⚪ Info | ${result.summary.info} |`);
63
+ lines.push(`| **Total** | **${result.summary.total}** |\n`);
64
+ if (result.findings.length === 0) {
65
+ lines.push("✅ **Nenhum problema encontrado!**\n");
66
+ return lines.join("\n");
67
+ }
68
+ // Findings by severity
69
+ const bySeverity = ["critical", "high", "medium", "low", "info"];
70
+ for (const severity of bySeverity) {
71
+ const findings = result.findings.filter(f => f.severity === severity);
72
+ if (findings.length === 0)
73
+ continue;
74
+ const severityEmoji = {
75
+ critical: "🔴",
76
+ high: "🟠",
77
+ medium: "🟡",
78
+ low: "🔵",
79
+ info: "⚪",
80
+ };
81
+ lines.push(`## ${severityEmoji[severity]} ${severity.toUpperCase()} (${findings.length})\n`);
82
+ for (const finding of findings) {
83
+ lines.push(`### ${finding.title}\n`);
84
+ lines.push(finding.description);
85
+ if (finding.file) {
86
+ lines.push(`\n**Arquivo:** \`${finding.file}\`${finding.line ? `:${finding.line}` : ""}`);
87
+ }
88
+ if (finding.code) {
89
+ lines.push(`\n\`\`\`\n${finding.code}\n\`\`\``);
90
+ }
91
+ if (finding.suggestion) {
92
+ lines.push(`\n💡 **Sugestão:** ${finding.suggestion}`);
93
+ }
94
+ if (finding.references && finding.references.length > 0) {
95
+ lines.push(`\n**Referências:**`);
96
+ finding.references.forEach(ref => lines.push(`- ${ref}`));
97
+ }
98
+ lines.push("");
99
+ }
100
+ }
101
+ lines.push(`---\n*Análise executada em ${result.duration}ms*`);
102
+ return lines.join("\n");
103
+ }
104
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/analyzers/base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Analyzers Index - Export all analyzers
3
+ */
4
+ export { BaseAnalyzer, formatAnalysisResult } from "./base.js";
5
+ export type { Finding, AnalysisResult, AnalyzerOptions, Severity, AnalysisCategory, IAnalyzer } from "./base.js";
6
+ export { SecurityAnalyzer } from "./security-analyzer.js";
7
+ export { QualityAnalyzer } from "./quality-analyzer.js";
8
+ export { PerformanceAnalyzer } from "./performance-analyzer.js";
9
+ import type { IAnalyzer, AnalysisCategory } from "./base.js";
10
+ export declare function createAnalyzer(category: AnalysisCategory): IAnalyzer;
11
+ export declare function getAllAnalyzers(): IAnalyzer[];
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/analyzers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAC/D,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEjH,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAMhE,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7D,wBAAgB,cAAc,CAAC,QAAQ,EAAE,gBAAgB,GAAG,SAAS,CAWpE;AAED,wBAAgB,eAAe,IAAI,SAAS,EAAE,CAM7C"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Analyzers Index - Export all analyzers
3
+ */
4
+ export { BaseAnalyzer, formatAnalysisResult } from "./base.js";
5
+ export { SecurityAnalyzer } from "./security-analyzer.js";
6
+ export { QualityAnalyzer } from "./quality-analyzer.js";
7
+ export { PerformanceAnalyzer } from "./performance-analyzer.js";
8
+ // Factory to get all analyzers
9
+ import { SecurityAnalyzer } from "./security-analyzer.js";
10
+ import { QualityAnalyzer } from "./quality-analyzer.js";
11
+ import { PerformanceAnalyzer } from "./performance-analyzer.js";
12
+ export function createAnalyzer(category) {
13
+ switch (category) {
14
+ case "security":
15
+ return new SecurityAnalyzer();
16
+ case "quality":
17
+ return new QualityAnalyzer();
18
+ case "performance":
19
+ return new PerformanceAnalyzer();
20
+ default:
21
+ throw new Error(`Unknown analyzer category: ${category}`);
22
+ }
23
+ }
24
+ export function getAllAnalyzers() {
25
+ return [
26
+ new SecurityAnalyzer(),
27
+ new QualityAnalyzer(),
28
+ new PerformanceAnalyzer(),
29
+ ];
30
+ }
31
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/analyzers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAG/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,+BAA+B;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGhE,MAAM,UAAU,cAAc,CAAC,QAA0B;IACrD,QAAQ,QAAQ,EAAE,CAAC;QACf,KAAK,UAAU;YACX,OAAO,IAAI,gBAAgB,EAAE,CAAC;QAClC,KAAK,SAAS;YACV,OAAO,IAAI,eAAe,EAAE,CAAC;QACjC,KAAK,aAAa;YACd,OAAO,IAAI,mBAAmB,EAAE,CAAC;QACrC;YACI,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAC;IAClE,CAAC;AACL,CAAC;AAED,MAAM,UAAU,eAAe;IAC3B,OAAO;QACH,IAAI,gBAAgB,EAAE;QACtB,IAAI,eAAe,EAAE;QACrB,IAAI,mBAAmB,EAAE;KAC5B,CAAC;AACN,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Performance Analyzer - Detects performance issues and anti-patterns
3
+ */
4
+ import { BaseAnalyzer, type AnalyzerOptions } from "./base.js";
5
+ export declare class PerformanceAnalyzer extends BaseAnalyzer {
6
+ category: "performance";
7
+ name: string;
8
+ description: string;
9
+ protected performAnalysis(content: string, options?: AnalyzerOptions): Promise<void>;
10
+ }
11
+ //# sourceMappingURL=performance-analyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performance-analyzer.d.ts","sourceRoot":"","sources":["../../src/analyzers/performance-analyzer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAAiB,MAAM,WAAW,CAAC;AA+H9E,qBAAa,mBAAoB,SAAQ,YAAY;IACjD,QAAQ,EAAG,aAAa,CAAU;IAClC,IAAI,SAA0B;IAC9B,WAAW,SAAsD;cAEjD,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;CA4C7F"}
@@ -0,0 +1,162 @@
1
+ /**
2
+ * Performance Analyzer - Detects performance issues and anti-patterns
3
+ */
4
+ import { BaseAnalyzer } from "./base.js";
5
+ const PERFORMANCE_RULES = [
6
+ // Loop issues
7
+ {
8
+ id: "PERF-LOOP-AWAIT",
9
+ name: "Await dentro de loop",
10
+ description: "Await sequencial em loop causa N requests em série",
11
+ severity: "high",
12
+ pattern: /for\s*\([^)]*\)\s*\{[^}]*await\b|while\s*\([^)]*\)\s*\{[^}]*await\b/,
13
+ suggestion: "Use Promise.all() para executar em paralelo",
14
+ },
15
+ {
16
+ id: "PERF-NESTED-LOOP",
17
+ name: "Loops aninhados",
18
+ description: "Loops aninhados podem causar O(n²) ou pior",
19
+ severity: "medium",
20
+ pattern: /for\s*\([^)]*\)\s*\{[^}]*for\s*\(/,
21
+ suggestion: "Considere usar Map/Set ou reestruturar algoritmo",
22
+ },
23
+ {
24
+ id: "PERF-ARRAY-IN-LOOP",
25
+ name: "Criação de array em loop",
26
+ description: "Criar arrays dentro de loop causa alocações desnecessárias",
27
+ severity: "low",
28
+ pattern: /for\s*\([^)]*\)\s*\{[^}]*\[\s*\]/,
29
+ suggestion: "Mova criação de array para fora do loop",
30
+ },
31
+ // Memory issues
32
+ {
33
+ id: "PERF-LARGE-ARRAY",
34
+ name: "Array potencialmente grande",
35
+ description: "Carregar todos registros de uma vez pode consumir muita memória",
36
+ severity: "medium",
37
+ pattern: /findAll|find\(\)|getAll|fetchAll/i,
38
+ suggestion: "Use paginação ou streaming para grandes datasets",
39
+ },
40
+ {
41
+ id: "PERF-NO-LIMIT",
42
+ name: "Query sem LIMIT",
43
+ description: "Query sem limite pode retornar milhões de registros",
44
+ severity: "high",
45
+ pattern: /SELECT.*FROM(?!.*LIMIT)/i,
46
+ suggestion: "Sempre use LIMIT ou paginação em queries",
47
+ },
48
+ // React specific
49
+ {
50
+ id: "PERF-INLINE-FUNCTION",
51
+ name: "Função inline em render",
52
+ description: "Funções inline causam re-renders desnecessários",
53
+ severity: "medium",
54
+ pattern: /onClick=\{.*=>/,
55
+ suggestion: "Use useCallback ou defina função fora do JSX",
56
+ },
57
+ {
58
+ id: "PERF-INLINE-OBJECT",
59
+ name: "Objeto inline em render",
60
+ description: "Objetos inline causam re-renders desnecessários",
61
+ severity: "medium",
62
+ pattern: /style=\{\{|className=\{\{/,
63
+ suggestion: "Use useMemo ou defina objeto fora do JSX",
64
+ },
65
+ {
66
+ id: "PERF-MISSING-KEY",
67
+ name: "Lista sem key",
68
+ description: "Listas sem key única causam re-renders ineficientes",
69
+ severity: "medium",
70
+ pattern: /\.map\([^)]*\)\s*=>\s*<\w+(?![^>]*key=)/,
71
+ suggestion: "Adicione key única em elementos de lista",
72
+ },
73
+ // API/Network
74
+ {
75
+ id: "PERF-N-PLUS-1",
76
+ name: "Possível N+1 Query",
77
+ description: "Query dentro de loop causa múltiplas requisições ao banco",
78
+ severity: "high",
79
+ pattern: /for.*\{[^}]*(?:find|get|fetch|query|select)/i,
80
+ suggestion: "Use eager loading ou batch queries",
81
+ },
82
+ {
83
+ id: "PERF-NO-CACHE",
84
+ name: "Requisição sem cache",
85
+ description: "Requisição que poderia ser cacheada",
86
+ severity: "low",
87
+ pattern: /fetch\([^)]*\)(?!.*cache)/i,
88
+ suggestion: "Considere adicionar cache para dados estáticos",
89
+ },
90
+ // JS performance
91
+ {
92
+ id: "PERF-SYNC-LOCALSTORAGE",
93
+ name: "LocalStorage síncrono",
94
+ description: "LocalStorage é síncrono e pode bloquear a thread",
95
+ severity: "low",
96
+ pattern: /localStorage\.(get|set|remove)Item/,
97
+ suggestion: "Use IndexedDB para dados grandes ou acesso frequente",
98
+ },
99
+ {
100
+ id: "PERF-DOCUMENT-QUERYSELECTORALL",
101
+ name: "QuerySelectorAll em loop",
102
+ description: "DOM query repetida é custosa",
103
+ severity: "medium",
104
+ pattern: /for.*document\.querySelector/,
105
+ suggestion: "Cache o resultado da query antes do loop",
106
+ },
107
+ {
108
+ id: "PERF-STRING-CONCAT-LOOP",
109
+ name: "Concatenação de string em loop",
110
+ description: "Concatenar strings em loop é O(n²)",
111
+ severity: "medium",
112
+ pattern: /for.*\+=/,
113
+ suggestion: "Use array.join() ou template literals",
114
+ },
115
+ ];
116
+ export class PerformanceAnalyzer extends BaseAnalyzer {
117
+ category = "performance";
118
+ name = "Performance Analyzer";
119
+ description = "Detecta problemas de performance e anti-patterns";
120
+ async performAnalysis(content, options) {
121
+ const lines = content.split("\n");
122
+ // Check for rules that span multiple lines
123
+ for (const rule of PERFORMANCE_RULES) {
124
+ if (rule.pattern.test(content)) {
125
+ // Find the line number
126
+ for (let i = 0; i < lines.length; i++) {
127
+ if (rule.pattern.test(lines[i])) {
128
+ this.addFinding({
129
+ severity: rule.severity,
130
+ title: `[${rule.id}] ${rule.name}`,
131
+ description: rule.description,
132
+ file: options?.fileName,
133
+ line: i + 1,
134
+ code: lines[i].trim(),
135
+ suggestion: rule.suggestion,
136
+ });
137
+ break;
138
+ }
139
+ }
140
+ }
141
+ }
142
+ // Check bundle size indicators
143
+ const largeImports = [
144
+ { name: "moment", size: "300KB", alternative: "dayjs (2KB)" },
145
+ { name: "lodash", size: "70KB", alternative: "lodash-es com tree-shaking" },
146
+ { name: "jquery", size: "90KB", alternative: "vanilla JS ou frameworks modernos" },
147
+ ];
148
+ for (const lib of largeImports) {
149
+ const importPattern = new RegExp(`import.*from\\s*['"]${lib.name}['"]`);
150
+ if (importPattern.test(content)) {
151
+ this.addFinding({
152
+ severity: "medium",
153
+ title: `[PERF-LARGE-BUNDLE] Biblioteca pesada: ${lib.name}`,
154
+ description: `${lib.name} adiciona ~${lib.size} ao bundle`,
155
+ file: options?.fileName,
156
+ suggestion: `Considere usar ${lib.alternative}`,
157
+ });
158
+ }
159
+ }
160
+ }
161
+ }
162
+ //# sourceMappingURL=performance-analyzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performance-analyzer.js","sourceRoot":"","sources":["../../src/analyzers/performance-analyzer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAuC,MAAM,WAAW,CAAC;AAW9E,MAAM,iBAAiB,GAAsB;IACzC,cAAc;IACd;QACI,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,oDAAoD;QACjE,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,qEAAqE;QAC9E,UAAU,EAAE,6CAA6C;KAC5D;IACD;QACI,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,4CAA4C;QACzD,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,mCAAmC;QAC5C,UAAU,EAAE,kDAAkD;KACjE;IACD;QACI,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,0BAA0B;QAChC,WAAW,EAAE,4DAA4D;QACzE,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,kCAAkC;QAC3C,UAAU,EAAE,yCAAyC;KACxD;IAED,gBAAgB;IAChB;QACI,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,6BAA6B;QACnC,WAAW,EAAE,iEAAiE;QAC9E,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,mCAAmC;QAC5C,UAAU,EAAE,kDAAkD;KACjE;IACD;QACI,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,qDAAqD;QAClE,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,0BAA0B;QACnC,UAAU,EAAE,0CAA0C;KACzD;IAED,iBAAiB;IACjB;QACI,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE,iDAAiD;QAC9D,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,gBAAgB;QACzB,UAAU,EAAE,8CAA8C;KAC7D;IACD;QACI,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE,iDAAiD;QAC9D,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,2BAA2B;QACpC,UAAU,EAAE,0CAA0C;KACzD;IACD;QACI,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,qDAAqD;QAClE,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,yCAAyC;QAClD,UAAU,EAAE,0CAA0C;KACzD;IAED,cAAc;IACd;QACI,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,2DAA2D;QACxE,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,8CAA8C;QACvD,UAAU,EAAE,oCAAoC;KACnD;IACD;QACI,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,qCAAqC;QAClD,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,4BAA4B;QACrC,UAAU,EAAE,gDAAgD;KAC/D;IAED,iBAAiB;IACjB;QACI,EAAE,EAAE,wBAAwB;QAC5B,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,kDAAkD;QAC/D,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,oCAAoC;QAC7C,UAAU,EAAE,sDAAsD;KACrE;IACD;QACI,EAAE,EAAE,gCAAgC;QACpC,IAAI,EAAE,0BAA0B;QAChC,WAAW,EAAE,8BAA8B;QAC3C,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,8BAA8B;QACvC,UAAU,EAAE,0CAA0C;KACzD;IACD;QACI,EAAE,EAAE,yBAAyB;QAC7B,IAAI,EAAE,gCAAgC;QACtC,WAAW,EAAE,oCAAoC;QACjD,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,UAAU;QACnB,UAAU,EAAE,uCAAuC;KACtD;CACJ,CAAC;AAEF,MAAM,OAAO,mBAAoB,SAAQ,YAAY;IACjD,QAAQ,GAAG,aAAsB,CAAC;IAClC,IAAI,GAAG,sBAAsB,CAAC;IAC9B,WAAW,GAAG,kDAAkD,CAAC;IAEvD,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,OAAyB;QACtE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAElC,2CAA2C;QAC3C,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7B,uBAAuB;gBACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACpC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC9B,IAAI,CAAC,UAAU,CAAC;4BACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ;4BACvB,KAAK,EAAE,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE;4BAClC,WAAW,EAAE,IAAI,CAAC,WAAW;4BAC7B,IAAI,EAAE,OAAO,EAAE,QAAQ;4BACvB,IAAI,EAAE,CAAC,GAAG,CAAC;4BACX,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;4BACrB,UAAU,EAAE,IAAI,CAAC,UAAU;yBAC9B,CAAC,CAAC;wBACH,MAAM;oBACV,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,+BAA+B;QAC/B,MAAM,YAAY,GAAG;YACjB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE;YAC7D,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,4BAA4B,EAAE;YAC3E,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,mCAAmC,EAAE;SACrF,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC7B,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC,uBAAuB,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC;YACxE,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,UAAU,CAAC;oBACZ,QAAQ,EAAE,QAAQ;oBAClB,KAAK,EAAE,0CAA0C,GAAG,CAAC,IAAI,EAAE;oBAC3D,WAAW,EAAE,GAAG,GAAG,CAAC,IAAI,cAAc,GAAG,CAAC,IAAI,YAAY;oBAC1D,IAAI,EAAE,OAAO,EAAE,QAAQ;oBACvB,UAAU,EAAE,kBAAkB,GAAG,CAAC,WAAW,EAAE;iBAClD,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC;CACJ"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Quality Analyzer - Code quality metrics and issues
3
+ */
4
+ import { BaseAnalyzer, type AnalyzerOptions } from "./base.js";
5
+ export declare class QualityAnalyzer extends BaseAnalyzer {
6
+ category: "quality";
7
+ name: string;
8
+ description: string;
9
+ protected performAnalysis(content: string, options?: AnalyzerOptions): Promise<void>;
10
+ }
11
+ //# sourceMappingURL=quality-analyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quality-analyzer.d.ts","sourceRoot":"","sources":["../../src/analyzers/quality-analyzer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAAiB,MAAM,WAAW,CAAC;AA+G9E,qBAAa,eAAgB,SAAQ,YAAY;IAC7C,QAAQ,EAAG,SAAS,CAAU;IAC9B,IAAI,SAAsB;IAC1B,WAAW,SAAyD;cAEpD,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;CA6F7F"}