Configuration now resolves through @lostgradient/environmentalist, and the manifest has a home.
The manifest defaults to ~/.battlestation.toml
You can run battlestation diff from anywhere without remembering where the file lives — which is what makes a routine drift check practical.
Configuration resolution
Most-explicit-wins, per key:
| Priority | Source |
|---|---|
| 1 | --file / --interval flags |
| 2 | BATTLESTATION_CONFIGURATION / BATTLESTATION_INTERVAL |
| 3 | .env files |
| 4 | battlestation.config.{ts,js,json,toml,yaml} in the project |
| 5 | ~/.battlestation, ~/.config/battlestation/config.* |
| 6 | Defaults: ~/.battlestation.toml, weekly |
export BATTLESTATION_CONFIGURATION=~/dotfiles/mac.toml
battlestation diff # uses the exported path
battlestation diff --file ./other.toml # a flag still winsPaths beginning with ~ are expanded; relative paths resolve against the working directory.
Only settings that describe how battlestation runs are configurable this way. Per-invocation switches like --json, --yes, and --dry-run are deliberately excluded — a persisted yes = true would be a footgun rather than a convenience.
Upgrading
If your manifest lives somewhere else, either move it to ~/.battlestation.toml or point at it:
mv ./battlestation.toml ~/.battlestation.toml
# or
export BATTLESTATION_CONFIGURATION=/path/to/battlestation.tomlExplicit --file usage is unchanged.