@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.
- package/LICENSE +21 -0
- package/README.md +151 -2
- package/dist/adapters/claude.js +114 -0
- package/dist/adapters/codex.js +108 -0
- package/dist/adapters/index.js +17 -0
- package/dist/adapters/shared.js +142 -0
- package/dist/adapters/types.js +1 -0
- package/dist/cli.js +203 -0
- package/dist/commands/common.js +98 -0
- package/dist/commands/doctor.js +290 -0
- package/dist/commands/init.js +9 -0
- package/dist/commands/install.js +107 -0
- package/dist/commands/remove.js +54 -0
- package/dist/commands/review.js +127 -0
- package/dist/commands/status.js +73 -0
- package/dist/commands/update.js +8 -0
- package/dist/commands/validate.js +27 -0
- package/dist/core/apply.js +181 -0
- package/dist/core/blocks.js +64 -0
- package/dist/core/content.js +528 -0
- package/dist/core/env.js +40 -0
- package/dist/core/frontmatter.js +29 -0
- package/dist/core/hash.js +14 -0
- package/dist/core/inspect.js +51 -0
- package/dist/core/lock.js +124 -0
- package/dist/core/paths.js +65 -0
- package/dist/core/plan.js +242 -0
- package/dist/core/tools.js +62 -0
- package/dist/core/types.js +11 -0
- package/dist/core/updates.js +121 -0
- package/docs/arquitetura.md +80 -0
- package/docs/compatibilidade.md +50 -0
- package/docs/formato.md +155 -0
- package/docs/instalacao.md +105 -0
- package/docs/manutencao.md +115 -0
- package/package.json +43 -4
- package/seedgridKB/SeedGrid/Extensions/Catalogo-de-enums.md +161 -0
- package/seedgridKB/SeedGrid/Extensions/Catalogo-de-propriedades.md +971 -0
- package/seedgridKB/SeedGrid/Extensions/Indice.md +63 -0
- package/seedgridKB/SeedGrid/Extensions/ai-pricing/Configuracao.md +124 -0
- package/seedgridKB/SeedGrid/Extensions/ai-pricing/Enums.md +40 -0
- package/seedgridKB/SeedGrid/Extensions/ai-pricing/Exemplos.md +97 -0
- package/seedgridKB/SeedGrid/Extensions/ai-pricing/Visao-geral.md +114 -0
- package/seedgridKB/SeedGrid/Extensions/apikeys/Configuracao-Rust.md +69 -0
- package/seedgridKB/SeedGrid/Extensions/apikeys/Configuracao.md +88 -0
- package/seedgridKB/SeedGrid/Extensions/apikeys/Enums.md +33 -0
- package/seedgridKB/SeedGrid/Extensions/apikeys/Exemplos.md +121 -0
- package/seedgridKB/SeedGrid/Extensions/apikeys/Rust.md +126 -0
- package/seedgridKB/SeedGrid/Extensions/apikeys/Visao-geral.md +111 -0
- package/seedgridKB/SeedGrid/Extensions/audit/Configuracao-Rust.md +93 -0
- package/seedgridKB/SeedGrid/Extensions/audit/Configuracao.md +127 -0
- package/seedgridKB/SeedGrid/Extensions/audit/Enums.md +66 -0
- package/seedgridKB/SeedGrid/Extensions/audit/Exemplos.md +151 -0
- package/seedgridKB/SeedGrid/Extensions/audit/Rust.md +120 -0
- package/seedgridKB/SeedGrid/Extensions/audit/Visao-geral.md +114 -0
- package/seedgridKB/SeedGrid/Extensions/backup/Configuracao-Rust.md +136 -0
- package/seedgridKB/SeedGrid/Extensions/backup/Configuracao.md +319 -0
- package/seedgridKB/SeedGrid/Extensions/backup/Enums.md +131 -0
- package/seedgridKB/SeedGrid/Extensions/backup/Exemplos.md +210 -0
- package/seedgridKB/SeedGrid/Extensions/backup/Rust.md +135 -0
- package/seedgridKB/SeedGrid/Extensions/backup/Visao-geral.md +150 -0
- package/seedgridKB/SeedGrid/Extensions/billing/Configuracao-Rust.md +86 -0
- package/seedgridKB/SeedGrid/Extensions/billing/Configuracao.md +243 -0
- package/seedgridKB/SeedGrid/Extensions/billing/Enums.md +165 -0
- package/seedgridKB/SeedGrid/Extensions/billing/Exemplos.md +205 -0
- package/seedgridKB/SeedGrid/Extensions/billing/Rust.md +109 -0
- package/seedgridKB/SeedGrid/Extensions/billing/Visao-geral.md +181 -0
- package/seedgridKB/SeedGrid/Extensions/broker/Configuracao-Rust.md +40 -0
- package/seedgridKB/SeedGrid/Extensions/broker/Visao-geral.md +114 -0
- package/seedgridKB/SeedGrid/Extensions/cache/Configuracao-Rust.md +73 -0
- package/seedgridKB/SeedGrid/Extensions/cache/Configuracao.md +112 -0
- package/seedgridKB/SeedGrid/Extensions/cache/Enums.md +36 -0
- package/seedgridKB/SeedGrid/Extensions/cache/Exemplos.md +149 -0
- package/seedgridKB/SeedGrid/Extensions/cache/Rust.md +81 -0
- package/seedgridKB/SeedGrid/Extensions/cache/Visao-geral.md +90 -0
- package/seedgridKB/SeedGrid/Extensions/commons/Configuracao.md +107 -0
- package/seedgridKB/SeedGrid/Extensions/commons/Enums.md +105 -0
- package/seedgridKB/SeedGrid/Extensions/commons/Exemplos.md +141 -0
- package/seedgridKB/SeedGrid/Extensions/commons/Visao-geral.md +99 -0
- package/seedgridKB/SeedGrid/Extensions/exchange/Configuracao.md +122 -0
- package/seedgridKB/SeedGrid/Extensions/exchange/Enums.md +29 -0
- package/seedgridKB/SeedGrid/Extensions/exchange/Exemplos.md +82 -0
- package/seedgridKB/SeedGrid/Extensions/exchange/Visao-geral.md +118 -0
- package/seedgridKB/SeedGrid/Extensions/filemanagement/Configuracao-Rust.md +110 -0
- package/seedgridKB/SeedGrid/Extensions/filemanagement/Configuracao.md +157 -0
- package/seedgridKB/SeedGrid/Extensions/filemanagement/Exemplos.md +157 -0
- package/seedgridKB/SeedGrid/Extensions/filemanagement/Rust.md +70 -0
- package/seedgridKB/SeedGrid/Extensions/filemanagement/Visao-geral.md +88 -0
- package/seedgridKB/SeedGrid/Extensions/login-tenancy/Configuracao-Rust.md +124 -0
- package/seedgridKB/SeedGrid/Extensions/login-tenancy/Configuracao.md +195 -0
- package/seedgridKB/SeedGrid/Extensions/login-tenancy/Enums.md +71 -0
- package/seedgridKB/SeedGrid/Extensions/login-tenancy/Exemplos.md +149 -0
- package/seedgridKB/SeedGrid/Extensions/login-tenancy/Rust.md +139 -0
- package/seedgridKB/SeedGrid/Extensions/login-tenancy/Visao-geral.md +130 -0
- package/seedgridKB/SeedGrid/Extensions/notification/Configuracao.md +141 -0
- package/seedgridKB/SeedGrid/Extensions/notification/Enums.md +52 -0
- package/seedgridKB/SeedGrid/Extensions/notification/Exemplos.md +141 -0
- package/seedgridKB/SeedGrid/Extensions/notification/Visao-geral.md +113 -0
- package/seedgridKB/SeedGrid/Extensions/privacy/Configuracao-Rust.md +67 -0
- package/seedgridKB/SeedGrid/Extensions/privacy/Configuracao.md +94 -0
- package/seedgridKB/SeedGrid/Extensions/privacy/Enums.md +79 -0
- package/seedgridKB/SeedGrid/Extensions/privacy/Exemplos.md +172 -0
- package/seedgridKB/SeedGrid/Extensions/privacy/Rust.md +107 -0
- package/seedgridKB/SeedGrid/Extensions/privacy/Visao-geral.md +90 -0
- package/seedgridKB/SeedGrid/Extensions/realtime/Configuracao-Rust.md +72 -0
- package/seedgridKB/SeedGrid/Extensions/realtime/Configuracao.md +104 -0
- package/seedgridKB/SeedGrid/Extensions/realtime/Exemplos.md +104 -0
- package/seedgridKB/SeedGrid/Extensions/realtime/Rust.md +69 -0
- package/seedgridKB/SeedGrid/Extensions/realtime/Visao-geral.md +105 -0
- package/seedgridKB/SeedGrid/Extensions/resilience/Configuracao-Rust.md +68 -0
- package/seedgridKB/SeedGrid/Extensions/resilience/Configuracao.md +186 -0
- package/seedgridKB/SeedGrid/Extensions/resilience/Enums.md +96 -0
- package/seedgridKB/SeedGrid/Extensions/resilience/Exemplos.md +229 -0
- package/seedgridKB/SeedGrid/Extensions/resilience/Rust.md +80 -0
- package/seedgridKB/SeedGrid/Extensions/resilience/Visao-geral.md +112 -0
- package/seedgridKB/SeedGrid/Extensions/runtime/Configuracao-Rust.md +90 -0
- package/seedgridKB/SeedGrid/Extensions/runtime/Visao-geral.md +114 -0
- package/seedgridKB/SeedGrid/Extensions/security/Configuracao-Rust.md +327 -0
- package/seedgridKB/SeedGrid/Extensions/security/Configuracao.md +510 -0
- package/seedgridKB/SeedGrid/Extensions/security/Enums.md +95 -0
- package/seedgridKB/SeedGrid/Extensions/security/Exemplos.md +218 -0
- package/seedgridKB/SeedGrid/Extensions/security/Rust.md +203 -0
- package/seedgridKB/SeedGrid/Extensions/security/Visao-geral.md +131 -0
- package/seedgridKB/SeedGrid/Extensions/subdomain-tenancy/Configuracao-Rust.md +188 -0
- package/seedgridKB/SeedGrid/Extensions/subdomain-tenancy/Configuracao.md +345 -0
- package/seedgridKB/SeedGrid/Extensions/subdomain-tenancy/Enums.md +117 -0
- package/seedgridKB/SeedGrid/Extensions/subdomain-tenancy/Exemplos.md +205 -0
- package/seedgridKB/SeedGrid/Extensions/subdomain-tenancy/Rust.md +161 -0
- package/seedgridKB/SeedGrid/Extensions/subdomain-tenancy/Visao-geral.md +142 -0
- package/seedgridKB/SeedGrid/Extensions/whatsapp/Configuracao-Rust.md +75 -0
- package/seedgridKB/SeedGrid/Extensions/whatsapp/Configuracao.md +152 -0
- package/seedgridKB/SeedGrid/Extensions/whatsapp/Enums.md +198 -0
- package/seedgridKB/SeedGrid/Extensions/whatsapp/Exemplos.md +173 -0
- package/seedgridKB/SeedGrid/Extensions/whatsapp/Rust.md +83 -0
- package/seedgridKB/SeedGrid/Extensions/whatsapp/Visao-geral.md +99 -0
- package/seedgridKB/SeedGrid/Mapa-dos-repositorios.md +112 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/Indice.md +323 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/buttons/API.md +257 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/buttons/Exemplos.md +307 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/buttons/Visao-geral.md +51 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/datatable/API.md +174 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/datatable/Exemplos.md +236 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/datatable/Visao-geral.md +76 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/digits/API.md +339 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/digits/Exemplos.md +311 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/digits/Visao-geral.md +57 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/editor/API.md +125 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/editor/Exemplos.md +116 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/editor/Visao-geral.md +86 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/feedback-e-exibicao/API.md +490 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/feedback-e-exibicao/Exemplos.md +544 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/feedback-e-exibicao/Visao-geral.md +69 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/fundamentos/API.md +113 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/fundamentos/Exemplos.md +159 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/fundamentos/Visao-geral.md +92 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/gadgets/API.md +516 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/gadgets/Exemplos.md +629 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/gadgets/Visao-geral.md +80 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/inputs-selecao/API.md +615 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/inputs-selecao/Exemplos.md +384 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/inputs-selecao/Visao-geral.md +111 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/inputs-texto/API.md +661 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/inputs-texto/Exemplos.md +312 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/inputs-texto/Visao-geral.md +123 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/layout/API.md +1090 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/layout/Exemplos.md +1172 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/layout/Visao-geral.md +98 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/modulos/Visao-geral.md +98 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/modulos/fe-apikeys.md +118 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/modulos/fe-audit.md +88 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/modulos/fe-backup.md +131 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/modulos/fe-billing-platform.md +132 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/modulos/fe-billing-user.md +120 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/modulos/fe-login-tenancy.md +119 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/modulos/fe-security.md +427 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/modulos/fe-self-enter.md +104 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/modulos/fe-subdomain-tenancy.md +110 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/navegacao-e-overlay/API.md +490 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/navegacao-e-overlay/Exemplos.md +561 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/navegacao-e-overlay/Visao-geral.md +82 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/pacotes/Visao-geral.md +68 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/pacotes/fe-commons.md +61 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/pacotes/fe-core.md +140 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/pacotes/fe-playground.md +112 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/pacotes/fe-theme.md +97 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/providers/API.md +177 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/providers/Exemplos.md +332 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/providers/Visao-geral.md +106 -0
- package/seedgridKB/SeedGrid/SeedGrid-components/showcase.md +70 -0
- package/seedgridKB/SeedGrid/Toolkit/agents/arquiteto.md +53 -0
- package/seedgridKB/SeedGrid/Toolkit/agents/backend-java.md +45 -0
- package/seedgridKB/SeedGrid/Toolkit/agents/backend-rust.md +43 -0
- package/seedgridKB/SeedGrid/Toolkit/agents/frontend-react.md +41 -0
- package/seedgridKB/SeedGrid/Toolkit/agents/qa.md +44 -0
- package/seedgridKB/SeedGrid/Toolkit/agents/revisor.md +40 -0
- package/seedgridKB/SeedGrid/Toolkit/references/fluxo-de-trabalho.md +78 -0
- package/seedgridKB/SeedGrid/Toolkit/references/glossario.md +15 -0
- package/seedgridKB/SeedGrid/Toolkit/references/modos-shared-native.md +27 -0
- package/seedgridKB/SeedGrid/Toolkit/rules/backend-java-seedgrid.md +54 -0
- package/seedgridKB/SeedGrid/Toolkit/rules/coordenacao.md +39 -0
- package/seedgridKB/SeedGrid/Toolkit/rules/formato-entrega.md +29 -0
- package/seedgridKB/SeedGrid/Toolkit/rules/frontend-seedgrid.md +47 -0
- package/seedgridKB/SeedGrid/Toolkit/rules/personalizacao-local.md +22 -0
- package/seedgridKB/SeedGrid/Toolkit/skills/planejar-mudanca/SKILL.md +38 -0
- package/seedgridKB/SeedGrid/Toolkit/skills/revisar-codigo/SKILL.md +33 -0
- package/seedgridKB/SeedGrid/Toolkit/skills/revisar-codigo/references/checklist.md +25 -0
- package/seedgridKB/SeedGrid/Toolkit/skills/seedgrid-backend-crud/SKILL.md +29 -0
- package/seedgridKB/SeedGrid/Toolkit/skills/seedgrid-bump/SKILL.md +26 -0
- package/seedgridKB/SeedGrid/Toolkit/skills/seedgrid-crud/SKILL.md +221 -0
- package/seedgridKB/SeedGrid/Toolkit/skills/seedgrid-crud/agents/openai.yaml +4 -0
- package/seedgridKB/SeedGrid/Toolkit/skills/seedgrid-crud/references/checklist.md +31 -0
- package/seedgridKB/SeedGrid/Toolkit/skills/seedgrid-crud/references/patterns.md +185 -0
- package/seedgridKB/SeedGrid/Toolkit/skills/seedgrid-crud/references/routing.md +66 -0
- package/seedgridKB/SeedGrid/Toolkit/skills/seedgrid-new-screen/SKILL.md +56 -0
- package/seedgridKB/SeedGrid/Toolkit/skills/seedgrid-new-screen/agents/openai.yaml +4 -0
- package/seedgridKB/SeedGrid/Toolkit/skills/seedgrid-new-screen/references/checklist.md +32 -0
- package/seedgridKB/SeedGrid/Toolkit/skills/seedgrid-new-screen/references/steps.md +114 -0
- package/seedgridKB/SeedGrid/Toolkit/skills/seedgrid-review/SKILL.md +61 -0
- package/seedgridKB/SeedGrid/Toolkit/skills/validar-mudanca/SKILL.md +29 -0
- package/seedgridKB/SeedGrid/Toolkit/templates/decisao-arquitetura.md +29 -0
- package/seedgridKB/SeedGrid/Toolkit/templates/especificacao-tarefa.md +32 -0
- package/seedgridKB/SeedGrid/Toolkit/templates/relatorio-validacao.md +30 -0
- package/seedgridKB/SeedGrid/Versoes.md +64 -0
- package/seedgridKB/SeedGrid/Visao-geral.md +35 -0
- 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.
|