################################################################################
#                                                                              #
#                              .gitignore                                      #
#                                                                              #
#  This file ignores EVERYTHING by default and explicitly includes only the    #
#  files and directories required for the project.                             #
#  To add an exception, use the "!" prefix before the path.                    #
#                                                                              #
################################################################################

# ======================
# === Global Ignore  ===
# ======================
*

# ======================
# ===   Exceptions   ===
# ======================
!.gitignore

!.github/
!.github/workflows/
!.github/workflows/*.yml

!Project.toml
!Artifacts.toml

!test/
!test/*.jl

!src/
!src/*.jl

!scripts/
!scripts/*.jl

!docs/
!docs/*.jl
!docs/*.toml
!docs/src/
!docs/src/*.md

!README.md
!LICENSE
!CHANGELOG.md

# ==============================
# === Julia-Specific Ignores ===
# ==============================
# Build artifacts
/*.tar.gz
/tmp
/dist
/dist-extras
/julia
/julia.bat
/usr
/oprofile_data
/usr-staging
/Make.user
/julia-*
/deps/jlutilities/depot
/source-dist.tmp
/source-dist.tmp1

# Test results
/test/results_*.json
/test/results_*.dat
/test/deps

# Compiled files
*.expmap
*.exe
*.dll
*.dwo
*.do
*.o
*.o.tmp
*.obj
*.so
*.dylib
*.dSYM
*.h.gen
*.jl.cov
*.jl.*.cov
*.jl.mem
*.jl.*.mem
*.ji

# Performance files
/perf*

# ===============================
# === IDE/OS-Specific Ignores ===
# ===============================
# macOS
.DS_Store

# IDEs
.idea/*
.vscode/*
.zed/*
*.heapsnapshot
.cache

# ==================================
# === Buildkite-Specific Ignores ===
# ==================================
# Buildkite directory
/.buildkite

# Buildkite test data
/test/results.json

# Buildkite keys
repo_key
agent_key*

# ===========================
# === Documentation Build ===
# ===========================
# Generated documentation
docs/build/
docs/Manifest.toml