warden 0.1.0
First public release of warden — a config-driven terminal multiplexer for macOS. One TOML file defines your windows and the project tabs inside them; warden materializes itself from that config and hot-reloads on save.
Config core — warden-config crate + warden CLI
- TOML schema → parse / validate / resolve: defaults,
~expansion, and ashell/cmd/probecascade (global → window → tab). - Hot-reload diffing (
reconcile) and a notify-based file watcher. - House-style TOML formatter (embedded taplo) exposed as
warden fmt(with--check) and an optionalformat_on_save. warden validateprints the resolved window/tab tree + warnings.
macOS app — warden-app (Tauri + libghostty)
- A native window per
[[window]]with a colour + title banner; curator-style draggable sidebar under an overlay titlebar. - Embedded libghostty terminal surfaces behind a
TerminalSurfaceseam; tabs lazy-spawn on first focus (load_on_openspawns eagerly and stays running). - Grouped tabs (cosmetic sidebar sections), a live/cold dot with hover-✕ unload, terminal notifications (OSC 9 / OSC 777 desktop banners + bell badges), and a cyan session-presence probe dot.
- Live hot-reload (open / close / recolour / re-section), a diagnostic window for a missing/invalid config, an error banner that keeps last-good windows up on a bad edit, and per-window size/position persistence.
- Tab navigation via the app menu: ⌘⇧[ / ⌘⇧] cycle loaded tabs, ⌘1–⌘9 jump (or ⌘1/⌘2 cycle via
tab_digit_keys = "cycle"); ⌘W unloads, ⌘⇧W closes the window.
Platform & packaging
macOS only. Local builds via just build / just deploy (code-signed with a local Apple Development identity if present, otherwise unsigned; not notarized for distribution to other machines).
Notes
The vendored libghostty is a throwaway prebuilt; a controlled upstream source build is deferred (blocked on a Zig 0.15.2 / macOS 26 SDK mismatch). See docs/FOLLOWUPS.md for tracked deferrals.