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
Date: Mon Feb 3
fixed bug
commit def5678
Author: Mayuresh
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! π°οΈβ¨
Top comments (4)
amazing project mayuresh, always been reading your rust projects great to see your javascript contribution
Thank you
This is great, I used this npm package today, found out my commits are not detailed which should be and packed also helped to read them properly through visualisation. Please keep working on thisπππ
Thank you Alex