GitScrum / Docs

Analytics

Generate project analytics and reports from your terminal. Velocity charts, burndown data, time reports, and team metrics with GitScrum CLI.

⚠️ BETA β€” GitScrum CLI is in active development. Open source under the MIT license. Available on GitHub.

Data-driven insights without opening a browser. Get velocity, burndown, time tracking, and team metrics directly in your terminal.


Commands

CommandDescription
gitscrum analytics velocitySprint velocity over time
gitscrum analytics burndownASCII burndown chart
gitscrum analytics timeTime tracking report
gitscrum analytics teamTeam performance metrics
gitscrum analytics summaryQuick project summary
gitscrum analytics cycle-timeTask cycle time analysis

Velocity

View sprint velocity over time:

gitscrum analytics velocity

Output:

πŸ“ˆ Velocity - acme-dashboard

Sprint          β”‚ Committed β”‚ Completed β”‚ Velocity
────────────────┼───────────┼───────────┼──────────
Sprint 15       β”‚    52 pts β”‚    48 pts β”‚      92%
Sprint 14       β”‚    48 pts β”‚    45 pts β”‚      94%
Sprint 13       β”‚    45 pts β”‚    47 pts β”‚     104%
Sprint 12       β”‚    50 pts β”‚    42 pts β”‚      84%
Sprint 11       β”‚    45 pts β”‚    44 pts β”‚      98%

Average:        47 pts/sprint
Trend:          β†— +3% vs last 5 sprints

Chart View

gitscrum analytics velocity --chart
Sprint Velocity (last 8 sprints)

  52 β”‚                                    β–„β–„
  48 β”‚                        β–„β–„          β–ˆβ–ˆ  β–„β–„
  45 β”‚      β–„β–„      β–„β–„        β–ˆβ–ˆ    β–„β–„    β–ˆβ–ˆ  β–ˆβ–ˆ
  42 β”‚      β–ˆβ–ˆ      β–ˆβ–ˆ  β–„β–„    β–ˆβ–ˆ    β–ˆβ–ˆ    β–ˆβ–ˆ  β–ˆβ–ˆ
  38 β”‚      β–ˆβ–ˆ      β–ˆβ–ˆ  β–ˆβ–ˆ    β–ˆβ–ˆ    β–ˆβ–ˆ    β–ˆβ–ˆ  β–ˆβ–ˆ
  35 β”‚ β–„β–„   β–ˆβ–ˆ      β–ˆβ–ˆ  β–ˆβ–ˆ    β–ˆβ–ˆ    β–ˆβ–ˆ    β–ˆβ–ˆ  β–ˆβ–ˆ
  32 β”‚ β–ˆβ–ˆ   β–ˆβ–ˆ  β–„β–„  β–ˆβ–ˆ  β–ˆβ–ˆ    β–ˆβ–ˆ    β–ˆβ–ˆ    β–ˆβ–ˆ  β–ˆβ–ˆ
     └──────────────────────────────────────────
       S8  S9  S10 S11 S12  S13  S14  S15  S16

β–„β–„ Committed  β–ˆβ–ˆ Completed

Date Range

gitscrum analytics velocity --last 10  # Last 10 sprints
gitscrum analytics velocity --since "2025-01-01"

Burndown

Sprint burndown chart:

gitscrum analytics burndown

Output:

πŸ”₯ Burndown - Sprint 15 (Feb 3-14)

Points β”‚
   52  β”‚ ●
   45  β”‚   β•²  ●
   38  β”‚      β•²  ●    ●
   31  β”‚         β•²      β•²  ●
   24  β”‚            ─────────  ●
   17  β”‚                         β•²
   10  β”‚                            β•²
    3  β”‚                               β•² (ideal)
    0  │─────────────────────────────────●
       └───────────────────────────────────
        Mon  Tue  Wed  Thu  Fri  Mon  Tue
        
● = Actual   ─ = Ideal

Status: On track (2 pts ahead of ideal)
Remaining: 18 pts | Days left: 4

Previous Sprint

gitscrum analytics burndown --sprint 14
gitscrum analytics burndown --sprint "Sprint 14"

Data Export

gitscrum analytics burndown --format csv > burndown.csv

Time Tracking Reports

Personal Time

gitscrum analytics time

Output:

⏱️  Time Report - Feb 2026

Week        β”‚ Logged   β”‚ Tasks β”‚ Avg/Task
────────────┼──────────┼───────┼─────────
Feb 3-7     β”‚  32h 15m β”‚    12 β”‚  2h 41m
Jan 27-31   β”‚  38h 42m β”‚    15 β”‚  2h 35m
Jan 20-24   β”‚  35h 10m β”‚    14 β”‚  2h 31m
Jan 13-17   β”‚  29h 55m β”‚    11 β”‚  2h 43m

This month:   142h 02m
Last month:   156h 23m

Team Time

gitscrum analytics time --team
⏱️  Team Time - Feb 2026

Member          β”‚ Logged   β”‚ Tasks β”‚ Efficiency
────────────────┼──────────┼───────┼───────────
@john.dev       β”‚  42h 15m β”‚    18 β”‚       112%
@sarah.dev      β”‚  38h 42m β”‚    15 β”‚       105%
@alex.dev       β”‚  35h 10m β”‚    14 β”‚        98%
@mike.dev       β”‚  29h 55m β”‚    12 β”‚        92%
@lisa.dev       β”‚  28h 30m β”‚    11 β”‚        88%

Team total:      174h 32m
Team average:     34h 54m

By Project

gitscrum analytics time --project
⏱️  Time by Project - Feb 2026

