Skip to content

v0.8.1 — readable status screen + clean Ctrl-C everywhere

Choose a tag to compare

@hackspaces hackspaces released this 11 Jul 16:08

Two CLI quality-of-life fixes.

forge status is now readable. The old renderer truncated at a fixed 120/150
chars with no terminal-width awareness, so long asks and replies wrapped into an
unreadable block. It now fits the actual terminal: one aligned header per session
(color glyph by runtime+state — green idle · yellow working · cyan claude), a
~-shortened path, and task/you/reply each collapsed to a single width-fitted line
with an ellipsis. forge and Claude Code peers render through one unified path with
a right-aligned "N forge · M claude" count. Colour is gated on a TTY (honours
NO_COLOR / TERM=dumb), so piped output stays clean plaintext.

Ctrl-C exits clean from any command. A KeyboardInterrupt at any prompt or during
any long command used to dump a raw traceback — most visibly at the forge setup
model-pull prompt, because setup ran entirely outside the top-level try and the
handler only caught ForgeError. setup now runs inside the guarded block, and the
CLI boundary catches KeyboardInterrupt/EOFError to exit 130 (the shell SIGINT
convention) with no traceback. The handler lives in main() so it also covers the
installed console-script entry point; the chat REPL still swallows its own Ctrl-C
to cancel a line and is unaffected.

516 tests green, including a real SIGINT delivered to a live setup prompt.