Guide
Tech stack
Agent Zero is a TypeScript monorepo. Every tool below was chosen deliberately; the toolchain rules in AGENTS.md are binding for contributors and coding agents alike.
Agent Zero is a TypeScript monorepo. Every tool below was chosen deliberately; the toolchain rules in AGENTS.md are binding for contributors and coding agents alike.
Runtime and package management
- Node.js 24.2+ — the minimum runtime for every package and generated bundle.
- aube — the package manager, pinned through
packageManagerinpackage.json. aube reads and writes the existingpnpm-lock.yamlandpnpm-workspace.yamlin place, so the lockfile stays in pnpm's v9 format for anyone who still runs pnpm. Do not use npm, Yarn, or Bun in this repository, and do not add a second lockfile. - mise —
mise.tomlpins both Node.js and aube, so onemise installsets up the whole toolchain.
Build and orchestration
- Turborepo — schedules workspace tasks in dependency order and caches build outputs. All orchestration goes through the root scripts; packages do not duplicate it.
- tsdown — builds publishable packages as ESM and CommonJS with matching declarations and source maps, through the shared
scripts/tsdown.config.ts. The Nuxt dashboard uses the Nuxt build pipeline instead. - typescript-native-bridge — overrides
typescriptrepo-wide inpnpm-workspace.yaml, sotsckeeps the classic package surface while the checker runs on tsgo in-process. The pin is exact because the fork only publishes prerelease versions.
Quality gates
- Oxlint + Oxfmt — type-aware linting and repository-wide formatting, extended with
@e18e/eslint-pluginfor modernization and performance rules. ESLint and Prettier are deliberately absent. - Knip — detects unused files, exports, and dependencies across the workspace as part of
lint:ci. - Vitest — deterministic unit tests beside the source as
*.test.ts; Playwright drives the dashboard's end-to-end suite. @arethetypeswrong/cli+ Publint — validate every package build.
Application stack
- Nuxt 4 — the dashboard, the single deployable app: UI, control plane, and authentication from one origin, served by Nuxt's own Nitro server.
- UnoCSS (preset-wind4) with @nuxt/icon (Lucide, bundled locally) — styling and icons.
- oRPC — one typed router served over both a typed RPC transport (
/rpc/**) and OpenAPI/REST (/api/v1/**). - Better Auth via
@onmax/nuxt-better-auth— authentication mounted in-process at/api/auth/**. - Drizzle + Postgres — the session store, the only database in the repository, owned by
packages/databasewith reviewable checked-in SQL migrations. - Maizzle — transactional email templates in
packages/mail. - @nuxtjs/i18n + Lunaria — English and Italian dictionaries with translation-staleness reporting.
- Vercel AI SDK — the model-provider integrations behind one
ModelProvidercontract inpackages/models.
Agent tooling
- skilld — manages the Agent Skills in
.skills/that expose task-specific guidance to coding agents. See Agent Skills. @redstardev/unplugin-version-injector— injects the version marker the CLI displays in its header.