# NOTE ON ANCHORING
# Hatchling's file selection is VCS-aware and honours this file. An unanchored
# pattern such as `data/` or `versions/` would silently strip packaged assets
# (templates, static CSS, Alembic revisions) out of the built wheel with no
# warning. Every pattern below that could collide with a package directory is
# therefore anchored to the repo root with a leading slash.

# --- Python -----------------------------------------------------------------
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
/build/
/dist/
/wheels/
*.egg-info/
.eggs/
/.venv/
/venv/

# --- Tooling caches ---------------------------------------------------------
.pytest_cache/
.mypy_cache/
.ruff_cache/
.coverage
.coverage.*
/htmlcov/
/coverage.xml
.hypothesis/

# --- Secrets and local config (spec 6.2) ------------------------------------
.env
.env.*
!.env.example
*.secret
/secrets/

# --- Local databases (spec 6.2) ---------------------------------------------
# Anchored: must not match src/fastauth/db/
/data/
*.db
*.db-journal
*.db-wal
*.db-shm
*.sqlite
*.sqlite3

# --- OS / editor ------------------------------------------------------------
.DS_Store
.idea/
*.swp

# --- Project ----------------------------------------------------------------
# The owner's private specification document. It is the rationale behind every
# design decision here, but it is not ours to publish: it must never reach a
# public commit, a GitHub push or a PyPI sdist. The rationale that belongs in
# the open lives in docs/DECISIONS.md instead.
#
# Anchored to the repo root, per the note at the top of this file. `text-*.txt`
# unanchored would also match any future text-*.txt fixture anywhere under
# src/fastauth/ and silently drop it from the wheel; the leading slash confines
# the pattern to this one file at this one location.
/text-2BF8422D3F8F-1.txt

# JUnit reports written by the CI database-coverage guard.
/junit-*.xml
