Skip to content

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 30 Apr 15:20
· 809 commits to main since this release

Builder 1.1.0

Builder 1.1 makes Builder easier to keep running in the background, easier to customize per workspace or agent role, and smoother to use in the terminal.

Highlights

Background Service

Builder can now install a supervised local server that starts at login:

builder service install

The service keeps one shared builder serve process available for the TUI, headless runs, and other local frontends. This makes reconnecting cheaper and makes long-running background shells less dependent on one terminal window staying open.

Useful commands:

builder service status
builder service status --json
builder service restart
builder service stop
builder service start
builder service uninstall

Supported service backends:

  • macOS: LaunchAgent
  • Linux and WSL2: systemd --user
  • Windows: Scheduled Task at logon, with Startup folder fallback

Homebrew does not install the service automatically. Install it only if you want Builder's local server to stay available before a frontend opens.

Update Reminder

Builder checks GitHub releases for newer versions and shows an update notice in the first interactive session when an update is available. /status also includes update information, so you can check from inside Builder without leaving the TUI.

The notice is informational; Builder does not auto-update itself.

More Flexible Prompt Files

Builder can use different system prompt files globally, per workspace, and per headless subagent role. That lets you keep a default Builder personality, add repo-specific rules, or make a specialized fast/review/research subagent without changing prompts by hand before each run.

For the main agent, Builder checks global settings first, then workspace settings, then selected subagent-role settings. Empty prompt files are skipped. The chosen prompt is snapshotted per session, so editing a prompt file affects new sessions instead of silently changing existing ones.

Example subagent role with its own prompt file:

[subagents.fast]
system_prompt_file = "prompts/fast-agent.md"

See the prompt docs for precedence, placeholders, and exact config keys: https://opensource.respawn.pro/builder/prompts/

Supervisor Prompt Override

The supervisor/reviewer agent can use its own prompt file. This lets teams tune review behavior separately from the main agent, for example by making reviews stricter, shorter, or focused on a specific engineering standard.

[reviewer]
system_prompt_file = "~/.builder/reviewer_system_prompt.md"

Workspace config overrides global config. The supervisor prompt is also snapshotted per session the first time the supervisor runs.

Better Terminal Input

Builder's input fields were rebuilt around a shared editor and renderer. The practical improvements are:

  • Real terminal cursor placement in active inputs.
  • Better behavior with wrapped lines, wide characters, and grapheme clusters.
  • More consistent editing shortcuts across the main prompt, asks, startup, onboarding, project binding, and worktree dialogs.
  • Better masked input and placeholder rendering.
  • More compact help menu shortcuts.

This is most noticeable when editing longer prompts, using non-ASCII text, or moving through wrapped input.

Session And Transcript Reliability

Several resume and reconnect paths are more robust in 1.1:

  • Builder can recover from missed session activity after a reconnect instead of relying on a full blind refresh.
  • Older or dormant transcript pages are cached, making detail inspection faster for inactive sessions.
  • Startup explicitly loads transcript state before rendering restored sessions.
  • Rollback edit picker behavior is restored.
  • /status shows the git branch for the session workspace, not whichever directory the server process happens to use.
  • Teleporting between sessions preserves worktree context.
  • Foreground shell commands drain remaining output before reporting completion.

Compatibility Notes

  • builder service may refuse to install, start, or restart when the configured server endpoint is already used by a manual builder serve process or by another listener. Stop the conflicting process or change server_host / server_port.
  • Linux headless machines may need loginctl enable-linger "$USER" for a user service to survive logout.
  • Prompt file settings are session-snapshot settings. Editing files changes future sessions or sessions that have not locked that prompt yet.
  • The update reminder is based on GitHub release availability and does not perform package-manager updates.
Original generated changelog

New Features

  • allow supervisor system prompt override closes #157
  • add configurable system prompt files (#163)
  • add update reminder
  • add Builder background service
  • redesign CLI input fields

Bug Fixes

  • resolve reviewer prompt path from config file
  • use session root for statusline git branch (#164)
  • apply subagent reviewer prompt override
  • stabilize update reminder notice
  • unflake process output stream test
  • mark update reminder shown after display
  • address update reminder review
  • preserve Windows service command paths
  • report Windows server service pid
  • harden service status checks
  • separate service and health status
  • tighten Windows service ownership
  • clean up service review edge cases
  • restore rollback edit picker
  • centralize transcript entry equality
  • replay session activity from cursor
  • cache dormant transcript pages
  • hydrate startup transcript explicitly
  • harden session activity gap recovery
  • address transcript review edge cases
  • clear transient state for committed sync
  • resume activity stream after no-cursor recovery
  • render onboarding input cursor
  • compact help menu shortcuts
  • route alt delete through shared forward word edit
  • preserve real cursor updates for space input
  • address input review comments
  • address cursor review threads
  • replace deprecated ansi alt screen constants
  • preserve main screen anchor before detail mode
  • commit terminal cursor state after writes
  • ignore empty terminal cursor writes
  • drain shell output before foreground completion
  • preserve worktree context for teleport commands

Other

  • fix sandbox script
  • Merge pull request #165 from respawn-app/supervisor-system-override
  • Merge pull request #166 from respawn-app/update-reminder
  • Merge remote-tracking branch 'origin/main' into feat/builder-service
  • Merge pull request #167 from respawn-app/feat/builder-service
  • remove runtime transcript cache
  • share committed transcript projection
  • remove stale projection builders
  • compose ui feature reducers
  • route ui events through reducers
  • cover ui reducer routing
  • split runtime event reductions
  • tighten runtime event effects
  • type transcript render intents
  • cover transcript role intent mapping
  • extract transcript event reducer
  • extract transcript page reducer
  • cover transcript page detail hydration
  • extract deferred transcript tail reducer
  • split transcript entry helpers
  • centralize transcript diagnostics
  • split transcript apply paths
  • split runtime event batching
  • split transcript runtime state helpers
  • split runtime reduction helpers
  • Merge pull request #168 from respawn-app/techdebt-20260428
  • cover shared text input rendering
  • harden exec yield clamp coverage
  • document exec yield clamp timing
  • fix ctrl-u shortcut expectation
  • remove brittle help menu assertion
  • cover compact help bindings
  • Merge pull request #169 from respawn-app/new-input-field
  • update dependencies for 1.1.0

Docs

  • update README positioning
  • tighten quickstart wording
  • clarify handoff wording