Time tracking for teams that live in GitHub.
Developers log hours with slash commands in issue comments. Billbird stores the entries, attributes them to clients, and gets out of the way.
A developer finishes work on an issue. They comment:
/log 2h
Billbird's bot replies:
Logged 2h for @developer (entry #1)
That's it. The time is recorded, linked to the issue, and visible to admins. No app to open, no tab to switch to, no form to fill out.
Need to fix a mistake? Comment /correct 3h. Need to remove it entirely? Comment /delete. Every change is tracked, nothing is ever lost.
| Command | Example | What it does |
|---|---|---|
/log <duration> [description] |
/log 1h30m Code review |
Log time on the current issue |
/correct <duration> [description] |
/correct 2h |
Replace your last entry on this issue |
/delete |
/delete |
Remove your last entry on this issue |
Durations support hours (2h), minutes (45m), or both (1h30m).
Billbird is a GitHub App that listens to issue comment webhooks. When it sees a slash command, it:
- Parses the command and duration
- Checks the issue's labels to auto-attribute a client (if configured)
- Stores the time entry in Postgres
- Posts a confirmation comment on the issue
Corrections create a new entry that supersedes the old one. Deletes mark entries as deleted. Nothing is ever physically removed from the database --- the issue thread is the audit log.
# Clone and start
git clone https://github.com/mwesterweel/billbird.git
cd billbird
cp env.example .env # fill in your GitHub App credentials
docker compose upSee docs/setup.md for GitHub App registration and configuration.
- Setup guide --- GitHub App registration, configuration, deployment
- Commands reference --- Slash command syntax and behavior
- Client attribution --- Mapping GitHub labels to clients
- Corrections and deletions --- How the correction chain works
- Architecture --- System design and API-first approach
- Configuration reference --- All environment variables
- Self-hosting --- Docker Compose and Kubernetes deployment
- Contributing --- Development setup and guidelines