.zig-cache/
zig-out/

# Pinned Zig nightly, staged at build time by scripts/fetch-zig.sh (not vendored)
/.zig-toolchain
# .claude stays private (settings.local.json, locks) EXCEPT checked-in project skills
.claude/*
!.claude/skills/
/models/
*.safetensors
# ...except small hermetic TEST fixtures. The rule above exists to keep model
# WEIGHTS out; src/fixtures holds a 1.8 MB toy-geometry parity fixture, and a
# test that silently skips because its fixture is untracked protects nothing.
!src/fixtures/*.safetensors

# llama.cpp libllama, staged at build time by scripts/fetch-llama.sh (not vendored)
/lib/llama/
# ...and the same path as a SYMLINK. A trailing slash matches a directory
# but NOT a symlink, which is how an agent worktree's build-output links got
# committed onto a branch (7f89301), replacing the lib/ds4 submodule and
# leaving lib/mlx pointing at itself. Ignore both spellings.
/lib/llama

# mlx + mlx-c, built from the pinned submodules by scripts/build-mlx.sh
# (lib/mlx-src + lib/mlxc-src are the vendored sources; these are outputs)
/lib/mlx/
/lib/mlx
/lib/.mlx-build/

# Swift / app build. No leading slash, so it also catches the stray root
# .build/ SwiftPM drops when a swift command is run from the repo root.
.build/
app/.swiftpm/
app/MLX Core.app/
app/MLX Serve.app/
app/*.zip

# macOS
.DS_Store
*.dmg

# Python
scripts/__pycache__/
*.pyc

# Images (tracked via releases, not git)
mlx-logo.png
transformer.o
test_zig
app/MLXCore.dmg
server_err.log
.vscode

# Cursor IDE / Cloud Agents. Local tooling only; not for upstream PRs.
.cursor/
agent-tools/

# Speculative-decoding working notes (MTP + PLD planning/scratchpad)
.mtp-progress.md
.spec-progress.md
docs/perf/
docs/tmp
tests/pi-results
tests/validator-results
tests/pi_integration_run.summary.tsv


# Oracle parity fixtures (regenerated by tests/dump_*_fixtures.py; never committed)
tests/fixtures/acestep/
tests/fixtures/hy3d/
tests/fixtures/krea/
tests/fixtures/ltx/
/lib/guest/

# XcodeGen output — regenerate with `cd app && xcodegen generate` (spec: app/project.yml)
/app/MLXCore.xcodeproj/
tests/llmprobe-smoke-results/

# Guest image build artifacts (`make export` in containers/agent-shell-mlxserve
# regenerates them; ~137 MB — never checked in)
containers/agent-shell-mlxserve/rootfs.tar.gz
containers/agent-shell-mlxserve/rootfs.tar.gz.sha256

# Local working notes, not project context. The mission log's TOP entry is the
# session handoff — one file, so two copies of "where things stand" cannot
# drift apart. Checked-in context stays in CLAUDE.md / app/CLAUDE.md.
/missionlog.md
/.mc.json
tests/soak_log.csv
