Skip to content

Releases: rodrigooler/ork

ork 0.13.0

Choose a tag to compare

@rodrigooler rodrigooler released this 13 Jul 05:45

The canvas grows up, the team gets a chat, and team data stops piling up.

Canvas 2.0: Blueprints mode

The agent canvas drops the mini terminals for minimalist activity cards: live tool call, current board task, output tokens, branch and model per member, each with its own color so an eight-claude team stops looking like eight identical coral cards. Terminals stay one click away: clicking a card opens Focus Mode, and the grid and stack layouts are untouched.

The canvas now shows the team working. Every routed message flies as a glowing packet along the edge between sender and recipient (peer messages get a temporary curve just for the flight), and a done reaching the lead lands as a golden flash on its card. With the gh CLI installed, open PRs hang above the coordinator with their CI state: green passing, red failing, orange running; click one to open it. Without gh (or with api.github.com unreachable) the node simply is not there.

Pinch to zoom, double-click the background to reset. No animation runs while the team is quiet.

Team chat

The team pane's raw message log is now a chat: an avatar and a stable color per member, recipient chips on directed messages, bounce and spill notes as footnotes, system events inline, and consecutive messages from one sender grouped under it. Member chips show agent, model, effort and the standing role.

Team data stops accumulating

A real team crossed 200KB of message log with nothing ever cleaning it. Now the log rotates itself into the team's history/ past 150KB (only the recent tail stays hot), the coordinator protocol mandates archiving the board between rounds, and an Archive board button in the team pane closes a demand the coordinator never closed: the full board snapshots into history/, working sections reset, ## Decisions survives.

Install and update

The update button in the sidebar footer swaps the app in place, or:

curl -fsSL https://raw.githubusercontent.com/rodrigooler/ork/main/install.sh | sh

ork 0.12.0

Choose a tag to compare

@rodrigooler rodrigooler released this 13 Jul 01:33

Teams that staff themselves and improve the project on their own, with you holding every gate.

Team manager

Spawn a manager from the team pane and tell it what the project needs: "coordinator, four engineers, two QA, one cloud, one LGPD, one fintech". It reads the repo, designs the smallest team the demand actually needs, with a name, an agent and a project-tailored standing role per member, and staffs it through new orchestration tools: ork_project_info, ork_spawn_member, ork_configure_member, ork_disband_member.

Every mutating call stops at a root approval dialog in Ork before anything happens. No answer within two minutes counts as denied. The manager treats a denial as a decision, not an error.

Autopilot

A per-team toggle in the team pane. On a configurable cycle (default 30 min) the coordinator is asked to review the project and file improvement proposals, one file each, under the team's proposals/ dir. They surface in the team pane with approve and reject buttons:

  • Approve: the coordinator decomposes it into board tasks and the normal review and PR gates apply.
  • Reject: archived and recorded in learnings.md, never proposed again.

Cycles pause automatically while the 5h claude token window is above a configurable ceiling (Settings), so an unattended team cannot burn through a rate window. learnings.md persists what cycles discover, and every briefing points at it.

Messages are never cut

The 1200 char cap used to bounce long agent messages back for re-summarizing. Now the full text lands in the team's artifacts/ dir and the recipient gets the path: nothing is lost, no round trip is wasted, and the PTY injection stays small. The protocol also tells members to take technical questions straight to the teammate who owns the code, not through the coordinator.

Install and update

The update button in the sidebar footer swaps the app in place, or:

curl -fsSL https://raw.githubusercontent.com/rodrigooler/ork/main/install.sh | sh

ork 0.11.0

Choose a tag to compare

@rodrigooler rodrigooler released this 12 Jul 05:35

Notch 2.0: the glance panel becomes a control surface. See what every agent is doing, answer what they ask, and watch limits before they land, all without leaving your editor.

Answer without breaking flow

