daily-git-summary
v1.0.0
Published
CLI tool to generate daily git commit summaries for standup meetings
Maintainers
Readme
Daily Git Summary
A CLI tool that generates daily summaries of your git commits for standup meetings. Automatically groups commits by conventional commit type and respects your custom daily reset time of 6:00 PM PHT.
Features
- ✅ Smart Time Range: Defines a "day" as 6:00 PM yesterday to 6:00 PM today (PHT) by default
- ✅ Customizable Times: Set your own start/end times and timezone
- ✅ Organized Storage: Automatically saves to
.daily-git-summary/folder - ✅ Gitignore Integration: Automatically adds summary folder to .gitignore
- ✅ Conventional Commits: Parses and groups commits by type (feat, fix, refactor, etc.)
- ✅ Markdown Output: Generates beautiful markdown summaries ready for sharing
- ✅ Terminal Display: View summaries directly in your terminal with colored output
- ✅ File Statistics: Shows most changed files and total stats
- ✅ Smart Suggestions: Identifies WIP commits and related issues for planning your day
- ✅ Flexible: Works with any git repository
Installation
Global Installation (Recommended)
# From the project directory
npm install -g .
# Or install from npm
npm install -g daily-git-summaryLocal Usage
# Build the project
npm run build
# Run from any git repository
node /path/to/daily-git-summary/dist/cli.jsUsage
Basic Usage
Run from any git repository to generate today's summary:
daily-summaryOr use the short alias:
dsThis will create a file named daily-summary-2026-01-07.md in the .daily-git-summary/ folder and automatically add the folder to .gitignore if not already present.
Options
Options:
-V, --version output the version number
-d, --date <YYYY-MM-DD> generate summary for a specific date
-o, --output <path> custom output path for the markdown file
--start-time <HH:MM> custom start time (24-hour format, default: 18:00)
--end-time <HH:MM> custom end time (24-hour format, default: 18:00)
--timezone <TZ> custom timezone (default: Asia/Manila)
--folder <path> folder for summaries (default: .daily-git-summary)
--no-folder save in current directory instead of folder
--no-file print to terminal only, do not save to file
-v, --verbose show debug information
-h, --help display help for commandExamples
Generate summary for today:
daily-summary
# Saves to .daily-git-summary/ and automatically adds to .gitignoreCustom work hours (9 AM to 5 PM):
daily-summary --start-time 09:00 --end-time 17:00Different timezone:
daily-summary --timezone "America/New_York"Custom folder location:
daily-summary --folder docs/standupsLegacy behavior (save in current directory):
daily-summary --no-folderGenerate summary for a specific date:
daily-summary --date 2026-01-06Print to terminal without saving:
daily-summary --no-fileCustom output file (overrides folder):
daily-summary --output my-standup-notes.mdVerbose mode for debugging:
daily-summary --verboseOutput Format
The generated markdown includes:
- Overview: Time period, commit count, files changed, current branch
- What I Did Yesterday: Commits grouped by type (Features, Bug Fixes, etc.)
- Files Most Changed: Top 10 files with change frequency
- Suggested For Today: Smart suggestions based on WIP commits, current branch, and issue numbers
Sample Output
# Daily Summary - January 7, 2026
## Overview
- **Period**: Jan 6, 6:00 PM - Jan 7, 6:00 PM PHT
- **Commits**: 5
- **Files Changed**: 12
- **Current Branch**: `feature/payment-integration`
## What I Did Yesterday
### Features (2 commits)
- feat(auth): implement JWT refresh token rotation
- feat(api): add pagination to user list endpoint
### Bug Fixes (2 commits)
- fix(payment): resolve race condition in checkout flow
- fix(ui): correct mobile responsive layout issues
### Documentation (1 commit)
- docs: update API documentation for payment endpoints
## Files Most Changed
1. `src/features/auth/hooks/useAuth.ts` (3 changes)
2. `src/features/payment/PaymentFlow.tsx` (2 changes)
## Suggested For Today
- Continue work on branch: `feature/payment-integration`
- Related issues: #123, #456How It Works
- Time Calculation: Converts your configured time (default 6:00 PM PHT) to UTC and calculates the time range
- Git Query: Fetches commits from the current repository within the time range
- Parsing: Analyzes each commit using conventional commit format
- Grouping: Organizes commits by type (feat, fix, refactor, etc.)
- File Management: Creates
.daily-git-summary/folder if needed - Generation: Creates a markdown file with all sections and statistics
Conventional Commit Types
The tool recognizes these commit types:
feat: New featuresfix: Bug fixesrefactor: Code refactoringperf: Performance improvementsdocs: Documentation changesstyle: Code style/formattingtest: Testsbuild: Build system changesops: Operations/infrastructurechore: Miscellaneous tasks
Commits that don't follow conventional format are grouped under "Other".
Development
Build
npm run buildWatch Mode
npm run devProject Structure
daily-git-summary/
├── src/
│ ├── cli.ts # CLI entry point and command handling
│ ├── git.ts # Git operations using simple-git
│ ├── parser.ts # Conventional commit parsing
│ ├── markdown.ts # Markdown generation
│ ├── time.ts # Time range calculations with PHT timezone
│ └── types.ts # TypeScript type definitions
├── bin/
│ └── daily-summary # Executable symlink
└── dist/ # Compiled JavaScript (generated)Requirements
- Node.js >= 16.0.0
- Git installed and configured
- A git repository with commits
License
MIT
Author
Created for daily standup meetings to quickly summarize your work.
