Repository navigation
Releases
Releases · rushirb2001/cohors
0.7.0 — 2026-11-11
Release Notes
The launchpad release. Each repository can now say what you run in it and what
work is waiting, your coding agent can plan across all of them, and cohors
arrives as a Claude Code plugin whose settings decide what Claude may do.
Release builds also carry the browser dashboard inside the binary.
Added
- The launchpad. cohors now reads what each repository says about itself:
a committed.cohors/repo.jsonlisting its flows (what to run), the agent
prompts it ships, and its short-lived tasks. The format is an open
contract, written down inspec/v1/SPEC.md. Flows are also detected with zero config from
npm/pnpm/yarn/bun scripts, cargo, uv, Makefile targets, and gradle. cohors launchpadreports the focus board and every open task across the
fleet (JSON when piped).cohors launchpad validate [PATH]checks one repo's
contribution,contractprints the rules, andrecordlogs an agent session.- Six launchpad MCP tools.
launchpad,read_contract, andread_board
are always on.write_repo_contribution,write_board, andrecord_activity
need the new--allow-launchpadflag; each acceptsdry_runwithout it. A
rejected write lists every problem at once and writes nothing. - A Claude Code plugin, installable from this repository as a marketplace:
the MCP server (found on your machine by a launcher, so the stripped-PATH
problem goes away), skills for fleet work, setting a repo up, and planning
focus, and hooks that log each session. The server starts read-only; three
plugin settings, off by default, let Claude act: Git actions, Run
commands and Launchpad writes (/plugin configure cohors@cohors). A
refusal from the plugin's server names the setting to turn on. cohors webworks wherever cohors is installed. Release builds carry
the browser dashboard inside the binary (about 2 MB), so it starts at once,
with no checkout of this repository and no Trunk or Rust toolchain. A build
from source without the page still builds it with Trunk inside a checkout.- One overview, the same everywhere. cohors now works out a single
briefing for the fleet: what to do next and why (most urgent first, each step
naming the repos it applies to), six key figures (work not backed up, stashes,
uncommitted files, stale fetches, open tasks, commits this week), every repo
with its reasons in plain words, open tasks per repo, and the last seven days
of commits. The terminal, the browser, the editor extension and the MCP
server all render that one model, so their numbers cannot disagree. cohors overviewprints the briefing at a terminal, with the exact
command that carries out each step, and the whole model as JSON when piped or
given--json. An MCPoverviewtool returns the same thing to an agent.cohors standupprints your commits across every repo for the last seven
days (or--today) as a paste-ready digest. Standup used to exist only inside
the dashboard; it is now also an MCPstanduptool and a page in the browser
and the editor extension.cohors agentstarts a coding agent on a repo, a task, or the whole
fleet, with whichever of Claude Code, Codex, Gemini CLI or agy is installed.
cohors agent run setup-repoasks it to read the current repo and write its
launchpad file;plan-dayplans your focus across every repo;agent runnersshows what is installed and why a runner is unavailable. A task
started this way is linked to its conversation and resumes there next time.
The five prompts are also served to MCP clients as prompts, and in the
dashboardaon a repo does the same after asking.- A VS Code extension (
extension/): the same overview, repositories, tasks and standup in an editor
tab that follows your theme, reading everything from thecohorsbinary. - The VS Code sidebar is the overview. The cohors container in the activity
bar holds six panes drawn by the editor itself, so they open, close, reorder
and hide like Explorer's: Overview (the figures), Do next, Work at risk, Open
tasks, Commits and Repositories. Each carries its count on its header, the
activity-bar icon shows how many repositories have work at risk, and a row
opens the dashboard at that place. - The dashboard has the look the terminal has. The mark, large, leads the
page with the headline and twelve weeks of commits; each section is a card in
its own colour; a count of zero is a dot.cohors.openOnStartupopens the
sidebar, the dashboard or both when a window starts. - The extension says what it is doing. The Output panel has a "cohors"
channel with the binary in use and each command it ran, how long it took and
whether it worked.vscode://rushirb2001.cohors/showopens the dashboard from
a terminal or a link (it only ever opens the view). - A studio for the project's pictures and film.
scripts/demo-fleet.sh
builds a made-up fleet of real repositories in a home folder of its own;
scripts/studio/build.shcaptures cohors on it and renders the README's
pictures, post images for each place they are shown, and a 37-second film in
three framings. Nothing in them is mocked up or taken from a real machine. scripts/package-extension.pybuilds the extension's.vsixwith nothing
but Python, so a release needs no Node tooling.- The launchpad contract is in this repository, at
spec/v1/SPEC.md, with
its JSON Schemas. pushpublishes a branch that was never pushed (git push -u origin HEAD) instead of skipping it. Nothing is forced.- ARM Linux release binaries and pip wheels.
server.json, the manifest for the official MCP Registry. Each release
now lists itself there, and uploads its pip wheels, as soon as the release
build finishes, with no step by hand.- Every MCP tool carries annotations: a readable title and whether it only
reads, may destroy work, is safe to repeat, or reaches the network. Clients
and MCP directories show these before a call. The server also answers
resources/listwith an empty list instead of an error.
Changed
- Every surface was rebuilt around what to do next. A quiet neutral
palette with purple kept for the brand mark and focus. Severity is a block
with the word in it: a filledRISK(brick red) orWARN(ochre) leads the
rows of Do next, Work at risk and the repository tables, a quiet outlined
NOTEorINFOmarks the rest, and a clean repo has none. The key figures
that need attention are filled tiles in the same two colours. Because the
word carries the meaning, it reads without colour and underNO_COLOR
(where the block is reverse video).- Terminal: the dashboard opens on cards (Do next, Work at risk, Open
tasks, Commits, Repositories).1–5focus a card and each card's border
lists the keys that act on it. Enter on the repositories card opens a
detail view: every repo in a two-line list, with state, signals and tasks
for the one selected. Narrow terminals degrade in a fixed order instead of
garbling. - Browser: a sidebar and one column, with four pages (Overview,
Repositories, Tasks, Standup), saved views, and a drawer with a repo's full
detail. Every action previews its targets first. On a read-only server the
buttons stay and say how to enable them.
- Terminal: the dashboard opens on cards (Do next, Work at risk, Open
- The browser no longer shows sample data unless asked. A failed load is an
error with a Retry button, an empty fleet says so, and the demo fleet appears
only with--demo, labelled as demo data. The guided tour is gone. cohors scancalls its last group "clean" (repos with nothing to report),
the same definition every other surface uses.- The terminal dashboard is made of panels. On a colour terminal every card
and every overlay is a filled surface instead of a box of lines, with its title
on a band in its section's colour: purple for Do next, brick for Work at risk,
sage for Open tasks, slate blue for Commits, teal for Repositories. The focused
card has the one bright band. Overlays take the colour of the section they
belong to, and the dashboard behind an open overlay fades, fills included.
When the terminal is tall enough a blank row separates the header, the figures
and each band of cards; smaller terminals keep every row for content.
A panel is a shade off the terminal's real background, so it sits right on any
colour scheme. cohors asks the terminal for that colour; a terminal that does
not answer gets line frames in the same section colours instead, because a
guessed shade is wrong on half of all terminals. The newthemesetting
("auto","dark"or"light", alsoCOHORS_THEME) says it outright for a
terminal that cannot be asked. Without colour (NO_COLOR), or with
COHORS_CARDS=lines, cards keep their line frames. - Quieter rows. A count of zero is a small dot rather than a
0, and a branch
level with its upstream says nothing rather thanlevel, so the only numbers
on a row are the ones that mean something. On a wide terminal the repository
name and branch columns grow to show long names whole. - Keys: a letter is one verb on every card.
ffetches,ppulls,P
pushes,ccommits andSstashes wherever a repository is under the cursor:
on Work at risk, in the repository table and in the detail view. On Do next the
same letters carry out the fetch, pull or push step; a step that only shows you
repositories (stashes to review, files to commit, a diverged branch) has no
letter and is opened with Enter, soSandcno longer mean "review" there.
A repository key pressed on Do next says where it works instead of doing
nothing.s(standup),t(launchpad),F(fetch everything) andY(copy
the standup as markdown, formerlyyon the Commits card) work from anywhere.
A card lists its keys only while it has th...
0.6.0 — 2026-07-23
Release Notes
A readability and onboarding release. Every repo row now carries its per-branch
truth, every overlay shares one visual language, and every command surface
introduces itself instead of erroring at you.
Added
- Per-branch CI and sync status. Multi-branch repos expand into a row per
branch, each with its own checks, ahead/behind, and status. CI is keyed by ref
rather than the checked-out worktree, so this is a real per-branch fetch and not
an echo of the default branch. Capped at 10 branches per repo to stay inside the
GitHub rate budget; single-branch repos are unaffected. - Open PR counts land on their base branch, so a PR shows against the branch
it actually targets. Pon a multi-branch repo asks which branch to push, via a picker, instead
of assuming the current one. Bulk push now targets only repos that actually have
unpushed commits.- A first-run launch screen, in the plain terminal before the dashboard: the
super-fleet view lists every folder repos were detected under, and--rootgets
its own scoped view naming the folder it will walk. Enter launches,qquits.
--watchskips both, so a live loop needs no keypress. cohors scanprints a human report at a terminal: repos grouped by urgency,
the commands that clear each group, and how long the sweep took, with progress
announced on stderr while the disk walk runs. Piped, redirected, or with
--json, it emits the same raw JSON it always did.cohors mcprun by hand explains itself rather than sitting silent waiting
for a client that will never speak: what the server is, the copy-pasteable
registration line for Claude Code and the JSONmcpServersblock for every
other client (both with the absolute binary path, since agents spawn with a
strippedPATH), and which tools each--allow-*flag unlocks.
Changed
- Every overlay shares one framed-table language. The standup, detail pane,
command palette, shell prompt, confirm dialog, open-with picker, and run output
were rebuilt as two divider-joined columns with no floating inner boxes. The run
output auto-collapses to its content when space is tight. - The action commands teach instead of erroring. A missing
--select,-m,
or<COMMAND>now prints the verb's own guide: what it does, its safety
posture, the selector vocabulary, and a--dry-runfirst step, and exits 0
having touched nothing. cohors --helpcarries the masthead, a brand-matched clap palette, and a
"start here" footer with the four shortest paths to seeing your own fleet.
cohors webgained the same masthead and section grammar.- Readability pass on the dashboard: every repo name is bold, branch rows are
italic and marked with a hollow triangle, and the selection is a soft wash
rather than a reverse-video block that swallowed dim cells.
Fixed
- GitHub enrichment applies refreshed data even when a remote was already set,
so CI and PR counts stop going stale behind a warm cache. Stale cache entries are
now evicted on access as well as insert. - Open PRs are counted via the REST
pullsendpoint (5000/hr) instead of the
search API (30/min), which was rate-limiting real fleets. - The MCP server handles a client disconnect gracefully instead of erroring on
a broken pipe, and--allow-openis actually wired to theopentool. - Content search runs in parallel across repos.
Install cohors-tui 0.6.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/rushirb2001/cohors/releases/download/v0.6.0/cohors-tui-installer.sh | shInstall prebuilt binaries via Homebrew
brew install rushirb2001/tap/cohorsDownload cohors-tui 0.6.0
| File | Platform | Checksum |
|---|---|---|
| cohors-tui-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| cohors-tui-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| cohors-tui-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
0.5.14 — 2026-07-05
Release Notes
Added
cohors web --demoserves the built-in sample fleet in the browser (the web
counterpart tocohors demo): zero setup, nothing read from disk, a safe way to
preview the dashboard.
Changed
- Docs refresh: the README is rewritten around the super-fleet model (plain
cohorsshows every detected repo;--rootscopes), stripped of em-dashes, and
gains crisp light-mode demo GIFs for both the terminal and browser dashboards. - CI runners: the release jobs are pinned to available images (
ubuntu-latest
for housekeeping,ubuntu-22.04for the Linux build) since GitHub retired
ubuntu-20.04.
Changed
- First-run
cohorsgreets you and lists where repos were found before
launching. When run unconfigured, it prints the branded welcome, the folders
it detected repos under, and a prompt — Enter launches the whole super fleet,
qquits (orcohors --root <dir>to scope to one). Replaces the straight-to-
dashboard jump from 0.5.12 so you can see what the super fleet comprises first.
Changed
- Plain
cohors(andcohors web) now shows the whole super fleet by default.
With no config and no--root, the default roots are empty, so the Scanner
auto-detects every folder that holds git repos and shows them all — instead of
defaulting to a single~/projectsand prompting to adopt.cohors --root <dir>
still scopes to that one folder. Onboarding only greets + guides when nothing is
found anywhere (a cheapdetect_rootsprobe, so the common path adds no scan).
Removed the[u]-adopt prompt — the super fleet is the default, nothing to adopt.
Changed
- First-run onboarding happens in the terminal, not inside the dashboard. When
barecohorsstarts with no config and an empty default root, it now prints the
branded welcome in the plain terminal (shared renderer withcohors web) and
waits for a key:uadopts the detected roots (writes the config) and opens the
dashboard;qquits. No more spinning up the full-screen TUI just to show an
empty state. Non-interactive/piped invocations print the welcome as guidance and
exit. The in-TUI empty screen remains only as a mid-session fallback.
Fixed
- Snapshot layouts no longer shift when the version string changes length
(e.g.0.5.9→0.5.10): the TUI renders a fixed version under#[cfg(test)]
so header/help snapshots assert layout, not the build number.
Changed
cohors web's first-run setup hint is now branded and styled to match the
dashboard. It leads with the purple spider mark + "Welcome to cohors", shows
the two ways in (cohors web --root <detected>to launch now, orcohorsthen
cohors webto save a config), and closes with the default-root / super-fleet
note. ANSI is gated on a real terminal — piped output andNO_COLORstay plain.
The spider mark is factored into a sharedSPIDER_MARKconst the TUI header and
the CLI both draw from.
Install cohors-tui 0.5.14
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/rushirb2001/cohors/releases/download/v0.5.14/cohors-tui-installer.sh | shInstall prebuilt binaries via Homebrew
brew install rushirb2001/tap/cohorsDownload cohors-tui 0.5.14
| File | Platform | Checksum |
|---|---|---|
| cohors-tui-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| cohors-tui-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| cohors-tui-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |