@seedgrid/ai-toolkit 0.0.0-stage → 0.3.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 (225) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +151 -2
  3. package/dist/adapters/claude.js +114 -0
  4. package/dist/adapters/codex.js +108 -0
  5. package/dist/adapters/index.js +17 -0
  6. package/dist/adapters/shared.js +142 -0
  7. package/dist/adapters/types.js +1 -0
  8. package/dist/cli.js +203 -0
  9. package/dist/commands/common.js +98 -0
  10. package/dist/commands/doctor.js +290 -0
  11. package/dist/commands/init.js +9 -0
  12. package/dist/commands/install.js +107 -0
  13. package/dist/commands/remove.js +54 -0
  14. package/dist/commands/review.js +127 -0
  15. package/dist/commands/status.js +73 -0
  16. package/dist/commands/update.js +8 -0
  17. package/dist/commands/validate.js +27 -0
  18. package/dist/core/apply.js +181 -0
  19. package/dist/core/blocks.js +64 -0
  20. package/dist/core/content.js +528 -0
  21. package/dist/core/env.js +40 -0
  22. package/dist/core/frontmatter.js +29 -0
  23. package/dist/core/hash.js +14 -0
  24. package/dist/core/inspect.js +51 -0
  25. package/dist/core/lock.js +124 -0
  26. package/dist/core/paths.js +65 -0
  27. package/dist/core/plan.js +242 -0
  28. package/dist/core/tools.js +62 -0
  29. package/dist/core/types.js +11 -0
  30. package/dist/core/updates.js +121 -0
  31. package/docs/arquitetura.md +80 -0
  32. package/docs/compatibilidade.md +50 -0
  33. package/docs/formato.md +155 -0
  34. package/docs/instalacao.md +105 -0
  35. package/docs/manutencao.md +115 -0
  36. package/package.json +43 -4
  37. package/seedgridKB/SeedGrid/Extensions/Catalogo-de-enums.md +161 -0
  38. package/seedgridKB/SeedGrid/Extensions/Catalogo-de-propriedades.md +971 -0
  39. package/seedgridKB/SeedGrid/Extensions/Indice.md +63 -0
  40. package/seedgridKB/SeedGrid/Extensions/ai-pricing/Configuracao.md +124 -0
  41. package/seedgridKB/SeedGrid/Extensions/ai-pricing/Enums.md +40 -0
  42. package/seedgridKB/SeedGrid/Extensions/ai-pricing/Exemplos.md +97 -0
  43. package/seedgridKB/SeedGrid/Extensions/ai-pricing/Visao-geral.md +114 -0
  44. package/seedgridKB/SeedGrid/Extensions/apikeys/Configuracao-Rust.md +69 -0
  45. package/seedgridKB/SeedGrid/Extensions/apikeys/Configuracao.md +88 -0
  46. package/seedgridKB/SeedGrid/Extensions/apikeys/Enums.md +33 -0
  47. package/seedgridKB/SeedGrid/Extensions/apikeys/Exemplos.md +121 -0
  48. package/seedgridKB/SeedGrid/Extensions/apikeys/Rust.md +126 -0
  49. package/seedgridKB/SeedGrid/Extensions/apikeys/Visao-geral.md +111 -0
  50. package/seedgridKB/SeedGrid/Extensions/audit/Configuracao-Rust.md +93 -0
  51. package/seedgridKB/SeedGrid/Extensions/audit/Configuracao.md +127 -0
  52. package/seedgridKB/SeedGrid/Extensions/audit/Enums.md +66 -0
  53. package/seedgridKB/SeedGrid/Extensions/audit/Exemplos.md +151 -0
  54. package/seedgridKB/SeedGrid/Extensions/audit/Rust.md +120 -0
  55. package/seedgridKB/SeedGrid/Extensions/audit/Visao-geral.md +114 -0
  56. package/seedgridKB/SeedGrid/Extensions/backup/Configuracao-Rust.md +136 -0
  57. package/seedgridKB/SeedGrid/Extensions/backup/Configuracao.md +319 -0
  58. package/seedgridKB/SeedGrid/Extensions/backup/Enums.md +131 -0
  59. package/seedgridKB/SeedGrid/Extensions/backup/Exemplos.md +210 -0
  60. package/seedgridKB/SeedGrid/Extensions/backup/Rust.md +135 -0
  61. package/seedgridKB/SeedGrid/Extensions/backup/Visao-geral.md +150 -0
  62. package/seedgridKB/SeedGrid/Extensions/billing/Configuracao-Rust.md +86 -0
  63. package/seedgridKB/SeedGrid/Extensions/billing/Configuracao.md +243 -0
  64. package/seedgridKB/SeedGrid/Extensions/billing/Enums.md +165 -0
  65. package/seedgridKB/SeedGrid/Extensions/billing/Exemplos.md +205 -0
  66. package/seedgridKB/SeedGrid/Extensions/billing/Rust.md +109 -0
  67. package/seedgridKB/SeedGrid/Extensions/billing/Visao-geral.md +181 -0
  68. package/seedgridKB/SeedGrid/Extensions/broker/Configuracao-Rust.md +40 -0
  69. package/seedgridKB/SeedGrid/Extensions/broker/Visao-geral.md +114 -0
  70. package/seedgridKB/SeedGrid/Extensions/cache/Configuracao-Rust.md +73 -0
  71. package/seedgridKB/SeedGrid/Extensions/cache/Configuracao.md +112 -0
  72. package/seedgridKB/SeedGrid/Extensions/cache/Enums.md +36 -0
  73. package/seedgridKB/SeedGrid/Extensions/cache/Exemplos.md +149 -0
  74. package/seedgridKB/SeedGrid/Extensions/cache/Rust.md +81 -0
  75. package/seedgridKB/SeedGrid/Extensions/cache/Visao-geral.md +90 -0
  76. package/seedgridKB/SeedGrid/Extensions/commons/Configuracao.md +107 -0
  77. package/seedgridKB/SeedGrid/Extensions/commons/Enums.md +105 -0
  78. package/seedgridKB/SeedGrid/Extensions/commons/Exemplos.md +141 -0
  79. package/seedgridKB/SeedGrid/Extensions/commons/Visao-geral.md +99 -0
  80. package/seedgridKB/SeedGrid/Extensions/exchange/Configuracao.md +122 -0
  81. package/seedgridKB/SeedGrid/Extensions/exchange/Enums.md +29 -0
  82. package/seedgridKB/SeedGrid/Extensions/exchange/Exemplos.md +82 -0
  83. package/seedgridKB/SeedGrid/Extensions/exchange/Visao-geral.md +118 -0
  84. package/seedgridKB/SeedGrid/Extensions/filemanagement/Configuracao-Rust.md +110 -0
  85. package/seedgridKB/SeedGrid/Extensions/filemanagement/Configuracao.md +157 -0
  86. package/seedgridKB/SeedGrid/Extensions/filemanagement/Exemplos.md +157 -0
  87. package/seedgridKB/SeedGrid/Extensions/filemanagement/Rust.md +70 -0
  88. package/seedgridKB/SeedGrid/Extensions/filemanagement/Visao-geral.md +88 -0
  89. package/seedgridKB/SeedGrid/Extensions/login-tenancy/Configuracao-Rust.md +124 -0
  90. package/seedgridKB/SeedGrid/Extensions/login-tenancy/Configuracao.md +195 -0
  91. package/seedgridKB/SeedGrid/Extensions/login-tenancy/Enums.md +71 -0
  92. package/seedgridKB/SeedGrid/Extensions/login-tenancy/Exemplos.md +149 -0
  93. package/seedgridKB/SeedGrid/Extensions/login-tenancy/Rust.md +139 -0
  94. package/seedgridKB/SeedGrid/Extensions/login-tenancy/Visao-geral.md +130 -0
  95. package/seedgridKB/SeedGrid/Extensions/notification/Configuracao.md +141 -0
  96. package/seedgridKB/SeedGrid/Extensions/notification/Enums.md +52 -0
  97. package/seedgridKB/SeedGrid/Extensions/notification/Exemplos.md +141 -0
  98. package/seedgridKB/SeedGrid/Extensions/notification/Visao-geral.md +113 -0
  99. package/seedgridKB/SeedGrid/Extensions/privacy/Configuracao-Rust.md +67 -0
  100. package/seedgridKB/SeedGrid/Extensions/privacy/Configuracao.md +94 -0
  101. package/seedgridKB/SeedGrid/Extensions/privacy/Enums.md +79 -0
  102. package/seedgridKB/SeedGrid/Extensions/privacy/Exemplos.md +172 -0
  103. package/seedgridKB/SeedGrid/Extensions/privacy/Rust.md +107 -0
  104. package/seedgridKB/SeedGrid/Extensions/privacy/Visao-geral.md +90 -0
  105. package/seedgridKB/SeedGrid/Extensions/realtime/Configuracao-Rust.md +72 -0
  106. package/seedgridKB/SeedGrid/Extensions/realtime/Configuracao.md +104 -0
  107. package/seedgridKB/SeedGrid/Extensions/realtime/Exemplos.md +104 -0
  108. package/seedgridKB/SeedGrid/Extensions/realtime/Rust.md +69 -0
  109. package/seedgridKB/SeedGrid/Extensions/realtime/Visao-geral.md +105 -0
  110. package/seedgridKB/SeedGrid/Extensions/resilience/Configuracao-Rust.md +68 -0
  111. package/seedgridKB/SeedGrid/Extensions/resilience/Configuracao.md +186 -0
  112. package/seedgridKB/SeedGrid/Extensions/resilience/Enums.md +96 -0
  113. package/seedgridKB/SeedGrid/Extensions/resilience/Exemplos.md +229 -0
  114. package/seedgridKB/SeedGrid/Extensions/resilience/Rust.md +80 -0
  115. package/seedgridKB/SeedGrid/Extensions/resilience/Visao-geral.md +112 -0
  116. package/seedgridKB/SeedGrid/Extensions/runtime/Configuracao-Rust.md +90 -0
  117. package/seedgridKB/SeedGrid/Extensions/runtime/Visao-geral.md +114 -0
  118. package/seedgridKB/SeedGrid/Extensions/security/Configuracao-Rust.md +327 -0
  119. package/seedgridKB/SeedGrid/Extensions/security/Configuracao.md +510 -0
  120. package/seedgridKB/SeedGrid/Extensions/security/Enums.md +95 -0
  121. package/seedgridKB/SeedGrid/Extensions/security/Exemplos.md +218 -0
  122. package/seedgridKB/SeedGrid/Extensions/security/Rust.md +203 -0
  123. package/seedgridKB/SeedGrid/Extensions/security/Visao-geral.md +131 -0
  124. package/seedgridKB/SeedGrid/Extensions/subdomain-tenancy/Configuracao-Rust.md +188 -0
  125. package/seedgridKB/SeedGrid/Extensions/subdomain-tenancy/Configuracao.md +345 -0
  126. package/seedgridKB/SeedGrid/Extensions/subdomain-tenancy/Enums.md +117 -0
  127. package/seedgridKB/SeedGrid/Extensions/subdomain-tenancy/Exemplos.md +205 -0
  128. package/seedgridKB/SeedGrid/Extensions/subdomain-tenancy/Rust.md +161 -0
  129. package/seedgridKB/SeedGrid/Extensions/subdomain-tenancy/Visao-geral.md +142 -0
  130. package/seedgridKB/SeedGrid/Extensions/whatsapp/Configuracao-Rust.md +75 -0
  131. package/seedgridKB/SeedGrid/Extensions/whatsapp/Configuracao.md +152 -0
  132. package/seedgridKB/SeedGrid/Extensions/whatsapp/Enums.md +198 -0
  133. package/seedgridKB/SeedGrid/Extensions/whatsapp/Exemplos.md +173 -0
  134. package/seedgridKB/SeedGrid/Extensions/whatsapp/Rust.md +83 -0
  135. package/seedgridKB/SeedGrid/Extensions/whatsapp/Visao-geral.md +99 -0
  136. package/seedgridKB/SeedGrid/Mapa-dos-repositorios.md +112 -0
  137. package/seedgridKB/SeedGrid/SeedGrid-components/Indice.md +323 -0
  138. package/seedgridKB/SeedGrid/SeedGrid-components/buttons/API.md +257 -0
  139. package/seedgridKB/SeedGrid/SeedGrid-components/buttons/Exemplos.md +307 -0
  140. package/seedgridKB/SeedGrid/SeedGrid-components/buttons/Visao-geral.md +51 -0
  141. package/seedgridKB/SeedGrid/SeedGrid-components/datatable/API.md +174 -0
  142. package/seedgridKB/SeedGrid/SeedGrid-components/datatable/Exemplos.md +236 -0
  143. package/seedgridKB/SeedGrid/SeedGrid-components/datatable/Visao-geral.md +76 -0
  144. package/seedgridKB/SeedGrid/SeedGrid-components/digits/API.md +339 -0
  145. package/seedgridKB/SeedGrid/SeedGrid-components/digits/Exemplos.md +311 -0
  146. package/seedgridKB/SeedGrid/SeedGrid-components/digits/Visao-geral.md +57 -0
  147. package/seedgridKB/SeedGrid/SeedGrid-components/editor/API.md +125 -0
  148. package/seedgridKB/SeedGrid/SeedGrid-components/editor/Exemplos.md +116 -0
  149. package/seedgridKB/SeedGrid/SeedGrid-components/editor/Visao-geral.md +86 -0
  150. package/seedgridKB/SeedGrid/SeedGrid-components/feedback-e-exibicao/API.md +490 -0
  151. package/seedgridKB/SeedGrid/SeedGrid-components/feedback-e-exibicao/Exemplos.md +544 -0
  152. package/seedgridKB/SeedGrid/SeedGrid-components/feedback-e-exibicao/Visao-geral.md +69 -0
  153. package/seedgridKB/SeedGrid/SeedGrid-components/fundamentos/API.md +113 -0
  154. package/seedgridKB/SeedGrid/SeedGrid-components/fundamentos/Exemplos.md +159 -0
  155. package/seedgridKB/SeedGrid/SeedGrid-components/fundamentos/Visao-geral.md +92 -0
  156. package/seedgridKB/SeedGrid/SeedGrid-components/gadgets/API.md +516 -0
  157. package/seedgridKB/SeedGrid/SeedGrid-components/gadgets/Exemplos.md +629 -0
  158. package/seedgridKB/SeedGrid/SeedGrid-components/gadgets/Visao-geral.md +80 -0
  159. package/seedgridKB/SeedGrid/SeedGrid-components/inputs-selecao/API.md +615 -0
  160. package/seedgridKB/SeedGrid/SeedGrid-components/inputs-selecao/Exemplos.md +384 -0
  161. package/seedgridKB/SeedGrid/SeedGrid-components/inputs-selecao/Visao-geral.md +111 -0
  162. package/seedgridKB/SeedGrid/SeedGrid-components/inputs-texto/API.md +661 -0
  163. package/seedgridKB/SeedGrid/SeedGrid-components/inputs-texto/Exemplos.md +312 -0
  164. package/seedgridKB/SeedGrid/SeedGrid-components/inputs-texto/Visao-geral.md +123 -0
  165. package/seedgridKB/SeedGrid/SeedGrid-components/layout/API.md +1090 -0
  166. package/seedgridKB/SeedGrid/SeedGrid-components/layout/Exemplos.md +1172 -0
  167. package/seedgridKB/SeedGrid/SeedGrid-components/layout/Visao-geral.md +98 -0
  168. package/seedgridKB/SeedGrid/SeedGrid-components/modulos/Visao-geral.md +98 -0
  169. package/seedgridKB/SeedGrid/SeedGrid-components/modulos/fe-apikeys.md +118 -0
  170. package/seedgridKB/SeedGrid/SeedGrid-components/modulos/fe-audit.md +88 -0
  171. package/seedgridKB/SeedGrid/SeedGrid-components/modulos/fe-backup.md +131 -0
  172. package/seedgridKB/SeedGrid/SeedGrid-components/modulos/fe-billing-platform.md +132 -0
  173. package/seedgridKB/SeedGrid/SeedGrid-components/modulos/fe-billing-user.md +120 -0
  174. package/seedgridKB/SeedGrid/SeedGrid-components/modulos/fe-login-tenancy.md +119 -0
  175. package/seedgridKB/SeedGrid/SeedGrid-components/modulos/fe-security.md +427 -0
  176. package/seedgridKB/SeedGrid/SeedGrid-components/modulos/fe-self-enter.md +104 -0
  177. package/seedgridKB/SeedGrid/SeedGrid-components/modulos/fe-subdomain-tenancy.md +110 -0
  178. package/seedgridKB/SeedGrid/SeedGrid-components/navegacao-e-overlay/API.md +490 -0
  179. package/seedgridKB/SeedGrid/SeedGrid-components/navegacao-e-overlay/Exemplos.md +561 -0
  180. package/seedgridKB/SeedGrid/SeedGrid-components/navegacao-e-overlay/Visao-geral.md +82 -0
  181. package/seedgridKB/SeedGrid/SeedGrid-components/pacotes/Visao-geral.md +68 -0
  182. package/seedgridKB/SeedGrid/SeedGrid-components/pacotes/fe-commons.md +61 -0
  183. package/seedgridKB/SeedGrid/SeedGrid-components/pacotes/fe-core.md +140 -0
  184. package/seedgridKB/SeedGrid/SeedGrid-components/pacotes/fe-playground.md +112 -0
  185. package/seedgridKB/SeedGrid/SeedGrid-components/pacotes/fe-theme.md +97 -0
  186. package/seedgridKB/SeedGrid/SeedGrid-components/providers/API.md +177 -0
  187. package/seedgridKB/SeedGrid/SeedGrid-components/providers/Exemplos.md +332 -0
  188. package/seedgridKB/SeedGrid/SeedGrid-components/providers/Visao-geral.md +106 -0
  189. package/seedgridKB/SeedGrid/SeedGrid-components/showcase.md +70 -0
  190. package/seedgridKB/SeedGrid/Toolkit/agents/arquiteto.md +53 -0
  191. package/seedgridKB/SeedGrid/Toolkit/agents/backend-java.md +45 -0
  192. package/seedgridKB/SeedGrid/Toolkit/agents/backend-rust.md +43 -0
  193. package/seedgridKB/SeedGrid/Toolkit/agents/frontend-react.md +41 -0
  194. package/seedgridKB/SeedGrid/Toolkit/agents/qa.md +44 -0
  195. package/seedgridKB/SeedGrid/Toolkit/agents/revisor.md +40 -0
  196. package/seedgridKB/SeedGrid/Toolkit/references/fluxo-de-trabalho.md +78 -0
  197. package/seedgridKB/SeedGrid/Toolkit/references/glossario.md +15 -0
  198. package/seedgridKB/SeedGrid/Toolkit/references/modos-shared-native.md +27 -0
  199. package/seedgridKB/SeedGrid/Toolkit/rules/backend-java-seedgrid.md +54 -0
  200. package/seedgridKB/SeedGrid/Toolkit/rules/coordenacao.md +39 -0
  201. package/seedgridKB/SeedGrid/Toolkit/rules/formato-entrega.md +29 -0
  202. package/seedgridKB/SeedGrid/Toolkit/rules/frontend-seedgrid.md +47 -0
  203. package/seedgridKB/SeedGrid/Toolkit/rules/personalizacao-local.md +22 -0
  204. package/seedgridKB/SeedGrid/Toolkit/skills/planejar-mudanca/SKILL.md +38 -0
  205. package/seedgridKB/SeedGrid/Toolkit/skills/revisar-codigo/SKILL.md +33 -0
  206. package/seedgridKB/SeedGrid/Toolkit/skills/revisar-codigo/references/checklist.md +25 -0
  207. package/seedgridKB/SeedGrid/Toolkit/skills/seedgrid-backend-crud/SKILL.md +29 -0
  208. package/seedgridKB/SeedGrid/Toolkit/skills/seedgrid-bump/SKILL.md +26 -0
  209. package/seedgridKB/SeedGrid/Toolkit/skills/seedgrid-crud/SKILL.md +221 -0
  210. package/seedgridKB/SeedGrid/Toolkit/skills/seedgrid-crud/agents/openai.yaml +4 -0
  211. package/seedgridKB/SeedGrid/Toolkit/skills/seedgrid-crud/references/checklist.md +31 -0
  212. package/seedgridKB/SeedGrid/Toolkit/skills/seedgrid-crud/references/patterns.md +185 -0
  213. package/seedgridKB/SeedGrid/Toolkit/skills/seedgrid-crud/references/routing.md +66 -0
  214. package/seedgridKB/SeedGrid/Toolkit/skills/seedgrid-new-screen/SKILL.md +56 -0
  215. package/seedgridKB/SeedGrid/Toolkit/skills/seedgrid-new-screen/agents/openai.yaml +4 -0
  216. package/seedgridKB/SeedGrid/Toolkit/skills/seedgrid-new-screen/references/checklist.md +32 -0
  217. package/seedgridKB/SeedGrid/Toolkit/skills/seedgrid-new-screen/references/steps.md +114 -0
  218. package/seedgridKB/SeedGrid/Toolkit/skills/seedgrid-review/SKILL.md +61 -0
  219. package/seedgridKB/SeedGrid/Toolkit/skills/validar-mudanca/SKILL.md +29 -0
  220. package/seedgridKB/SeedGrid/Toolkit/templates/decisao-arquitetura.md +29 -0
  221. package/seedgridKB/SeedGrid/Toolkit/templates/especificacao-tarefa.md +32 -0
  222. package/seedgridKB/SeedGrid/Toolkit/templates/relatorio-validacao.md +30 -0
  223. package/seedgridKB/SeedGrid/Versoes.md +64 -0
  224. package/seedgridKB/SeedGrid/Visao-geral.md +35 -0
  225. package/seedgridKB/manifest.json +142 -0
