Castellyn v0.6.0
The multi-environment release: a new Environments tab makes Castellyn aware of every AI-coding harness on the machine (Claude Code, OpenCode, Codex) and pushes the canonical skills / MCP / providers / rules into OpenCode with one click. On top of that: two full improvement waves (35 product items + a 40-item UI/UX audit), an SSH security fix, and richer MCP / backup / analytics management.
Added
- Environments tab — per-harness overview of skills, providers, MCP servers and RTK state; one-click skill sharing via directory junctions (with dangling-junction repair); a per-skill × harness coverage matrix; an RTK command-rewriting toggle for OpenCode (Windows-safe plugin pinned to the absolute
rtkpath). - Fan-out to OpenCode — three idempotent merge-patch deploys from the canonical store: MCP servers (
.mcp.json→mcpblock), the provider registry (myproviders.json→providerblock; API keys are written only as{env:…}references and manually bound keys are never overwritten), and the canonical rule files attached toinstructions[]by path, no copying. Codex fan-out is deliberately deferred (upstreamconfig.tomlMCP loading is unreliable). - MCP management from the UI — add/edit/remove canonical servers and clear extras, no more hand-editing
.mcp.json. - Backup — delete a single snapshot from the UI; weekly maintenance operations.
- Analytics — script-run duration histogram by day.
- Sessions — Codex terminal tool and a fork-terminal picker; find/new-session moved to
Ctrl+Shift+F/Ctrl+Shift+Tso they no longer collide with terminal keys. - Forks — direct fast-forward from the card; Schedule — reschedule a task in place; Providers — reuse a saved preset when connecting.
Fixed
- Security: SSH argv flag-smuggling — the
sshTargetvalidator now rejects values that could smuggle extrasshflags through the session launcher. - Reliability — config/provider data guarded against corruption and key loss; honest run feedback (a
heldcomponent no longer reads as "up to date"; a finished operational run reads its real status envelope); spawn errors surface as a toast and auto-reveal the console. - The last active tab is restored again — the persist effect ran before the restore and overwrote the saved tab, so the app always opened on Updates.
- Tray actions confirm in a visible window — Stop stack / Start stack from the tray reveal the window instead of waiting on a confirm dialog nobody can see.
- Onboarding no longer discards an unsaved scripts folder — "Next" saves it implicitly.
Changed
- UI/UX audit wave (40 items) — hotkeys and
Ctrl+1…9follow the visible sidebar order; grouped hotkey cheatsheet; tables fit a 1440-wide window without horizontal scroll; one SVG icon language (no emoji/unicode mix); correct Russian plurals; window chrome dims when unfocused; dialogs submit on Enter; ~50 dead i18n keys removed. - Performance — the on-focus plugin check is throttled, skill scans are memoized, palette/set lookups use
Setmembership.
Windows x64 binaries (standalone .exe, NSIS setup, MSI) are attached below once the build finishes.