@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
@@ -0,0 +1,182 @@
1
+ /**
2
+ * Code Parser - Extracts structure from source code
3
+ */
4
+ /**
5
+ * Detect language from file extension or content
6
+ */
7
+ export function detectLanguage(fileName, content) {
8
+ const ext = fileName.split(".").pop()?.toLowerCase();
9
+ const extMap = {
10
+ ts: "typescript",
11
+ tsx: "typescript",
12
+ js: "javascript",
13
+ jsx: "javascript",
14
+ py: "python",
15
+ java: "java",
16
+ cs: "csharp",
17
+ go: "go",
18
+ rs: "rust",
19
+ rb: "ruby",
20
+ php: "php",
21
+ html: "html",
22
+ css: "css",
23
+ scss: "scss",
24
+ sql: "sql",
25
+ yaml: "yaml",
26
+ yml: "yaml",
27
+ json: "json",
28
+ md: "markdown",
29
+ };
30
+ if (ext && extMap[ext]) {
31
+ return extMap[ext];
32
+ }
33
+ // Detect from content
34
+ if (content.includes("import React") || content.includes("from 'react'")) {
35
+ return "typescript";
36
+ }
37
+ if (content.includes("def ") && content.includes(":")) {
38
+ return "python";
39
+ }
40
+ if (content.includes("public class") || content.includes("private void")) {
41
+ return "java";
42
+ }
43
+ return "unknown";
44
+ }
45
+ /**
46
+ * Parse TypeScript/JavaScript code
47
+ */
48
+ export function parseTypeScript(content) {
49
+ const lines = content.split("\n");
50
+ const result = {
51
+ language: "typescript",
52
+ imports: [],
53
+ exports: [],
54
+ functions: [],
55
+ classes: [],
56
+ variables: [],
57
+ dependencies: [],
58
+ lines: lines.length,
59
+ complexity: 0,
60
+ };
61
+ let complexity = 0;
62
+ for (let i = 0; i < lines.length; i++) {
63
+ const line = lines[i];
64
+ const lineNum = i + 1;
65
+ // Parse imports
66
+ const importMatch = line.match(/import\s+(?:(\{[^}]+\})|(\w+))\s+from\s+['"]([^'"]+)['"]/);
67
+ if (importMatch) {
68
+ const items = importMatch[1]
69
+ ? importMatch[1].replace(/[{}]/g, "").split(",").map(s => s.trim())
70
+ : [importMatch[2]];
71
+ result.imports.push({
72
+ module: importMatch[3],
73
+ items,
74
+ line: lineNum,
75
+ isDefault: !importMatch[1],
76
+ });
77
+ // Track dependencies (non-relative imports)
78
+ if (!importMatch[3].startsWith(".") && !importMatch[3].startsWith("/")) {
79
+ const dep = importMatch[3].split("/")[0];
80
+ if (!result.dependencies.includes(dep)) {
81
+ result.dependencies.push(dep);
82
+ }
83
+ }
84
+ }
85
+ // Parse exports
86
+ const exportMatch = line.match(/export\s+(default\s+)?(function|class|const|let|var)\s+(\w+)/);
87
+ if (exportMatch) {
88
+ result.exports.push({
89
+ name: exportMatch[3],
90
+ type: exportMatch[1] ? "default" : exportMatch[2],
91
+ line: lineNum,
92
+ });
93
+ }
94
+ // Parse functions
95
+ const funcMatch = line.match(/(async\s+)?function\s+(\w+)\s*\(([^)]*)\)/);
96
+ if (funcMatch) {
97
+ result.functions.push({
98
+ name: funcMatch[2],
99
+ params: funcMatch[3] ? funcMatch[3].split(",").map(s => s.trim()) : [],
100
+ async: !!funcMatch[1],
101
+ line: lineNum,
102
+ complexity: 1,
103
+ });
104
+ }
105
+ // Parse arrow functions (const/let)
106
+ const arrowMatch = line.match(/(const|let)\s+(\w+)\s*=\s*(async\s+)?\([^)]*\)\s*=>/);
107
+ if (arrowMatch) {
108
+ result.functions.push({
109
+ name: arrowMatch[2],
110
+ params: [],
111
+ async: !!arrowMatch[3],
112
+ line: lineNum,
113
+ complexity: 1,
114
+ });
115
+ }
116
+ // Parse classes
117
+ const classMatch = line.match(/class\s+(\w+)(?:\s+extends\s+(\w+))?(?:\s+implements\s+(.+))?/);
118
+ if (classMatch) {
119
+ result.classes.push({
120
+ name: classMatch[1],
121
+ extends: classMatch[2],
122
+ implements: classMatch[3] ? classMatch[3].split(",").map(s => s.trim()) : [],
123
+ methods: [],
124
+ properties: [],
125
+ line: lineNum,
126
+ });
127
+ }
128
+ // Parse variables
129
+ const varMatch = line.match(/(const|let|var)\s+(\w+)\s*[=:]/);
130
+ if (varMatch && !arrowMatch) {
131
+ result.variables.push({
132
+ name: varMatch[2],
133
+ type: varMatch[1],
134
+ line: lineNum,
135
+ });
136
+ }
137
+ // Calculate complexity (simplified)
138
+ if (line.includes("if (") || line.includes("if("))
139
+ complexity++;
140
+ if (line.includes("else"))
141
+ complexity++;
142
+ if (line.includes("for (") || line.includes("for("))
143
+ complexity++;
144
+ if (line.includes("while (") || line.includes("while("))
145
+ complexity++;
146
+ if (line.includes("switch (") || line.includes("switch("))
147
+ complexity++;
148
+ if (line.includes("catch (") || line.includes("catch("))
149
+ complexity++;
150
+ if (line.includes("&&") || line.includes("||"))
151
+ complexity++;
152
+ if (line.includes("? ") && line.includes(" : "))
153
+ complexity++;
154
+ }
155
+ result.complexity = complexity;
156
+ return result;
157
+ }
158
+ /**
159
+ * Parse code based on detected language
160
+ */
161
+ export function parseCode(content, fileName = "file.ts") {
162
+ const language = detectLanguage(fileName, content);
163
+ switch (language) {
164
+ case "typescript":
165
+ case "javascript":
166
+ return parseTypeScript(content);
167
+ default:
168
+ // Return basic info for unsupported languages
169
+ return {
170
+ language,
171
+ imports: [],
172
+ exports: [],
173
+ functions: [],
174
+ classes: [],
175
+ variables: [],
176
+ dependencies: [],
177
+ lines: content.split("\n").length,
178
+ complexity: 0,
179
+ };
180
+ }
181
+ }
182
+ //# sourceMappingURL=code-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-parser.js","sourceRoot":"","sources":["../../src/utils/code-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export declare function getBuiltinContentDir(): string;
2
+ export interface InjectContentOptions {
3
+ sourcePath?: string;
4
+ force?: boolean;
5
+ }
6
+ export interface InjectContentResult {
7
+ targetDir: string;
8
+ sourceDir: string;
9
+ installed: boolean;
10
+ filesCopied?: number;
11
+ }
12
+ export declare function injectContentIntoProject(diretorio: string, options?: InjectContentOptions): Promise<InjectContentResult>;
13
+ export declare function ensureContentInstalled(diretorio: string): Promise<InjectContentResult>;
14
+ //# sourceMappingURL=content-injector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-injector.d.ts","sourceRoot":"","sources":["../../src/utils/content-injector.ts"],"names":[],"mappings":"AA4BA,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED,MAAM,WAAW,oBAAoB;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAoBD,wBAAsB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAwB9H;AAED,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAY5F"}
@@ -0,0 +1,88 @@
1
+ import { cp, mkdir, readdir } from "fs/promises";
2
+ import { existsSync, statSync } from "fs";
3
+ import { join, dirname } from "path";
4
+ import { fileURLToPath } from "url";
5
+ const __dirname = dirname(fileURLToPath(import.meta.url));
6
+ function getDefaultSourceDir() {
7
+ // Tente diferentes caminhos relativos para encontrar o conteúdo
8
+ const possiblePaths = [
9
+ join(__dirname, "..", "..", "..", "content"), // src/../content
10
+ join(__dirname, "..", "..", "content"), // src/content
11
+ join(__dirname, "content"), // mesmo dir
12
+ join(process.cwd(), "content"), // working dir
13
+ join(__dirname, "..", "content"), // dist/content (quando instalado)
14
+ ];
15
+ for (const path of possiblePaths) {
16
+ if (existsSync(path)) {
17
+ console.log(`[DEBUG] Conteúdo encontrado em: ${path}`);
18
+ return path;
19
+ }
20
+ }
21
+ console.log(`[DEBUG] Conteúdo não encontrado. Tentados: ${possiblePaths.join(", ")}`);
22
+ throw new Error("Conteúdo embutido não encontrado");
23
+ }
24
+ export function getBuiltinContentDir() {
25
+ return getDefaultSourceDir();
26
+ }
27
+ async function countFiles(dir) {
28
+ try {
29
+ const entries = await readdir(dir, { withFileTypes: true });
30
+ let count = 0;
31
+ for (const entry of entries) {
32
+ const fullPath = join(dir, entry.name);
33
+ if (entry.isDirectory()) {
34
+ count += await countFiles(fullPath);
35
+ }
36
+ else {
37
+ count += 1;
38
+ }
39
+ }
40
+ return count;
41
+ }
42
+ catch {
43
+ return 0;
44
+ }
45
+ }
46
+ export async function injectContentIntoProject(diretorio, options) {
47
+ const sourceDir = options?.sourcePath ?? getDefaultSourceDir();
48
+ const targetDir = join(diretorio, ".maestro", "content");
49
+ if (!directoryExists(sourceDir)) {
50
+ throw new Error(`Fonte de conteúdo não encontrada: ${sourceDir}`);
51
+ }
52
+ if (existsSync(targetDir)) {
53
+ if (!options?.force) {
54
+ return { targetDir, sourceDir, installed: false };
55
+ }
56
+ }
57
+ await mkdir(targetDir, { recursive: true });
58
+ await cp(sourceDir, targetDir, { recursive: true });
59
+ const filesCopied = await countFiles(targetDir);
60
+ return {
61
+ targetDir,
62
+ sourceDir,
63
+ installed: true,
64
+ filesCopied,
65
+ };
66
+ }
67
+ export async function ensureContentInstalled(diretorio) {
68
+ const targetDir = join(diretorio, ".maestro", "content");
69
+ if (existsSync(targetDir)) {
70
+ return {
71
+ targetDir,
72
+ sourceDir: getDefaultSourceDir(),
73
+ installed: false,
74
+ filesCopied: await countFiles(targetDir),
75
+ };
76
+ }
77
+ return injectContentIntoProject(diretorio);
78
+ }
79
+ function directoryExists(path) {
80
+ try {
81
+ const stats = statSync(path);
82
+ return stats.isDirectory();
83
+ }
84
+ catch {
85
+ return false;
86
+ }
87
+ }
88
+ //# sourceMappingURL=content-injector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-injector.js","sourceRoot":"","sources":["../../src/utils/content-injector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Define o diretório do projeto para leitura local
3
+ */
4
+ export declare function setProjectDirectory(dir: string | null): void;
5
+ /**
6
+ * Obtém o diretório do projeto atual
7
+ */
8
+ export declare function getProjectDirectory(): string | null;
9
+ /**
10
+ * Verifica se o projeto tem content local instalado
11
+ */
12
+ export declare function temContentLocal(diretorio?: string): boolean;
13
+ /**
14
+ * Lê conteúdo de um especialista (local ou servidor)
15
+ */
16
+ export declare function lerEspecialista(nome: string, diretorio?: string): Promise<string>;
17
+ /**
18
+ * Lê conteúdo de um template (local ou servidor)
19
+ */
20
+ export declare function lerTemplate(nome: string, diretorio?: string): Promise<string>;
21
+ /**
22
+ * Lê conteúdo de um prompt (local ou servidor)
23
+ */
24
+ export declare function lerPrompt(categoria: string, nome: string, diretorio?: string): Promise<string>;
25
+ /**
26
+ * Lê conteúdo de um guia (local ou servidor)
27
+ */
28
+ export declare function lerGuia(nome: string, diretorio?: string): Promise<string>;
29
+ /**
30
+ * Lista arquivos markdown em um diretório dentro de content
31
+ */
32
+ export declare function listarArquivos(subdir: string, diretorio?: string): Promise<string[]>;
33
+ /**
34
+ * Lista especialistas disponíveis
35
+ */
36
+ export declare function listarEspecialistas(diretorio?: string): Promise<string[]>;
37
+ /**
38
+ * Lista templates disponíveis
39
+ */
40
+ export declare function listarTemplates(diretorio?: string): Promise<string[]>;
41
+ /**
42
+ * Lista guias disponíveis
43
+ */
44
+ export declare function listarGuias(diretorio?: string): Promise<string[]>;
45
+ /**
46
+ * Verifica se arquivo existe
47
+ */
48
+ export declare function arquivoExiste(path: string): Promise<boolean>;
49
+ /**
50
+ * Obtém caminho raiz do servidor (fallback)
51
+ */
52
+ export declare function getServerContentRoot(): string;
53
+ /**
54
+ * Lê conteúdo de um exemplo de fluxo (local ou servidor)
55
+ */
56
+ export declare function lerExemplo(nome: string, diretorio?: string): Promise<string>;
57
+ /**
58
+ * Lista exemplos disponíveis
59
+ */
60
+ export declare function listarExemplos(diretorio?: string): Promise<string[]>;
61
+ /**
62
+ * Normaliza o caminho do projeto, removendo prefixos de container (ex: /app/c:)
63
+ */
64
+ export declare function normalizeProjectPath(path: string): string;
65
+ /**
66
+ * Resolve o caminho do projeto lidando com ambientes mistos (Docker Linux -> Windows Host)
67
+ */
68
+ export declare function resolveProjectPath(path: string): string;
69
+ /**
70
+ * Join paths handling mixed environments (Docker Linux -> Windows Host)
71
+ */
72
+ export declare function joinProjectPath(...paths: string[]): string;
73
+ //# sourceMappingURL=files.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/utils/files.ts"],"names":[],"mappings":"AAcA;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,QAErD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAEnD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAI3D;AAyBD;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAyBvF;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAuBnF;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAYpG;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAuB/E;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAc1F;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAG/E;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAG3E;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAGvE;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOlE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAyBlF;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAG1E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAiBzD;AAGD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAwBvD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAU1D"}
@@ -0,0 +1,282 @@
1
+ import { readFile, readdir, stat } from "fs/promises";
2
+ import { join, dirname, resolve, win32 } from "path";
3
+ import { fileURLToPath } from "url";
4
+ import { existsSync } from "fs";
5
+ import { platform } from "os";
6
+ import { getBuiltinContentDir } from "./content-injector.js";
7
+ // Resolve path to content folder (server fallback)
8
+ const __dirname = dirname(fileURLToPath(import.meta.url));
9
+ const SERVER_CONTENT_ROOT = join(__dirname, "..", "..", "..", "content");
10
+ // Diretório do projeto atual (pode ser setado por contexto)
11
+ let currentProjectDir = null;
12
+ /**
13
+ * Define o diretório do projeto para leitura local
14
+ */
15
+ export function setProjectDirectory(dir) {
16
+ currentProjectDir = dir;
17
+ }
18
+ /**
19
+ * Obtém o diretório do projeto atual
20
+ */
21
+ export function getProjectDirectory() {
22
+ return currentProjectDir;
23
+ }
24
+ /**
25
+ * Verifica se o projeto tem content local instalado
26
+ */
27
+ export function temContentLocal(diretorio) {
28
+ const dir = diretorio || currentProjectDir;
29
+ if (!dir)
30
+ return false;
31
+ return existsSync(join(dir, '.maestro', 'content'));
32
+ }
33
+ /**
34
+ * Obtém o diretório de content (local ou servidor)
35
+ */
36
+ function getContentRoot(diretorio) {
37
+ const dir = diretorio || currentProjectDir;
38
+ // Tenta local primeiro
39
+ if (dir) {
40
+ const localContent = join(dir, '.maestro', 'content');
41
+ if (existsSync(localContent)) {
42
+ return localContent;
43
+ }
44
+ }
45
+ // Fallback para servidor (usa o content-injector para encontrar)
46
+ try {
47
+ return getBuiltinContentDir();
48
+ }
49
+ catch {
50
+ // Último fallback - caminho relativo
51
+ return join(__dirname, "..", "..", "..", "content");
52
+ }
53
+ }
54
+ /**
55
+ * Lê conteúdo de um especialista (local ou servidor)
56
+ */
57
+ export async function lerEspecialista(nome, diretorio) {
58
+ const contentRoot = getContentRoot(diretorio);
59
+ const especialistasDir = join(contentRoot, "specialists");
60
+ try {
61
+ const files = await readdir(especialistasDir);
62
+ // Busca arquivo que contém o nome do especialista
63
+ const arquivo = files.find(f => f.toLowerCase().includes(nome.toLowerCase()) && f.endsWith(".md"));
64
+ if (!arquivo) {
65
+ throw new Error(`Especialista não encontrado: ${nome}`);
66
+ }
67
+ const path = join(especialistasDir, arquivo);
68
+ return readFile(path, "utf-8");
69
+ }
70
+ catch (error) {
71
+ // Se falhou no local, tenta no servidor
72
+ if (contentRoot !== SERVER_CONTENT_ROOT) {
73
+ return lerEspecialista(nome, undefined);
74
+ }
75
+ throw error;
76
+ }
77
+ }
78
+ /**
79
+ * Lê conteúdo de um template (local ou servidor)
80
+ */
81
+ export async function lerTemplate(nome, diretorio) {
82
+ const contentRoot = getContentRoot(diretorio);
83
+ const templatesDir = join(contentRoot, "templates");
84
+ try {
85
+ const files = await readdir(templatesDir);
86
+ const arquivo = files.find(f => f.toLowerCase().includes(nome.toLowerCase()) && f.endsWith(".md"));
87
+ if (!arquivo) {
88
+ throw new Error(`Template não encontrado: ${nome}`);
89
+ }
90
+ const path = join(templatesDir, arquivo);
91
+ return readFile(path, "utf-8");
92
+ }
93
+ catch (error) {
94
+ if (contentRoot !== SERVER_CONTENT_ROOT) {
95
+ return lerTemplate(nome, undefined);
96
+ }
97
+ throw error;
98
+ }
99
+ }
100
+ /**
101
+ * Lê conteúdo de um prompt (local ou servidor)
102
+ */
103
+ export async function lerPrompt(categoria, nome, diretorio) {
104
+ const contentRoot = getContentRoot(diretorio);
105
+ const path = join(contentRoot, "prompts", categoria, `${nome}.md`);
106
+ try {
107
+ return await readFile(path, "utf-8");
108
+ }
109
+ catch (error) {
110
+ if (contentRoot !== SERVER_CONTENT_ROOT) {
111
+ return lerPrompt(categoria, nome, undefined);
112
+ }
113
+ throw error;
114
+ }
115
+ }
116
+ /**
117
+ * Lê conteúdo de um guia (local ou servidor)
118
+ */
119
+ export async function lerGuia(nome, diretorio) {
120
+ const contentRoot = getContentRoot(diretorio);
121
+ const guiasDir = join(contentRoot, "guides");
122
+ try {
123
+ const files = await readdir(guiasDir);
124
+ const arquivo = files.find(f => f.toLowerCase().includes(nome.toLowerCase()) && f.endsWith(".md"));
125
+ if (!arquivo) {
126
+ throw new Error(`Guia não encontrado: ${nome}`);
127
+ }
128
+ const path = join(guiasDir, arquivo);
129
+ return readFile(path, "utf-8");
130
+ }
131
+ catch (error) {
132
+ if (contentRoot !== SERVER_CONTENT_ROOT) {
133
+ return lerGuia(nome, undefined);
134
+ }
135
+ throw error;
136
+ }
137
+ }
138
+ /**
139
+ * Lista arquivos markdown em um diretório dentro de content
140
+ */
141
+ export async function listarArquivos(subdir, diretorio) {
142
+ const contentRoot = getContentRoot(diretorio);
143
+ const dir = join(contentRoot, subdir);
144
+ try {
145
+ const entries = await readdir(dir);
146
+ return entries.filter(e => e.endsWith(".md"));
147
+ }
148
+ catch {
149
+ // Se falhar no local, tenta servidor
150
+ if (contentRoot !== SERVER_CONTENT_ROOT) {
151
+ return listarArquivos(subdir, undefined);
152
+ }
153
+ return [];
154
+ }
155
+ }
156
+ /**
157
+ * Lista especialistas disponíveis
158
+ */
159
+ export async function listarEspecialistas(diretorio) {
160
+ const files = await listarArquivos("specialists", diretorio);
161
+ return files.map(f => f.replace(/^Especialista em /i, "").replace(".md", ""));
162
+ }
163
+ /**
164
+ * Lista templates disponíveis
165
+ */
166
+ export async function listarTemplates(diretorio) {
167
+ const files = await listarArquivos("templates", diretorio);
168
+ return files.map(f => f.replace(".md", ""));
169
+ }
170
+ /**
171
+ * Lista guias disponíveis
172
+ */
173
+ export async function listarGuias(diretorio) {
174
+ const files = await listarArquivos("guides", diretorio);
175
+ return files.map(f => f.replace(".md", ""));
176
+ }
177
+ /**
178
+ * Verifica se arquivo existe
179
+ */
180
+ export async function arquivoExiste(path) {
181
+ try {
182
+ await stat(path);
183
+ return true;
184
+ }
185
+ catch {
186
+ return false;
187
+ }
188
+ }
189
+ /**
190
+ * Obtém caminho raiz do servidor (fallback)
191
+ */
192
+ export function getServerContentRoot() {
193
+ return SERVER_CONTENT_ROOT;
194
+ }
195
+ /**
196
+ * Lê conteúdo de um exemplo de fluxo (local ou servidor)
197
+ */
198
+ export async function lerExemplo(nome, diretorio) {
199
+ const contentRoot = getContentRoot(diretorio);
200
+ const examplesDir = join(contentRoot, "examples");
201
+ try {
202
+ const files = await readdir(examplesDir);
203
+ // Busca arquivo que contém o nome do exemplo
204
+ const arquivo = files.find(f => f.toLowerCase().includes(nome.toLowerCase()) && f.endsWith(".md"));
205
+ if (!arquivo) {
206
+ throw new Error(`Exemplo não encontrado: ${nome}`);
207
+ }
208
+ const path = join(examplesDir, arquivo);
209
+ return readFile(path, "utf-8");
210
+ }
211
+ catch (error) {
212
+ // Se falhou no local, tenta no servidor
213
+ if (contentRoot !== SERVER_CONTENT_ROOT) {
214
+ return lerExemplo(nome, undefined);
215
+ }
216
+ throw error;
217
+ }
218
+ }
219
+ /**
220
+ * Lista exemplos disponíveis
221
+ */
222
+ export async function listarExemplos(diretorio) {
223
+ const files = await listarArquivos("examples", diretorio);
224
+ return files.map(f => f.replace(".md", ""));
225
+ }
226
+ /**
227
+ * Normaliza o caminho do projeto, removendo prefixos de container (ex: /app/c:)
228
+ */
229
+ export function normalizeProjectPath(path) {
230
+ if (!path)
231
+ return path;
232
+ // Remove prefixo /app/ de caminhos Windows com drive letter (ex: /app/c: -> c:)
233
+ const winDriveMatch = path.match(/^\/app\/([a-zA-Z]:.*)$/);
234
+ if (winDriveMatch) {
235
+ return winDriveMatch[1];
236
+ }
237
+ // Remove apenas /app/ se for um caminho absoluto linux/mac que foi prepended
238
+ if (path.startsWith('/app/')) {
239
+ const stripped = path.replace(/^\/app\//, '/');
240
+ // Se após remover ficar apenas uma barra ou caminho válido, retorna
241
+ return stripped;
242
+ }
243
+ return path;
244
+ }
245
+ /**
246
+ * Resolve o caminho do projeto lidando com ambientes mistos (Docker Linux -> Windows Host)
247
+ */
248
+ export function resolveProjectPath(path) {
249
+ const normalized = normalizeProjectPath(path).trim();
250
+ // Debug logging
251
+ if (platform() !== 'win32') {
252
+ console.log(`[DEBUG] resolveProjectPath input: "${path}"`);
253
+ console.log(`[DEBUG] normalized: "${normalized}"`);
254
+ }
255
+ // Se o path é Windows (Drive Letter) mas estamos no Linux (Docker/WSL)
256
+ // Checks for "C:" at start OR "C:\" inside string (handling weird mounting)
257
+ if (platform() !== 'win32' && (normalized.match(/^[a-zA-Z]:/) || normalized.includes(':\\'))) {
258
+ console.log(`[DEBUG] Windows path detected on Linux. Mapping to CWD: ${process.cwd()}`);
259
+ return process.cwd();
260
+ }
261
+ // Se parece um caminho Windows em ambiente Windows, força win32
262
+ if (platform() === 'win32' && normalized.match(/^[a-zA-Z]:/)) {
263
+ const safePath = normalized.replace(/\//g, '\\');
264
+ return win32.resolve(safePath);
265
+ }
266
+ // Caso contrário, usa resolve padrão do sistema
267
+ return resolve(normalized);
268
+ }
269
+ /**
270
+ * Join paths handling mixed environments (Docker Linux -> Windows Host)
271
+ */
272
+ export function joinProjectPath(...paths) {
273
+ if (paths.length === 0)
274
+ return "";
275
+ const first = normalizeProjectPath(paths[0]);
276
+ // Se o primeiro segmento parece um caminho Windows, usa join win32
277
+ if (first.match(/^[a-zA-Z]:/)) {
278
+ return win32.join(...paths);
279
+ }
280
+ return join(...paths);
281
+ }
282
+ //# sourceMappingURL=files.js.map