ADR-0003 — The name "foldyard"; rejected alternatives + availability sweep¶
- Status: Accepted (2026-06-13) — in use everywhere; registration formalities still outstanding (spinout-plan D10)
- Sources: PLAN.md §3 (Naming, decided 2026-06-13), §11 (the
foldyard boxquestion), Appendix A §6 (the Jetify "devbox" collision), docs/spinout-plan.md D10
Context¶
The extraction of the Tangible dev-VM machinery into an open-source tool needed a name that could carry a CLI, a config file, a PyPI package, and a GitHub org. Constraints from the landscape:
- The
*-box/*-sandboxgenre is crowded and agent-flavoured — and this tool deliberately is not another agent sandbox (ADR-0002). - "devbox" as a word is owned: Jetify Devbox (the Nix-based product) plus Microsoft Dev Box.
This ruled out the obvious name for the dev-box concept and later even shaped the subcommand
choice (
foldyard box, notfoldyard devbox). - The name should carry the product's actual metaphor: a bounded place where the work happens, not a cage around a process.
Decision¶
The name is foldyard. A fold-yard is the enclosed farmyard where livestock are folded
(penned) for the night. The metaphor earns its keep twice:
- Stack colocation — "a yard for your stack": everything that runs untrusted code lives in the yard; your machine — keys, browser profile, other repos — stays outside the fence.
- "Bring the agent into the fold" — suits the multi-session dev box where agents work alongside you.
Surfaces: CLI foldyard (aliased as fy — fy <verb> == foldyard <verb>), config
foldyard.toml in the consumer repo, host state under ~/.foldyard/, distribution
uv tool install foldyard from PyPI. We name the place, not the cage.
Availability sweep (2026-06-13):
- PyPI ✓ · npm ✓ · crates.io ✓ · Homebrew formula + cask ✓
- GitHub org/user
foldyard✓ (zero repos with the name) foldyard.dev/.io/.shunregistered;.comregistered (likely unrelated/parked)- Only web namesake: foldyard.co.uk, an art portfolio — different trade class, no software footprint
Explanatory metaphors are reserved for docs, not the name: cofferdam (work on the real thing, in the dry) and glasshouse (you can see everything inside the boundary).
Consequences¶
- The
fyalias became the daily-driver surface (fy up | ps | box | mode | verify | tui), and the dev-box subcommand isfoldyard box— sidestepping the Jetify/Microsoft "devbox" collision recorded as an open question during naming. - The castle/gate words surfaced during naming (gatehouse / postern / drawbridge) were kept as candidates for plugin names (credential plugins) if a themed system is ever wanted; the default remains boring descriptive names — decide at plugin-API time.
- Still-outstanding formalities, deliberately cheap and reversible (carried into the spin-out
plan as D10): claim the
foldyardGitHub org, publish a placeholder package to PyPI, registerfoldyard.dev(+.ioif desired), and run a UK IPO / EUIPO trademark search before public launch. None had been executed as of the spin-out plan (2026-07-01); they gate the public launch, not the extraction.
Rejected alternatives¶
- stackyard — eliminated: stackyard.cloud / GitHub
StackyardCloudis an active OSS local cloud-emulation tool aimed at a directly adjacent audience. - cofferdam — backup only: the npm name is taken (a TypeScript code-quality tool) and SEO is swamped by civil engineering; kept as a README metaphor instead.
- bailey / glasshouse / motte / gatehouse / drawbridge / postern — viable, but spent better as potential plugin names than as the product name.
- Anything in the
*-box/*-sandboxgenre — avoided on purpose: those names describe a cage around a process; this product is a place a whole stack lives.