1#:schema https://pitchfork.jdx.dev/schema.json 2# 3# The development process, supervised by pitchfork (jdx/pitchfork), as in 4# ~/aifleet: 5# pitchfork start --local the dev server, on http://localhost:8787/ 6# pitchfork status / logs worker / tui / stop --local 7# 8# Every daemon runs inside `nix develop .#owner` (the shell with the 9# credentialed tools), so it gets the devshell's tools no 10# matter which shell happened to start the pitchfork supervisor. 11 12# Keeps the devshell out of nix's garbage collection (see the script). 13[daemons.devshell-root] 14run = ["tools/devshell-root"] 15oneshot = true 16 17# The Worker under `wrangler dev`. `op-env-run` puts the Jev key in its 18# environment, and `lmjtfy-wrangler` reads the Cloudflare token for Workers 19# AI, which has no local emulation. 20# 21# wrangler rebuilds the Worker itself when a source changes. Its watcher can 22# start two builds off one save, which collide in build/ and take wrangler 23# down (2026-10-02). tools/wrangler-dev reports any exit pitchfork did not ask 24# for as a failure, and `retry` starts it again. 25[daemons.worker] 26run = "exec op-env-run -- nix develop .#owner --command tools/wrangler-dev" 27depends = ["devshell-root"] 28ready_http = { url = "http://127.0.0.1:8787/", timeout = "10m" } 29retry = true