# SPDX-License-Identifier: MPL-2.0
# RSR-compliant .gitignore

# OS & Editor
.DS_Store
Thumbs.db
*.swp
*.swo
*~
.idea/
.vscode/

# Build
target/
/_build/
/_opam/
/build/
/dist/
/out/
# dune-generated package install manifests (sibling to *.opam — regenerated on build)
*.install
# Idris2 build artifacts (nested, e.g. under formal-verification dirs)
**/solo-core/build/

# Dependencies
/node_modules/
/vendor/
/deps/
/.elixir_ls/

# Rust
# Cargo.lock  # Keep for binaries

# Elixir
/cover/
/doc/
*.ez
erl_crash.dump

# Julia
*.jl.cov
*.jl.mem
/Manifest.toml

# ReScript
/lib/bs/
/.bsb.lock

# Python (SaltStack only)
__pycache__/
*.py[cod]
.venv/

# Ada/SPARK
*.ali
/obj/
# `/bin/` excludes the directory itself, which makes git unable to re-include
# files inside it (negations can't re-include children of an excluded dir).
# `/bin/*` excludes the *contents* so `!bin/*.ml` and `!bin/dune` actually
# re-include their targets. The previous `/bin/` form silently dropped
# bin/dune from origin and broke CI's executable build.
/bin/*
!bin/*.ml
!bin/dune

# Haskell
/.stack-work/
/dist-newstyle/

# Chapel
*.chpl.tmp.*

# Secrets
.env
.env.*
*.pem
*.key
secrets/

# Test/Coverage
/coverage/
htmlcov/
/_coverage/
bisect*.coverage

# Benchmark archives (visibility-only output, see docs/standards/TESTING.adoc)
/bench-runs/

# Logs
*.log
/logs/

# Temp
/tmp/
*.tmp
*.bak
*.wasm
/a.out

# issue #122: generated Deno-ESM regression outputs (compiled from the
# committed *.affine fixtures by tools/run_codegen_deno_tests.sh).
/tests/codegen-deno/*.deno.js
# Local-only build workaround (see file header); never committed.
/dune-workspace
packages/affinescript-cli/deno.lock
packages/affine-js/deno.lock

# ADR-015 S3: fetch-pinned WASI adapter (provisioned, not committed)
tools/vendor/

# Claude Code agent worktrees — transient per-agent git worktrees,
# never committed (committing a nested worktree would corrupt the repo).
/.claude/worktrees/

.editorconfig
