# ─────────────────────────────────────────────
#  BanGUI — root .gitignore
# ─────────────────────────────────────────────

# ── Python ────────────────────────────────────
__pycache__/
*.py[cod]
*.pyo
*.pyd
*.so
.Python

# Virtualenvs
.venv/
venv/
env/
ENV/
.python-version

# Distribution / packaging
dist/
build/
*.egg-info/
*.egg
MANIFEST

# Testing & coverage
.coverage
.coverage.*
htmlcov/
.pytest_cache/
.tox/
nosetests.xml
coverage.xml
*.cover

# Type checkers & linters
.mypy_cache/
.ruff_cache/
.dmypy.json
dmypy.json
pyrightconfig.json
.pytype/

# ── Node / Frontend ───────────────────────────
node_modules/
.pnp
.pnp.js

# Build output
frontend/dist/
frontend/.vite/

# Logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

# ── Secrets / Environment ─────────────────────
.env
.env.*
!.env.example
*.pem
secrets.json

# ── Databases ─────────────────────────────────
*.sqlite3
*.db
*.db-shm
*.db-wal

# ── OS artefacts ──────────────────────────────
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

# ── Editor / IDE ──────────────────────────────
.idea/
*.iml
*.sublime-project
*.sublime-workspace
.vscode/settings.json
.vscode/launch.json
.vscode/*.log
*.swp
*.swo
*~

# ── Docker dev config ─────────────────────────
# Ignore auto-generated linuxserver/fail2ban config files,
# but track our custom filter, jail, and documentation.
Docker/fail2ban-dev-config/**
!Docker/fail2ban-dev-config/README.md
!Docker/fail2ban-dev-config/fail2ban/
!Docker/fail2ban-dev-config/fail2ban/filter.d/
!Docker/fail2ban-dev-config/fail2ban/filter.d/bangui-sim.conf
!Docker/fail2ban-dev-config/fail2ban/filter.d/bangui-access.conf
!Docker/fail2ban-dev-config/fail2ban/jail.d/
!Docker/fail2ban-dev-config/fail2ban/jail.d/bangui-sim.conf
!Docker/fail2ban-dev-config/fail2ban/jail.d/bangui-access.conf
!Docker/fail2ban-dev-config/fail2ban/jail.d/blocklist-import.conf
!Docker/fail2ban-dev-config/fail2ban/jail.local

# ── Misc ──────────────────────────────────────
*.log
*.tmp
*.bak
*.orig
