.venv/
__pycache__/
*.pyc
# uv writes uv.lock on every command; we don't track it (this server is
# distributed as a script, not a library, and the lockfile churns per-machine).
uv.lock
.mypy_cache/
.ruff_cache/
.pytest_cache/
.env
dist/
build/
*.egg-info/
.coverage
htmlcov/
analyze/
.claude
.mcp.json
hosts.toml
hosts-e2e.toml

# Integration-test key material generated on first run of `pytest -m integration`.
# See tests/integration/conftest.py -- ephemeral ed25519 keypair for the local
# dockerized sshd on 127.0.0.1:2222. Never commit.
tests/integration/keys/
tests/integration/known_hosts

# Per-host agent-written memory sidecars (INC-055). Operator-controlled
# location via SSH_HOST_NOTES_DIR (default `notes/`). Contents are
# operator-readable plain Markdown but the LLM writes them per-session,
# so they're per-deployment state, not source-controlled config.
notes/

BOOTSTRAP.md

# Host snapshot bundles pulled off-box per runbooks/ssh-host-snapshot.
# Contain plaintext secrets (/etc/shadow, ssh host keys, app keys) -- must
# never be committed. See runbooks/ssh-host-snapshot/SKILL.md.
snapshots/
