Skip to content

Releases

0.7.0 — 2026-11-11

Choose a tag to compare

@github-actions github-actions released this 11 Nov 13:08

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.json listing its flows (what to run), the agent
    prompts it ships, and its short-lived tasks. The format is an open
    contract, written down in spec/v1/SPEC.md. Flows are also detected with zero config from
    npm/pnpm/yarn/bun scripts, cargo, uv, Makefile targets, and gradle.
  • cohors launchpad reports the focus board and every open task across the
    fleet (JSON when piped). cohors launchpad validate [PATH] checks one repo's
    contribution, contract prints the rules, and record logs an agent session.
  • Six launchpad MCP tools. launchpad, read_contract, and read_board
    are always on. write_repo_contribution, write_board, and record_activity
    need the new --allow-launchpad flag; each accepts dry_run without 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 web works 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 overview prints 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 MCP overview tool returns the same thing to an agent.
  • cohors standup prints 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 MCP standup tool and a page in the browser
    and the editor extension.
  • cohors agent starts 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-repo asks it to read the current repo and write its
    launchpad file; plan-day plans your focus across every repo; agent runners shows 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
    dashboard a on 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 the cohors binary.
  • 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.openOnStartup opens 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/show opens 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.sh captures 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.py builds the extension's .vsix with 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.
  • push publishes 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/list with 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 filled RISK (brick red) or WARN (ochre) leads the
    rows of Do next, Work at risk and the repository tables, a quiet outlined
    NOTE or INFO marks 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 under NO_COLOR
    (where the block is reverse video).
    • Terminal: the dashboard opens on cards (Do next, Work at risk, Open
      tasks, Commits, Repositories). 1–5 focus 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.
  • 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 scan calls 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 new theme setting
    ("auto", "dark" or "light", also COHORS_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 than level, 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. f fetches, p pulls, P
    pushes, c commits and S stashes 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, so S and c no 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) and Y (copy
    the standup as markdown, formerly y on the Commits card) work from anywhere.
    A card lists its keys only while it has th...
Read more

0.6.0 — 2026-07-23

Choose a tag to compare

@github-actions github-actions released this 23 Jul 08:43
0363ea5

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.
  • P on 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 --root gets
    its own scoped view naming the folder it will walk. Enter launches, q quits.
    --watch skips both, so a live loop needs no keypress.
  • cohors scan prints 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 mcp run 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 JSON mcpServers block for every
    other client (both with the absolute binary path, since agents spawn with a
    stripped PATH), 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-run first step, and exits 0
    having touched nothing.
  • cohors --help carries the masthead, a brand-matched clap palette, and a
    "start here" footer with the four shortest paths to seeing your own fleet.
    cohors web gained 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 pulls endpoint (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-open is actually wired to the open tool.
  • 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 | sh

Install prebuilt binaries via Homebrew

brew install rushirb2001/tap/cohors

Download 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

Choose a tag to compare

@github-actions github-actions released this 06 Jul 02:04

Release Notes

Added

  • cohors web --demo serves the built-in sample fleet in the browser (the web
    counterpart to cohors 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
    cohors shows every detected repo; --root scopes), 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.04 for the Linux build) since GitHub retired
    ubuntu-20.04.

Changed

  • First-run cohors greets 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,
    q quits (or cohors --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 (and cohors 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 ~/projects and prompting to adopt. cohors --root <dir>
    still scopes to that one folder. Onboarding only greets + guides when nothing is
    found anywhere (a cheap detect_roots probe, 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
    bare cohors starts with no config and an empty default root, it now prints the
    branded welcome in the plain terminal (shared renderer with cohors web) and
    waits for a key: u adopts the detected roots (writes the config) and opens the
    dashboard; q quits. 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, or cohors then
    cohors web to save a config), and closes with the default-root / super-fleet
    note. ANSI is gated on a real terminal — piped output and NO_COLOR stay plain.
    The spider mark is factored into a shared SPIDER_MARK const 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 | sh

Install prebuilt binaries via Homebrew

brew install rushirb2001/tap/cohors

Download 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