When a claude session shows a choice prompt (permission, plan approval, question), the notch surfaces it on that session's row: the question, the options, and a hint. Click an option, or press its number key while the panel is open; esc declines. The collapsed bar flips to a "waiting on you" counter the moment any agent blocks on input, and every answer lands in the event feed so there is a trace.

Detection is strict on purpose: it requires the question line, sequential numbered options and the selector arrow, so ordinary numbered lists in agent output never trigger it. Answers are re-validated against the live terminal before the key is typed.

See limits before they land

A header strip aggregates what each agent exposes:

  • codex: real rate windows read from its session logs, with used percentages and reset times.
  • claude: 5h and 7d token counts from your transcripts, plus an estimated month spend from local pricing math (marked as an estimate; fable and other unpriced models count tokens only).
  • the 14 day token total across projects.

Everything your agents do, in one place

Session rows now carry the live tool call, model, output and context token counts, git stats and time since last activity. Incremental transcript reading keeps polling cheap: after the first pass only appended bytes are parsed.

Everyday actions, one hover away

  • Hover a session row to sleep, wake or hibernate it.
  • A message field at the bottom talks to a live team as 'user', through the same outbox as the team pane.

Design pass

Press feedback on every actionable chip and icon button across the app, state changes respect Reduce Motion with short fades instead of springs, and prompt arrivals animate gently.

Install and update

The update button in the sidebar footer swaps the app in place, or:

curl -fsSL https://raw.githubusercontent.com/rodrigooler/ork/main/install.sh | sh

ork 0.10.1

Choose a tag to compare

@rodrigooler rodrigooler released this 12 Jul 02:02

Bug fix release: sessions whose worktree vanished no longer die as blank cards.

What was happening

Removing a session's worktree outside that session (git pane prune, manual cleanup, git worktree remove) left the session pointing at a directory that no longer exists. On the next launch the shell's cd failed and exited instantly: a blank card saying only "Process exited", one per orphaned session, with no clue why.

The fix, at all three layers

  • Restore: sessions whose directory is gone are dropped at startup, each with an event-feed note, instead of respawning into a guaranteed failure.
  • Spawn: a failing cd now prints why ("directory missing", "worktree was removed") before exiting, so a dead card always carries its reason.
  • Git pane: pruning a worktree first closes any session living in it, through the normal close flow, team leave notes included.

Not related to the 0.10.0 MCP bridge: claude --mcp-config was checked against the generated config and runs clean.

Install and update

Running 0.10.0 or older? The update button in the sidebar footer swaps the app in place, or:

curl -fsSL https://raw.githubusercontent.com/rodrigooler/ork/main/install.sh | sh

ork 0.10.0

Choose a tag to compare

@rodrigooler rodrigooler released this 12 Jul 01:51

Teams now speak MCP on Claude Code, and the notch tells you what every agent is doing.

MCP bridge for teams

Claude Code sessions get an ork MCP server at spawn, bundled inside Ork.app:

  • team_send: message a teammate, 'all', or the 'ork' control channel through a tool call. No shell quoting, no $RANDOM, same router, char cap and bounces underneath.
  • team_board and team_members: read the shared board and the roster without leaving the conversation.

A per-session bridge file keeps everything decoupled: join a team after the CLI started, rename a member, leave the team, and the tools follow along without a restart. Sessions outside a team get a clear "not on a team" answer. Every other CLI keeps the file-based echo protocol, which also stays as a fallback on Claude.

New sessions pick the server up automatically. Sessions already running keep using echo until respawned; hit Rebrief so live teams learn the updated protocol text either way.

Agent tool timeline

The expanded notch panel now shows each Claude session's latest tool call ("Bash · swift test", "Read · Sources/Ork/AppStore.swift"), read from the transcript tail every couple of seconds while the panel is open. Frozen and hibernated sessions cost nothing.

Custom team roles

Each member chip in the team pane gained a pencil: edit the standing role in a popover and it is applied to the live terminal immediately and carried into every future briefing. The icon is tinted when a role is set, and hovering shows it.

Console history

