This is a submission for the GitHub Copilot CLI Challenge
What I Built
Have you ever looked at git log and thought, "This tells me nothing about my projectβs journey"?
commit abc1234
Author: Mayuresh Shitole
Date: Mon Feb 3
fixed bug
commit def5678
Author: Mayuresh Shitole
Date: Sun Feb 2
update
Boring, right? Every repository has an incredible story hidden in its commits - the late-night breakthroughs, the major refactors, the "aha!" moments. But git logs donβt capture that narrative.
Thatβs why I built Terminal Time Machine - a CLI tool that transforms your git history into engaging stories with beautiful ASCII visualizations.
π― What It Does
Terminal Time Machine (ttm) analyzes your git reβ¦
This is a submission for the GitHub Copilot CLI Challenge
What I Built
Have you ever looked at git log and thought, "This tells me nothing about my projectβs journey"?
commit abc1234
Author: Mayuresh Shitole
Date: Mon Feb 3
fixed bug
commit def5678
Author: Mayuresh Shitole
Date: Sun Feb 2
update
Boring, right? Every repository has an incredible story hidden in its commits - the late-night breakthroughs, the major refactors, the "aha!" moments. But git logs donβt capture that narrative.
Thatβs why I built Terminal Time Machine - a CLI tool that transforms your git history into engaging stories with beautiful ASCII visualizations.
π― What It Does
Terminal Time Machine (ttm) analyzes your git repository and generates:
π Narrative Stories - Your commits become chapters in an epic tale:
βββββββββββββββββββββββββββββββββββββββββββββββββββ
Chapter 2: The Great Refactoring
February 2026
βββββββββββββββββββββββββββββββββββββββββββββββββββ
As the project matured, the team faced a critical decision.
The monolithic architecture that served us well in early days
now threatened to slow us down.
Over 23 commits across 8 intense days, the codebase was
reimagined. Sarah led the database migration effort, while
the team rallied around backward compatibility...
π¨ ASCII Timelines - Visual representations of your history:
2025 β
Jan βββββββββββββββββββββββββ Project inception
β β β ββ First working prototype
β β ββ Core architecture decided
β ββ Initial commit "Hello, World!"
β
Feb ββββββββββββββββββββββββββ Major refactor begins
β β β ββ Tests: 45% β 78%
β β ββ Database layer complete
β ββ API endpoints redesigned
β
Mar ββββββββββββββββββββββββββ v1.0 Released! π
π₯ Contributor Spotlights - Beautiful analysis of who built what:
ββββββββββββββββββββββββββββββββββββββββββββββββββ
β CONTRIBUTOR SPOTLIGHT β
ββββββββββββββββββββββββββββββββββββββββββββββββββ
π Statistics:
β’ 234 commits (42% of total)
β’ 12,847 lines added
β’ Most active: February-March 2025
β’ Top expertise: Backend architecture
π₯ Activity Heatmap:
Jan ββββββββββββββββ
Feb ββββββββββββββββ
Mar ββββββββββββββββ
Apr ββββββββββββββββ
β‘ Smart Features:
- π― Milestone Detection - Automatically identifies releases, refactors, and key moments
- π Release Notes Generator - Professional changelogs in seconds
- πΎ Multiple Export Formats - Markdown, HTML, JSON
- π¨ Color Themes - Classic, Hacker, Sunset, Ocean
- π Repository Statistics - Comprehensive analytics
π‘ Why This Matters
As a developer and founder at Ambicube Limited in the UK, Iβve seen how important it is to communicate technical work to non-technical stakeholders. Git logs are great for developers, but they donβt tell the story of what weβve built.
Terminal Time Machine bridges that gap. It helps:
- Teams onboard new members by showing project evolution
- Managers understand velocity and contribution patterns
- Maintainers generate beautiful release notes automatically
- Everyone appreciate the journey of building software
This tool turns technical data into human stories.
Demo
π¬ See It In Action
π¦ Try It Yourself
# Install globally
npm install -g terminal-time-machine
# Navigate to any git repository
cd your-project
# Generate your story
ttm story
# Show timeline
ttm timeline
# Analyze contributors
ttm contributors
# Generate release notes
ttm release-notes v1.0.0..v2.0.0
π Links
- npm Package: https://www.npmjs.com/package/terminal-time-machine
- GitHub Repository: https://github.com/mayureshsmitasuresh/terminal-time-machine
- Documentation: README.md
πΈ Screenshots
Story Mode Output: ![Story Generation]
Narrative generation showing project evolution
My Experience with GitHub Copilot CLI
GitHub Copilot CLI was absolutely transformative for this project. As a solo developer working on this challenge, having an AI pair programmer available 24/7 made the difference between "good idea" and "shipped product."
ποΈ 1. Architecting the Core Story Generator
The Challenge: I needed to transform raw git commit data into coherent narrative text. How do you group commits into logical "chapters"? How do you identify meaningful patterns?
What I Did:
gh copilot suggest "What's the best approach to analyze git commits
and group them into logical chapters for a narrative story generator?"
Copilotβs Response: It suggested three key strategies:
- Time-based clustering - Group by weeks/months
- Semantic analysis - Analyze commit messages for themes
- File-based grouping - Commits affecting similar files
This became the foundation of my commit-analyzer.js module. Copilot then helped me implement each strategy:
gh copilot suggest "Write a JavaScript function that groups git commits
by semantic similarity using commit message analysis"
Impact: What could have taken 3-4 days of research and experimentation took 6 hours. Copilot CLI helped me understand NLP approaches Iβd never used before.
π 2. Debugging the "enrichedCommits" Error
The Bug: My code kept throwing "Cannot access 'enrichedCommits' before initialization" - a JavaScript temporal dead zone error.
What I Did:
gh copilot explain "Why am I getting 'Cannot access enrichedCommits
before initialization' in this async function?"
Then pasted my problematic code.
Copilotβs Analysis: It immediately identified that I was using the variable before declaring it due to incorrect async/await ordering. It showed me the exact line and explained the fix.
Impact: Debugged in 5 minutes instead of potentially hours. The explanation also taught me about JavaScriptβs temporal dead zone, making me a better developer.
π¨ 3. Creating ASCII Art Visualizations
The Challenge: I wanted beautiful ASCII timelines but had zero experience creating them.
What I Did:
gh copilot suggest "Create a Node.js function that generates an ASCII
timeline from an array of git commits with dates and descriptions"
Copilotβs Output: It generated a complete working implementation using Unicode box-drawing characters. I then iterated:
gh copilot suggest "How can I add branch points and merge indicators
to this ASCII timeline using Unicode characters?"
This led to the branching visualizations you see in the tool.
Impact: Went from "I have no idea how to do this" to a working, beautiful visualization in under an hour.
π‘ 4. Feature Ideation
Some of my best features came from asking Copilot "what if" questions:
gh copilot suggest "What are creative ways to visualize contributor
activity patterns in a terminal application?"
Result: Copilot suggested:
- Activity heatmaps (implemented! β )
- Contribution streaks (implemented! β )
- Time-of-day analysis (on roadmap)
- Collaboration graphs (future feature)
Impact: Added features I hadnβt even thought of. The contributor spotlight feature was directly inspired by this conversation.
π§ͺ 5. Writing Tests
The Challenge: Testing git operations is complex - how do you mock git commands?
What I Did:
gh copilot suggest "How do I write unit tests for a function that
parses git log output without actually running git commands?"
Copilotβs Guidance: It explained:
- Using test fixtures (sample git output)
- Mocking the
simple-gitlibrary - Structuring tests for async operations
Then it generated example test cases I could adapt.
Impact: Got from 0% to 85% test coverage in one day. Would have taken 3-4 days without Copilotβs help.
π 6. Performance Optimization
The Problem: Processing 10,000+ commits was taking minutes.
What I Did:
gh copilot suggest "How can I optimize this Node.js code that processes
large arrays of git commits? Current implementation is too slow"
Copilotβs Suggestions:
- Streaming instead of loading everything into memory
- Lazy loading for enriched commit data
- Caching frequently accessed data
- Using
Promise.all()for parallel processing
Impact: 10x performance improvement. The tool now handles massive repos like the Linux kernel gracefully.
π 7. Documentation Generation
The Challenge: Writing comprehensive documentation is time-consuming.
What I Did:
gh copilot suggest "Generate comprehensive CLI usage documentation
for a tool with these commands: story, timeline, contributors,
release-notes, export, stats"
Result: Copilot created a well-structured documentation template with:
- Clear command descriptions
- Usage examples
- Common use cases
- Troubleshooting tips
I refined and personalized it, but the foundation saved hours of work.
Impact: Professional documentation completed in 2 hours instead of a full day.
π― Overall Impact of GitHub Copilot CLI
Time Saved: Estimated 2-3 weeks of development time
Quality Improved:
- Better architecture (learned new patterns)
- More features (ideas I wouldnβt have thought of)
- Higher test coverage (85% vs. my usual 60%)
- Better performance (learned optimization techniques)
Learning Accelerated:
- Discovered NLP techniques
- Learned advanced async/await patterns
- Understood Unicode box-drawing
- Improved testing practices
Confidence Boosted: I tackled complex problems Iβd normally avoid because I had an expert available to guide me through them.
π¬ The Conversational Difference
What made Copilot CLI special wasnβt just code generation - it was the conversation. Instead of:
- Google search
- Read Stack Overflow
- Try solution
- Fail
- Repeat
I could just ask about my specific problem and get tailored guidance. It felt like pair programming with a senior developer whoβs always available, never judgmental, and infinitely patient.
Technical Highlights
π οΈ Built With
- Node.js - Runtime environment
- Commander.js - CLI framework
- simple-git - Git operations
- chalk & gradient-string - Beautiful terminal colors
- boxen & cli-table3 - Elegant formatting
- inquirer - Interactive prompts
- ora - Loading spinners
- marked & marked-terminal - Markdown rendering
- asciichart - ASCII charts
- figlet - ASCII art text
π Project Stats
- Lines of Code: ~2,800
- Development Time: 10 days
- Test Coverage: 85%
- npm Downloads: [Growing!]
- GitHub Stars: [Give me one! β]
π¨ Key Features Implementation
1. Smart Commit Analysis
// Groups commits by semantic similarity
// Detects patterns in file changes
// Identifies refactoring vs. new features
2. Milestone Detection
- First commit detection
- Version tag parsing (semantic versioning)
- Major refactor identification (high churn)
- Documentation update recognition
- Test coverage improvements
3. Beautiful Output
- 4 color themes (Classic, Hacker, Sunset, Ocean)
- Responsive terminal width detection
- Unicode support with ASCII fallbacks
- Progress indicators for long operations
Whatβs Next
Iβm planning to add:
- π€ AI-powered commit quality scoring - Analyze commit message quality
- π More visualization types - Dependency graphs, code churn heatmaps
- π Web version - Interactive timeline in the browser
- π GitHub/GitLab integration - Include issues and PRs in the story
- π€ Audio narration - Hear your git story read aloud
- π± Mobile companion app - View stories on mobile
- π Learning mode - Analyze successful open-source projects
Try It Today! π
# Install
npm install -g terminal-time-machine
# Use it
cd your-favorite-project
ttm story
Links:
- π¦ npm: https://www.npmjs.com/package/terminal-time-machine
- π» GitHub: https://github.com/mayureshsmitasuresh/terminal-time-machine
- β Star it if you like it!
- π Report bugs or request features
- π¬ Share your git stories - Iβd love to see them!
About Me
Iβm Mayuresh Shitole, a solo founder at Ambicube Limited UK in the UK. I love building tools that make developersβ lives easier and help teams communicate better about technical work.
This project combines my passion for storytelling, developer tools, and beautiful terminal UIs. I believe every codebase has a story worth telling.
Connect with me:
- π§ Email: mayureshshitole@gmail.com
- πΌ GitHub: @mayureshshitole
- π’ Company: Ambicube Limited, UK
Acknowledgments
Huge thanks to:
- GitHub for sponsoring this challenge and building Copilot CLI
- DEV Community for providing this amazing platform
- You for reading this far! π
Final Thoughts
Building Terminal Time Machine taught me that the best tools solve problems people didnβt know they had. Everyone accepts that git logs are boring - but they donβt have to be!
GitHub Copilot CLI was instrumental in turning this idea into reality. It wasnβt just about writing code faster - it was about:
- Learning new techniques
- Exploring ideas Iβd normally avoid
- Shipping a polished product
- Having fun while building
If youβve ever wanted to see your git history come alive, give Terminal Time Machine a try. And if youβre participating in hackathons or challenges, definitely use Copilot CLI - itβs like having a senior developer on your team who never sleeps.
May your commits be meaningful and your git history epic! π°οΈβ¨