# Regras do AGENTS.md para um aplicativo SaaS Next.js

> Um AGENTS.md pronto para uso que mantém os agentes de codificação de IA no stack e na convenção em uma base de código SaaS Next.js.

**Type:** Rule  
**Tools:** Cursor, Claude Code, Codex  
**Stack:** Next.js, TypeScript, Tailwind  
**Updated:** 2026-06-08

---

Coloque este arquivo na raiz do seu repositório como `AGENTS.md`. A maioria dos agentes (Codex, Cursor, Claude
Code) o lê automaticamente e o trata como regras do projeto.

## AGENTS.md

```md title="AGENTS.md"
# Project Rules

## Stack
- Next.js (App Router) + TypeScript (strict).
- Tailwind CSS v4. No CSS-in-JS.
- PostgreSQL via the existing db client in `src/lib/db.ts`.

## Hard rules
- Never add a dependency without listing it and why first.
- Server Components by default. Only add `"use client"` when you need state,
  effects, or browser APIs — and keep those components small.
- All env vars go through `src/lib/env.ts` (zod-validated). Never read
  `process.env` directly in app code.
- Never put secrets or server-only code in a Client Component.

## Conventions
- Co-locate route code under `app/`. Shared logic lives in `src/lib/`.
- Use the existing UI primitives in `src/components/ui/` before adding new ones.
- Write the diff and wait for approval before editing more than 3 files.

## Definition of done
- `bun run typecheck` and `bun run lint` pass.
- No new `any`. No unused exports.
```

## Por que essas regras

- **"Server Components por padrão"** é a maior alavanca de qualidade em projetos App Router — veja o padrão de falha relacionado no código servidor-dentro-cliente.
- **Validação centralizada de env** impede a classe mais comum de erros de IA: ler silenciosamente um valor `process.env` indefinido.

## Boa adequação

- Aplicativos SaaS Next.js de médio porte com um conjunto de convenções estabelecido.

## Não é adequado

- Protótipos greenfield onde você quer que o agente seja rápido e flexível.