Issue tracker CLI for AIs. Reads and manages issues across Jira, GitHub, GitLab, and Linear.
## Brew
brew install stephanschmidt/tap/human
## Go
go install github.com/stephanschmidt/human@latest
No tool-switching for the AI. The same commands work across Jira, GitHub, GitLab, and Linear.
Pipe directly into LLMs. Structured output they can parse and act on.
Turn PM tickets into implementation plans with built-in Claude Code integration.
AI catches incomplete tickets before coding starts. No more guessing at requirements.
Three steps from ticket to code. No context-switching, no copy-pasting.
Your coding agent calls human issue get to fetch the full ticket with description, acceptance criteria, and comments.
One CLI handles the API differences between Jira, GitHub, GitLab, and Linear. Your agent doesn't need to know which tracker you use.
The agent receives clean JSON or Markdown it can parse directly. No scraping, no guessing, no hallucinated requirements.
# List issues (JSON by default)
human issues list --project=KAN # Jira
human issues list --project=octocat/hello-world # GitHub
human issues list --project=mygroup/myproject # GitLab
human issues list --project=ENG # Linear
# Get a single issue as markdown
human issue get KAN-1
# Create an issue
human issue create --project=ENG "Implement feature"
# Add a comment
human issue comment add KAN-1 "This is done"
human install --agent claude
Fetches a ticket, evaluates it against a Definition of Ready checklist, and asks you to fill in any gaps. Checks description, acceptance criteria, scope, dependencies, context, and edge cases.
Fetches a ticket, explores the codebase, and produces a structured implementation plan saved to .human/plans/.
Standardize how your AI agents interact with issue trackers. One config, every engineer, every agent.
.human/ in your repo