radial.build
v1.1.0
Published
Radial CLI — script your issue tracker from the terminal or your agents.
Maintainers
Readme
radial — the Radial CLI
Script your issue tracker from the terminal, from CI, or from your agents. The web app is just one client; this is another.
Install
# npm (recommended)
npm install -g radial.build
# or Homebrew (macOS / Linux)
brew install BrainGridAI/radial/radial
# or run the single binary directly (no runtime needed)
curl -fsSL https://radial.build/cli/install.sh | shSign in
radial authOpens your browser, you approve the device code, done — the CLI acts as you.
For CI/headless use, skip auth and set a scoped API key:
export RADIAL_KEY=rk_write_xxxxxxxx # create one in Settings → DevelopersCommands
Every command accepts --json for scripting.
| Command | What it does |
| --- | --- |
| radial create <title> | Create an issue. -p priority, -l label (repeatable), -a assignee, -t team |
| radial update RAD-219 | Edit an issue. --title, -d/--description-file <path> (or --stdin), -s status, -p, -a, -l, --project, --cycle, --estimate, --due, --parent, --archived |
| radial list | List issues. --assignee, --status, --label, --team, --priority |
| radial show RAD-219 | Full detail + comments |
| radial close RAD-219 | Close, with optional -m "message" |
| radial triage | Step through the triage queue |
| radial search <query> | The same 4ms index the app uses |
| radial import --from linear\|jira <file> | Deep import (issues, labels, projects, parents, relations, comments). --dry-run first |
| radial export | Full workspace export. --format json\|csv, -o file |
| radial mcp | Run the MCP server over stdio for any MCP-capable agent |
Examples
radial create "Search flashes empty state" -p high -l bug -a me
radial list --status open --assignee me --json | jq '.[].id'
radial import --from linear linear-export.json --dry-runMCP
Two ways to connect an agent:
Remote (recommended) — add the URL to your client; it authorizes over OAuth in the browser, no keys to paste:
{ "mcpServers": { "radial": { "url": "https://mcp.radial.build" } } }Local stdio — run the server yourself (uses your radial auth session):
{ "mcpServers": { "radial": { "command": "radial", "args": ["mcp"] } } }Exposed tools: create_issue, update_issue, search_issues, list_issues,
comment, close_issue, list_projects, triage_queue.
Configuration
State lives in ~/.config/radial/config.json (mode 0600). Override endpoints
with RADIAL_API_URL, RADIAL_AUTH_URL, RADIAL_MCP_URL (e.g. for self-hosting).
Build from source
bun install
bun run build # → dist/radial.js (node)
bun run build:binary # → dist/radial (single executable)Release
One command cuts a release (requires a github remote → the GitHub repo):
npm run release # patch: 1.0.1 → 1.0.2
npm run release:minor # 1.0.1 → 1.1.0
npm run release:major # 1.0.1 → 2.0.0It rebases onto origin/main, bumps the version, commits, tags cli-v<version>,
and pushes commit + tag. The tag triggers .github/workflows/cli-release.yml,
which publishes to npm via OIDC trusted publishing (without provenance — the build
runs in this private repo) and attaches the per-platform binaries to a GitHub
Release. No npm token needed.
