# Julia
*.jl.cov
*.jl.*.cov
*.jl.mem
deps/deps.jl
deps/build.log
deps/downloads/
deps/usr/
deps/src/
Manifest.toml

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

# Fortran module files
*.mod
*.smod

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

# Executables
*.exe
*.out
*.app

# OS generated files
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

# IDE
.vscode/
.idea/
*.swp
*.swo
*~

# Python
__pycache__/
*.py[cod]
*$py.class
*.so
*.egg-info/
dist/
build/
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
.python-version

# Temporary files
*.tmp
*.temp
*.log
*.bak
*.backup
*.orig
*.rej

# Build artifacts
build/
Build/
BUILD/
target/
Target/
TARGET/

# Model files (usually large)
*.gguf
*.ggml
*.bin
*.safetensors
*.pt
*.pth
*.ckpt
*.h5
*.hdf5

# Training outputs
checkpoints/
checkpoint-*/
runs/
logs/
outputs/
results/
wandb/
.neptune/
mlruns/

# LoRA outputs
lora_gguf/
lora_training/
*.lora
*_lora_*
gemma_lora_*/
adapter_*/

# Data files
*.json
*.csv
*.tsv
*.parquet
*.arrow
*.feather
*.pickle
*.pkl

# Images (except test images)
*.jpg
*.jpeg
*.png
*.gif
*.bmp
*.tiff
*.webp
# But keep test images
!images/dog.jpg

# Audio files
*.wav
*.mp3
*.flac
*.ogg
*.m4a
*.wma
*.aac

# Video files
*.mp4
*.avi
*.mov
*.wmv
*.flv
*.mkv
*.webm

# Archives
*.zip
*.tar
*.tar.gz
*.tar.bz2
*.tar.xz
*.rar
*.7z
*.gz
*.bz2
*.xz

# Node.js (if any frontend)
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Jupyter Notebook
.ipynb_checkpoints

# Documentation build
docs/build/
docs/site/
site/

# Local configuration
config.local.json
.env.local
.env.production.local
.env.development.local

# Test coverage
coverage/
.coverage
.nyc_output
lcov.info

# Performance and profiling
*.prof
*.trace
profile.out
*.perf

# Rust (for outlines-core)
Cargo.lock
target/

# CMake
CMakeCache.txt
CMakeFiles/
cmake_install.cmake
CTestTestfile.cmake
_deps/
*.cmake

# Make
Makefile
*.make

# LLVM
*.ll
*.bc

# Generated files
*.generated
*.autogenerated

# Temporary Julia files
*.jl.tmp
*.jl.backup

# Ignore everything in build output folders
vendors/llama.cpp/build/

# But allow this specific path
!vendors/llama.cpp/build/bin/Release/
!vendors/llama.cpp/build/bin/Release/llama.dll
!vendors/llama.cpp/build/bin/Release/mtmd.dll

# --- Force include outlines_core.dll in release folder ---
!vendors/outlines-core/target/