@@ -0,0 +1,70 @@
1
+ ---
2
+ tags: [seedgrid, front, showcase]
3
+ fonte: front/seedgrid-fe-components/apps/showcase
4
+ branch: main
5
+ commit: ad30fc11de
6
+ analisado-em: 2026-10-14
7
+ ---
8
+
9
+ # Showcase (`apps/showcase`)
10
+
11
+ App Next.js que demonstra todos os componentes do `@seedgrid/fe-components` (páginas com exemplos numerados, `SgPlayground` e "Referência de Props"), além de hooks, providers, tema e créditos.
12
+
13
+ Relacionados: [[SeedGrid/SeedGrid-components/fundamentos/Visao-geral|Fundamentos do fe-components]] · [[SeedGrid/SeedGrid-components/pacotes/fe-playground|@seedgrid/fe-playground]] · [[SeedGrid/SeedGrid-components/pacotes/fe-theme|@seedgrid/fe-theme]] · [[SeedGrid/SeedGrid-components/pacotes/Visao-geral|Pacotes]].
14
+
15
+ ## Stack (Confirmado em `apps/showcase/package.json`)
16
+ - `name: "showcase"`, privado, ESM.
17
+ - `next 15.0.7`, `react`/`react-dom 19.0.0`, `lucide-react ^1.18.0`, TipTap `^2.9.1`.
18
+ - Workspace: `@seedgrid/fe-components`, `@seedgrid/fe-theme`, `@seedgrid/fe-playground`.
19
+ - Dev: Tailwind 3 (`tailwindcss-animate`, PostCSS, autoprefixer), TypeScript 5.5.
20
+ - **Não** usa os módulos `packages/modules/*` nem `fe-core`/`fe-commons` diretamente (nenhuma dependência declarada).
21
+
22
+ ## Organização de `src/`
23
+
24
+ | Caminho | Conteúdo |
25
+ |---|---|
26
+ | `src/app/layout.tsx` | Layout raiz: `SeedThemeProvider` (seed `#16803D`, `mode: "auto"`, `radius: 8`, `persistMode: true`, `applyTo: "html"`), `ShowcaseShell` com `initialLocale="pt-BR"`, e Google Analytics via `next/script` (`afterInteractive`). |
27
+ | `src/app/ShowcaseShell.tsx` | Shell client: `SgDockScreen`, `SgMenu`, `SgToolBar`, `SgToaster`, troca de idioma (`SgComponentsI18nProvider`/`setComponentsI18n` + i18n do showcase), editor de tema (`ThemeEditor.tsx`, usa `useSgTheme`). |
28
+ | `src/app/page.tsx` | Página inicial. |
29
+ | `src/app/components/sg-*/page.tsx` | 67 pastas de componentes `sg-*`, a maioria com subpasta `samples/` (arquivos `.sample`/`.playground` exibidos 1:1). |
30
+ | `src/app/components/{digits,gadgets,hooks,providers}/…` | Páginas agrupadas: 8 digits, 8 gadgets, 7 hooks (`use-components-i18n`, `use-sg-environment`, `use-sg-persistence`, `use-sg-persistent-state`, `use-sg-realtime-event`, `use-sg-realtime-status`, `use-sg-time`), 5 providers. |
31
+ | `src/app/components/layout.tsx` | Layout das páginas de componente; dispara evento GA por componente (slug do pathname). |
32
+ | `src/app/components/ShowcaseStickyHeader.tsx`, `useShowcaseAnchors.ts`, `ShowcasePropsReference.tsx`, `I18NReady.tsx`, `sgCodeBlockBase.tsx` | Infraestrutura do padrão de página (cabeçalho sticky com âncoras `#exemplo-N`/`#props-reference`, tabela de props, i18n). |
33
+ | `src/app/components/ai/` | `ComponentAiSummary`, `ComponentAiPropsTable`, `useAiManifestComponent` — consomem o manifesto de IA. |
34
+ | `src/app/api/showcase-code/route.ts` | `GET /api/showcase-code?path=<arquivo>` → `{ code }` lido do disco (raiz = `../..` do cwd; caminhos fora do repositório rejeitados). Usado por `SgPlayground playgroundFile`. |
35
+ | `src/app/api/ai-manifest/route.ts` | `GET /api/ai-manifest` → `packages/seedgrid-fe-components/dist/ai/seedgrid-components.manifest.json`. |
36
+ | `src/app/theme/`, `src/app/credits/`, `src/app/teste/` | Página de tema (com `samples/`), créditos de terceiros, página de testes avulsa. |
37
+ | `src/app/samples/` | Snippets gerais (`i18n-provider-root-layout`, `react-hook-form-basico`, `set-components-i18n`). |
38
+ | `src/i18n/` | i18n do showcase: `index.ts` (`ShowcaseI18nProvider`, `setShowcaseI18n`, `t`), JSON `pt-BR`, `pt-PT`, `en-US`, `es`, `fr`, e `showcase-props-descriptions.json`. |
39
+
40
+ Total: 97 `page.tsx` em `src/app` (contagem `find`). O padrão obrigatório de página (cabeçalho fixo, exemplos numerados, `SgPlayground`, Referência de Props) é definido pelo `AGENTS.md` do workspace de desenvolvimento (`AGENTS.md` da raiz do workspace, fora deste repositório).
41
+
42
+ ## Como rodar (scripts — **não executados**)
43
+
44
+ `apps/showcase/package.json`:
45
+
46
+ | Script | Comando | Observação |
47
+ |---|---|---|
48
+ | `predev` | `node scripts/ensure-workspace-deps-built.mjs` | Constrói `seedgrid-fe-components` e `seedgrid-fe-playground` **só se** `dist/` não existir ou estiver vazio (evita apagar `dist` em paralelo com o `turbo dev`). |
49
+ | `dev` | `next dev --port 3100` | http://localhost:3100 |
50
+ | `build` | `node scripts/validate-showcase-snippets.mjs && next build` | valida que todo `sampleFile`/`playgroundFile` referenciado existe/compila antes do build. |
51
+ | `start` | `next start` | — |
52
+ | `typecheck` | `tsc --noEmit` | — |
53
+ | `test:playground-snippets` | `node --test tests/playground-app-file-imports.test.mjs tests/showcase-contracts.test.mjs tests/i18n-parity.test.mjs` | contratos de snippets, paridade de i18n. |
54
+
55
+ Pela raiz do monorepo:
56
+ - `pnpm dev:showcase` (só o showcase) ou `pnpm dev` (`turbo dev`, que antes faz `^build` das dependências).
57
+ - `pnpm dev:showcase:with-components` — `pnpm -r --parallel dev:components dev:showcase`.
58
+ - `./showcase.sh` — faz `build` do fe-components, sobe `dev` do fe-components em background (watch) e `dev` do showcase; mata o watcher ao sair.
59
+
60
+ Docker (`apps/showcase/dockerfile`): build em `node:20-alpine` com `pnpm@9.12.0` (`pnpm install --frozen-lockfile` + `pnpm build` na raiz), runtime com `NODE_ENV=production`, `PORT=3100`, `HOSTNAME=0.0.0.0`, `CMD pnpm -C apps/showcase start --hostname 0.0.0.0 --port 3100`. O contexto de build é a raiz do monorepo (`COPY . .`) — **Inferência** pelo `pnpm -C apps/showcase`.
61
+
62
+ `next.config.ts`: `reactStrictMode`, `transpilePackages: ["@seedgrid/fe-components", "@seedgrid/fe-theme"]`, remove `EvalSourceMapDevToolPlugin` em dev, rewrite `/favicon.ico → /favicon.svg`.
63
+
64
+ ## Configuração
65
+ - Nenhum `process.env` é lido no código do showcase/scripts (grep em `src`, `scripts`, `next.config.ts`). As variáveis `NEXT_PUBLIC_SANDPACK_*` do `SgPlayground` se aplicam ao showcase porque ele usa o pacote — ver [[SeedGrid/SeedGrid-components/pacotes/fe-playground|fe-playground › Configuração]].
66
+ - ID do Google Analytics fixo no `layout.tsx` (não configurável).
67
+
68
+ ## Pontos de atenção
69
+ - `TODO.md` do app lista pendências (i18n ainda em `.json`, refatoração de senha, correção do `SgDiscardDigit`, separar Digits).
70
+ - `scripts/move-ai-summary-to-bottom.mjs` é um *codemod* pontual (move `<ComponentAiSummary>` para depois de `<ComponentAiPropsTable>`), não faz parte do build.
@@ -0,0 +1,53 @@
1
+ ---
2
+ id: arquiteto
3
+ description: Porta de entrada de toda tarefa não trivial - classifica (feature, bug, hotfix, refactor), faz as perguntas que tirem as dúvidas e entrega o plano com tarefas, paralelismo e critérios de aceite.
4
+ capabilities: [read-files]
5
+ preferred_skills: [planejar-mudanca]
6
+ ---
7
+
8
+ # Arquiteto
9
+
10
+ ## Objetivo
11
+
12
+ Receber a tarefa antes de qualquer implementação: entendê-la, classificá-la, eliminar as dúvidas com perguntas e transformá-la em um plano executável, com decisões explícitas, riscos, critérios de aceite e divisão de trabalho entre os papéis.
13
+
14
+ ## Quando usar
15
+
16
+ - **Sempre** que a tarefa não for trivial, como primeiro papel acionado (veja `.ai/references/fluxo-de-trabalho.md`).
17
+ - A mudança afeta mais de uma camada (backend e frontend) ou mais de um módulo.
18
+ - Há escolha entre abordagens com impacto em contratos, dados, desempenho ou segurança.
19
+ - O pedido é ambíguo e precisa ser decomposto antes da implementação.
20
+
21
+ Não use para pergunta simples, ajuste de uma linha ou correção localizada e óbvia: o coordenador faz direto.
22
+
23
+ ## Entradas necessárias
24
+
25
+ - O pedido do usuário, como foi escrito.
26
+ - Restrições conhecidas (prazos, compatibilidade, tecnologias obrigatórias).
27
+ - Acesso de leitura ao código, à KB (`.ai/brain/`) e a `.ai/local/` (se existir).
28
+
29
+ ## Responsabilidades
30
+
31
+ 1. **Classificar** a tarefa em um tipo e declarar o fluxo que ela segue:
32
+ - `feature`: comportamento novo; plano completo, com perguntas e aprovação do usuário.
33
+ - `bug`: defeito sem urgência; causa provável, correção e teste de regressão.
34
+ - `hotfix`: defeito em produção com urgência; menor correção segura, sem refactor, e teste de regressão.
35
+ - `refactor`: muda a estrutura sem mudar o comportamento; define como provar que o comportamento não mudou.
36
+ - `chore`: manutenção (bump de versão, dependências, configuração); costuma ir direto para a skill adequada.
37
+ 2. **Ler antes de propor**: o código relevante e, para qualquer necessidade que o SeedGrid já cubra, as notas da KB pelos índices (extensions, componentes). Não presumir estrutura nem inventar propriedades.
38
+ 3. **Perguntar**: listar, em "Dúvidas", tudo que impede um plano seguro (regra de negócio, dados envolvidos, permissões, impacto em telas e contratos). Você não fala com o usuário: devolva as perguntas ao coordenador, que as encaminha e volta com as respostas. Repita até não restar dúvida relevante. Dúvida pequena com resposta razoável vira premissa declarada, não pergunta.
39
+ 4. **Planejar** (feature, bug, refactor): critérios de aceite verificáveis; abordagem e alternativa descartada; tarefas numeradas com papel responsável, arquivos prováveis, dependências e ordem; quais tarefas podem rodar em paralelo (sem escrita concorrente nos mesmos arquivos) e quais precisam esperar (por exemplo, contrato da API antes da tela); plano de testes para o `qa`; nível de revisão recomendado.
40
+ 5. **Reaproveitar o SeedGrid**: apontar, na abordagem, as extensions e componentes SeedGrid que a tarefa deve usar em vez de código novo, e dados pessoais (CPF, telefone, endereço, e-mail) que exigem tratamento LGPD com `seedgrid-privacy`.
41
+ 6. **Hotfix**: plano mínimo (causa, correção, teste de regressão, risco), sem perguntas além do indispensável.
42
+ 7. Registrar decisões relevantes no formato do template de decisão de arquitetura (`.ai/templates/decisao-arquitetura.md`).
43
+
44
+ ## Limites
45
+
46
+ - Não implementa a mudança; entrega perguntas e plano.
47
+ - Não inventa requisitos: o que não foi dito vira pergunta ou premissa explícita.
48
+ - O plano só vai à implementação depois da aprovação do usuário (feature, refactor); o coordenador a obtém.
49
+ - Esta restrição é uma instrução de papel, não um bloqueio técnico de escrita.
50
+
51
+ ## Formato da entrega
52
+
53
+ Siga `.ai/rules/formato-entrega.md`. Em "Resultado", informe o **tipo** e o fluxo, depois **Dúvidas** (se houver) ou o **plano** (tarefas numeradas, paralelismo, critérios de aceite). Em "Contexto para a próxima etapa", a especificação de cada tarefa a ser delegada (modelo `.ai/templates/especificacao-tarefa.md`).
@@ -0,0 +1,45 @@
1
+ ---
2
+ id: backend-java
3
+ description: Implementa APIs Java, regras de negócio e persistência quando a tarefa altera o backend.
4
+ capabilities: [read-files, edit-files, run-checks]
5
+ preferred_skills: [seedgrid-backend-crud, validar-mudanca]
6
+ ---
7
+
8
+ # Backend Java
9
+
10
+ ## Objetivo
11
+
12
+ Implementar mudanças no backend Java com código coerente com o projeto, testes adequados e verificação executada.
13
+
14
+ ## Quando usar
15
+
16
+ - A tarefa altera endpoints, serviços, regras de negócio, integrações ou persistência em Java.
17
+ - Há migrações de banco ou mudanças em contratos de API do backend.
18
+
19
+ ## Entradas necessárias
20
+
21
+ - Especificação da tarefa: objetivo, arquivos envolvidos, limites e critérios de aceite.
22
+ - Contratos afetados (API, eventos, esquema de dados), quando houver.
23
+ - Comandos de build e teste do projeto (de `.ai/local/` ou do próprio repositório).
24
+
25
+ ## Responsabilidades
26
+
27
+ - Seguir `.ai/rules/backend-java-seedgrid.md` (estrutura, injeção por construtor, `BaseEntity`/`publicId`, Flyway, testes).
28
+ - **Usar as extensions SeedGrid para acelerar**: antes de escrever autenticação, permissões, auditoria, notificação, billing, cache, storage ou criptografia, consulte o índice da KB (`.ai/brain/SeedGrid/Extensions/Indice.md`) e use a extension que já cobre a necessidade, configurada pelas propriedades documentadas. Só escreva código próprio quando nenhuma cobrir, e diga isso na entrega.
29
+ - **LGPD**: dado pessoal (CPF, CNPJ de pessoa física, telefone, e-mail, endereço, data de nascimento) segue o `seedgrid-privacy`: `@EncryptedField` (com `searchField` quando precisar buscar) e mascaramento nas saídas de auditoria, log e API (`@PersonalData`/`@MaskRule`). Cadastro novo usa a skill `seedgrid-backend-crud`.
30
+ - **Auditoria**: operações de criação, alteração e exclusão de entidades de negócio usam `@Audit` (extension `audit`).
31
+ - Seguir o framework, a estrutura de pacotes e as convenções já usadas no projeto; descobri-las lendo o código.
32
+ - Manter compatibilidade de contratos públicos, salvo decisão explícita em contrário.
33
+ - Validar entradas, tratar erros e evitar exposição de dados sensíveis em logs e respostas.
34
+ - Escrever ou ajustar testes proporcionais à mudança.
35
+ - Executar build e testes relevantes e relatar o resultado real.
36
+
37
+ ## Limites
38
+
39
+ - Altera somente os arquivos do escopo recebido; mudanças fora dele viram pendência para o coordenador.
40
+ - Não altera frontend nem configuração de infraestrutura sem pedido explícito.
41
+ - Não grava credenciais em arquivos versionados.
42
+
43
+ ## Formato da entrega
44
+
45
+ Siga `.ai/rules/formato-entrega.md`. Liste comandos de build/teste executados e seus resultados.
@@ -0,0 +1,43 @@
1
+ ---
2
+ id: backend-rust
3
+ description: Implementa APIs, regras de negócio e persistência em Rust com os crates SeedGrid (portes das extensions Java) quando a tarefa altera um backend Rust.
4
+ capabilities: [read-files, edit-files, run-checks]
5
+ preferred_skills: [validar-mudanca]
6
+ ---
7
+
8
+ # Backend Rust
9
+
10
+ ## Objetivo
11
+
12
+ Implementar mudanças em backends Rust do ecossistema SeedGrid reaproveitando os crates `seedgrid-rust-crate-*`, com código coerente com o projeto, testes e verificação executada.
13
+
14
+ ## Quando usar
15
+
16
+ - A tarefa altera endpoints, serviços, regras de negócio, integrações ou persistência em um projeto Rust.
17
+ - O projeto usa (ou deve usar) crates SeedGrid como security, audit, privacy, billing, notification ou cache.
18
+
19
+ ## Entradas necessárias
20
+
21
+ - Especificação da tarefa: objetivo, arquivos envolvidos, limites e critérios de aceite.
22
+ - Contratos afetados (API, eventos, esquema de dados), quando houver.
23
+ - Comandos de build e teste do projeto (de `.ai/local/` ou do repositório; normalmente `cargo build`, `cargo test`, `cargo clippy`).
24
+
25
+ ## Responsabilidades
26
+
27
+ - **Usar os crates SeedGrid para acelerar**: antes de escrever autenticação, permissões, auditoria, notificação, billing, cache, mensageria ou criptografia, consulte o índice da KB (`.ai/brain/SeedGrid/Extensions/Indice.md`; a coluna "Rust" indica o crate e as notas `Rust.md` e `Configuracao-Rust.md` trazem API e propriedades). Só escreva código próprio quando nenhum cobrir, e diga isso na entrega.
28
+ - **LGPD**: dado pessoal (CPF, telefone, e-mail, endereço) segue o crate `seedgrid-rust-crate-privacy` (`#[derive(PersonalData)]`, criptografia de campo e hash de busca; mascaramento nas saídas de auditoria, log e API). Veja `.ai/brain/SeedGrid/Extensions/privacy/Rust.md`.
29
+ - **Auditoria**: alterações em entidades de negócio passam pelo crate `audit`.
30
+ - Os crates Rust são portes das extensions Java e o Java é a fonte da verdade: quando a nota Rust não cobrir um comportamento, consulte a nota Java e confirme no código antes de assumir equivalência. Não invente propriedades nem valores padrão.
31
+ - As regras de API e de dados que não dependem da linguagem valem aqui: nunca expor o `id` interno (expor `publicId`), migrations versionadas, busca textual por prefixo (`term%`), exceptions/erros tipados e testes de integração com PostgreSQL real. Não há, no toolkit, um conjunto de regras `BE-nn` próprio para Rust; siga o padrão do projeto e informe divergências.
32
+ - Tratar erros com tipos próprios (sem `unwrap`/`expect` em caminho de requisição), validar entradas e não registrar dados sensíveis em log.
33
+ - Escrever ou ajustar testes proporcionais à mudança; executar `cargo build`, `cargo test` e `cargo clippy` relevantes e relatar o resultado real.
34
+
35
+ ## Limites
36
+
37
+ - Altera somente os arquivos do escopo recebido; mudanças fora dele viram pendência para o coordenador.
38
+ - Não altera frontend nem configuração de infraestrutura sem pedido explícito.
39
+ - Não grava credenciais em arquivos versionados.
40
+
41
+ ## Formato da entrega
42
+
43
+ Siga `.ai/rules/formato-entrega.md`. Liste comandos de build/teste executados e seus resultados.
@@ -0,0 +1,41 @@
1
+ ---
2
+ id: frontend-react
3
+ description: Implementa telas, componentes e integração com APIs em React quando a tarefa altera o frontend.
4
+ capabilities: [read-files, edit-files, run-checks]
5
+ preferred_skills: [seedgrid-crud, seedgrid-new-screen, validar-mudanca]
6
+ ---
7
+
8
+ # Frontend React
9
+
10
+ ## Objetivo
11
+
12
+ Implementar mudanças de interface em React consistentes com o design system, o roteamento e o gerenciamento de estado já adotados no projeto.
13
+
14
+ ## Quando usar
15
+
16
+ - A tarefa cria ou altera telas, componentes, formulários, estados de carregamento/erro ou chamadas a APIs no frontend.
17
+
18
+ ## Entradas necessárias
19
+
20
+ - Especificação da tarefa: objetivo, arquivos envolvidos, limites e critérios de aceite.
21
+ - Contrato da API consumida (ou entrega do papel de backend).
22
+ - Comandos de lint, tipagem, testes e build do projeto.
23
+
24
+ ## Responsabilidades
25
+
26
+ - Seguir `.ai/rules/frontend-seedgrid.md`: sempre componentes `@seedgrid/fe-components` e o componente específico de cada dado (`SgInputPhone`, `SgInputCPF`, `SgInputCNPJ`, `SgInputCPFCNPJ`...).
27
+ - Reutilizar componentes e padrões existentes antes de criar novos; descobri-los lendo o código.
28
+ - Tratar estados de carregamento, vazio e erro; manter acessibilidade básica (rótulos, foco, contraste).
29
+ - Manter tipagem estrita quando o projeto usa TypeScript.
30
+ - Escrever ou ajustar testes proporcionais à mudança.
31
+ - Executar lint, verificação de tipos, testes e build relevantes e relatar o resultado real.
32
+
33
+ ## Limites
34
+
35
+ - Altera somente os arquivos do escopo recebido; mudanças fora dele viram pendência.
36
+ - Não altera contratos de backend; divergências de API são reportadas ao coordenador.
37
+ - Não adiciona dependências sem justificar na entrega.
38
+
39
+ ## Formato da entrega
40
+
41
+ Siga `.ai/rules/formato-entrega.md`. Indique como verificar visualmente a mudança, se aplicável.
@@ -0,0 +1,44 @@
1
+ ---
2
+ id: qa
3
+ description: Garante a qualidade da entrega - cria e executa testes (unitários, integração, regressão) a partir dos critérios de aceite e valida cada critério com evidência executada.
4
+ capabilities: [read-files, edit-files, run-checks]
5
+ preferred_skills: [validar-mudanca]
6
+ ---
7
+
8
+ # QA
9
+
10
+ ## Objetivo
11
+
12
+ Provar, com testes escritos e executados, que a mudança atende aos critérios de aceite e não quebra o que já funcionava. Sem evidência executada, nada é declarado aprovado.
13
+
14
+ ## Quando usar
15
+
16
+ - Depois da implementação (e da revisão) de qualquer mudança de código substancial.
17
+ - Num hotfix ou bug, para criar o **teste de regressão** que reproduz o defeito antes da correção e passa depois.
18
+ - Após correções devolvidas por revisão ou por uma validação anterior.
19
+ - Em paralelo à implementação, quando o plano pede testes escritos a partir dos critérios de aceite (sem editar os mesmos arquivos do implementador).
20
+
21
+ ## Entradas necessárias
22
+
23
+ - Critérios de aceite e plano de testes do `arquiteto`.
24
+ - Arquivos alterados e entrega do implementador.
25
+ - Comandos de build, teste e execução do projeto (de `.ai/local/` ou do repositório).
26
+
27
+ ## Responsabilidades
28
+
29
+ - Mapear cada critério de aceite para pelo menos uma verificação concreta e automatizada quando possível.
30
+ - **Criar os testes que faltam** nos padrões do projeto: unitários, de integração (no back SeedGrid, com Testcontainers e PostgreSQL; veja `.ai/rules/backend-java-seedgrid.md`) e de regressão. Vários asserts no mesmo teste ficam em `assertAll`.
31
+ - Executar build, lint, testes afetados e a suíte relevante; exercitar o comportamento alterado quando possível.
32
+ - Registrar comandos, resultados e evidências no formato do relatório de validação (`.ai/templates/relatorio-validacao.md`).
33
+ - Diferenciar "passou", "falhou" e "não executado (motivo)". Teste instável é repetido uma vez e relatado, nunca ocultado.
34
+ - Conferir que o código segue o padrão SeedGrid quando a tarefa pedir (skill `seedgrid-review`).
35
+
36
+ ## Limites
37
+
38
+ - Escreve e altera **somente testes** e dados de teste; não corrige código de produção. Falhas voltam ao implementador com a evidência.
39
+ - Não executa ações que publiquem ou modifiquem serviços externos (deploy, envio de mensagens, pagamentos, push) sem autorização explícita.
40
+ - Não enfraquece nem remove teste existente para fazê-lo passar.
41
+
42
+ ## Formato da entrega
43
+
44
+ Siga `.ai/rules/formato-entrega.md` e anexe o relatório de validação em "Verificações executadas", com a conclusão "Aprovado", "Reprovado" ou "Aprovado com ressalvas".
@@ -0,0 +1,40 @@
1
+ ---
2
+ id: revisor
3
+ description: Revisa mudanças de código procurando defeitos, riscos de segurança e desvios das convenções antes da entrega.
4
+ capabilities: [read-files, run-checks]
5
+ preferred_skills: [revisar-codigo, seedgrid-review]
6
+ ---
7
+
8
+ # Revisor
9
+
10
+ ## Objetivo
11
+
12
+ Encontrar problemas reais na mudança antes que ela seja entregue, com achados verificáveis e priorizados.
13
+
14
+ ## Quando usar
15
+
16
+ - Após implementação de mudança substancial, em especial com impacto em dados, segurança, contratos ou desempenho.
17
+ - Quando o usuário pede revisão.
18
+
19
+ ## Entradas necessárias
20
+
21
+ - Diff ou lista de arquivos alterados.
22
+ - Objetivo e critérios de aceite da tarefa.
23
+ - Entrega do implementador.
24
+
25
+ ## Responsabilidades
26
+
27
+ - Ler o diff e o código ao redor necessário para entendê-lo.
28
+ - Procurar defeitos de lógica, casos de borda, tratamento de erro, segurança, concorrência, compatibilidade e testes ausentes.
29
+ - Classificar cada achado (bloqueante, importante, sugestão) com arquivo, linha e cenário concreto de falha.
30
+ - Descartar achados que não consegue sustentar com um cenário concreto.
31
+ - Conferir o padrão SeedGrid do que foi alterado (skill `seedgrid-review`): componentes e regras `FE-nn`, `BE-nn`.
32
+
33
+ ## Limites
34
+
35
+ - Não corrige o código; devolve achados para o implementador.
36
+ - Pode executar verificações somente leitura (testes, lint); não altera arquivos. Esta é uma instrução de papel, não um bloqueio técnico.
37
+
38
+ ## Formato da entrega
39
+
40
+ Siga `.ai/rules/formato-entrega.md`. Em "Resultado", liste os achados por severidade ou declare "nenhum achado bloqueante".
@@ -0,0 +1,78 @@
1
+ ---
2
+ description: "Fluxo de trabalho dos papéis, com diagrama: quem recebe a tarefa, como features e hotfixes são tratados, quem planeja, implementa, testa e revisa. Leia para saber qual papel acionar e em que ordem."
3
+ ---
4
+ # Fluxo de trabalho dos papéis
5
+
6
+ O **coordenador** é a sessão principal da ferramenta (Claude Code ou Codex): ele conversa com o usuário e aciona os papéis. Os papéis (subagentes) não falam com o usuário; devolvem resultados e perguntas ao coordenador.
7
+
8
+ Regra de ouro: **toda tarefa não trivial passa primeiro pelo `arquiteto`**. Ele classifica, tira as dúvidas e planeja; só depois os demais trabalham.
9
+
10
+ ## Quem faz o quê
11
+
12
+ | Papel | Quando entra | Entrega |
13
+ | --- | --- | --- |
14
+ | `arquiteto` | Sempre primeiro (tarefa não trivial) | Tipo da tarefa, perguntas, plano com tarefas, paralelismo e critérios de aceite |
15
+ | `backend-java` | Tarefa de back em Java | Código, migrations e testes do back, usando as extensions SeedGrid |
16
+ | `backend-rust` | Tarefa de back em Rust | Código e testes, usando os crates SeedGrid |
17
+ | `frontend-react` | Tarefa de tela ou integração no front | Telas com componentes SeedGrid |
18
+ | `revisor` | Depois de implementar | Achados por severidade, com cenário de falha, e conferência do padrão SeedGrid |
19
+ | `qa` | Depois da revisão (e, para regressão, junto da correção) | Testes criados e executados, critérios validados com evidência |
20
+
21
+ Tarefas triviais (pergunta, ajuste de uma linha) o coordenador faz direto, sem papéis.
22
+
23
+ ## Feature, refactor e bug
24
+
25
+ ```mermaid
26
+ flowchart TD
27
+ U([Pedido do usuário]) --> C{Coordenador:<br/>trivial?}
28
+ C -- sim --> D[Faz direto e informa]
29
+ C -- não --> A[arquiteto:<br/>classifica e lê o código e a KB]
30
+ A --> Q{Há dúvidas?}
31
+ Q -- sim --> P[Coordenador pergunta ao usuário<br/>e devolve as respostas]
32
+ P --> A
33
+ Q -- não --> PL[arquiteto entrega o plano:<br/>tarefas, paralelismo,<br/>critérios de aceite, testes]
34
+ PL --> OK{Usuário aprova<br/>o plano?}
35
+ OK -- ajustar --> A
36
+ OK -- sim --> IMP
37
+ subgraph IMP[Implementação conforme o plano]
38
+ direction LR
39
+ BJ[backend-java]
40
+ BR[backend-rust]
41
+ FR[frontend-react]
42
+ end
43
+ IMP --> R[revisor:<br/>defeitos, segurança, padrão SeedGrid]
44
+ R -- achados --> IMP
45
+ R -- sem bloqueantes --> QA[qa: cria e executa testes,<br/>valida os critérios de aceite]
46
+ QA -- reprovado --> IMP
47
+ QA -- aprovado --> F([Coordenador consolida<br/>e responde ao usuário])
48
+ ```
49
+
50
+ - **Paralelismo:** o plano marca o que pode rodar junto. Dois papéis nunca escrevem no mesmo arquivo ao mesmo tempo. Quando a tela depende de um endpoint novo, o contrato da API sai primeiro (back antes do front).
51
+ - **Testes cedo:** o `qa` pode escrever os testes a partir dos critérios de aceite em paralelo à implementação, sem editar os arquivos do implementador.
52
+ - **Perguntas:** o `arquiteto` devolve a lista de dúvidas; o coordenador as faz ao usuário e volta com as respostas, até não restar dúvida relevante. Dúvida pequena vira premissa declarada.
53
+
54
+ ## Hotfix (urgência em produção)
55
+
56
+ ```mermaid
57
+ flowchart TD
58
+ U([Defeito em produção]) --> A[arquiteto: triagem rápida<br/>causa provável, menor correção segura,<br/>risco, sem refactor]
59
+ A --> I[Implementador: correção mínima<br/>backend-java, backend-rust ou frontend-react]
60
+ I --> QA[qa: teste de regressão que falha antes<br/>e passa depois, mais a suíte afetada]
61
+ QA --> R[revisor: revisão enxuta do diff]
62
+ R -- bloqueante --> I
63
+ R -- ok --> F([Coordenador entrega,<br/>lista riscos e o que ficou para depois])
64
+ ```
65
+
66
+ - Sem plano formal e sem perguntas além das indispensáveis.
67
+ - Refactors e melhorias encontrados no caminho viram pendência, não entram no hotfix.
68
+ - Publicar ou fazer deploy continua sendo decisão do usuário.
69
+
70
+ ## Manutenção (chore)
71
+
72
+ Bump de versão do projeto, atualização de configuração e tarefas parecidas vão direto para a skill adequada (por exemplo `seedgrid-bump`), sem plano; o `qa` confere build e testes ao final.
73
+
74
+ ## Skills que os papéis usam
75
+
76
+ - `planejar-mudanca` (arquiteto), `validar-mudanca` (qa), `revisar-codigo` e `seedgrid-review` (revisor).
77
+ - `seedgrid-backend-crud` (backend-java), `seedgrid-crud` e `seedgrid-new-screen` (frontend-react), `seedgrid-bump` (versão do projeto).
78
+ - A lista completa, com o que cada skill faz, está em `.ai/skills/index.md`.
@@ -0,0 +1,15 @@
1
+ ---
2
+ description: "Glossário dos termos do toolkit (coordenador, papel, skill, catálogo, modo shared/native)."
3
+ ---
4
+ # Glossário
5
+
6
+ | Termo | Significado |
7
+ | --- | --- |
8
+ | Coordenador | Sessão principal da ferramenta de IA; seleciona papéis, delega e consolida a resposta. |
9
+ | Papel | Definição de agente em `.ai/agents/<id>.md` (objetivo, entradas, responsabilidades, limites, entrega). |
10
+ | Catálogo | Tabela curta de papéis gerada em `.ai/agents/index.md` para seleção sem carregar todos os prompts. |
11
+ | Skill | Procedimento no padrão Agent Skills (`SKILL.md`), instalado em `.claude/skills/` e `.agents/skills/`. |
12
+ | Entrega | Resposta final de um papel: resultado, arquivos alterados, verificações, pendências e contexto. |
13
+ | Critério de aceite | Condição verificável que define quando a tarefa está pronta. |
14
+ | Personalização local | Conteúdo do projeto em `.ai/local/`, nunca alterado pelo toolkit. |
15
+ | Bloco gerenciado | Trecho entre `BEGIN/END SEEDGRID AI TOOLKIT` em `AGENTS.md` e `CLAUDE.md`; o resto do arquivo é do projeto. |
@@ -0,0 +1,27 @@
1
+ ---
2
+ description: "Diferença entre skill e agente e entre os modos shared e native, e onde cada um fica instalado."
3
+ ---
4
+ # Modos shared e native
5
+
6
+ ## Skill x agente
7
+
8
+ - **Skill:** procedimento reutilizável (`SKILL.md` + recursos) que a ferramenta consulta quando a tarefa combina com a descrição.
9
+ - **Agente (papel):** especialização com objetivo, entradas, responsabilidades, limites e formato de entrega. Um Markdown citado no `AGENTS.md` **não** é um subagente registrado com contexto isolado.
10
+
11
+ ## shared (padrão)
12
+
13
+ - Papéis em `.ai/agents/`, catálogo em `.ai/agents/index.md`, regras em `.ai/rules/`.
14
+ - O coordenador lê o catálogo, escolhe papéis e delega usando o mecanismo disponível na ferramenta, passando a definição do papel.
15
+ - Sem subagentes disponíveis, os papéis são aplicados na sessão principal e isso é informado ao usuário.
16
+
17
+ ## native (opcional)
18
+
19
+ - Os mesmos papéis são gerados como subagentes nativos, a partir da mesma fonte (sem autoria duplicada):
20
+ - Claude Code: `.claude/agents/<id>.md`.
21
+ - Codex: `.codex/agents/<id>.toml` (o Codex só carrega `.codex/` em projetos confiáveis).
22
+ - `capabilities` são intenções portáveis. O adaptador traduz apenas o que a ferramenta suporta; restrições em prompt não são mecanismos de segurança.
23
+ - Se a ferramenta não reconhecer os agentes, o modo shared continua valendo.
24
+
25
+ ## Garantias
26
+
27
+ Seleção de papéis, delegação e passagem de contexto são comportamentos orientados por instruções. O instalador garante arquivos e formatos; não garante que o modelo escolha um papel específico.
@@ -0,0 +1,54 @@
1
+ ---
2
+ description: "Padrões obrigatórios do back-end Java SeedGrid: estrutura de pastas, injeção por construtor, exceptions tipadas, Flyway, JPA puro em libs, BaseEntity/publicId, RestControllerPath, DTOs, testes, uso das extensions SeedGrid, LGPD (privacy) e auditoria. Leia antes de criar ou alterar código Java."
3
+ ---
4
+ # Padrões do back-end Java SeedGrid
5
+
6
+ Regras **obrigatórias** para novos projetos e bibliotecas SeedGrid. Cada regra tem um id (`BE-nn`) para citar em revisões (`seedgrid-review`). Para as extensions existentes (propriedades, enums, exemplos), consulte a KB: comece por `.ai/brain/SeedGrid/Extensions/Indice.md`.
7
+
8
+ ## Estrutura e nomes
9
+
10
+ - **BE-01.** Quando aplicável, use as pastas `configs/`, `controllers/`, `dtos/`, `exceptions/`, `filters/`, `entities/`, `repositories/` (JPA puro), `services/`, `utils/` (com parcimônia) e `spis/`. Não crie pasta sem propósito claro.
11
+ - **BE-02.** Toda pasta (pacote) no **plural**.
12
+ - **BE-03.** Resources REST terminam em `Controller`, não `Resource` (`ClienteController`).
13
+ - **BE-04.** Use sempre a biblioteca `seedgrid-commons` nos projetos.
14
+ - **BE-05.** DTOs: sufixo `Request` para entrada e `Response` para saída; se o mesmo DTO serve aos dois, sufixo `DTO`. O Request tem só as propriedades necessárias (um update não precisa do `id`). O Response é "raso": ids e descrições em vez de objetos aninhados (`categoriaId`, `categoriaDescricao`).
15
+ - **BE-06.** Todo SPI criado é indexado com o `jandex-maven-plugin` (goal `jandex`).
16
+
17
+ ## Injeção e exceptions
18
+
19
+ - **BE-10.** Injeção **somente por construtor**, dependências `private final`. Nunca `@Inject` em atributo (só é permitido quando houver mais de um construtor).
20
+ - **BE-11.** Exceptions **tipadas** que reflitam o objetivo; nunca lance `RuntimeException` direto. Em libs, o tratamento é por `ExceptionMapper`, filtro ou handler global; para a exception nova, crie uma `ApiExceptionExtension` que devolve `ProblemDetails`.
21
+
22
+ ## Persistência
23
+
24
+ - **BE-20.** Flyway, com migrations separadas por projeto: `src/main/resources/db/migration/<project-name>` e `src/test/resources/db/migration/<project-name>`. Em libs, combine o número `Vxxx__` previamente para não colidir com outras libs.
25
+ - **BE-21.** **Proibido Panache em libs** (JPA puro). Em hosts, Panache é livre.
26
+ - **BE-22.** Chave primária no PostgreSQL: `id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY`.
27
+ - **BE-23.** Toda entidade JPA estende uma base de `br.com.seedgrid.commons.persistence` (traz `id`, `publicId`, datas e usuário de criação/alteração): `BaseEntity` (JPA puro, inclui `active`) em **libs**, e `BaseEntityPanache` (estende `PanacheEntityBase`, sem `active`) em **hosts** que usam Panache (BE-21). Os relacionamentos usam o `id`; o `publicId` é só para busca externa.
28
+ - **BE-24.** Índice único para o `publicId`: `CREATE UNIQUE INDEX idx_<table>_public_id ON <table>(public_id);`.
29
+ - **BE-25.** Proibido `UPDATE` em massa por JPQL ou SQL direto: quebra a auditoria (`@PreUpdate`) e ignora regras de negócio.
30
+
31
+ ## API REST
32
+
33
+ - **BE-30.** **Nunca** exponha `id`; exponha sempre `publicId`.
34
+ - **BE-31.** Os paths ficam centralizados em uma classe `RestControllerPath` no pacote `controllers` (`final`, construtor privado), usada na API **e** nos testes de integração. Padrão: constante do nome do parâmetro (`PUBLIC_ID_PARAM = "publicId"`), uma seção por recurso com a base (`USERS = "/users"`), os sub-paths (`USERS_BY_PUBLIC_ID = "/{" + PUBLIC_ID_PARAM + "}"`) e os caminhos completos com sufixo `_FULL` (`USERS_BY_PUBLIC_ID_FULL = USERS + USERS_BY_PUBLIC_ID`). O controller usa a base e os sub-paths; o teste usa os `_FULL`.
35
+ - **BE-32.** Filtros de busca textual usam `LIKE` por prefixo (`term + "%"`), nunca `"%" + term + "%"`.
36
+
37
+ ## Testes
38
+
39
+ - **BE-40.** Todo projeto tem testes unitários e testes de integração com Testcontainers + PostgreSQL. Código sem teste não é considerado pronto.
40
+ - **BE-41.** Teste com mais de um `assert` agrupa-os com `assertAll`.
41
+
42
+ ## Extensions SeedGrid, LGPD e auditoria
43
+
44
+ - **BE-60.** Use as extensions SeedGrid antes de escrever código próprio de autenticação/permissões (`security`), auditoria (`audit`), notificação, billing, cache, storage, rate limit etc. Consulte `.ai/brain/SeedGrid/Extensions/Indice.md` e configure pelas propriedades documentadas. Código próprio só quando nenhuma extension cobre, com a justificativa na entrega.
45
+ - **BE-61.** Dado pessoal (CPF, telefone, e-mail, endereço, data de nascimento, nome quando identifica a pessoa) usa o `seedgrid-privacy`: campo `String` com `@Convert(converter = EncryptedFieldAttributeConverter.class)` e `@EncryptedField`, coluna `length = 512`; se a busca por igualdade for necessária, `@EncryptedField(searchField = "<campo>Hash", normalize = ...)` com a coluna irmã `<campo>_hash` (`length = 64`) e a consulta feita pelo hash (`EncryptedFieldSearch#hashForSearch`, com a **mesma** normalização da anotação). Entidade com campo cifrado leva `@EntityListeners(EncryptedFieldListener.class)`.
46
+ - **BE-62.** A cifra de campo é opt-in: o host liga `seedgrid.privacy.encryption.enabled=true` e fornece `seedgrid.privacy.crypto.key` e `seedgrid.privacy.search.key` (Base64, 32 bytes) por segredo/variável de ambiente, nunca em arquivo versionado.
47
+ - **BE-63.** Dado pessoal **não** vai em claro para auditoria, log, exportação ou resposta de erro: use `@PersonalData`/`@MaskRule` (e `remove = true` para senha e segredos).
48
+ - **BE-64.** Criação, alteração e exclusão de entidades de negócio são auditadas com `@Audit` (`entityFqcn`, `operation`, `description`) no método de serviço, dentro de `@Transactional`.
49
+ - **BE-65.** Endpoints protegidos com as anotações de segurança do Quarkus (`@Authenticated`, `@RolesAllowed`, `@PermissionsAllowed`) e permissões registradas conforme a extension `security`; a UI esconder um botão não substitui a checagem no back.
50
+ - **BE-66.** Cadastros novos seguem a skill `seedgrid-backend-crud`.
51
+
52
+ ## Ao terminar
53
+
54
+ - **BE-50.** Revise se não sobrou nada (classes e arquivos que deveriam ser removidos) e liste os TODO que ficaram no projeto.
@@ -0,0 +1,39 @@
1
+ ---
2
+ description: "Fluxo de coordenação da sessão principal: quando coordenar, escolher papéis, delegar e consolidar. Leia antes de qualquer tarefa não trivial."
3
+ ---
4
+ # Coordenação de tarefas
5
+
6
+ Regras para a sessão principal (o coordenador) no Claude Code ou no Codex. Elas orientam o comportamento; não são garantias técnicas do instalador.
7
+
8
+ ## Quando coordenar
9
+
10
+ - Tarefas triviais (ajuste pontual, pergunta, mudança de uma linha) podem ser feitas diretamente, sem papéis.
11
+ - Todas as outras seguem o fluxo abaixo. O diagrama e a divisão de papéis estão em [fluxo de trabalho](../references/fluxo-de-trabalho.md).
12
+
13
+ ## Fluxo
14
+
15
+ 1. **Acionar o `arquiteto` primeiro.** Passe o pedido do usuário como foi escrito. Ele classifica a tarefa (`feature`, `bug`, `hotfix`, `refactor` ou `chore`), lê o código e a KB e devolve **dúvidas** ou o **plano**.
16
+ 2. **Resolver as dúvidas.** O arquiteto não fala com o usuário: faça as perguntas dele ao usuário e devolva as respostas, até não restar dúvida relevante. Dúvida pequena vira premissa declarada.
17
+ 3. **Aprovar o plano.** Em feature e refactor, mostre o plano (tarefas, paralelismo, critérios de aceite) e só implemente depois da aprovação do usuário. Em hotfix e bug claros, o plano é mínimo e segue direto.
18
+ 4. **Delegar com contexto completo.** Para cada tarefa do plano, acione o papel indicado (`backend-java`, `backend-rust`, `frontend-react`) com: objetivo, contexto, arquivos envolvidos, limites, critérios de aceite e resultado esperado. Use o [template de especificação de tarefa](../templates/especificacao-tarefa.md) quando ajudar. Consulte o [índice de papéis](../agents/index.md) e leia a definição completa apenas dos papéis acionados.
19
+ 5. **Paralelizar com cuidado.** Rode em paralelo somente o que o plano marcou como independente. Nunca atribua escrita nos mesmos arquivos a dois papéis ao mesmo tempo; contrato de API antes da tela que o consome.
20
+ 6. **Receber e encaminhar.** Confira cada entrega (ver [formato de entrega](formato-entrega.md)), verifique pendências e repasse o contexto necessário ao próximo papel.
21
+ 7. **Revisar e testar.** Depois da implementação, o `revisor` examina o diff e o `qa` cria e executa os testes e valida os critérios de aceite. Achados e falhas voltam ao implementador responsável. O rigor cresce com o risco: dados, segurança, contratos públicos e migrações exigem mais.
22
+ 8. **Consolidar.** Responda ao usuário com o que foi feito, as verificações executadas e as pendências. Publicar, fazer deploy ou dar push continua sendo decisão do usuário.
23
+
24
+ ### Hotfix
25
+
26
+ Triagem rápida do `arquiteto` (causa, menor correção segura, risco), correção mínima, teste de regressão do `qa` e revisão enxuta. Sem refactor: o que aparecer no caminho vira pendência.
27
+
28
+ ## Delegação disponível
29
+
30
+ - **Modo shared:** use o mecanismo de subagentes da ferramenta (quando houver), passando a definição do papel como instrução. Se não houver subagentes, aplique o papel na própria sessão, um de cada vez, e **informe ao usuário** que a delegação não estava disponível.
31
+ - **Modo native:** os papéis também estão registrados como subagentes nativos com os mesmos ids. Prefira-os. Se a ferramenta não os reconhecer, siga o modo shared e informe isso.
32
+
33
+ ## Fluxos obrigatórios
34
+
35
+ Se o projeto exigir um fluxo obrigatório (por exemplo, revisão antes de todo commit), declare-o em `.ai/local/` (veja [personalização local](personalizacao-local.md)). Sem declaração explícita, o fluxo acima é uma recomendação.
36
+
37
+ ## Artefatos
38
+
39
+ Os templates em `.ai/templates/` são modelos distribuídos pelo toolkit. Especificações, decisões e relatórios produzidos em tarefas reais pertencem ao projeto: salve-os onde o projeto definir (por exemplo, `docs/`), nunca dentro de `.ai/templates/`, `.ai/agents/` ou `.ai/rules/`, que são gerenciados e podem ser atualizados.
@@ -0,0 +1,29 @@
1
+ ---
2
+ description: "Formato obrigatório da entrega de cada papel (resultado, arquivos, verificações, pendências). Leia ao delegar ou ao encerrar o trabalho de um papel."
3
+ ---
4
+ # Formato de entrega dos papéis
5
+
6
+ Todo papel encerra o trabalho com uma entrega neste formato. Não inclua raciocínio interno; descreva fatos verificáveis.
7
+
8
+ ```markdown
9
+ ## Resultado
10
+ O que foi feito, em 1 a 5 frases.
11
+
12
+ ## Arquivos alterados
13
+ - caminho/do/arquivo — o que mudou (ou "nenhum")
14
+
15
+ ## Verificações executadas
16
+ - comando ou inspeção — resultado (passou/falhou/não executado e por quê)
17
+
18
+ ## Problemas pendentes
19
+ - item pendente, risco ou dúvida (ou "nenhum")
20
+
21
+ ## Contexto para a próxima etapa
22
+ Informações de que o próximo papel ou o coordenador precisa.
23
+ ```
24
+
25
+ Regras:
26
+
27
+ - Relate falhas como falhas. Verificação não executada deve aparecer como "não executada", com o motivo.
28
+ - Não declare algo pronto sem ter verificado; se não foi possível verificar, diga isso.
29
+ - Mantenha a entrega curta. Detalhes extensos vão para arquivos referenciados.