bise :*brand bookdesign system

every screen

bise as it looks today, screen by screen, in the terminal's real colors and spacing. the tabs show the same screen a moment later, or with ctrl held. why each part looks the way it does: the design system.

01the main screen

one frame, one thread, one panel. you talk to main; the agents work on the right; what needs you waits in its box above the divider. hold ctrl and every word comes back in its place.

╭─ bise :* ───────────────────────────────────────────────────────┬──── ~/acme · # 1 in the inbox ─╮
│ │ │
│ │ signup is slow on mobile. and the 404 is sad ✓✓ │ agents │
│ │ 0 ∿ main :* @ 2 1m 22% │
│ :* on it: perf, dark-mode and sad-404 started. │ 1 ✓ perf │
│ ▸ 9 messages between 4 agents │ 3 ? sad-404 18% │
│ │ 5 ○ release 8% │
│ ✉ dark-mode → main │ │
│ which gray for the borders? │╭─ ψ sb/dark-mode ────────── ↑ ─│
│ :* i answered dark-mode: the gray in tokens.css. ││ 2 ∿ dark-mode 3m 12% │
│ │╰ 4 ∿ i18n • 42s 31% │
│ $ runs the signup benchmark ✓ 4.2s │ │
│ ✓ perf is done · signup 4.1 s → 0.9 s │ inbox │
│ │ 1 ? sad-404 the dog: a h… │
│ ╭─ inbox · 1 waiting for you ─────────────────── ctrl+1 open ─╮ │ │
│ │ 1 ? sad-404 · the dog: a hat, or a scarf? 4m │ │ │
│ ╰─────────────────────────────────────────────────────────────╯ │ │
├─ you → main · opus 5.5 · high · yolo · ≈∿~· ───────────────────┴──────────────────── 58k · 22% ─┤
│ │ │
│ │ and give the sad dog a hat▌ │
│ │ │
│ @ file $ skills / commands ctrl+1 inbox │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ bise :* ──────────────────────── ~/acme · ≈∿~ 3 working · ✓ 1 done · ↑ 1 PR · # 1 in the inbox ─╮
│ │ │
│ │ signup is slow on mobile. and the 404 is sad ✓✓ │ agents │
│ │ 0 ∿ main :* @ 2 working │
│ :* on it: perf, dark-mode and sad-404 started. │ 1 ✓ perf done │
│ ▸ ctrl+o expand │ 3 ? sad-404 asks you │
│ │ 5 ○ release idle │
│ ✉ dark-mode → main │ │
│ which gray for the borders? │╭─ ψ sb/dark-mode ───── ↑ #412 ─│
│ :* i answered dark-mode: the gray in tokens.css. ││ changes asked · checks pass │
│ ││ 2 ∿ dark-mode working │
│ $ runs the signup benchmark ✓ 4.2s │╰ 4 ∿ i18n • working │
│ ✓ perf is done · signup 4.1 s → 0.9 s │ │
│ │ inbox │
│ ╭─ inbox · 1 waiting for you ─────────────────── ctrl+1 open ─╮ │ 1 ? sad-404 the dog: a h… │
│ │ 1 ? sad-404 · the dog: a hat, or a scarf? 4m │ │ │
│ ╰─────────────────────────────────────────────────────────────╯ │ │
├─ you → main · opus 5.5 · high · yolo · ≈∿~· working · 1m ──────┴────── 58k / 262k tokens · 22% ─┤
│ │ │
│ │ and give the sad dog a hat▌ │
│ │ │
│ ctrl+c interrupt ctrl+f find ctrl+1 open an inbox item ctrl+s find agent │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
100 columns. the panel: your agents as rows; two agents that share a worktree get a small box (its branch and PR in the border); then the inbox.

02you ask, main starts agents

you say it the way you'd say it to a person. main splits the work, starts the agents, picks who needs a worktree, and tells you in one line.

