Appearance
π§ GoCommit Roadmap & Philosophy β
βEvery commit is a moment of reflection β a trace of intent, not just change.β
This roadmap outlines the evolution of GoCommit, from a simple AI-powered commit message helper to a mindful, delightful developer companion.
βοΈ Phase 0 β Custom Templates & Config β
π― Goal: Empower users with personalization and control β
- [ ] Config File (
.gocommitrc/ YAML / JSON)- Define default commit types (
feat,fix,chore, etc.) - Map scopes by folder or pattern (
db/*βchore(db)) - Choose tone, language, message length, and AI backend.
- Define default commit types (
- [ ] Template Engine
- Custom header/body/footer formats using placeholders:yaml
header: "{{type}}({{scope}}): {{summary}}" body: | Reason: {{why}} Impact: {{impact}} - Optional commit body generation with βwhyβ and βintentβ sections.
- Custom header/body/footer formats using placeholders:
- [ ] Repository Overrides
.gocommitrcin each repo overrides global config.
- [ ] CLI Shortcuts
gocommit config set tone=zengocommit config edit(opens default editor).
π§© βBefore automation comes awareness β define your own meaning first.β
π Phase 1 β Interactive Mode β COMPLETED β
π― Goal: Improve usability & feedback loop β
- [x] Interactive prompt after AI suggestion:
- Accept / Edit / Re-generate (alternate tone or shorter version).
- Preview diff + generated message side-by-side.
- [x] Optional "auto-commit" flag for fast workflows.
Implementation Details:
- Interactive prompt with 5 actions: Accept, Edit, Regenerate, Diff, Quit
- Split-screen diff view showing changes and message side-by-side
- Regeneration loop that generates β select β interactive β repeat
- Color-coded diff display (green +, red -, cyan @@)
--autoand-yflags to skip interactive prompt- Seamless integration in workflow with goto-based flow control
π§ "Before you commit, consider if your change has a place in the story."
π Phase 2 β Quality & Model Management β
π― Goal: Handle diverse AI models and ensure quality β
- [ ] Quality Validation System
- Automatic quality scoring (1-10) for generated messages.
- Detect generic messages: "update files", "fix stuff" β reject & retry.
- Auto-retry with enhanced prompts if quality is low.
- Validation rules: scope required, minimum description length, etc.
- [ ] Multi-Tier Model Support
- High-end models: Claude Sonnet, GPT-4 (βββββ quality, $$ cost)
- Mid-tier models: GPT-4o-mini, Claude Haiku (ββββ quality, $ cost)
- Local models: Ollama, CodeLlama (βββ quality, free)
- Configure per project or per commit type.
- [ ] Adaptive Model Selection
- Use cheap models for simple changes (docs, README).
- Use expensive models for complex code changes.
- Triggers: file count, line changes, file types, presence of tests.
- Show cost estimation before committing.
- [ ] Weak Model Enhancement
- Strict templates: Force format for weaker models.
- Progressive generation: Generate in steps (type β scope β summary β body).
- Template wizard: Interactive fallback when AI fails.
- Learned style guide: Analyze repo history to learn commit patterns.
- [ ] Hybrid Strategy
- Try local model first (free, fast).
- Auto-upgrade to cloud model if confidence < 60%.
- User can manually trigger upgrade.
- Show confidence score and quality indicators.
- [ ] Human-in-the-Loop
- Always show preview for weak models.
- Highlight potential issues (missing scope, too generic).
- Suggest improvements inline.
- Never auto-commit with low confidence scores.
π― "Quality is not an accident; it is always the result of intelligent effort." β John Ruskin
π Phase 3 β Personality & Delight β
π― Goal: Make commits fun and human β
- [ ] Tone Modes
--mode=zen,--mode=funny,--mode=pirate,--mode=minimal.- Each mode generates commits in its own expressive style.
- [ ] Humor & Easter Eggs
- Playful verbs or ASCII art feedback.
- Optional βfortune modeβ: prints a haiku or quote after commit.
π§ "Simplicity is the ultimate sophistication." β Leonardo da Vinci
π Phase 4 β Reflection & Feedback β
π― Goal: Help users see their commit patterns β
- [ ] Analytics Dashboard
gocommit statsβ shows commit counts, types, length, etc.- Local summary or optional export for visualization.
- [ ] Gamification
- Fun badges:
- π βCommit Grandmasterβ (100 commits)
- π₯ βFix Fiendβ (50 fixes)
- Optional: ASCII fireworks for milestones.
- Fun badges:
π¬ "Measure what you commit β not for vanity, but for growth."
β― Phase 5 β Philosophy Integration β
π― Goal: Embed mindfulness into the developerβs flow β
- [ ] Reflection Prompt
- Before commit: short pause β βIs this change meaningful?β
- Display random philosophical or developer quote.
- [ ] Mindfulness Mode
--pause: a brief breathing space before confirming commit.
- [ ] Ethical Reminder
- Encourage clarity, honesty, and purpose in messages.
πͺΆ "Code fades, intent remains."
π Phase 6 β Documentation & Legacy β
π― Goal: Tell the story behind the tool β
- [ ] README Update
- Add βWhy We Wrote Thisβ section β the philosophy behind GoCommit.
- [ ] Dev.to Blog Post
- βGoCommit: Writing Commit Messages Like a Philosopher.β
- Share reasoning, architecture, and lessons learned.
πͺ· βWe donβt just automate the message β we elevate the meaning.β
π οΈ Summary of Priorities β
| Priority | Feature | Type | Status |
|---|---|---|---|
| 1 | Custom templates/config | Personalization | π In progress |
| 2 | Interactive mode | Core UX | β³ Planned |
| 3 | Quality & model management | Reliability | π₯ Critical |
| 4 | Tone modes (funny/zen/pirate) | Delight | π Next |
| 5 | Analytics & gamification | Reflection | π§© Later |
| 6 | Philosophical layer | Spirit | π Optional |
π― Implementation Focus Areas β
Phase 0-2 (MVP - Core Functionality)
- Config system for customization
- Interactive commit workflow
- Quality validation & multi-model support
- Essential for production use
Phase 3-4 (Enhanced Experience)
- Personality modes & delight
- Analytics & reflection
- User engagement features
Phase 5-6 (Polish & Community)
- Philosophical integration
- Documentation & outreach
- Long-term vision
Created by: @thanhphuchuynh
Project: GoCommit
Last updated: 2025-11-01
βEach commit is a dialogue between you and your future self.β