# AGENTS.md — TypeScript - `strict: true` + `noUncheckedIndexedAccess: true` are non-negotiable. - No `any`. No `enum`. No silent type widening. - Narrow `unknown` with guards or `zod`. - Prefer discriminated unions for state. Prefer `satisfies` over `as`. ```bash pnpm typecheck # tsc --noEmit ```