chore: add direnv .envrc for local Python 3.13 venv

Pins to python3.13 to match the Debian Trixie production target.
Documents the dev setup in README and AGENTS.md so a fresh checkout
gets a working `python` via `direnv allow` + editable installs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
mwiegand 2026-05-08 18:56:51 +02:00
parent 196d2db33e
commit 0d906605e9
No known key found for this signature in database
4 changed files with 12 additions and 0 deletions

1
.envrc Normal file
View file

@ -0,0 +1 @@
layout python python3.13

1
.gitignore vendored
View file

@ -1,6 +1,7 @@
.worktrees/ .worktrees/
.claude/ .claude/
.venv/ .venv/
.direnv/
.pytest_cache/ .pytest_cache/
__pycache__/ __pycache__/
*.pyc *.pyc

View file

@ -21,6 +21,7 @@ Do not invent architecture outside these plans unless explicitly requested.
### Workspace and tools ### Workspace and tools
- Do not use git worktrees. - Do not use git worktrees.
- Local Python venv is direnv-managed via `.envrc` (Python 3.13). After fresh checkout: `direnv allow`, then `pip install -e ./l4d2host -e ./l4d2web pytest`. See README **Local development** for details.
### Naming and boundaries ### Naming and boundaries

View file

@ -50,6 +50,15 @@ Implementation plans remain the source of truth for architecture and task sequen
See `deploy/README.md` for the Linux test deployment contract, including the runtime user, target filesystem layout, systemd units, privileged helpers, sudoers rules, admin bootstrap, and overlay reference rules. See `deploy/README.md` for the Linux test deployment contract, including the runtime user, target filesystem layout, systemd units, privileged helpers, sudoers rules, admin bootstrap, and overlay reference rules.
## Local development
This repo uses [direnv](https://direnv.net/) to auto-activate a Python 3.13 venv on `cd` (matching the Debian Trixie production target). With direnv installed and hooked into your shell:
1. `direnv allow` once per fresh checkout (and after any `.envrc` change).
2. `cd` out and back in — `.direnv/python-3.13/` is created and put on `PATH`.
3. `pip install -e ./l4d2host -e ./l4d2web` to install both packages editable.
4. `pip install pytest` to run the test suites (`pytest tests/` inside either subproject).
## Tech Stack (planned) ## Tech Stack (planned)
- Python 3.12+ - Python 3.12+