🧠 NoIdea

Git Assistant with AI Powers & Sassy Feedback

🗿 What is NoIdea?

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

  • Get smart commit messages based on your changes
  • Receive sassy feedback from a judgmental Moai after each commit
  • Analyze your Git history for insights and patterns
  • Smart Commit Messages

    Get AI-powered commit message suggestions that accurately describe your changes, making your commit history more professional and useful

    Learn more

  • Sassy Feedback

    Receive witty, personalized feedback from our judgmental Moai after each commit, with multiple AI personalities to choose from

    Features

  • Insights & Analysis

    Track coding patterns, analyze commit quality, and get weekly summaries of your Git activity

    Commands

  • GitHub Integration

    Generate AI-enhanced release notes, manage releases, and integrate with GitHub Actions workflows

    GitHub Features

⚡ Installation

# Clone and install
git clone https://github.com/AccursedGalaxy/noidea.git
cd noidea
./install.sh

Repository Setup

After installation, you need to set up NoIdea in your Git repository:

# Navigate to your repository
cd /path/to/your/repo

# Initialize NoIdea
noidea init

# Enable auto commit suggestions (optional)
git config noidea.suggest true

Pro Tip

Use noidea config --init to set up your configuration interactively!

✨ Core Features

AI-powered Commit Suggestions

When you're ready to commit, NoIdea analyzes your changes and suggests professional commit messages:

───────────────────────────────────────────────────
🧠 Analyzing staged changes and 10 recent commits
Generating professional commit message suggestion...
───────────────────────────────────────────────────
✨ Suggested commit message:
feat(user-auth): implement password reset functionality with email verification
───────────────────────────────────────────────────

Post-commit Feedback

After each commit, the Moai will judge your work with witty commentary:

───────────────────────────────────────────────────
🗿  (ಠ_ಠ) Your commit message was 'fix final final pls real'
"You've entered the 2AM hotfix arc. A legendary time."
───────────────────────────────────────────────────

Weekly Summaries & Git Insights

Track your coding patterns and get insights about your work habits with detailed summaries:

# Generate a summary of the last 30 days
noidea summary --days 30

# Include AI insights
noidea summary --ai

AI Personalities

NoIdea offers several AI personalities for feedback:

Snarky Code Reviewer

Witty, sarcastic feedback that doesn't hold back

Supportive Mentor

Encouraging, positive feedback to keep you motivated

Git Expert

Technical, professional feedback focused on best practices

Motivational Speaker

Energetic enthusiasm to pump you up

You can create your own personality easily via our configuration system.

🚀 GitHub Integration

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

Authentication & Setup

# Authenticate with GitHub
noidea github auth

# Install GitHub hooks (optional)
noidea github hook-install

Enhanced Release Notes

Generate AI-powered release notes that enhance GitHub's standard format:

# Generate notes for the latest tag
noidea github release notes

# Wait for GitHub Actions workflows to complete before generating
noidea github release notes --wait-for-workflows

Workflow Awareness

The --wait-for-workflows flag makes NoIdea monitor GitHub Actions status and automatically generate notes once workflows complete, preserving GitHub's generated content while enhancing it with AI.

🔧 Commands Reference

Command Description
noidea init Set up Git hooks in your repository
noidea suggest Get commit message suggestions
noidea suggest -i Interactive mode to approve/reject suggestions
noidea suggest -f Use full diff analysis for more detailed suggestions
noidea moai Display Moai feedback for the last commit
noidea moai --ai Use AI-powered feedback analysis
noidea moai --personality supportive_mentor Use a specific AI personality
noidea moai --list-personalities List all available personalities
noidea summary [--days 30] Generate summary of recent Git activity
noidea summary --show-commits Include detailed commit history in summary
noidea summary --export markdown Export summary in markdown format
noidea config Configure noidea
noidea config --init Interactive configuration setup
noidea config apikey Set up your API key securely
noidea config apikey-status Check your API key validity
noidea github auth Authenticate with GitHub using a Personal Access Token
noidea github status Check GitHub authentication status
noidea github hook-install Install GitHub integration Git 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

⚙️ Configuration

Configure NoIdea to match your workflow:

# Configure interactively
noidea config --init

# Add your API key (for AI-powered features)
noidea config apikey

# Check API key validity
noidea config apikey-status

Advanced Configuration

For more advanced setup, you can edit your configuration file at ~/.noidea/config.toml:

[llm]
enabled = true
provider = "xai"
api_key = ""
model = "grok-2-1212"
temperature = 0.7

[moai]
use_lint = false
faces_mode = "random"
personality = "snarky_reviewer"
personality_file = "~/.noidea/personalities.toml"

🔒 Security & Privacy

NoIdea takes your security seriously:

  • API keys are stored securely on your local machine
  • No data is sent to our servers - all AI processing happens via your own API keys
  • Your commit history and code never leaves your system without your explicit permission
  • Legacy .env files are being deprecated in favor of secure storage

Note

When using AI features, your code diffs are sent to the AI provider you've configured. Choose a provider you trust.

🤔 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.

🤝 Contribution & Support

We welcome contributions from the community! Whether you want to report a bug, suggest a feature, or contribute code, we'd love your help.

📊 Project 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
Secure API key storage ✅ Done
Lint feedback 🛠️ In progress
Commit streak insights 🔜 Coming Soon