╭─ bise :* ───────────────────────────────────────────────────────┬─────────────────────── ~/acme ─╮
│ │ │
│ │ signup is slow on mobile, and the 404 is sad ✓✓ │ agents │
│ │ 0 ∿ main :* 2s 3% │
├─ you → main · opus 5.5 · high · yolo · ≈∿~· ───────────────────┴────────────────────── 4k · 2% ─┤
│ │ │
│ │ what's on your mind? │
│ │ │
│ @ file $ skills / commands │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ bise :* ───────────────────────────────────────────────────────┬─────────────────────── ~/acme ─╮
│ │ │
│ │ signup is slow on mobile, and the 404 is sad ✓✓ │ agents │
│ │ 0 ∿ main :* 9s 6% │
│ :* on it: perf and sad-404 started. perf gets its own │ 2 ∿ sad-404 4s 2% │
│ worktree: it touches the build. │ 1 ∿ perf 4s 2% ψ │
│ ▸ 4 messages between 3 agents │ │
├─ you → main · opus 5.5 · high · yolo · ≈∿~· ───────────────────┴────────────────────── 9k · 3% ─┤
│ │ │
│ │ what's on your mind? │
│ │ │
│ @ file $ skills / commands │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ bise :* ───────────────────────────────────────────────────────┬─────────────────────── ~/acme ─╮
│ │ │
│ │ signup is slow on mobile, and the 404 is sad ✓✓ │ agents │
│ │ 0 ∿ main :* 9s 6% │
│ :* on it: perf and sad-404 started. perf gets its own │ 2 ∿ sad-404 4s 2% │
│ worktree: it touches the build. │ 1 ∿ perf 4s 2% ψ │
│ ▸ 4 messages between 3 agents │ │
│ │ │
│ │ oh and the dog wears a hat ✓✓ │ │
│ │ │
│ :* told sad-404: a hat. │ │
├─ you → main · opus 5.5 · high · yolo · ≈∿~· ───────────────────┴───────────────────── 11k · 4% ─┤
│ │ │
│ │ what's on your mind? │
│ │ │
│ @ file $ skills / commands │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
the ✓✓ in accent: main has read it. you never wait for a turn to end to say more.

03you're not the router

agents ask main first. main answers the obvious ones the way you would, and says why in one line. only a real decision reaches you, in the inbox.

╭─ bise :* ───────────────────────────────────────────────────────┬─────────────────────── ~/acme ─╮
│ │ │
│ :* on it: perf, dark-mode and sad-404 started. │ agents │
│ ▸ 9 messages between 4 agents │ 0 ∿ main :* @ 2 1m 22% │
│ │ 1 ✓ perf │
│ ✉ dark-mode → main │ 3 ? sad-404 18% │
│ which gray for the borders? │ 5 ○ release 8% │
│ :* i answered dark-mode: the gray in tokens.css. │ │
│ like everywhere else. │╭─ ψ sb/dark-mode ────────── ↑ ─│
│ ││ 2 ∿ dark-mode 3m 12% │
│ │╰ 4 ∿ i18n • 42s 31% │
├─ you → main · opus 5.5 · high · yolo · ≈∿~· ───────────────────┴──────────────────── 58k · 22% ─┤
│ │ │
│ │ what's on your mind? │
│ │ │
│ @ file $ skills / commands │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ bise :* ───────────────────────────────────────────────────────┬──── ~/acme · # 1 in the inbox ─╮
│ │ │
│ :* on it: perf, dark-mode and sad-404 started. │ agents │
│ ▸ 9 messages between 4 agents │ 0 ∿ main :* @ 2 1m 22% │
│ │ 1 ✓ perf │
│ ✉ dark-mode → main │ 3 ? sad-404 18% │
│ which gray for the borders? │ 5 ○ release 8% │
│ :* i answered dark-mode: the gray in tokens.css. │ │
│ like everywhere else. │╭─ ψ sb/dark-mode ────────── ↑ ─│
│ ││ 2 ∿ dark-mode 3m 12% │
│ ✉ sad-404 → main │╰ 4 ∿ i18n • 42s 31% │
│ the dog: a hat, or a scarf? │ │
│ :* that one's yours. it's in your inbox. │ inbox │
│ │ 1 ? sad-404 the dog: a h… │
│ ╭─ inbox · 1 waiting for you ─────────────────── ctrl+1 open ─╮ │ │
│ │ 1 ? sad-404 · the dog: a hat, or a scarf? 4m │ │ │
│ ╰─────────────────────────────────────────────────────────────╯ │ │
├─ you → main · opus 5.5 · high · yolo · ≈∿~· ───────────────────┴──────────────────── 58k · 22% ─┤
│ │ │
│ │ what's on your mind? │
│ │ │
│ @ file $ skills / commands ctrl+1 inbox │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ bise :* ───────────────────────────────────────────────────────┬─────────────────────── ~/acme ─╮
│ │ │
│ :* on it: perf, dark-mode and sad-404 started. │ agents │
│ ▸ 9 messages between 4 agents │ 0 ∿ main :* @ 2 1m 22% │
│ │ 1 ✓ perf │
│ ✉ dark-mode → main │ 3 ? sad-404 18% │
│ which gray for the borders? │ 5 ○ release 8% │
│ :* i answered dark-mode: the gray in tokens.css. │ │
│ like everywhere else. │╭─ ψ sb/dark-mode ────────── ↑ ─│
│ ││ 2 ∿ dark-mode 3m 12% │
│ ✉ sad-404 → main │╰ 4 ∿ i18n • 42s 31% │
│ the dog: a hat, or a scarf? │ │
│ :* that one's yours. it's in your inbox. │ │
│ │ │
│ ✓ you answered sad-404: a hat │ │
├─ ✓ inbox clear ─────────────────────────────────────────────────┴────────────────────────────────┤
│ │ │
│ │ what's on your mind? │
│ │ │
│ @ file $ skills / commands │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
what main told an agent is one line in its thread; the messages themselves are folded, never gone.

