moai
The moai command displays a Moai face (🗿) with witty feedback about your most recent commit, bringing a fun element to your Git workflow.
Usage
Description
After making a commit, this command analyzes your commit message and displays a Moai character with personality-driven feedback. By default, it uses locally generated feedback, but with the --ai flag, it leverages AI to provide more contextual and intelligent responses.
Options
| Option | Description |
|---|---|
--ai, -a |
Use AI to generate feedback (requires API key) |
--diff, -d |
Include the diff in AI context for better analysis |
--personality, -p |
Specify the personality to use for feedback |
--list-personalities, -l |
List all available personalities |
--history, -H |
Include recent commit history for context |
--debug, -D |
Enable debug mode to show detailed API information |
Examples
Basic Usage
AI-Powered Feedback
Using Different Personalities
# List available personalities
noidea moai --list-personalities
# Use a specific personality
noidea moai --ai --personality supportive_mentor
Including More Context
Personalities
noidea includes several built-in personalities for Moai feedback:
| Personality | Description |
|---|---|
professional_sass |
Professional with a hint of sass (default) |
snarky_reviewer |
Witty and sarcastic code reviewer |
supportive_mentor |
Encouraging and supportive mentor |
git_expert |
Technical Git expert with best practices |
motivational_speaker |
Energetic and motivational |
You can set your default personality in the configuration or via environment variables:
# In .noidea/config.json
{
"moai": {
"personality": "supportive_mentor"
}
}
# Or via environment
export NOIDEA_PERSONALITY="supportive_mentor"
Custom Personalities
You can create custom personalities by creating a personalities.toml file in your ~/.noidea/ directory. See the Personalities page for more details.
Post-Commit Hook
When you run noidea init in a repository, it sets up a post-commit hook that automatically runs the moai command after each commit, providing immediate feedback.
You can disable this behavior by editing the .git/hooks/post-commit file in your repository.