AI-powered developer journal that transforms your git history into meaningful narratives using GitHub Copilot CLI.
devlog reads your git commits and uses GitHub Copilot CLI to generate human-readable developer journals, standup reports, weekly recaps, and release notes — all from your terminal.
Developers write commit messages, but rarely take time to reflect on what they actually accomplished. devlog bridges that gap by turning raw git history into:
- Daily journals — What did I actually do today?
- Standup reports — Ready-to-share yesterday/today/blockers format
- Weekly recaps — High-level view of your week's progress
- Release notes — Auto-categorized changelogs from tags
- Custom recaps — Summarize any commit range
All powered by GitHub Copilot CLI for intelligent, context-aware summaries.
- Node.js 18+
- Git
- GitHub CLI with Copilot extension
# Install GitHub CLI if you haven't
brew install gh # macOS
# or: sudo apt install gh # Ubuntu/Debian
# Authenticate
gh auth login
# Install Copilot CLI extension
gh extension install github/gh-copilot# Clone the repository
git clone https://github.com/Garinmckayl/devlog-cli.git
cd devlog
# Install dependencies and build
npm install
npm run build
# Link globally (optional)
npm linkRun devlog from any git repository:
devlog todaySummarizes all commits from today with an AI-generated narrative.
devlog standupGenerates a standup-ready report with yesterday's work, today's progress, and potential blockers.
devlog weekProvides a weekly overview grouped by day with AI highlights.
devlog releaseGenerates categorized release notes from all commits since the last git tag.
devlog recap HEAD~10..HEAD
devlog recap abc123..def456Summarizes any arbitrary commit range.
devlog statusVerifies your setup: git repo, branch, author, and Copilot CLI availability.
devlog initCreates a .devlogrc configuration file in your project.
All commands support these flags:
| Flag | Description |
|---|---|
-o, --output <file> |
Save output as a Markdown file |
--json |
Output structured JSON |
--no-ai |
Skip AI summarization (show raw commits only) |
# Save today's journal as markdown
devlog today -o journal.md
# Get JSON output for automation
devlog week --json > weekly-report.json
# Quick commit list without AI
devlog today --no-aiCreate a .devlogrc file in your project root or home directory:
{
"format": "terminal",
"useCopilot": true,
"showFiles": true,
"showStats": true,
"maxCommits": 100
}Generate a starter config with:
devlog init- Git Parsing — devlog reads your git log, extracting commits, diffs, and file changes using
simple-git - Copilot CLI Integration — Commit data is formatted into natural language prompts and sent to
gh copilot explainfor AI-powered summarization - Smart Categorization — Copilot CLI categorizes commits into features, fixes, refactors, docs, etc.
- Beautiful Output — Results are rendered with rich terminal formatting using
chalkandboxen - Export — Optionally save as Markdown files or JSON for integration with other tools
devlog uses GitHub Copilot CLI in several ways:
gh copilot explain— Generates natural language summaries from commit data- Commit categorization — AI-powered classification of commit types
- Standup generation — Intelligent yesterday/today/blockers formatting
- Release note authoring — Categorized changelogs with context-aware descriptions
When Copilot CLI is not available, devlog falls back to local keyword-based summarization.
- TypeScript — Type-safe codebase
- Commander.js — CLI argument parsing
- simple-git — Git log parsing
- chalk + boxen — Terminal UI
- ora — Loading spinners
- date-fns — Date manipulation
- GitHub Copilot CLI — AI-powered summarization
MIT License — see LICENSE for details.
This project was built as part of the GitHub Copilot CLI Challenge on DEV Community. GitHub Copilot CLI was used extensively throughout the development process for code generation, debugging, and the core AI summarization features.