# roles/ Local Ansible roles. **No Galaxy roles** — every role is written and maintained here (ADR-003). Scaffold new ones with `make new-role NAME=`; never create the directory structure by hand. Each role must have: a `molecule/default/` scenario (Debian 13), a populated `README.md`, and a filled-in `meta/main.yml`. Conventions: CLAUDE.md and `docs/runbooks/new-role.md`. Current state: `base` is **partially built** — its `firewall` concern (nftables) is implemented and tested; the other concerns (SSH hardening, fail2ban, auditd, packages, users) are not yet built. `docker_host` does **not exist yet**. `dev_env` (interactive developer environment) is built and applied. See `STATUS.md` for the authoritative breakdown.