⚡ Open source · MIT

Measure the real impact of AI on your engineering team

Connect your JIRA epic and GitHub repo. Get hours saved, AI token costs, PR quality and risk score in one interactive dashboard — in under 30 seconds.

Try it now with no credentials: ai-engineering-metrics analyze --mock
# install once
$ pipx install git+https://github.com/
$ dennisrojaspereira/engmetrics-ai.git
 
# try with no credentials
$ ai-engineering-metrics analyze --mock
 
# real epic from your project folder
$ ai-engineering-metrics analyze -e KAN-4 --open
 
Analysis complete: KAN-4
9.2h saved (40%) · 580k tokens · Risk: 19.5
reports/KAN-4/dashboard.html
40%avg hours saved with AI
30 sto first dashboard
4artifacts per run
0config needed to try it
MITopen source license
How it works
From epic to insights in four steps
No data warehouse, no SaaS signup. One CLI command pulls everything and writes a self-contained bundle to your project folder.
📦
Step 1

Install once

One pipx command puts the CLI on your PATH, isolated from your project dependencies. Works on macOS, Linux and Windows.

pipx install git+https://github.com/
dennisrojaspereira/engmetrics-ai.git
🔑
Step 2

Add a .env file

Drop a .env in your project root with your JIRA credentials. GitHub uses the gh CLI you already have.

JIRA_BASE_URL=https://co.atlassian.net
[email protected]
JIRA_API_TOKEN=your-token
🚀
Step 3

Run the analysis

Point it at any JIRA epic key. It fetches stories, linked pull requests and AI token usage automatically.

cd your-repo
ai-engineering-metrics analyze \
--epic PROJ-42 --open
📊
Step 4

Read the bundle

A reports/PROJ-42/ folder lands in your project with a dashboard, JSON and two CSVs ready to share.

reports/PROJ-42/
├── dashboard.html
├── metrics.json
├── stories.csv
└── pull_requests.csv
Live example
This is what you actually get
Real output from KAN-4 "Update Libs Fintechops" — pulled live from JIRA + GitHub.
engmetrics.ai · Interactive Demo — DEMO-1
▶ Open interactive demo

Fully interactive — charts, PR details, risk gauge — no login required · generated with --mock

Output
Four artifacts, every run
Every analyze run writes a complete bundle to reports/<EPIC>/.
🌐
dashboard.html
Interactive charts & tables.
Open in any browser —
no server required.

• Productivity timeline
• Hours saved per story
• PR quality scorecards
• Risk breakdown
📊
metrics.json
"productivity": {
  "hours_saved": 9.2,
  "savings_percent": 40.0
},
"ai_usage": {
  "total_tokens": 580000,
  "estimated_cost": 3.48
},
"risk": { "score": 19.5, "level": "low" }
📋
stories.csv
key,status,sp,ai_tokens,saved_h
KAN-9,Done,8,210000,3.2
KAN-6,Done,5,142000,2.0
KAN-5,Done,3,85000,1.2
KAN-7,Done,3,60000,1.2
KAN-10,To Do,2,48000,0.8
KAN-8,Done,2,35000,0.8
🔀
pull_requests.csv
linked_to,#,status,+,−,cycles
KAN-9,#8,merged,2,2,0
KAN-8,#7,merged,2,2,0
KAN-5,#4,merged,39,0,0
KAN-10,#9,open,4,4,0
KAN-4,#3,open,1,1,0
KAN-4,#1,open,1,1,0
Prerequisites
Two things you need before running
The CLI requires a JIRA API token and the GitHub CLI (gh). Here is exactly how to get both.
🔑

JIRA API Token

Read epics and stories from your Atlassian workspace

1

Open your Atlassian account settings

Go to id.atlassian.com → Security → API tokens and log in with your JIRA email.

2

Create a new API token

Click Create API token, give it a label like "engmetrics-ai" and click Create.

Important: copy the token immediately — it is displayed only once and cannot be recovered later.
3

Find your JIRA base URL

It is the domain you see in the browser when logged in, e.g. https://yourco.atlassian.net

4

Add to your .env file

JIRA_BASE_URL=https://yourco.atlassian.net
[email protected]
JIRA_API_TOKEN=ATATT3x...
🐙

GitHub CLI (gh)

Discover and enrich pull requests linked to each epic

1

Install the GitHub CLI

Choose your OS:

# macOS
brew install gh

# Windows
winget install --id GitHub.cli

# Ubuntu / Debian
sudo apt install gh

All installers: cli.github.com

2

Authenticate with GitHub

gh auth login
Follow the prompts:
1. Choose GitHub.com
2. Choose HTTPS
3. Choose Login with a web browser
4. Paste the one-time code shown in your browser
3

Verify the authentication

gh auth status
# → ✓ Logged in to github.com
4

Add your repo to .env

GITHUB_ORG=your-github-org
GITHUB_REPOSITORIES=your-repo
GITHUB_SEARCH_ALL_REPOS=false
Setup guide
Up and running in 5 minutes
Requires Python 3.12+, pipx, a JIRA API token and the GitHub CLI.
1

Install Python 3.12+

Download from python.org or use your package manager. Check with python --version.

2

Install pipx

pipx installs CLI tools in isolated environments so they never conflict with your project dependencies.

3

Install engmetrics-ai

One command installs the CLI and adds ai-engineering-metrics to your PATH.

4

Try the demo (zero config)

Run with --mock to see a full dashboard with synthetic data. No JIRA or GitHub required.

5

Analyze your real epic

Run from inside your repo with a .env file. The tool reads it automatically and picks up the GitHub remote.

Terminal
# 1. Install pipx
$ pip install --user pipx
$ python -m pipx ensurepath

# 2. Install the CLI
$ pipx install git+https://github.com/dennisrojaspereira/engmetrics-ai.git

# 3. Try the demo
$ ai-engineering-metrics analyze --mock

# 4. Create .env in your project folder
$ cat > .env <<EOF
JIRA_BASE_URL=https://yourco.atlassian.net
JIRA_EMAIL=[email protected]
JIRA_API_TOKEN=your-jira-api-token
GITHUB_ORG=your-org
GITHUB_REPOSITORIES=your-repo
EOF

# 5. Analyze your epic
$ cd your-repo
$ ai-engineering-metrics analyze -e PROJ-42 --open

 Analysis complete: PROJ-42
  9.2h saved (40%)  ·  580k tokens  ·  Risk: 19.5 (low)
  reports/PROJ-42/dashboard.html ← opening...
CLI Reference
All flags
FlagDefaultDescription
--epic / -eDEMO-1 (mock)JIRA epic key to analyze, e.g. PROJ-123
--mockoffUse synthetic data — no credentials required
--output / -oreports/Base output directory. A sub-folder named after the epic is created inside
--format / -fallall · html · json · csv
--openoffOpen the generated dashboard in your browser when done
--stdoutoffPrint metrics JSON to stdout — pipe to jq
--repo / -rautoOverride GitHub repo as owner/name
--verbose / -voffShow every API call and PR-matching decision
--versionPrint installed version and exit
Recipes
# Pipe metrics to jq
ai-engineering-metrics analyze -e PROJ-123 --stdout | jq .ai_usage

# HTML only, to a custom folder
ai-engineering-metrics analyze -e PROJ-123 -f html -o ./out

# Override GitHub repo
ai-engineering-metrics analyze -e PROJ-123 --repo acme/backend

# Update to the latest version
pipx upgrade ai-engineering-metrics