*.annot
*.cmo
*.cma
*.cmi
*.a
*.o
*.cmx
*.cmxs
*.cmxa

# ocamlbuild working directory
_build/

# ocamlbuild targets
*.byte
*.native

# oasis generated files
setup.data
setup.log

# Merlin configuring file for Vim and Emacs
.merlin

# Dune generated files
*.install

# Local OPAM switch
_opam/

# VSCode settings folder
.vscode

# Emitted LLVM IR, from `flan emit` or a kept build
*.ll

# The pre-rewrite menhir/ocamllex frontend: reference only, excluded from the
# build by the root dune file. Its contents are in git history at 2c232dd.
old-ocaml/

# Built executables from `flan build`
/calc-me
/sand
/conditions-play

# What `flan build --target=web` drops beside a source file. Anchored like the
# native executables above, and three patterns rather than one glob because the
# page, its loader and the module are three files with three extensions the
# repo otherwise has legitimate uses for.
/sand.html
/sand.js
/sand.wasm

# The agent harness: its settings, its transcripts and the worktrees it
# registers all live here, and none of them are this repository's business.
.claude/

# A stale unix socket left behind by `flan dev`. The daemon writes one beside
# the program it is serving and unlinks it on a clean exit; a killed daemon
# does not, and the leftover is a socket, not a file worth keeping.
.flan-dev.sock

# Hand-run scratch: a `probe` executable and the C it was compiled from, from
# poking at codegen by hand rather than through a test.
probe
probe.c

# raylib built for the browser: a 1.6MB archive and the pinned checkout it
# came from. vendor/raylib/build-web.sh makes both, and the path is named to a
# build through FLAN_RAYLIB_WEB, not committed.
vendor/raylib/web/

# What programs/slurp.flan and programs/web-files.flan write when run by hand
# from the source tree rather than out of _build.
test/slurp-out.txt
test/slurp-made.txt
test/web-files-out.txt

# Python bytecode from the tools directory
__pycache__/
*.pyc

# Two more hand-run leftovers: a shared object built beside a form experiment,
# and the history directory a spike driver writes when it is run from the
# source tree. Anchored where they appear, and nothing in the build makes
# either one.
/forms.so
_hist/
