# Prerequisites
*.d

# Compiled Object files
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
*.pch

# Compiled Dynamic libraries
*.so
*.dylib
*.dll

# Fortran module files
*.mod
*.smod

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Executables
*.exe
*.out
*.app

# LaTeX files
*.aux
*.log
*.pdf
*.synctex.gz

# Doxygen files
*.bak

# Build directories
cmake-build-*
build*
docs/_build/
docs/html/
*/_dep/

# Cache files
.cache/

# IDE files
*.directory
*.idea
*.vs

# Experiment files
*.json
!CMakePresets.json
!.license-tools-config.json
*.csv

# Coverage files
lcov.info
.coverage
.coverage.*
coverage.xml

# Python
__pycache__
venv/
.venv*/
dist/
.tox/
.nox/
.mypy_cache/
.pytest_cache/
.ruff_cache/
*.egg-info
*.env

# OS and editor droppings. These are untracked but not otherwise ignored, and the source
# distribution is built from the working tree, so without these it can ship them
.DS_Store
# a literal `?`, not a wildcard: `check-sdist --inject-junk` plants a file by that name
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
*~
*.swp

# Archive files
*.zip
*.tar.*
*.7z
*.rar

# AI agent scratch files (plans, tech-debt notes, review write-ups) - never tracked
.ai/

# Tool-specific agent state and instruction-file aliases. The tracked instructions are
# AGENTS.md; symlink these to it locally if your tool expects a different name.
.claude/
CLAUDE.md
CLAUDE.local.md
AGENTS.local.md

# compiler cache written by the Windows CI jobs
.sccache/
