1# Chapter 13: tools, the helpers backstage 2 3Nothing in this folder is part of the site. These are the things that help 4build it, run it on a laptop, and decide how it should behave. Two of them 5are small shell scripts with one job each; the third, `eval/`, is a whole 6program and gets the next chapter. 7 8> **Aside.** Why does a dev server need a script to report its own exits? 9> Because wrangler's wrapper exits with status 0 when the runtime under it 10> is killed (measured 2026-10-02), and pitchfork, which supervises it, only 11> restarts something that failed. So `wrangler-dev` treats any exit nobody 12> asked for as a failure, and pitchfork brings it back. 13 14## For the people who maintain it 15 16| Path | What | 17| --- | --- | 18| [eval/](eval/) | Picks the LLM, and checks the eight questions Jev is asked first. Chapter 14. | 19| [wrangler-dev](wrangler-dev) | The Worker under `wrangler dev`, for pitchfork: it reports an exit nobody asked for as a failure, so pitchfork restarts it. | 20| [devshell-root](devshell-root) | Registers the owner's devshell as a nix garbage-collection root, so a collection does not make the next `nix develop` rebuild pitchfork. From `~/aifleet`. | 21 22← Previous: [Chapter 12½, tree/src/](../packages/tree/src/) · Up: [lmjtfy](../) · Next: [Chapter 14, eval/](eval/) →