04the inbox: one key answers

an item opens where its row was. one digit answers it, the next one opens by itself, and your draft waits until the inbox is clear.

╭─ bise :* ───────────────────────────────────────────────────────┬──── ~/acme · # 1 in the inbox ─╮
│ │ │
│ :* perf's fix is in. release is shipping 2.5.0. │ agents │
│ ▸ 6 messages between 3 agents │ 0 ∿ main :* 1m 22% │
│ │ 3 ? sad-404 18% │
│ ╭─ inbox · 2 waiting for you ───────────────── ctrl+1-2 open ─╮ │ 5 ? release 8% │
│ │ 1 ? release · $ npm publish --access public 2m │ │ 2 ∿ dark-mode 3m 12% ↑ │
│ │ 2 ? sad-404 · the dog: a hat, or a scarf? 4m │ │ │
│ ╰─────────────────────────────────────────────────────────────╯ │ inbox │
│ │ 1 ? release $ npm publish… │
│ │ 2 ? sad-404 the dog: a h… │
├─ you → main · opus 5.5 · high · yolo · ≈∿~· ───────────────────┴──────────────────── 58k · 22% ─┤
│ │ │
│ │ and give the sad dog a hat▌ │
│ │ │
│ @ file $ skills / commands ctrl+1 inbox │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ bise :* ───────────────────────────────────────────────────────┬──── ~/acme · # 1 in the inbox ─╮
│ │ │
│ :* perf's fix is in. release is shipping 2.5.0. │ agents │
│ ▸ 6 messages between 3 agents │ 0 ∿ main :* 1m 22% │
│ │ 3 ? sad-404 18% │
│ ╭─ inbox · 2 waiting for you ───────────────── ctrl+1-2 open ─╮ │ 5 ? release 8% │
│ │ ┃ │ │ 2 ∿ dark-mode 3m 12% ↑ │
│ │ ┃ ? release wants to run 1 of 2 · 2m │ │ │
│ │ ┃ $ npm publish --access public │ │ inbox │
│ │ ┃ │ │ 1 ? release $ npm publish… │
│ │ ┃ it publishes the package: everyone can install it. │ │ 2 ? sad-404 the dog: a h… │
│ │ ┃ release ships 2.5.0 · last step: ✓ npm run build │ │ │
│ │ ┃ │ │ │
│ │ ┃ 1 allow 2 always allow npm publish * here 3 no │ │ │
│ │ ┃ or type why not, ⏎ says no │ │ │
│ │ ┃ │ │ │
│ │ 2 ? sad-404 · the dog: a hat, or a scarf? 4m │ │ │
│ ╰─────────────────────────────────────────────────────────────╯ │ │
├─ you → ? release · your answer ─────────────────────────────────┴────────────────────────────────┤
│ │ │
│ │ ▌ │
│ │ │
│ 1-3 answer ←→ choose ↑↓ other items esc back to your message │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ bise :* ───────────────────────────────────────────────────────┬──── ~/acme · # 1 in the inbox ─╮
│ │ │
│ :* perf's fix is in. release is shipping 2.5.0. │ agents │
│ ▸ 6 messages between 3 agents │ 0 ∿ main :* 1m 22% │
│ │ 3 ? sad-404 18% │
│ ╭─ inbox · 1 waiting for you ─────────────────── ctrl+1 open ─╮ │ 5 ? release 8% │
│ │ ✓ you allowed release: npm publish --access public │ │ 2 ∿ dark-mode 3m 12% ↑ │
│ │ ┃ ? sad-404 asks 1 of 1 · 4m │ │ │
│ │ ┃ the dog: a hat, or a scarf? │ │ inbox │
│ │ ┃ │ │ 1 ? release $ npm publish… │
│ │ ┃ 1 a hat 2 a scarf │ │ 2 ? sad-404 the dog: a h… │
│ │ ┃ or type your answer, ⏎ sends it │ │ │
│ ╰─────────────────────────────────────────────────────────────╯ │ │
├─ you → ? sad-404 · your answer ─────────────────────────────────┴────────────────────────────────┤
│ │ │
│ │ ▌ │
│ │ │
│ 1-3 answer ←→ choose ↑↓ other items esc back to your message │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ bise :* ───────────────────────────────────────────────────────┬──── ~/acme · # 1 in the inbox ─╮
│ │ │
│ :* perf's fix is in. release is shipping 2.5.0. │ agents │
│ ▸ 6 messages between 3 agents │ 0 ∿ main :* 1m 22% │
│ │ 3 ? sad-404 18% │
│ ✓ you allowed release: npm publish --access public │ 5 ? release 8% │
│ ✓ you answered sad-404: a hat │ 2 ∿ dark-mode 3m 12% ↑ │
│ │ │
├─ ✓ inbox clear ─────────────────────────────────────────────────┴────────────────────────────────┤
│ │ │
│ │ and give the sad dog a hat▌ │
│ │ │
│ @ file $ skills / commands │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
1, then 1: two answers, two keys. after the last one the box goes, your draft comes back, and the divider says ✓ inbox clear for 2 s.

