Summary
Burrow requires a separately brew install'd mo and drives whatever version
the user has. Bundle a pinned mo so the app works out of the box.
Why
- Onboarding — no
mo, no app today (the engine_missing path).
- Reliability — Burrow's JSON parsing + interactive-TUI driving are coupled
to mo's exact output; pinning kills "works on my mo version" breakage.
- Trust — elevation currently runs the user's Homebrew
mo (on a default
Apple-Silicon Homebrew, /opt/homebrew is user-writable) as root; a signed
binary inside the app is read-only and safer to elevate.
Principles
- Prefer the user's
mo if present (PATH/Homebrew); bundled is the fallback.
- Ship unmodified upstream
mo with its LICENSE + prominent credit, and
keep the "buy mole.fit ($9) to fund mo" note. No rebranding.
Tasks
Non-goals
- Replacing a user's own
mo when present.
References
SECURITY.md (privileged-execution + signing roadmap)
- tw93/Mole (MIT, © tw93)
Summary
Burrow requires a separately
brew install'dmoand drives whatever versionthe user has. Bundle a pinned
moso the app works out of the box.Why
mo, no app today (theengine_missingpath).to mo's exact output; pinning kills "works on my mo version" breakage.
mo(on a defaultApple-Silicon Homebrew,
/opt/homebrewis user-writable) as root; a signedbinary inside the app is read-only and safer to elevate.
Principles
moif present (PATH/Homebrew); bundled is the fallback.mowith itsLICENSE+ prominent credit, andkeep the "buy mole.fit ($9) to fund mo" note. No rebranding.
Tasks
MoleCLI.findExecutable(): prefer PATH/Homebrew, fall back to bundled.moversion; surface it in Settings.a root-elevated unsigned binary).
LICENSE+ attribution (About / Acknowledgements + release).depends_on "mole".keep a manual path for users running their own
mo).Non-goals
mowhen present.References
SECURITY.md(privileged-execution + signing roadmap)