A metrics tool for open-source creators.
Dashboard is a modular, configurable, and robust Bash script that provides a consolidated view of your key metrics from various services like GitHub, Hacker News, and more. With support for multiple output formats including JSON, XML, HTML, and Markdown, you can easily integrate your dashboard into websites, reports, or other tools.
./dashboard.sh -f tsv
date module channels namespace value
2025-09-01T20:28:46Z discord online discord 3
2025-09-01T20:28:46Z github stars repo.attogram.games 135
2025-09-01T20:28:46Z github forks repo.attogram.games 68
2025-09-01T20:28:46Z github open_issues repo.attogram.games 1
2025-09-01T20:28:46Z github watchers repo.attogram.games 7
2025-09-01T20:28:47Z github stars repo.attogram.EightQueens 15
2025-09-01T20:28:47Z github forks repo.attogram.EightQueens 4
2025-09-01T20:28:47Z github open_issues repo.attogram.EightQueens 0
2025-09-01T20:28:47Z github watchers repo.attogram.EightQueens 2
2025-09-01T20:28:47Z github stars repo.attogram.base 2
2025-09-01T20:28:47Z github forks repo.attogram.base 1
2025-09-01T20:28:47Z github open_issues repo.attogram.base 0
2025-09-01T20:28:47Z github watchers repo.attogram.base 2
2025-09-01T20:28:48Z github stars repo.attogram.dashboard 1
2025-09-01T20:28:48Z github forks repo.attogram.dashboard 0
2025-09-01T20:28:48Z github open_issues repo.attogram.dashboard 0
2025-09-01T20:28:48Z github watchers repo.attogram.dashboard 1
2025-09-01T20:28:54Z hackernews karma your_username_here 30
plain
, pretty
(with colors), json
, xml
, html
, yaml
, csv
, tsv
, table
, and markdown
.config/config.sh
file.curl
and jq
to run.bash
(version 3.2 or higher)curl
jq
Clone this repository:
git clone https://github.com/attogram/dashboard.git
cd dashboard
Create your configuration file by copying the template:
cp config/config.dist.sh config/config.sh
Edit config/config.sh
with your own usernames and settings.
To run a full report in the default tsv
format:
./dashboard.sh
To specify an output format, use the -f
or --format
flag:
./dashboard.sh --format pretty
./dashboard.sh -f json
To save the report to a specific file or directory, use the -o
or --output
flag:
# Save to a specific file
./dashboard.sh -o my_report.tsv
# Save to a directory (a timestamped filename will be generated)
./dashboard.sh -o reports/
To run only a specific module:
./dashboard.sh github
./dashboard.sh --format html hackernews
All configuration is done in the config/config.sh
file.
# Your Hacker News username
HN_USER="your_username_here"
# Your GitHub username
GITHUB_USER="your_username_here"
# A space-separated list of your key GitHub repositories to track.
REPOS=("your-repo-1" "your-repo-2")
# (Optional) Your Discord Server ID for tracking online members.
DISCORD_SERVER_ID=""
# (Optional) GitHub Personal Access Token (PAT) for the 'github-sponsors' module.
# The token needs the 'read:user' scope.
GITHUB_TOKEN=""
For more detailed information on the architecture, modules, output formats, and contribution guidelines, please see the full documentation.