Both query consoles (Postgres and Redis) record every run per connection, deduped and capped at 50. A clock menu recalls a past query into the editor, failed ones included, since recall-and-fix is the usual loop.

Install and update

curl -fsSL https://raw.githubusercontent.com/rodrigooler/ork/main/install.sh | sh

Or download the zip below, unpack and drag Ork.app into Applications, then clear quarantine once: xattr -dr com.apple.quarantine /Applications/Ork.app. Running 0.8.x or 0.9.0? The update button in the sidebar footer swaps the app in place.

ork 0.9.0

Choose a tag to compare

@rodrigooler rodrigooler released this 11 Jul 23:34

Teams got smarter about when and what they say, and the flow view learned to draw them.

Team coordination

  • Quiet-hands delivery: a message is only typed into the recipient's terminal once its process group has been CPU-quiet for a couple of seconds (60 s cap). No more text swallowed mid-repaint by a busy TUI; messages arriving in the meantime join the same batch.
  • Duplicate suppression: identical sender-to-recipient content within a minute delivers once. Agents that echo twice after a compaction stop costing the recipient a full turn.
  • Orphaned-task alert: closing or losing a member with open board tasks now flags the task ids to the coordinator for reassignment, instead of the team waiting forever for a 'done' that will never come.
  • Task watchdog: a claimed task with no 'done' or 'blocked' after 30 minutes gets its owner one nudge to report status or release it.
  • Backlog dependencies: tasks can be marked '(after )'; members skip them until the dependency is approved.
  • Artifacts folder: payloads too big for a message (full logs, long diffs) go to files under the team's artifacts/ dir, with the message carrying the path.
  • Kanban strip: the team pane shows Backlog, In progress and Done columns with counts above the raw board.
  • Integration gate (protocol v3.2): the coordinator pushes each approved task and opens one PR per task with gh pr create (or merges locally without a remote), and members rebase onto the base branch before reporting 'done'.

Agent canvas

The flow view's canvas mode draws the team as a card tree: coordinator on top with a crown, members below, each card a live mini terminal with status and branch. A route pulse lights the cards when a message passes. Pure SwiftUI, no standing animation cost.

Sessions and usage

  • Session cards show commits behind base (a brick down-arrow chip) next to the ahead chip, so a worktree that needs a rebase is visible at a glance.
  • Auto-hibernate (optional, Settings > Behavior): a session frozen for 30 minutes ends its process and returns the memory; the conversation resumes on click. Agents without a resume command, team members and manual sleeps are exempt.
  • The usage card breaks tokens down by project, biggest spender first.

Agents

  • Kilo Code joins the built-in roster with session resume.
  • Official icons for Grok and Kilo Code in the flow topology.

Install and update

curl -fsSL https://raw.githubusercontent.com/rodrigooler/ork/main/install.sh | sh

Or download the zip below, unpack and drag Ork.app into Applications, then clear quarantine once: xattr -dr com.apple.quarantine /Applications/Ork.app. Running 0.8.x? The update button in the sidebar footer swaps the app in place.

ork 0.8.1

Choose a tag to compare

@rodrigooler rodrigooler released this 11 Jul 04:54

Fixes the two bugs 0.8.0 shipped with: agents dying instantly when Ork.app is launched from Finder, and closed terminals haunting their team.