05approvals: yolo or auto

two modes for every agent, on the divider. yolo runs everything (the default). auto runs what's safe at once, has a small model check the rest, and asks you only when it's risky.

╭─ bise :* ───────────────────────────────────────────────────────┬─────────────────────── ~/acme ─╮
│ │ │
│ :* on it: perf and dark-mode started. │ agents │
│ ▸ 6 messages between 3 agents │ 0 ∿ main :* @ 2 1m 22% │
│ │ 1 ✓ perf │
│ │ 5 ○ release 8% │
│ │ │
│ │╭─ ψ sb/dark-mode ────────── ↑ ─│
│ ││ 2 ∿ dark-mode 3m 12% │
│ │╰ 4 ∿ i18n • 42s 31% │
│ │ │
│ │ │
│ ╭──────────────────────────────────╮ │ │
│ │ you're in yolo: everything runs. │ │ │
│ │ ⇧⇥ changes it. │ │ │
│ ╰──────────────────────────────────╯ │ │
├─ you → main · opus 5.5 · high · yolo · ≈∿~· ───────────────────┴──────────────────── 58k · 22% ─┤
│ │ │
│ │ and give the sad dog a hat▌ │
│ │ │
│ @ file $ skills / commands │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ bise :* ───────────────────────────────────────────────────────┬─────────────────────── ~/acme ─╮
│ │ │
│ :* on it: perf and dark-mode started. │ agents │
│ ▸ 6 messages between 3 agents │ 0 ∿ main :* @ 2 1m 22% │
│ │ 1 ✓ perf │
│ │ 5 ○ release 8% │
│ │ │
│ │╭─ ψ sb/dark-mode ────────── ↑ ─│
│ ││ 2 ∿ dark-mode 3m 12% │
│ │╰ 4 ∿ i18n • 42s 31% │
├─ you → main · opus 5.5 · high · auto · ≈∿~· ───────────────────┴──────────────────── 58k · 22% ─┤
│ │ │
│ │ and give the sad dog a hat▌ │
│ │ │
│ auto · safe calls run, risky ones ask you │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ bise :* ───────────────────────────────────────────────────────┬─────────────────────── ~/acme ─╮
│ │ │
│ :* on it: perf and dark-mode started. │ agents │
│ ▸ 6 messages between 3 agents │ 0 ∿ main :* @ 2 1m 22% │
│ │ 1 ✓ perf │
│ $ installs the deps ✓ 3.1s │ 5 ○ release 8% │
│ $ pushes sb/perf to origin checking… │ │
│ │╭─ ψ sb/dark-mode ────────── ↑ ─│
│ ││ 2 ∿ dark-mode 3m 12% │
│ │╰ 4 ∿ i18n • 42s 31% │
├─ you → main · opus 5.5 · high · auto · ≈∿~· ───────────────────┴──────────────────── 58k · 22% ─┤
│ │ │
│ │ and give the sad dog a hat▌ │
│ │ │
│ @ file $ skills / commands │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ bise :* ───────────────────────────────────────────────────────┬──── ~/acme · # 1 in the inbox ─╮
│ │ │
│ :* on it: perf and dark-mode started. │ agents │
│ ▸ 6 messages between 3 agents │ 0 ∿ main :* @ 2 1m 22% │
│ │ 1 ✓ perf │
│ ╭─ inbox · 1 waiting for you ─────────────────── ctrl+1 open ─╮ │ 5 ○ release 8% │
│ │ ┃ │ │ │
│ │ ┃ ? perf wants to run 1 of 1 · 1m │ │╭─ ψ sb/dark-mode ────────── ↑ ─│
│ │ ┃ $ git push origin main │ ││ 2 ∿ dark-mode 3m 12% │
│ │ ┃ │ │╰ 4 ∿ i18n • 42s 31% │
│ │ ┃ it pushes straight to main. this one always asks. │ │ │
│ │ ┃ │ │ │
│ │ ┃ 1 allow 3 no │ │ │
│ │ ┃ or type why not, ⏎ says no │ │ │
│ │ ┃ │ │ │
│ ╰─────────────────────────────────────────────────────────────╯ │ │
├─ you → ? perf · your answer ────────────────────────────────────┴────────────────────────────────┤
│ │ │
│ │ ▌ │
│ │ │
│ 1-3 answer ←→ choose ↑↓ other items esc back to your message │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
reads, edits in the repo, messages between agents and your saved rules never ask. a hard rule (main, secrets, a wipe) has no "always".

