atlassian-axi
v0.1.0
Published
Token-efficient CLI for Jira + Confluence Cloud, designed for AI agent consumption
Readme
Results
Measured against real Atlassian Cloud API responses (fields agents actually request):
| Command | Raw API JSON | atlassian-axi output | Savings |
|---------|-------------|-----------|---------|
| jira sprint (20 issues) | ~10,800 tokens | ~460 tokens | 96% |
| jira mine (12 issues) | ~3,600 tokens | ~220 tokens | 94% |
| conf mine (15 pages) | ~6,000 tokens | ~510 tokens | 91% |
Overall: ~94% token reduction vs raw API responses.
What gets stripped: avatar URLs, self-links, expand metadata, status category objects, project/space objects, icon URLs, account IDs, pagination wrappers.
Quick Start
npm install -g atlassian-axiOr from source:
git clone https://github.com/selwynyeow/atlassian-axi.git
cd atlassian-axi
npm install && npm run build
npm linkAdd to your CLAUDE.md or AGENTS.md:
Use `atlassian-axi jira` for Jira operations and `atlassian-axi conf` for Confluence operations.Configuration
Create ~/.config/atlassian-axi/config.json:
{
"defaultSite": "a",
"sites": {
"a": { "baseUrl": "https://yoursite.atlassian.net", "email": "[email protected]", "tokenEnv": "AXI_A_TOKEN", "defaultBoard": 12 },
"b": { "baseUrl": "https://other.atlassian.net", "email": "[email protected]", "tokenEnv": "AXI_B_TOKEN" }
}
}Export your API token:
export AXI_A_TOKEN="..."Generate one at https://id.atlassian.com/manage-profile/security/api-tokens (classic unscoped token).
Commands
Jira
atlassian-axi jira sprint --board 42 # active sprint summary + issue list
atlassian-axi jira mine --since 2w # my done issues, last 2 weeks
atlassian-axi jira search --jql "project=X" # raw JQL
atlassian-axi jira move PROJ-123 "In Progress" # transition issue (exit 3 if invalid)
atlassian-axi jira create -p PROJ --summary "Fix bug" -d - # stdin = markdown description
atlassian-axi jira assign PROJ-123 "Jane" # resolve name → accountId (exit 3 if ambiguous)Confluence
atlassian-axi conf mine --pages # my recent pages
atlassian-axi conf mine --comments # my recent comments
atlassian-axi conf create --space DEV --title "Design doc" --body - # stdin markdown
atlassian-axi conf update 12345 --append --body - # append to existing pageGlobal flags
| Flag | Effect |
|------|--------|
| --site a\|b | target site (default from config) |
| --json | raw API response (bypass formatting) |
Exit codes
| Code | Meaning |
|------|---------|
| 0 | success |
| 1 | API/HTTP error |
| 2 | bad usage or missing config |
| 3 | resolvable ambiguity (retry with hint from stderr) |
Output format
Default: compact TSV with a one-line header/aggregate. No avatar URLs, no null fields, no JSON noise unless --json.
Errors go to stderr: error(<status>): <message> with optional hint: line.
