# ==============================================================================
# .gitignore for presidio-sg-recognizers
# ==============================================================================

# Python build / cache artifacts
__pycache__/
*.py[cod]
*$py.class
*.egg-info/
build/
dist/
.venv/
.venv-*/
venv/
.pytest_cache/
pytest-cache-files-*/
.mypy_cache/
.ruff_cache/
.hypothesis/

# Coverage
.coverage
.coverage.*
htmlcov/
coverage.xml

# uv lockfile is deliberately tracked (see README "Pinned dependencies").
# Nothing to ignore here.

# Credentials and secrets (defense in depth; nothing in this repo should
# ever need a secret on disk, but this catches accidents).
.env
.env.*
*.env
*.key
*.pem
.pypirc
.netrc

# OS cruft (typically caught by ~/.gitignore_global; here as a backstop)
.DS_Store
Thumbs.db

# Editor / IDE
.idea/
.vscode/

# Claude personal overrides (project-level .claude/settings.json,
# commands, and agents are intentionally trackable; only the personal
# overrides file is excluded).
.claude/settings.local.json

# ------------------------------------------------------------------------------
# Dated tooling backups
# ------------------------------------------------------------------------------
# Local tooling writes dated <name>.bak-YYYYMMDD copies beside files it
# rewrites. They are a transient safety net, never history, and must not be
# swept into a commit by `git add .`.

*.bak-[0-9]*

# ------------------------------------------------------------------------------
# Project-specific ignores
# Add entries below this line, tagged with a [PROJECT-SPECIFIC] header.
# ------------------------------------------------------------------------------

# [PROJECT-SPECIFIC] Local-only working docs.
# Development notes and AI-assistant configuration. Machine-specific, not part
# of the project, and deliberately kept out of the repo.
AGENTS.md
CLAUDE.md
CONTEXT.md

# [PROJECT-SPECIFIC] structural
temp/

# Lockfile. This is a library published to PyPI; a lockfile constrains
# nothing for consumers and CI resolves against pyproject.toml directly.
# See the note in .github/workflows/ci.yml.
uv.lock