06inside an agent

⌥2 or a click on its row opens an agent. you see everything it did, and you can talk to it directly. esc brings you back to main.

╭─ bise :* · dims the borders to tokens.css ──────────────────────┬─────────────────────── ~/acme ─╮
│ │ │
│ ✉ main → dark-mode │ agents │
│ dark mode for the settings page. tokens.css has the grays. │ 0 ∿ main :* @ 2 1m 22% │
│ │ 1 ✓ perf │
│ $ ▸ 4 commands · reads the theme files ✓ 1.2s │ 3 ? sad-404 18% │
│ │ 5 ○ release 8% │
│ ✉ dark-mode → main │ │
│ which gray for the borders? │╭─ ψ sb/dark-mode ────────── ↑ ─│
│ ✉ main → dark-mode ││ 2 ∿ dark-mode 3m 12% │
│ the one in tokens.css, like everywhere else. │╰ 4 ∿ i18n • 42s 31% │
│ │ │
│ ± edit web/src/theme.ts ✓ +18 −2 ▸ │ inbox │
│ $ runs the visual tests ∿ 12s │ 1 ? sad-404 the dog: a h… │
│ │ │
├─ you → dark-mode · sonnet 5.5 · low · yolo · ψ · ≈∿~· ─────────┴──────────────────── 31k · 12% ─┤
│ │ │
│ │ what's on your mind? │
│ │ │
│ esc back to main @ file $ skills / commands │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
the header carries the agent's role line: what it's doing now, rewritten after each of its turns.

