# AGENTS.md
Guidance for coding agents working in this repository.
## Mission
Build `left4me` according to the two implementation plans:
- `docs/superpowers/plans/2026-04-22-l4d2-host-lib-v1.md`
- `docs/superpowers/plans/2026-04-23-l4d2-web-app-v1.md`
Do not invent architecture outside these plans unless explicitly requested.
## Current Project State
- `l4d2host/` and `l4d2web/` implementation directories exist.
- Implementation plans remain the source of truth for contract changes and task sequencing.
## Non-Negotiable Constraints
### Workspace and tools
- Do not use git worktrees.
- Repo is a uv workspace; Python is pinned to 3.13 via `.python-version`. After fresh checkout: install `uv` (`brew install uv` / `curl -LsSf https://astral.sh/uv/install.sh | sh`), then `direnv allow` (or `uv sync` directly). See README **Local development** for details.
### URL-addressable modal templates
A template that renders **both** as a full standalone page AND as a modal fragment (i.e. `{% extends base_layout %}`, where `base_layout` resolves to `_modal_partial.html` for modal-mode requests and `base.html` otherwise — driven by the `HX-Modal: 1` header in `app.py:inject_base_layout`) MUST follow these conventions:
- **The outermost element of `{% block content %}` is a `
`, NOT a `