Fixes

  • Agents died with "Process exited" right after spawning. Launched from Finder, Ork.app inherits launchd's bare PATH instead of your terminal's, and sessions ran in a non-interactive shell that skips ~/.zshrc, where CLI installers (including Claude Code's own) put their PATH exports. Sessions now spawn in an interactive login shell, so claude, codex, opencode and friends resolve exactly as they do in your terminal. This bug never showed up before 0.8.0 because running the bare binary from a terminal inherited the full PATH by accident.
  • Closing a terminal now leaves its team properly. Before, a closed member silently vanished: teammates never got the leave note and members.md kept listing the ghost with its worktree path, confusing the coordinator's reviews. Closing now runs the same path as leaving the team, including coordinator succession. If a team already has ghosts in its roster from 0.8.0, the Rebrief button in the team pane rewrites members.md clean.

Install

Update from 0.8.0: quit and reopen Ork, then click "update to 0.8.1" in the sidebar footer. Or reinstall with the one-liner:

curl -fsSL https://raw.githubusercontent.com/rodrigooler/ork/main/install.sh | sh

Requires macOS 14 or newer on Apple Silicon. Browser downloads need the quarantine flag cleared once: xattr -dr com.apple.quarantine /Applications/Ork.app.

Full changelog: v0.8.0...v0.8.1

ork 0.8.0

Choose a tag to compare

@rodrigooler rodrigooler released this 11 Jul 04:45

A coordinator that reviews like a senior, teams that survive context compaction, one-click updates, and a real Mac app.

Highlights

  • Team protocol v3: agents used to lose the messaging recipe when their CLI compacted its context, leaving them unable to talk to the team. A standing protocol.md now sits next to the board as a recovery card, and both the board and the briefing point to it. The coordinator role got a rewrite: it never implements tasks itself, it decomposes the whole demand into the backlog before assigning anything, and a done report is treated as a request for review, not proof. The coordinator reads the full diff in the owner's worktree, runs build and tests itself, checks every done-criterion and hunts for bugs, missed edge cases, regressions and security holes before approving.

  • Cheaper team chatter: acknowledgement messages are banned (silence means received; every message costs the recipient a full turn), the coordinator only replies to a claim when the task is taken, task messages carry a pointer while the spec stays on the board, and the next assignment rides along with an approval. Your own messages to the team are no longer clipped by the agent char cap, so a long pasted demand arrives whole, and a failed delivery shows up in the event feed instead of vanishing.

  • Rebrief a live team: a new button in the team pane resends the current protocol to every member in place, keeping the same coordinator. No need to disband a configured team after an ork update.

  • In-app updates: ork checks GitHub for a newer release on launch. When one is out, an update button appears in the sidebar footer; clicking it downloads the release, swaps the app in place and relaunches. This is the last release you need to install by hand.

  • A real Mac app: the release now ships Ork.app with a Finder icon. Drag it into Applications, or install it with one line:

    curl -fsSL https://raw.githubusercontent.com/rodrigooler/ork/main/install.sh | sh

Install

Requires macOS 14 or newer on Apple Silicon.

The curl one-liner above installs into /Applications with no quarantine fuss. If you download the zip in a browser instead, unpack it, drag Ork.app into Applications and clear the flag once (releases are ad-hoc signed, not notarized):

xattr -dr com.apple.quarantine /Applications/Ork.app

Upgrading from the 0.7.0 folder layout: this move to a proper app bundle resets the Settings preferences (theme, font, toggles) one time. Workspaces, sessions and teams are untouched. Existing teams pick up protocol v3 with the Rebrief button in the team pane.

Building from source still works: clone the repo and run swift run -c release.

Full changelog: v0.7.0...v0.8.0

ork 0.7.0

Choose a tag to compare

@rodrigooler rodrigooler released this 11 Jul 01:38

Teams that review their own work, a terminal you can finally scroll, and a privacy mode for client recordings.

Highlights

  • Team protocol v2: the coordinator now reviews every delivery before accepting it. A done report gets its diff checked in the owner's worktree (paths live in a new members.md roster) and comes back as approved or rework with concrete problems; after two rework rounds the task escalates to you with a macOS notification. Tasks start in a shared ## Backlog on the board and free members claim the next ones themselves, so nobody sits idle while a teammate drowns and the coordinator never has to chase status.
  • Agents that sleep on their own: a member with nothing left sends sleep to the reserved ork recipient and parks itself without announcing it; any team message wakes it. The coordinator closes a finished demand with archive <summary>: the full board snapshots into history/ and resets, carrying ## Decisions over. Past demands stay greppable without taxing every board read.
  • Scrollback that works: SwiftTerm 1.14 pins the viewport where you scrolled, so agent output no longer drags you back to the bottom on every spinner frame. When the CLI asks for the mouse (Claude Code does), the wheel reaches it and Claude Code scrolls its own transcript; Shift+wheel scrolls ork's scrollback, Shift+drag selects text locally, and Cmd+click opens links on purpose. This also ends the phantom selections and the clicks that opened links from somewhere else in the buffer, both traced to mouse coordinate bugs fixed upstream.
  • Privacy mode: one toggle in Settings narrows the sidebar, menu bar panel and notch to the current project's organization and silences the notch event ticker. Record or present client work without other clients' names on screen.
  • Reorder the sidebar: drag organizations and projects to rearrange them; dropping a project on another section moves it there.

Install

Requires macOS 14 or newer on Apple Silicon.

  1. Download ork-0.7.0-macos-arm64.zip and unpack it.

  2. The binary is not notarized yet, so clear the quarantine flag once:

    xattr -dr com.apple.quarantine ork-0.7.0-macos-arm64
  3. Run ./Ork from inside the unpacked folder. Keep the .bundle folders next to the binary; the app loads its fonts and icons from them.

Building from source also works: clone the repo and run swift run -c release.

Full changelog: v0.6.0...v0.7.0

ork 0.6.0

Choose a tag to compare

@rodrigooler rodrigooler released this 10 Jul 21:23

Agent identities, a stack layout, a living notch and Grok. Plus one important window fix.

Highlights

  • Configure a running agent: right-click a terminal, Configure Agent. Model and effort ride Claude Code's /model and /effort slash commands, typed straight into the PTY; the role (persona) is a plain injected message that works for every CLI, e.g. "security review only: hunt vulnerabilities, propose fixes and hardening". Roles persist and join the team briefing, so a security terminal keeps its identity inside a team.
  • Rename agents: give a terminal a human name ("Rodrigo") from the context menu. It shows on the card and becomes the team address, with filename-safe sanitizing and duplicate protection so message routing never picks the wrong terminal.
  • Stack layout: a third layout mode next to grid and flow. A horizontal strip of live session tabs (status dot, name, diff stats, freeze and team badges) with the selected terminal expanded below at full height. Collapsed sessions keep their PTY alive without rendering, so an N-session workspace draws exactly one terminal.
  • Notch glance 2.0: the collapsed bar wings out beside the notch with an active/total agent counter on the left and a live event ticker on the right, over a grok.com-style border beam: one ember arc in the logo-orange family traveling end to end, Core Animation only. Hovering drops a bigger panel with one row per session and a timeline of recent deck events (spawns, exits, freezes, team traffic). Everything stays local.
  • Message the team as yourself: a composer in the team pane sends to one member or all through the regular outbox, so agents see [team msg from user].
  • Grok CLI: built-in agent. Spawns with grok, resumes hibernated or restored sessions with grok --continue. Install the CLI with curl -fsSL https://x.ai/cli/install.sh | bash.
  • Single main window fix: reopening ork from the notch, menu bar or Dock used to mint a second window that stole the terminal views, leaving blank cards and dead scroll. There is exactly one main window now.
  • Near-zero idle work: git stat polling pauses while the window is hidden and skips frozen or hibernated sessions; pane refresh loops pause when occluded; timers tolerate coalescing (App Nap friendly).

Install

Requires macOS 14 or newer on Apple Silicon.

  1. Download ork-0.6.0-macos-arm64.zip and unpack it.

  2. The binary is not notarized yet, so clear the quarantine flag once:

    xattr -dr com.apple.quarantine ork-0.6.0-macos-arm64
  3. Run ./Ork from inside the unpacked folder. Keep the .bundle folders next to the binary; the app loads its fonts and icons from them.

Building from source also works: clone the repo and run swift run -c release.

Full changelog: v0.5.0...v0.6.0