07tool calls: one row each

each command is one dim row: what the model says it's doing, in your language, and its state. a failure shows its first error line. a click opens one, ctrl+o opens them all.

╭─ bise :* ───────────────────────────────────────────────────────┬─────────────────────── ~/acme ─╮
│ │ │
│ │ why is the hero so slow? ✓✓ │ agents │
│ │ 0 ∿ main :* 18s 9% │
│ $ installs the deps ✓ 3.1s │ │
│ ƒ reads the open issues on GitHub ∿ 12s │ │
│ $ runs the tests ✗ exit 1 · 0.8s │ │
│ FAIL signup.spec.ts › keeps the email after a re… │ │
│ $ ▸ 6 commands · weighs the hero image ✓ 3.2s │ │
│ │ │
├─ you → main · opus 5.5 · high · yolo · ≈∿~· ───────────────────┴───────────────────── 23k · 9% ─┤
│ │ │
│ │ what's on your mind? │
│ │ │
│ @ file $ skills / commands │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ bise :* ───────────────────────────────────────────────────────┬─────────────────────── ~/acme ─╮
│ │ │
│ │ why is the hero so slow? ✓✓ │ agents │
│ │ 0 ∿ main :* 18s 9% │
│ $ installs the deps ✓ 3.1s │ │
│ ƒ reads the open issues on GitHub ∿ 12s │ │
│ $ runs the tests ✗ exit 1 · 0.8s │ │
│ FAIL signup.spec.ts › keeps the email after a re… │ │
│ $ ▸ 6 commands · weighs the hero image ✓ 3.2s │ │
│ │ │
│ ╭─ $ weighs the hero image ✓ 0.1s ──────────────────────────╮ │ │
│ │ ls -la public/hero.png │ │ │
│ ├───────────────────────────────────────────────────────────┤ │ │
│ │ -rw-r--r-- 1 gab staff 4.2M hero.png │ │ │
│ ╰───────────────────────────────────────────────────────────╯ │ │
│ │ │
├─ you → main · opus 5.5 · high · yolo · ≈∿~· ───────────────────┴───────────────────── 23k · 9% ─┤
│ │ │
│ │ what's on your mind? │
│ │ │
│ @ file $ skills / commands │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
$ bash, ƒ TypeScript. done is dim, never green. 4 done calls in a run fold into ▸ n commands.

08/models: which model does what

every role picks a provider, then a model, then how hard it thinks. what works comes first; a step with one choice is skipped; esc goes back one step.

which model does what?
each role picks a provider, then a model. one provider can serve several.
› main Mistral mistral-large-latest · high
agents same as main · Mistral · mistral-large-latest
small jobs auto · Mistral · ministral-8b-latest
checker auto · Mistral · mistral-small-latest
voice Mistral voxtral-mini-latest
↑↓ choose · enter change · esc back
agents: which provider?
now: same as main · Mistral · mistral-large-latest
› same as main Mistral · mistral-large-latest
Mistral ✓ ready · main, small jobs use it
Anthropic ✓ ready
OpenAI not set up
more providers…
agents · Anthropic: which model?
type to filter, or a model id that isn't listed.
› son▌
› claude-sonnet-5-5 recommended
claude-sonnet-4-6
which model does what?
each role picks a provider, then a model. one provider can serve several.
main Mistral mistral-large-latest · high
› agents Anthropic claude-sonnet-5-5 · medium ✓
small jobs auto · Mistral · ministral-8b-latest
checker auto · Mistral · mistral-small-latest
voice Mistral voxtral-mini-latest
full screen, in place of the thread. /provider holds the keys; /model is the quick list for the agent in view.

09worktrees and pull requests

