lmjtfy.git / pitchfork.toml

:schema https://pitchfork.jdx.dev/schema.json

The development process, supervised by pitchfork (jdx/pitchfork), as in ~/aifleet: pitchfork start --local the dev server, on http://localhost:8787/ pitchfork status / logs worker / tui / stop --local

Every daemon runs inside nix develop .#owner (the shell with the credentialed tools), so it gets the devshell's tools no matter which shell happened to start the pitchfork supervisor.

Keeps the devshell out of nix's garbage collection (see the script).

13[daemons.devshell-root]
14run = ["tools/devshell-root"]
15oneshot = true

The Worker under wrangler dev. op-env-run puts the Jev key in its environment, and lmjtfy-wrangler reads the Cloudflare token for Workers AI, which has no local emulation.

wrangler rebuilds the Worker itself when a source changes. Its watcher can start two builds off one save, which collide in build/ and take wrangler down (2026-10-02). tools/wrangler-dev reports any exit pitchfork did not ask 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