Skip to content

v0.97.0 — the engine's settings, the way a herd wants them

Choose a tag to compare

@ralyodio ralyodio released this 13 Sep 05:30
af8c80f

The engine's settings, the way a herd wants them

An engine can now say how it would like to be configured, the same way it already ships its lifecycle hooks. Claude Code is the first: moshcode install claude leaves three settings in ~/.claude/settings.json so a fresh install starts with ultracode on (every substantive prompt runs as a workflow of agents), small workflows (Claude's own advisory tier, fewer than 5 agents each) and a hard cap of 4 agents at once, so one session cannot eat the box the rest of the herd is running on.

By hand, moshcode engines defaults shows which of an engine's defaults are set, which are missing and which are yours; moshcode engines defaults apply claude fills the gaps and remove claude takes them back out, both with --dry-run and --json. It works from the CLI and the pit.

Same rules as the hooks installer, because it is the same file. The file is merged, never clobbered: a key you already set, to anything, stays yours, and status reports it as yours rather than as a fault. Remove only takes out a value that is still the one moshcode wrote. A settings file that does not parse is refused rather than overwritten. Nested defaults merge one leaf at a time, so your other env vars are untouched and an env object moshcode created is removed again only once it is empty.