explaingit

clipboardhealth/groundcrew

31TypeScript

TLDR

Groundcrew is a command-line tool from ClipboardHealth that connects your Linear ticket backlog to AI coding agents.

Mindmap

A visual breakdown will appear here once this repo is fully enriched.

In plain English

Groundcrew is a command-line tool from ClipboardHealth that connects your Linear ticket backlog to AI coding agents. The basic loop is: it polls a Linear project, picks up tickets that match its rules, creates a fresh git worktree for each one, and launches an agent like Claude or Codex inside that worktree to do the work. Because each ticket lives in its own worktree, several agents can run at the same time without overwriting each other's changes. The default posture is local-first sandboxing. On macOS the agents run under a tool called Safehouse, on Linux or WSL they run inside Docker Sandboxes, and there is an explicit none mode for users who want to skip isolation, though the built-in doctor command warns when that is configured. Out of the box the tool ships with definitions for the claude and codex CLIs, and you can drop a custom CLI definition into the config file to add more. Setup is done through a crew.config.ts file, either in your XDG config directory or at the root of any repo you run crew from. The main fields you must fill in are the Linear project slug, the directory where workspaces live, and a list of known repositories. You then run crew setup repos to clone those repos, export GROUNDCREW_LINEAR_API_KEY with your Linear token, and either run crew doctor to check the setup, crew run --dry-run for a preview, or crew run --watch to poll forever. The tool also has a careful secrets flow. A small allowlist of build-time tokens, currently NPM_TOKEN and BUF_TOKEN, is forwarded into the setup phase so that commands like npm install can reach private registries, and then those values are unset and the holding file is deleted before the agent process itself starts. The agent never inherits those values. Selection of which ticket runs is governed by Linear labels, blocker status, model usage limits, and a configurable in-progress cap, so you can throttle how many tickets are running at once.

Open on GitHub → Explain another repo

Generated 2026-05-21 · Model: sonnet-4-6 · Verify against the repo before relying on details.