π¦₯ LazyStandup: Automating Daily Engineering Standups with Git Telemetry
Every morning, engineering teams across the world run into the same familiar chore:
"What did you finish yesterday? What are you working on today? Any blockers?"
Most of us either frantically skim through our terminal bash history two minutes before the sync, or write vague bullet points like "Worked on tickets" or "Investigated bug".
In honor of International Sloth Day and Hacktoberfest's "Slow and Steady" theme, I built LazyStandup: a lightweight, privacy-first CLI tool that automatically turns your local git commits, diffs, and branch activity into crisp, structured daily standup notes.
π‘ The Problem & The Lazy Payoff
As Semtione pointed out in StandupBot and Gitmore discussed regarding dev reporting, developers already track their progress automaticallyβit lives right inside their git history.
Manually retyping commit messages into Slack or team wikis is pure repetitive friction. LazyStandup eliminates that cognitive tax entirely:
-
Yesterday's Progress: Extracted directly from recent commits, stripped of git noise, and classified into
[Features],[Bug Fixes],[Refactoring], or[Documentation]. - Today's Plan: Inferred from active unstaged/staged diffs and branch modifications.
- Blockers: Defaults to clean status or accepts custom inline flags.
π οΈ Architecture & Local-First Privacy
Many automated reporting bots require connecting third-party cloud services to private codebases. LazyStandup is designed with local sovereignty at its core:
βββββββββββββββββββββββββββ
β Local Git Repository β
β (.git/logs, status diff)β
βββββββββββββ¬ββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββ
β Commit Parser & Filter β ββ> Categorizes (feat, fix, chore, docs)
βββββββββββββ¬ββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββ
β Standup Engine β ββ> Synthesizes Yesterday / Today / Blockers
βββββββββββββ¬ββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββ
β Presentation Formatter β
β (Markdown | Slack mrkdwn | JSON Schema)β
ββββββββββββββββββββββββββββββββββββββββββ
- Standard Library Only: Zero heavy dependencies; runs on pure Python 3.8+.
- Offline & Air-Gapped: Your internal commit messages and proprietary code paths never leave your local workstation.
- Multi-Platform Output: Renders formatted Markdown for GitHub/Notion, Slack mrkdwn (with status emojis), or structured JSON.
π Quick Demo & Usage
Run it inside any repository directory:
# Standard Markdown format
lazystandup
# Slack formatted output ready for pasting
lazystandup --format slack
# Filter by time range or author
lazystandup --since "yesterday" --format slack
Sample Slack Output
*Daily Standup Update*
*Yesterday:*
β’ [Features] Implemented git log extraction parser (`e9f1a23`)
β’ [Bug Fixes] Resolved timestamp zone offset in git range (`4c82b10`)
*Today:*
β’ WIP on `lazystandup/cli.py` (M)
β’ Wrap up active pull requests & review updates
*Blockers:*
β’ None :white_check_mark:
π Why Open Innovation Matters
Automation tools should respect developer privacy. By relying on open, inspectable local tooling rather than opaque cloud aggregators, developers keep full ownership of their telemetry while still saving valuable minutes every morning.
Check out the project repository: GitHub - AtharvVhanalkar/lazystandup.
Top comments (0)