# AGENTS.md

Umami is a privacy-first analytics platform. Traffic, campaigns, behavior, conversions, and revenue in one place — no cookies, no surveillance, self-hosted or in the cloud.

## Setup

```
pnpm install
```

## Commands

```
pnpm dev            # run locally
pnpm start          # run the app
pnpm build          # produce a build
pnpm test           # run the test suite, must pass before any commit
pnpm lint           # lint
pnpm format         # format
pnpm check          # lint and type check
pnpm build-docker
```

## Layout

- `src/`     1023 source files
- `scripts/` 25 source files
- `tests/`   9 source files
- `db/`      3 source files
- `docker/`  1 source file

## Conventions

- Tests live alongside the code they cover, following `src/app/(main)/TopNav.test.tsx`.
- TypeScript runs in strict mode. Type errors are the fastest feedback available, so do not weaken it.
- CI defines what passing means. See `.github/workflows/cd-cloud.yml`, and keep it green.
- TODO: add the two or three conventions a newcomer always gets wrong here.

---

Drafted by agentreadme.com from what is in this repository. Everything marked TODO
needs a human. Check it in as AGENTS.md at the root.