agents share your folder; one that needs isolation gets a worktree. alone in it, the agent is a row with one mark in the last column: ψ no PR yet, ↑ its PR. when several agents share a worktree, they get a small box: git lives in its border (ψ, the branch, the PR's ↑), agents live in rows. main says what GitHub said, once, in words.

╭─ bise :* ───────────────────────────────────────────────────────┬──── ~/acme · # 1 in the inbox ─╮
│ │ │
│ :* dark-mode opened #412: dark mode with tokens.css. │ agents │
│ ▸ 2 messages from GitHub │ 0 ∿ main :* @ 2 1m 22% │
│ │ 5 ○ release 8% │
│ :* alice asked for changes on #412: the toggle's │ 2 ∿ login-fix 5m 9% ↑ │
│ contrast, a test, a name. dark-mode is on them. │ 3 ? sad-404 18% ↑ │
│ │ 6 ∿ emoji-csv 2m 14% ψ │
│ :* #415's checks fail on the login test │ │
│ (e2e/login.spec.ts:42). login-fix is on it. │╭─ ψ sb/dark-mode ────────── ↑ ─│
│ ││ 1 ∿ dark-mode 3m 12% │
│ ✓ perf's #401 merged · perf archived, its worktree removed │╰ 4 ∿ i18n • 42s 31% │
│ │ │
│ ╭─ inbox · 1 waiting for you ─────────────────── ctrl+1 open ─╮ │ inbox │
│ │ 1 ? sad-404 · #409 is approved, checks pass. merge it? 1m │ │ 1 ? sad-404 #409 is approv… │
│ ╰─────────────────────────────────────────────────────────────╯ │ │
├─ you → main · opus 5.5 · high · yolo · ≈∿~· ───────────────────┴──────────────────── 58k · 22% ─┤
│ │ │
│ │ ship the sad dog once it's merged▌ │
│ │ │
│ @ file $ skills / commands ctrl+1 inbox │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ bise :* ────────────────── ~/acme · lands via PRs · ≈∿~ 5 working · ↑ 3 PRs · # 1 in the inbox ─╮
│ │ │
│ :* dark-mode opened #412: dark mode with tokens.css. │ agents │
│ ▸ 2 messages from GitHub │ 0 ∿ main :* @ 2 working │
│ │ 5 ○ release idle │
│ :* alice asked for changes on #412: the toggle's │ 2 ∿ login-fix working ↑ │
│ contrast, a test, a name. dark-mode is on them. │ #415 · checks fail: e2e… │
│ │ 3 ? sad-404 asks you ↑ │
│ :* #415's checks fail on the login test │ #409 · approved · checks… │
│ (e2e/login.spec.ts:42). login-fix is on it. │ 6 ∿ emoji-csv working ψ │
│ │ no PR yet · 2 commits │
│ ✓ perf's #401 merged · perf archived, its worktree removed │ │
│ │╭─ ψ sb/dark-mode ───── ↑ #412 ─│
│ ╭─ inbox · 1 waiting for you ─────────────────── ctrl+1 open ─╮ ││ changes asked · checks pass │
│ │ 1 ? sad-404 · #409 is approved, checks pass. merge it? 1m │ ││ 1 ∿ dark-mode working │
│ ╰─────────────────────────────────────────────────────────────╯ │╰ 4 ∿ i18n • working │
│ │ │
│ │ inbox │
│ │ 1 ? sad-404 #409 is approv… │
├─ you → main · opus 5.5 · high · yolo · ≈∿~· working · 1m ──────┴────── 58k / 262k tokens · 22% ─┤
│ │ │
│ │ ship the sad dog once it's merged▌ │
│ │ │
│ ctrl+c interrupt ctrl+f find ctrl+1 open an inbox item ctrl+s find agent │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ bise :* ───────────────────────────────────────────────────────┬──── ~/acme · # 1 in the inbox ─╮
│ │ │
│ :* dark-mode opened #412: dark mode with tokens.css. │ agents │
│ ▸ 2 messages from GitHub │ 0 ∿ main :* @ 2 1m 22% │
│ │ 5 ○ release 8% │
│ :* alice asked for changes on #412: the toggle's │ 2 ∿ login-fix 5m 9% ↑ │
│ contrast, a test, a name. dark-mode is on them. │ 3 ? sad-404 18% ↑ │
│ │ 6 ∿ emoji-csv 2m 14% ψ │
│ :* #415's checks fail on the login test │ │
│ (e2e/login.spec.ts:42). login-fix is on it. │╭─ ψ sb/dark-mode ────────── ↑ ─│
│ ││ 1 ∿ dark-mode 3m 12% │
│ ✓ perf's #401 merged · perf archived, its worktree removed │╰ 4 ∿ i18n • 42s 31% │
│ │ │
│ ╭─ inbox · 1 waiting for you ─────────────────── ctrl+1 open ─╮ │ inbox │
│ │ ┃ │ │ 1 ? sad-404 #409 is approv… │
│ │ ┃ ? sad-404's PR is ready 1 of 1 · 1m │ │ │
│ │ ┃ #409 · the sad 404 gets a dog in a hat │ │ │
│ │ ┃ │ │ │
│ │ ┃ alice approved it, the checks pass. │ │ │
│ │ ┃ it merges with your gh login, squash. │ │ │
│ │ ┃ │ │ │
│ │ ┃ 1 merge it 2 not yet │ │ │
│ │ ┃ │ │ │
│ ╰─────────────────────────────────────────────────────────────╯ │ │
├─ you → ? sad-404 · your answer ─────────────────────────────────┴────────────────────────────────┤
│ │ │
│ │ ▌ │
│ │ │
│ 1-3 answer ←→ choose ↑↓ other items esc back to your message │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ bise :* ───────────────────────────────────────────────────────┬─────────────────────── ~/acme ─╮
│ │ │
│ :* dark-mode opened #412: dark mode with tokens.css. │ agents │
│ ▸ 2 messages from GitHub │ 0 ∿ main :* @ 2 1m 22% │
│ │ 5 ○ release 8% │
│ :* alice asked for changes on #412: the toggle's │ 2 ∿ login-fix 5m 9% ↑ │
│ contrast, a test, a name. dark-mode is on them. │ 6 ∿ emoji-csv 2m 14% ψ │
│ │ │
│ :* #415's checks fail on the login test │╭─ ψ sb/dark-mode ────────── ↑ ─│
│ (e2e/login.spec.ts:42). login-fix is on it. ││ 1 ∿ dark-mode 3m 12% │
│ │╰ 4 ∿ i18n • 42s 31% │
│ ✓ perf's #401 merged · perf archived, its worktree removed │ │
│ ✓ sad-404's #409 merged · sad-404 archived, worktree removed │ │
├─ ✓ inbox clear ─────────────────────────────────────────────────┴────────────────────────────────┤
│ │ │
│ │ ship the sad dog once it's merged▌ │
│ │ │
│ @ file $ skills / commands │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
↑ is dim while nothing is yours to do, red when checks fail, pink only when an inbox item asks you (ready to merge). no agent ever merges. merging from the inbox comes next; today you merge on GitHub.

10a narrow terminal

under 90 columns the panel goes. the header keeps the short counts, ⌥ + a number still opens an agent, and the inbox keeps its box.

╭─ bise :* ──────────────────────────────────────────── ∿ 3 · ? 1 · ✓ 1 · # 1 ─╮
│ │
│ │ signup is slow on mobile. and the 404 is sad ✓✓ │
│ │
│ :* on it: perf, dark-mode and sad-404 started. │
│ ▸ 9 messages between 4 agents │
│ │
│ ✉ dark-mode → main │
│ which gray for the borders? │
│ :* i answered dark-mode: the gray in tokens.css. │
│ │
│ $ runs the signup benchmark ✓ 4.2s │
│ ✓ perf is done · signup 4.1 s → 0.9 s │
│ │
│ ╭─ inbox · 1 waiting for you ──────────────────────────────── ctrl+1 open ─╮ │
│ │ 1 ? sad-404 · the dog: a hat, or a scarf? 4m │ │
│ ╰──────────────────────────────────────────────────────────────────────────╯ │
├─ you → main · opus·hi · yolo · ≈∿~ ────────────────────────────── 58k · 22% ─┤
│ │ │
│ │ and give the sad dog a hat▌ │
│ │ │
│ @ file $ skills / commands ctrl+1 inbox │
╰──────────────────────────────────────────────────────────────────────────────╯
short on room, things go in a written order: the long context, the context, the branch, then opus 5.5 · high becomes opus·hi. the mode goes last.