Skip to content

Easy8 CLI

easy8 is a standalone command-line client for Easy8. Use it from the shell, in CI jobs and from coding agents that work through local commands.

It covers issues and product backlog items (PBIs): list, show, search, create and update, with JSON output for scripts. The source and releases are in Easy8Com/easy8-cli; its README is the authoritative reference for commands and flags.

If your AI client supports MCP, use the MCP server instead. It gives the assistant tool discovery over tools/list and a persistent /mcp endpoint. The CLI suits command-driven workflows without an MCP client.

Requirements

  • an Easy8 API key
  • Go 1.22 or newer, only when you build from source

Install

macOS and Linux:

curl -fsSL https://raw.githubusercontent.com/Easy8Com/easy8-cli/main/scripts/install.sh | bash

Windows (PowerShell):

irm https://raw.githubusercontent.com/Easy8Com/easy8-cli/main/scripts/install.ps1 | iex

The installers download the binary for your system from GitHub Releases and verify its SHA-256 checksum. If easy8 is not found afterwards, restart the terminal or add the install directory to your PATH.

To install manually, download the binary and checksums.txt from the releases page, verify the checksum and move the binary to a directory on your PATH. To build from source:

go build -o easy8 ./cmd/easy8

Configure

Run the setup wizard once:

easy8 setup

For scripts and CI, set up without prompts (--global or --local):

easy8 setup --non-interactive --global --base-url "https://demo.easy8.com" --api-key "<your-key>"

Or use environment variables:

export EASY8_BASE_URL="https://demo.easy8.com"
export EASY8_API_KEY="<your-key>"

Configuration sources, highest priority first:

  1. environment variables
  2. local config .easy8.yaml
  3. global config ~/.config/easy8/config.yaml
  4. built-in defaults

You can also set defaults for issue create with EASY8_DEFAULT_PROJECT_ID, EASY8_DEFAULT_TRACKER_ID, EASY8_DEFAULT_STATUS_ID, EASY8_DEFAULT_PRIORITY_ID, EASY8_DEFAULT_AUTHOR_ID and EASY8_DEFAULT_ASSIGNED_TO_ID.

Check the connection:

easy8 auth status
easy8 issue list --limit 10

Commands

Show, list and search issues:

easy8 issue show 123
easy8 issue show 123 --include journals,attachments
easy8 issue list --limit 10 --sort "priority:desc,due_date"
easy8 issue search --q "onboarding"
easy8 issue search --q "petr" --assignee "Alice Doe" --status "New" --priority "High" --project "Project A"

Create an issue. --subject, --project-id, --tracker-id and --assigned-to-id are required unless a configured default supplies them:

easy8 issue create \
  --subject "Fix onboarding" \
  --project-id 1 \
  --tracker-id 1 \
  --assigned-to-id 2 \
  --description "Short summary"

Update an issue:

easy8 issue update 123 --status-id 5 --done-ratio 80

Work with PBIs:

easy8 pbi list --limit 10
easy8 pbi show 42
easy8 pbi update 42 --status done

Authentication:

easy8 auth login --api-key "<your-key>"
easy8 auth logout

Output modes

Add one of these flags to get machine-readable output:

  • --json: an envelope with ok, data and summary fields
  • --quiet: the raw API-shaped JSON, closest to the Easy8 payload
easy8 issue list --json
easy8 pbi show 42 --quiet

Agent skill

The CLI includes an agent skill that turns short prompts such as fix issue #1234, fix pbi #42 or find pbi onboarding into easy8 commands. It uses --quiet by default:

easy8 issue show 1234 --quiet
easy8 pbi show 42 --quiet
easy8 pbi list --q "onboarding" --quiet

Install the skill:

easy8 skill install --target opencode
easy8 skill install --target claude
easy8 skill install --target codex --local

easy8 skill prints the skill content. If the skill does not appear in the tool, restart the session.