Project              β”‚ Logged   β”‚ Tasks β”‚ % of Total
─────────────────────┼──────────┼───────┼───────────
acme-dashboard       β”‚  68h 15m β”‚    28 β”‚       39%
mobile-app           β”‚  52h 42m β”‚    22 β”‚       30%
api-v2               β”‚  35h 10m β”‚    15 β”‚       20%
internal-tools       β”‚  18h 25m β”‚     8 β”‚       11%

By Task Type

gitscrum analytics time --by-type
⏱️  Time by Type - Feb 2026

Type         β”‚ Logged   β”‚ Count β”‚ Avg
─────────────┼──────────┼───────┼────────
Feature      β”‚  95h 30m β”‚    32 β”‚  2h 59m
Bug          β”‚  42h 15m β”‚    28 β”‚  1h 31m
Refactor     β”‚  22h 45m β”‚     8 β”‚  2h 51m
Docs         β”‚  14h 02m β”‚     5 β”‚  2h 48m

Team Performance

Aggregate team metrics:

gitscrum analytics team

Output:

πŸ‘₯ Team Analytics - acme-dashboard

                    This Sprint β”‚ Last Sprint β”‚ Trend
────────────────────────────────┼─────────────┼──────
Tasks Completed            28   β”‚         24  β”‚  β†— +17%
Points Delivered           48   β”‚         42  β”‚  β†— +14%
Avg Cycle Time          3.2d    β”‚       3.8d  β”‚  β†˜ -16%
Throughput             5.6/day  β”‚      4.8/d  β”‚  β†— +17%
Time Logged           156h      β”‚       148h  β”‚  β†— +5%

Top Performers
──────────────
πŸ₯‡ @john.dev     - 48 pts completed
πŸ₯ˆ @sarah.dev    - 42 pts completed  
πŸ₯‰ @alex.dev     - 38 pts completed

Blockers Resolved: 8
Avg Resolution: 1.2 days

Individual Stats

gitscrum analytics team --member john.dev

Project Summary

Quick project health check:

gitscrum analytics summary

Output:

πŸ“Š acme-dashboard - Summary

Sprint 15 (ends Feb 14)
───────────────────────
Progress:    β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘ 60%
Velocity:    48/52 pts (92% projected)
Burndown:    On track (+2 pts vs ideal)

This Week
─────────
Completed:   12 tasks (28 pts)
In Progress: 8 tasks
Blocked:     2 tasks
Time Logged: 68h 42m

Highlights
──────────
β€’ Sprint velocity trending up (+8% vs avg)
β€’ 2 blockers unresolved >2 days
β€’ Team capacity at 95%

Actions Needed
──────────────
⚠️  GS-445 blocked 3 days - needs attention
⚠️  GS-467 overdue by 2 days

Cycle Time

Task cycle time analysis:

gitscrum analytics cycle-time
⏳ Cycle Time - Last 30 Days

Stage           β”‚ Avg Time β”‚ Min    β”‚ Max
────────────────┼──────────┼────────┼────────
Todo β†’ Progress β”‚    4.2h  β”‚   15m  β”‚  2.1d
Progress β†’ Review β”‚  1.2d  β”‚   2h   β”‚  4.8d
Review β†’ Done   β”‚    6.5h  β”‚   30m  β”‚  1.8d

Total Cycle     β”‚    2.8d  β”‚  0.5d  β”‚  7.2d

By Type
───────
Feature:    3.4d avg
Bug:        1.8d avg
Hotfix:     4.2h avg
Chore:      1.2d avg

Trend

gitscrum analytics cycle-time --trend
Cycle Time Trend (12 weeks)

  5d β”‚      ●
  4d β”‚  ●       ●
  3d β”‚      ●       ●   ●   ●
  2d β”‚                      ●   ●   ●
  1d β”‚                              ●
     └────────────────────────────────
      W1  W2  W3  W4  W5  W6  W7  W8  W9  W10 W11 W12

Trend: β†˜ -32% improvement

Export Formats

JSON

gitscrum analytics velocity --format json
{
  "project": "acme-dashboard",
  "sprints": [
    {
      "name": "Sprint 15",
      "committed": 52,
      "completed": 48,
      "velocity_percent": 92
    }
  ],
  "average_velocity": 47,
  "trend": "+3%"
}

CSV

gitscrum analytics time --format csv > time_report.csv

Markdown

gitscrum analytics summary --format markdown > report.md

Scheduled Reports

Configure automated reports in .gitscrum.yml:

analytics:
  reports:
    - type: velocity
      schedule: "every friday 17:00"
      output: ./reports/velocity.json
    
    - type: time
      schedule: "end of sprint"
      output: ./reports/time.csv
    
    - type: summary
      schedule: "daily 09:00"
      notify: slack

CI/CD Integration

Generate reports in CI:

# .github/workflows/analytics.yml
name: Weekly Analytics
on:
  schedule:
    - cron: '0 17 * * 5'  # Friday 5 PM

jobs:
  report:
    runs-on: ubuntu-latest
    steps:
      - name: Generate reports
        run: |
          gitscrum analytics summary --format markdown > report.md
          gitscrum analytics velocity --format json > velocity.json
          gitscrum analytics time --format csv > time.csv
        env:
          GITSCRUM_ACCESS_TOKEN: ${{ secrets.GITSCRUM_ACCESS_TOKEN }}
      
      - name: Upload artifacts
        uses: actions/upload-artifact@v4
        with:
          name: weekly-analytics
          path: |
            report.md
            velocity.json
            time.csv

Comparison Flags

Compare against baselines:

# vs last sprint
gitscrum analytics velocity --compare last-sprint

# vs same period last month
gitscrum analytics time --compare last-month

# vs specific sprint
gitscrum analytics burndown --compare "Sprint 10"