__pycache__/
*.pyc
*.pyo
*.pyd
*.egg-info/
dist/
build/
.eggs/
.pytest_cache/
.ruff_cache/
.nox/
venv/
.venv/
controllers.json.bak
/tmp/
tools/tmp/
docs/_build/
# generated ergonomic wrappers - dynamic injection covers all, keep repo minimal
src/saltext/opnsense/modules/opnsense_*.py
src/saltext/opnsense/states/opnsense_*.py
# but keep generic opnsense.py (excluded above would ignore generic too? pattern is opnsense_*.py, not opnsense.py, so generic safe)
# generated by setuptools_scm – don't track
src/saltext/opnsense/version/_version.py

