
Company News
Socket Named Top Sales Organization by RepVue
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.
github.com/hannasdev/kanban-reports
Advanced tools
A Go application for generating productivity reports and metrics from Kanban board data exported as CSV. Track team performance, analyze flow efficiency, and identify improvement opportunities with comprehensive reporting and metrics analysis.
# Build and run setup
./scripts/setup.sh
# Start interactive mode
./bin/kanban-reports --interactive
# Show all available options
./bin/kanban-reports --help
# See practical examples
./bin/kanban-reports --examples
# Quick example with sample data
./bin/kanban-reports --csv data/sample.csv --type contributor --last 30
This application is specifically designed to work with CSV exports from Shortcut.com (formerly Clubhouse).
The application automatically maps Shortcut.com CSV columns including:
| Shortcut Field | Used For | Report Types |
|---|---|---|
owners | Contributor attribution | Contributor reports |
epic | Epic grouping | Epic reports |
team | Team attribution | Team reports |
estimate | Story points | All reports & metrics |
completed_at | Completion tracking | Date filtering, metrics |
created_at | Lead time calculation | Lead time metrics |
started_at | Cycle time calculation | Flow & cycle time metrics |
labels | Ad-hoc filtering | Filtering (looks for "ad-hoc-request" label) |
product_area | Product categorization | Product area reports |
# Clone the repository
git clone https://github.com/hannasdev/kanban-reports.git
cd kanban-reports
# Build the application
go build -o bin/kanban-reports ./cmd/kanban-reports
# Build, test, and set up everything
make all
# Or just build
make build
# Run tests
make test
# Install to GOPATH/bin
make install
# Team productivity this month
./bin/kanban-reports --csv kanban-data.csv --type contributor --last 30
# Epic progress over the quarter
./bin/kanban-reports --csv kanban-data.csv --type epic --last 90 --output epic-report.txt
# Product area breakdown for specific period
./bin/kanban-reports --csv kanban-data.csv --type product-area --start 2024-01-01 --end 2024-03-31
# Analyze lead times by story point size
./bin/kanban-reports --csv kanban-data.csv --metrics lead-time --last 90
# Weekly throughput trends
./bin/kanban-reports --csv kanban-data.csv --metrics throughput --period week --last 180
# Complete metrics analysis
./bin/kanban-reports --csv kanban-data.csv --metrics all --last 90 --output full-analysis.txt
# Exclude ad-hoc work to see planned work only
./bin/kanban-reports --csv kanban-data.csv --type team --last 30 --ad-hoc exclude
# Analyze only urgent/ad-hoc requests
./bin/kanban-reports --csv kanban-data.csv --metrics throughput --ad-hoc only --last 60
# Filter by creation date instead of completion date
./bin/kanban-reports --csv kanban-data.csv --type contributor --last 30 --filter-field created_at
| Flag | Description | Example |
|---|---|---|
--help, -h | Complete help with all options | ./bin/kanban-reports --help |
--examples | Practical usage examples | ./bin/kanban-reports --examples |
--version | Version information | ./bin/kanban-reports --version |
--interactive, -i | Interactive menu mode | ./bin/kanban-reports -i |
--csv | Path to the kanban CSV file (required) | --csv data/kanban-data.csv |
--type | Report type (contributor, epic, product-area, team) | --type epic |
--metrics | Metrics type (lead-time, throughput, flow, estimation, age, improvement, all) | --metrics lead-time |
--period | Time period for metrics (week, month) | --period week |
--start | Start date (YYYY-MM-DD) | --start 2024-05-01 |
--end | End date (YYYY-MM-DD) | --end 2024-05-31 |
--last | Last N days | --last 7 |
--output | Save to file | --output report.txt |
--delimiter | CSV delimiter (comma, tab, semicolon, auto) | --delimiter comma |
--ad-hoc | Ad-hoc filter (include, exclude, only) | --ad-hoc exclude |
id: Unique identifier for the itemname: Name or title of the itemestimate: Story points or estimate valueis_completed: Boolean indicating if the item is completedcompleted_at: Date when the item was completedowners: Person(s) assigned to the item (semicolon-separated)epic: Epic nameteam: Team nameproduct_area: Product area or categorytype: Type of work (feature, bug, task, etc.)created_at: When the item was createdstarted_at: When work began on the itemlabels: Labels (use "ad-hoc-request" for filtering)id,name,type,requester,owners,description,is_completed,created_at,started_at,updated_at,moved_at,completed_at,estimate,external_ticket_count,external_tickets,is_blocked,is_a_blocker,due_date,labels,epic_labels,tasks,state,epic_id,epic,project_id,project,iteration_id,iteration,utc_offset,is_archived,team_id,team,epic_state,epic_is_archived,epic_created_at,epic_started_at,epic_due_date,milestone_id,milestone,milestone_state,milestone_created_at,milestone_started_at,milestone_due_date,milestone_categories,epic_planned_start_date,workflow,workflow_id,priority,severity,product_area,skill_set,technical_area,custom_fields
Story Points by Contributor:
john@example.com 25.0 points 8 items
jane@example.com 18.5 points 6 items
bob@example.com 12.0 points 4 items
Unassigned 3.0 points 2 items
Total: 58.5 points across 20 items
# Lead Time Analysis by Story Point Size (in days)
Story points | Count | Min | Max | Avg | Median
-------------|-------|-----|-----|-----|-------
1 | 15 | 2.5 | 8.3 | 4.2 | 3.8
3 | 12 | 3.1 | 9.7 | 5.8 | 5.2
5 | 8 | 5.7 | 15.2 | 10.1 | 9.5
8 | 5 | 7.2 | 21.5 | 14.3 | 12.8
# Flow Efficiency Analysis
State | Avg Time (days) | % of Total Time
--------|-----------------|---------------
Waiting | 12.5 | 71.4%
Active | 5.0 | 28.6%
Flow Efficiency: 28.6%
kanban-reports/
├── cmd/
│ └── kanban-reports/ # Main application entry point
├── internal/
│ ├── config/ # Application configuration & CLI parsing
│ ├── menu/ # Interactive menu system
│ ├── models/ # Data models and types
│ ├── parser/ # CSV parsing logic
│ ├── reports/ # Report generation
│ ├── metrics/ # Advanced metrics generation
│ └── validation/ # Input validation utilities
├── pkg/
│ ├── dateutil/ # Date handling utilities
│ ├── filtering/ # Data filtering utilities
│ └── types/ # Shared type definitions
├── scripts/ # Build and setup scripts
├── data/ # Place your CSV files here
├── Makefile # Build automation
└── README.md
# Run all tests
make test
# Run tests with coverage
make coverage
# Run tests for specific package
go test ./internal/reports/...
# Run with verbose output
go test -v ./internal/...
internal/reports/types.gointernal/reports/GenerateReportcmd/kanban-reports/main.gointernal/metrics/types.gointernal/metrics/Generator.Generate()"required column 'X' not found"
"CSV file validation failed"
--delimiter auto for automatic detection"No items completed in the specified date range"
--filter-field created_at for broader results# Show detailed help
./bin/kanban-reports --help
# See practical examples
./bin/kanban-reports --examples
# Use interactive mode for guided setup
./bin/kanban-reports --interactive
Contributions are welcome! Please feel free to submit a Pull Request.
git checkout -b feature/new-metric)make test)git commit -am 'Add new metric type')git push origin feature/new-metric)This project is licensed under the MIT License - see the LICENSE file for details.
./scripts/setup.sh to get started quickly./bin/kanban-reports --interactive--metrics all for comprehensive analysisFor questions, issues, or feature requests, please open an issue on GitHub.
FAQs
Unknown package
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.

Company News
/Security News
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.