Skip to content

🧭 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.
  • [ ] 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.
  • [ ] Repository Overrides
    • .gocommitrc in each repo overrides global config.
  • [ ] CLI Shortcuts
    • gocommit config set tone=zen
    • gocommit 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 @@)
  • --auto and -y flags 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.

πŸ’¬ "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 ​

PriorityFeatureTypeStatus
1Custom templates/configPersonalization🏁 In progress
2Interactive modeCore UX⏳ Planned
3Quality & model managementReliabilityπŸ”₯ Critical
4Tone modes (funny/zen/pirate)DelightπŸ”œ Next
5Analytics & gamificationReflection🧩 Later
6Philosophical layerSpiritπŸŒ™ 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.”