Command-line tools designed for AI coding agents (like Claude Code) to interact with Jira and Azure DevOps APIs.
src/- TypeScript source files- Jira tools:
jira-search.ts,jira-get-ticket.ts,jira-comment.ts,jira-get-comments.ts - Azure DevOps tools:
ado-list-prs.ts,ado-get-pr-comments.ts - API clients:
jira-client.ts,azure-devops-client.ts - Utilities:
config.ts,cli-utils.ts,ado-utils.ts,comment-utils.ts,adf-to-md.ts,md-to-adf.ts - Types:
types.ts- TypeScript interfaces - Documentation:
update-claude-docs.ts- Updates global CLAUDE.md
- Jira tools:
scripts/- Bash wrapper scripts that call the TypeScript implementationsSTUB_CLAUDE.md- Documentation template for syncing to user's global CLAUDE.md
One-command setup for Git Bash users:
./setup.shThis script will:
- Install dependencies
- Add scripts to your PATH via
~/.bashrc - Update your global
~/.claude/CLAUDE.mdwith tool documentation - Create a sample
~/.varscredentials file
After setup:
- Restart your terminal or run:
source ~/.bashrc - Configure credentials in
~/.vars - Test with:
jira-search.sh --help
Once set up, you can call the tools from anywhere:
jira-search.sh "assignee = currentUser()"
jira-get-ticket.sh PROJ-123
ado-list-prs.sh --status active
ado-get-pr-comments.sh 24094 --latest 5Or call from the scripts directory:
./scripts/jira-search.sh "assignee = currentUser()"
./scripts/jira-get-ticket.sh PROJ-123cd agent-tools
bun install
cp .env.example .env # configure credentials
bun run src/jira-search.ts "assignee = currentUser()"
bun run src/jira-get-ticket.ts PROJ-123Configure credentials in ~/.vars (created by setup script):
# Jira
export JIRA_URL="https://your-company.atlassian.net"
export JIRA_EMAIL="[email protected]"
export JIRA_API_TOKEN="your-api-token-here"
# Azure DevOps
export AZURE_DEVOPS_ORG_URL="https://dev.azure.com/yourorg"
export AZURE_DEVOPS_PAT="your-personal-access-token"Then load credentials: source ~/.vars
Copy .env.example to .env and configure:
JIRA_URL=https://your-company.atlassian.net
[email protected]
JIRA_API_TOKEN=your-api-token-hereThe setup script supports several options:
./setup.sh # Full setup
./setup.sh --dry-run # Preview changes
./setup.sh --skip-path # Skip PATH configuration
./setup.sh --skip-claude # Skip CLAUDE.md update
./setup.sh --force # Overwrite existing config
./setup.sh --help # Show detailed help