# Python
__pycache__/
*.py[cod]
*.egg-info/
.venv/
venv/
.mypy_cache/
.ruff_cache/
.pytest_cache/
.coverage
coverage.xml
htmlcov/
dist/
build/

# Node / frontend
node_modules/
web/dist/
web/.vite/
*.tsbuildinfo
# The built interface. `npm run build` writes it here with emptyOutDir, so a
# tracked placeholder inside would be deleted by every build -- the directory
# is only ever read after a build, and nothing needs it to exist before one.
# Packaging pulls it in anyway via `artifacts` in pyproject.toml.
/src/jobsheet/web/

# Scratch space for throwaway scripts
.scratch/

# User data. A generated workbook holds the user's own notes and application
# history -- it is theirs, and it never belongs in version control.
*.xlsx
*.xlsm
~$*.xlsx
jobsheet.db
jobsheet.db-*
backups/
exports/

# Local configuration
.env
.env.*
!.env.example

# Editors / OS
.vscode/
.idea/
.DS_Store
Thumbs.db

# Working notes: handoff documents written for whoever picks the project up
# next. They are honest about half-finished things and name the private project
# this one grew out of, which makes them useful to keep and wrong to publish.
# The parts of them that belong to the project live in docs/ARCHITECTURE.md,
# docs/SOURCES.md and CONTRIBUTING.md instead.
/docs/internal/
