# ── Scan output / reconnaissance data ────────────────────────────────
# tcpsweep writes --json reports and --resume journals (*.jsonl) wherever you
# point it, and leaves .tcpsweep-* temp files behind if it is killed while
# writing one. The older tool wrote gnmap/xml/csv/state files too. All of it is
# sensitive recon data and must never be committed.
*.jsonl
.tcpsweep-*
*.gnmap
*.state.json
*.json
*.xml
*.csv
# Keep tracked project config despite the broad rules above.
!.claude/settings.json

# ── Python ───────────────────────────────────────────────────────────
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
dist/
*.egg-info/
.eggs/
.installed.cfg

# ── Testing / coverage ───────────────────────────────────────────────
.pytest_cache/
.tox/
.nox/
.coverage
.coverage.*
htmlcov/
coverage.xml
.hypothesis/

# ── Virtual environments ─────────────────────────────────────────────
.venv/
venv/
env/
ENV/

# ── Editors / OS ─────────────────────────────────────────────────────
.vscode/
.idea/
*.swp
*.swo
*~
.DS_Store
Thumbs.db

# ── Claude Code local settings (per-user, not shared) ────────────────
.claude/settings.local.json

# ── Atomic-write temp files (scan.py and others write NAME.tmp.* then rename)
*.tmp.*

