diff --git a/.vscode/settings.json b/.vscode/settings.json index e58f186..8981e61 100755 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -4,8 +4,10 @@ "source.fixAll.biome": "always" }, "editor.defaultFormatter": "biomejs.biome", + "editor.formatOnSave": true, + "[javascript]": { - "editor.defaultFormatter": "vscode.typescript-language-features" + "editor.defaultFormatter": "biomejs.biome" }, "[javascriptreact]": { "editor.defaultFormatter": "biomejs.biome" @@ -23,6 +25,21 @@ "editor.defaultFormatter": "biomejs.biome" }, "[vue]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - } + "editor.defaultFormatter": "biomejs.biome" + }, + "[css]": { + "editor.defaultFormatter": "biomejs.biome" + }, + "[html]": { + "editor.defaultFormatter": "biomejs.biome" + }, + + "typescript.preferences.importModuleSpecifier": "relative", + "typescript.suggest.autoImports": true, + "typescript.updateImportsOnFileMove.enabled": "always", + + "editor.rulers": [100], + "files.eol": "\n", + "files.trimTrailingWhitespace": true, + "files.insertFinalNewline": true } \ No newline at end of file diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..8c383d5 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,234 @@ +# AGENTS.md — Guia para Assistentes de IA + +> **Este arquivo descreve os padrões, convenções e arquitetura do projeto `p-comuns`.** +> Leia este arquivo antes de sugerir ou gerar qualquer código. + +--- + +## 🏗️ Visão Geral do Projeto + +`p-comuns` é um **pacote compartilhado** (npm monorepo-like) usado como dependência em todos os subprojetos da plataforma **e-licencie**. Ele provê: + +- Tipos TypeScript compartilhados (rotas, filtros, situações, UUIDs...) +- Utilitários de back-end (postgres, cache em memória, dayjs...) +- Utilitários de front-end (Vue 3 + TSX) +- Constantes e enums globais + +--- + +## ⚙️ Stack Tecnológica + +| Camada | Tecnologia | Versão | +|--------|-----------|--------| +| Linguagem | TypeScript | ~5.9.x | +| Runtime (back) | Node.js | ≥20 | +| Framework (front) | Vue 3 | Composition API + ` +``` + +- **Sem Vue Options API** — sempre Composition API +- **Props não devem ser desestruturadas** (quebra reatividade Vue 3) +- **`v-for` sempre com `:key`** — use o ID do item, nunca o índice! +- **`v-if` e `v-for` nunca no mesmo elemento** — use `