Skip to content

AccursedGalaxy/noidea

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

295 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿง  noidea

Git assistant with AI commit messages and sassy feedback

License: MIT Latest Version Go Version

noidea in action

๐Ÿ—ฟ What is noidea?

noidea is a Git companion that makes your commits better and funnier:

  • Get smart commit messages based on your changes
  • See a moai face after each commit (instant, no API calls)
  • Get AI feedback on demand when you want detailed insights
  • Analyze your Git history for insights and patterns
  • Seamless integration with Git workflows

โœจ Key Features

  • ๐Ÿง  AI-Powered Suggestions - Get professional commit messages based on your staged changes
  • ๐Ÿ—ฟ Moai Feedback - Receive witty, personalized feedback on your commits
  • ๐Ÿ“Š Git Insights - Track coding patterns and get weekly summaries
  • ๐ŸŽญ Multiple Personalities - Choose from several AI personalities for feedback
  • ๐Ÿ”’ Secure API Key Management - Keep your AI provider keys safe
  • ๐Ÿš€ GitHub Integration - Manage GitHub releases with AI-enhanced release notes and smart workflow awareness

Quick Start

Get up and running in secondsโ€”no complex config needed.

  1. Install:

    cd /path/to/noidea  # Or clone: git clone <repo> noidea && cd noidea
    ./install.sh  # Builds binary, sets up ~/.noidea/config (AI disabled by default)
  2. Initialize in a Repo (the magic happens here):

    cd your-project
    noidea init  # Installs hooks: suggestions on commit, Moai faces after
  3. Try It (your favorite flow):

    git add .
    git commit  # No -m: Opens editor with AI/local suggestion pre-filled!
    # Edit/save to commit. Moai face appears after (fun, no text by default).

Defaults Explained:

  • Suggestions: Always on after initโ€”tries local first (fast, no API), uses AI if enabled.
  • Moai Faces: Always show after commits instantly (no AI calls, keeps workflow fast).
  • AI Feedback: Manual onlyโ€”run noidea moai --ai when you want detailed feedback.
  • AI Features: Disabled by default (no API key needed). Enable with noidea config --init for smarter suggestions.

For full AI: Set your xAI/OpenAI key during install or later. See Configuration.

Why noidea?

  • Seamless Editor Integration: git commit auto-suggests messages in your editorโ€”edit and go (no extra commands).
  • Fast & Fun: Instant moai faces after commits, no API delays (AI feedback on-demand).
  • Smart Defaults: Works out-of-box; AI optional for power users.
  • Git-First: Hooks respect your workflowโ€”no CI bloat.

๐Ÿ“ Commit Workflow With noidea

# Stage your changes
git add .

# Commit (noidea will suggest a message)
git commit

This will open your default editor with the suggested commit message. Save and close to approve and commit.

๐Ÿค– AI Configuration

For AI-powered features, add your API key:

  1. Securely store your API key (recommended):

    noidea config apikey
  2. Add to environment (alternative):

    export XAI_API_KEY=your_api_key_here
  3. Configure interactively:

    noidea config --init

See API Key Management for secure storage details.

๐Ÿš€ GitHub Integration

noidea provides seamless GitHub integration for managing releases and generating release notes:

  1. Set up GitHub integration:

    # Authenticate with GitHub
    noidea github auth
    
    # Install GitHub hooks (optional)
    noidea github hook-install
  2. Generate enhanced release notes:

    # Generate release notes for the latest tag
    noidea github release notes
    
    # Wait for GitHub workflows to complete before generating notes
    noidea github release notes --wait-for-workflows
    
    # Generate notes for a specific tag
    noidea github release notes --tag=v1.2.3
  3. Automatic version management with the version script:

    # Bump patch version (0.0.x)
    ./scripts/version.sh patch
    
    # Bump minor version (0.x.0)
    ./scripts/version.sh minor

The release notes generator enhances GitHub's standard release notes with AI-powered descriptions while preserving GitHub's changelog with commit links.

๐Ÿ“‹ Available Commands

Command Description
noidea init Set up Git hooks in your repository
noidea suggest Get commit message suggestions
noidea moai Display Moai feedback for the last commit
noidea summary [--days 30] Generate summary of recent Git activity
noidea feedback [--count 5] Analyze specific commits
noidea config --init Configure noidea interactively
noidea moai --list-personalities List all available personalities
noidea github auth Authenticate with GitHub using a PAT
noidea github status Check GitHub authentication status
noidea github hook-install Install GitHub integration hooks
noidea github release notes Generate AI-enhanced release notes
noidea github release notes --wait-for-workflows Wait for GitHub Actions to complete before generating notes

Run noidea --help for more information.

๐ŸŽญ AI Personalities

noidea has several AI personalities for feedback:

  • Snarky Code Reviewer - Witty, sarcastic feedback
  • Supportive Mentor - Encouraging, positive feedback
  • Git Expert - Technical, professional feedback
  • Motivational Speaker - Energetic enthusiasm
# Use a specific personality
noidea moai --personality supportive_mentor

easily setup your own personality or edit existing ones!

โš™๏ธ Advanced Configuration

Create a ~/.noidea/config.json file:

{
  "llm": {
    "enabled": true,
    "provider": "xai",
    "api_key": "",
    "model": "grok-4-fast-reasoning",
    "temperature": 0.7
  },
  "moai": {
    "use_lint": false,
    "faces_mode": "random",
    "personality": "snarky_reviewer",
    "personality_file": "~/.noidea/personalities.toml"
  }
}

๐Ÿ› ๏ธ Feature Status

Feature Status
Moai face after commit โœ… Done
AI-based commit feedback โœ… Done
Config file support โœ… Done
Weekly summaries โœ… Done
On-demand commit analysis โœ… Done
Commit message suggestions โœ… Done
Enhanced terminal output โœ… Done
POSIX-compatible hooks โœ… Done
AI Release notes โœ… Done
AI GitHub issue management ๐Ÿ”œ Coming Soon

๐Ÿค Contributing

Contributions are welcome! Whether you have ideas for new features, have encountered bugs, or want to improve documentation, we'd love your input.

Please feel free to submit an issue or join the discussions. Each contribution helps us make noidea better.

๐Ÿคฏ Why noidea?

Because Git is too serious. Coding is chaos. Let's embrace it.

This tool won't improve your Git hygiene, but it will make it more entertaining.

๐Ÿ“ƒ License

This project is distributed under the MIT License. See the LICENSE file for details.


Made with noidea and late-night energy.

GitHub stars GitHub issues

About

AI-powered Git assistant that generates conventional commit messages, analyzes commit history, and provides feedback with personality. Smart commit suggestions meet entertainment.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors