# Build outputs. /out/ # Separate-compilation artifact dirs. `ww build` and explicit `ww test -o` # leave caller-owned .sepwork/ at the selected artifact stem; they # refuse to replace an existing tree. `ww run` and no-output single-file tests # put the executable and scratch in one driver-owned temporary directory and # remove both. Byte gates read selected files deliberately, then remove the # exact tree, so it is transient-not-tracked. *.sepwork/ # Claude Code session artifacts. .claude/ .ai/ # Per-module build artifacts. The .combined.ww files under selfhost/ # are intentionally tracked — they're frozen bootstrap inputs. selfhost/**/*.o selfhost/**/*.s # `ww build` on a lib/ module leaves a .combined.ww next to the # source. None of these are bootstrap inputs (those are under # selfhost/cmd/*/main.combined.ww) — they're just transient. # `ww test lib/foo` also drops the .s/.o triplet for *_test.ww. lib/**/*.combined.ww lib/**/*.s lib/**/*.o # examples/ build outputs. Each example has its own Makefile that # leaves the .s/.o/.combined.ww plus a stripped binary behind. examples/**/*.o examples/**/*.s examples/**/*.combined.ww # `test/wcc/data/` holds .ww fixtures fed to the C-side wcc tests # (e.g. attest_nondrop.ww). `ww build` against any of those drops the # usual triplet next to the source — only the .ww is tracked. test/wcc/data/*.o test/wcc/data/*.s test/wcc/data/*.combined.ww test/wcc/data/**/*.o test/wcc/data/**/*.s test/wcc/data/**/*.combined.ww examples/mandelbrot/mandelbrot examples/cmatrix/cmatrix examples/lisp/lisp examples/lisp/lisp_test # Stage-0 binaries under bootstrap//. Untracked by default — # committing them is the v1.0 lock per PLAN.md (the new trust # surface). `make bootstrap-snapshot` populates the dir from the # current wwstage; `make nocc` verifies they self-reproduce. # To ship, `git add -f bootstrap/amd64/{ww,w6c,w6a,w6l}` explicitly. bootstrap/*/*