# AGENTS.md

Guidance for any coding agent working in the Officer platform repo.

**The instructions live in [`CLAUDE.md`](CLAUDE.md). Read it first — this file only points there.**

Kept separate so agents that look for `AGENTS.md` by convention find the same guidance as those that
look for `CLAUDE.md`, without the two drifting apart. The previous contents of this file had drifted
badly: they described Officer as a multi-user intranet for small businesses, with a user-invitation
API, a `bun dev` serving a separate dashboard on port 5000, and a closing instruction to be
"multi-user aware — always consider user isolation and role-based access". None of that is true.

## Orientation

Officer is a self-hosted personal platform that **serves exactly one person — the owner of the
server**. There is no tenancy, no roles, no user management. If a design question turns on "which
user", the answer is the owner.

This repo is one of two. The other, `capabilities/`, holds the agent's tasks, tools and skills as
plain files, and is where most changes belong — adding or changing a task needs no code change here
and no restart.

- [`CLAUDE.md`](CLAUDE.md) — this repo's architecture, conventions and code style
- [`docs/working-on-officer.md`](docs/working-on-officer.md) — the deployment-wide guide: which
  directory a change belongs in, how to run and verify it, the task system, and the failure modes
  worth knowing about
- `CONVENTIONS.md` — component organisation and React patterns, with rationale
- `TODO.md` — current direction; takes precedence where it disagrees with anything else

Treat the code as the source of truth where anything disagrees with it.
