A CLI designed for deterministic automation

Ticket is an open protocol. The CLI is the reference implementation for agents: strict mode, structured output, and safe validation.

Install

npm
npm i -g @ticketdotapp/cli

Quick start

Terminal
cd your-repo
ticket init
ticket new "Add paywall experiment" --priority p1 --ci
git push

Creates:

  • .tickets/config.yml
  • .tickets/template.md
  • .tickets/index.json
  • .tickets/tickets/<ULID>.md

Commands you'll use daily

Terminal
ticket list --state ready
ticket show TK-01ARZ3ND
ticket start TK-01ARZ3ND --ci
ticket done TK-01ARZ3ND --ci

Agent mode: --ci

Strict, non-interactive execution

  • Exact ID matching
  • No fuzzy selection
  • No prompts
  • Deterministic exit codes
--ci mode
ticket list --json --ci
ticket move TK-01ARZ3ND in_progress --ci
ticket validate --json --ci
JSON output
ticket list --json --ci
ticket show TK-01ARZ3ND --json --ci

Structured output: --json

Never parse tables

Use JSON for agents and automation.

Validation and recovery

Terminal
ticket validate --all --ci
ticket rebuild-index --ci
ticket validate --all --fix-index --ci

PR linking conventions

Branch: tk-{short_id}-{slug}

PR title: [TK-{short_id}] {title}

The dashboard links PRs automatically when conventions match.

Make your backlog something agents can operate reliably.