Skip to content

dev-kvt/Nova

Nova - AI-Powered Git Commit Message Enhancement

Transform vague commit messages into clear, convention-compliant professional messagesβ€”automatically.

License: MIT Node.js Version PRs Welcome

🎯 Overview

Nova is a production-grade command-line utility that leverages AI to automatically enhance and standardize Git commit messages. It ensures developers maintain clarity, consistency, and adherence to established conventions like Conventional Commits.

Key Features

  • πŸ€– AI-Powered Enhancement - Transforms vague messages using OpenAI or Ollama
  • πŸ“ Convention Enforcement - Automatic Conventional Commits compliance
  • πŸ”— Git Integration - Seamless hook-based automation
  • 🌐 Dual Mode - Cloud (OpenAI) and offline (Ollama) support
  • ⚑ Lightning Fast - Sub-2-second response times
  • πŸ›‘οΈ Production Ready - Robust error handling and logging

πŸ“š Documentation

This repository contains comprehensive documentation for understanding, developing, and contributing to Nova:

Core Documents

Document Description Audience
PROJECT_OVERVIEW High-level project vision and overview All stakeholders
ARCHITECTURE Detailed system architecture and design Developers, architects
PROJECT_STRUCTURE Complete folder structure and organization Developers

Quick Navigation


πŸš€ Quick Start

Installation

npm install -g nova-commit

Basic Usage

image
# Improve a single commit message
nova improve "fixed the bug in login"

# Output:
# βœ“ fix(auth): resolve login authentication bug

Git Hook Integration

# Setup automatic enhancement
nova setup
nova install-hooks

# Now commit normally - Nova enhances automatically!
git commit -m "add user feature"
# [nova] Enhanced: feat(user): add user registration feature

πŸ—οΈ Project Status

Current Phase: Setup & Initial Development βœ…

Completed

  • βœ… Project requirements and architecture design
  • βœ… Production folder structure
  • βœ… Comprehensive documentation
  • βœ… Development environment setup

In Progress

  • πŸ”„ Core CLI implementation
  • πŸ”„ AI provider integrations
  • πŸ”„ Message processing logic

Upcoming

  • ⏳ Git hook integration
  • ⏳ Testing infrastructure
  • ⏳ Beta release

πŸ“‹ Requirements

  • Node.js v18 or higher
  • Git (for hook integration)
  • AI Provider: OpenAI API key OR Ollama (for offline mode)

🎨 Example

Before Nova

git commit -m "fix bug"
# Commit message is vague and non-standard

After Nova

git commit -m "fix bug"
[nova] Enhanced: fix(auth): resolve null pointer exception in user authentication
# Message is clear, formatted, and convention-compliant

🀝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

Development Setup

  1. Fork the repository
  2. Clone your fork: git clone https://github.com/your-username/nova.git
  3. Install dependencies: npm install
  4. Create a feature branch
  5. Make your changes
  6. Run tests: npm test
  7. Submit a pull request

πŸ“Š Roadmap

Phase 1: MVP (Week 1)

  • Core CLI functionality
  • OpenAI integration
  • Basic message improvement
  • Unit tests

Phase 2: Beta (Week 2)

  • Git hook integration
  • Ollama (offline) support
  • Conventional Commits validation
  • Integration tests

Phase 3: Release (Week 3)

  • Documentation completion
  • Performance optimization
  • npm publication
  • Community setup

πŸ›‘οΈ Security & Privacy

  • No Code Transmission: Only commit message text is sent to AI
  • Local Option: Ollama mode keeps all data local
  • API Key Protection: Secure environment variable handling
  • Input Sanitization: Validation and length limits

πŸ€– Technology Stack

  • Runtime: Node.js v18+ (ES Modules)
  • CLI: Commander.js
  • AI: OpenAI SDK, Ollama
  • Testing: Jest
  • Logging: Winston
  • Linting: ESLint, Prettier

πŸ“ License

MIT License - see LICENSE for details.


πŸ™ Acknowledgments


Built with ❀️ for developers who care about code quality


Nova is currently in active development. Documentation and features are subject to change.