Skip to content

v0.5.0 — a designed, capability-aware web UI, a new brand, and a real e2e harness

Choose a tag to compare

@jellologic jellologic released this 24 Jul 12:16
· 56 commits to main since this release

The config UI grows from a bare form into a designed surface that understands what each agent and provider can actually do; the brand gets a mark that pays homage to the multi-tool without borrowing the Swiss cross; and the launcher finally has tests that run the real binary.

No breaking changes — the v3 config schema shipped in 0.4.0 and is untouched.

The web UI

  • Browse every environment variable Claude Code references — 495 of them, extracted from the shipped binary and classified documented / undocumented / internal. The classification is the feature: descriptions are hand-written, never guessed, so an undocumented name is never mistaken for a supported knob.
  • A design system with light/dark that follows the system, with tokens measured from Linear and Apple. strictTokens makes a raw #fff or 13px a type error — 241 violations fixed to zero.
  • Every screen redesigned, and two high-severity rendering bugs fixed that the type checker could not see: every hairline was painted in the text colour (a border-shorthand race, ~16× the intended contrast), and the doctor's status rule was grey for exactly the failing statuses. Both found by reading emitted CSS and measuring getComputedStyle, not by review.
  • Capability-aware editors. Model slots now follow the agent — Kilo shows one, OpenCode primary + small, Claude Code the four tiers. Gateway-compat flags and the [1m] copy appear only for the agent that uses them. Session mode is offered only for the provider that can read a ~/.claude login, and switching to a gateway clears a stale session directory so a subscription token can never reach a foreign host.

The brand

A code-forward mark — a terminal prompt ❯█ on the red handle. It reads as a prompt (a coding tool), as two blades opening from a pivot (the multi-tool homage the name is about), and as none of the protected emblems. The Swiss cross is retired from every surface, including the README hero and the npm social card.

Testing

A two-tier e2e harness: the real bin/swisscode.js launched against a recorder (runs on every PR, hermetic), and the three real coding CLIs in Docker (manual, non-billable). This finally covers the execve handoff — the single most consequential line in the tool, which CI previously admitted nothing tested. The load-bearing assertion is one no plan-level test can make: for a third-party provider, the stale ANTHROPIC_API_KEY is absent from the launched child process.

Dev-only — nothing from the harness ships.


785 unit tests, 29 hermetic e2e, 140.7 kB packed. Published by CI via npm trusted publishing (OIDC) with a SLSA provenance attestation.