wakapi-sync
// Daily Wakapi (WakaTime-compatible) summary → local CSV files. Fetch today stats and append/update CSVs for totals, top projects, and top languages.
$ git log --oneline --stat
stars:1,933
forks:367
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
namewakapi-sync
descriptionDaily Wakapi (WakaTime-compatible) summary → local CSV files. Fetch today stats and append/update CSVs for totals, top projects, and top languages.
metadata[object Object]
wakapi-sync
Daily Wakapi (WakaTime-compatible) summary → local CSV files.
What it does
- Fetches today stats from Wakapi and appends/updates CSVs:
daily-total.csv(1 row/day)daily-top-projects.csv(N rows/day)daily-top-languages.csv(N rows/day)
Requirements
- Node.js 18+
Configuration (env vars)
WAKAPI_URL(required)- Example:
https://wakapi.example.com
- Example:
WAKAPI_API_KEY(required)- Your Wakapi API key.
WAKAPI_OUT_DIR(required)- Output directory for CSVs.
- Example:
~/wakapi-data
Optional:
WAKAPI_TOP_N_PROJECTS(default:10)WAKAPI_TOP_N_LANGUAGES(default:10)
Auth:
- Uses
Authorization: Basic base64(<api_key>)(matches our current Wakapi setup).
Usage
Run:
node scripts/wakapi-daily-summary.mjs
Output CSV schemas
daily-total.csv
Columns:
date(YYYY-MM-DD)total_secondstotal_hoursprojects_countlanguages_count
daily-top-projects.csv
Columns:
daterankprojectsecondshourspercent
daily-top-languages.csv
Columns:
dateranklanguagesecondshourspercent