No description
  • TypeScript 100%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-02-02 15:23:00 +01:00
.gitignore chore: git ignore 2026-02-02 15:23:00 +01:00
package.json chore: initial commit 2025-03-23 18:33:23 +01:00
README.md chore: initial commit 2025-03-23 18:33:23 +01:00
wakamonth.ts chore: rounding 2026-02-02 15:18:29 +01:00

Wakamonth

Generate reports of working time in hours per Git branch, based on your Wakatime/Wakapi activity. Please notice that time tracked by these tools are an estimate; not legally binding, so make sure to always verify the output of Wakamonth manually when using it for billing reports / invoices.

Getting started

A wakatime.cfg file is required with api_key and api_url set. Use like:

bunx @garage44/wakamonth -y 2024 -m 1 -p myproject report
# Export to Excel sheet:
bunx @garage44/wakamonth -y 2024 -m 1 -p myproject report -e xlsx
# Target specific user:
bunx @garage44/wakamonth -y 2024 -m 1 -p myproject -u myuser report -e xlsx

Config

A Wakamonth config file is not required, unless you want to change its defaults:

{
    "autolink": {
        "enabled": "false",
        "issue_regex": "^\\d+",
        "url": "https://codeberg.org/organisation/{{project}}/issues/{{issue}}"
    },
    "include": {
        "ignore_regex": "^-fix-|main|staging"
    },
    "precision": 30,
    "spread_unallocated": true
}
  • autolink: automatically links a branch name to an issue in the export
  • include.ignore_regex: regex for branch names to exclude from the total count
  • precision: 60 (hours) | 30 (half-hourly) | 15 (quarter-hourly)
  • spread_unallocated: Unallocated hours will be spread across other branches if active
wget https://codeberg.org/garage44/wakamonth/raw/branch/main/.wakamonthrc.example -o ~/.wakamonthrc
vim ~/.wakamonthrc

Development

git clone https://codeberg.org/garage44/wakamonth.git
cd wakamonth
bun install
bun run wakamonth.ts -y 2024 -m 1 -p myproject report -e stdout