Your multilingual Git assistant - AI-powered CLI tool for Git operations
npm install coparrot> Your intelligent, multilingual Git assistant powered by AI
coParrot is an AI-powered CLI tool that makes Git operations smarter and more intuitive. Generate meaningful commit messages, commit files individually or in groups, and let AI understand your changes - all in your preferred language.



- π€ AI-Generated Commit Messages - Let AI analyze your changes and create meaningful commit messages
- π Smart File Commits - Commit files individually or group them by patterns
- π Multilingual Support - English, Portuguese (pt-BR), and Spanish
- π― Interactive File Selection - Choose which files to stage with an intuitive interface
- βοΈ Flexible Configuration - Support for OpenAI, Claude, and Gemini
- π Commit Conventions - Conventional Commits, Gitmoji, or custom formats
- π¨ Beautiful CLI - Progress bars, colors, and clean output
- π§ Customizable - Configure commit styles, branch naming, and more
``bash`
npm install -g coparrot
`bash`
npm install coparrot
Run coParrot for the first time to configure:
`bash`
coparrot
The interactive setup will guide you through:
1. Language Selection - Choose your preferred language
2. Provider Setup - Select OpenAI, Claude, or Gemini
3. API Key - Enter your API key
4. Preferences - Configure commit conventions, code review style, etc.
`bashStart coParrot
coparrot
π Commands
$3
Stage files interactively with a searchable list:
`bash
> add
`Features:
- β
Multi-select files with Space
- π Search and filter by filename
- π Shows file status (Modified, Added, Deleted, etc.)
---
$3
Generate an AI commit message for staged files:
`bash
> commit
`Process:
1. Analyzes your staged changes
2. Generates a contextual commit message
3. Shows message for approval
4. Options to approve, retry, or customize
Example Output:
`
ββββββββββββββββββββββββββββββββββββββββββ
AI Generated Message:
ββββββββββββββββββββββββββββββββββββββββββfeat: add multilingual support for Spanish
ββββββββββββββββββββββββββββββββββββββββββ
β What would you like to do?
β Approve and use this response
β» Retry (generate a new response)
β Retry with custom instructions
`---
$3
Commit each changed file individually with AI-generated messages:
`bash
> squawkWith patterns
> squawk --ignore ".md" ".txt"
> squawk --group ".json" ".yaml"
`Options:
-
--ignore - Ignore files matching glob patterns
- --group - Group files by pattern (one commit per group)Example:
`
π¦ Squawk Progress:
ββββββββββββββββββββββββββββββββββββββββββπ¦ [1/3] *.json (2 files) ............... β
π [2/3] script.js ...................... β
π [3/3] README.md ...................... β
β¨ 3 commits created (4 files)
β’ 1 group commits (2 files)
β’ 2 individual commits
β±οΈ Completed in 12.3s
`Grouping Examples:
`bash
Group all JSON files together, all PNG files together
> squawk --group ".json" ".png"Ignore test files, group assets
> squawk --ignore ".test.js" --group "assets/"Group by directory
> squawk --group "src/components/" "src/utils/"
`---
$3
Show current repository status with changed files:
`bash
> status
`Displays:
- Current branch
- Modified files
- Untracked files
- Staged files
---
$3
Update your coParrot configuration:
`bash
> setup
`What you can change:
- Language preference
- LLM provider and API key
- Model selection
- Commit message convention
- Branch naming convention
- Code review style
- PR message style
- Custom instructions
---
$3
Create and switch to new branches:
`bash
> checkout -b feature-branch
> checkout --ai # AI generates branch name
`---
βοΈ Configuration
$3
`
~/.coparrot/config.json
`$3
`json
{
"language": "en",
"provider": "openai",
"apiKey": "your-api-key",
"model": "gpt-4",
"commitConvention": {
"type": "conventional"
},
"branchNaming": {
"type": "gitflow"
}
}
`$3
Conventional Commits (Default)
`
feat: add new feature
fix: resolve bug
docs: update documentation
`Gitmoji
`
β¨ add new feature
π fix bug
π update documentation
`Simple
`
add new feature
fix bug
update documentation
`Custom
Define your own format with placeholders like
{type}, {scope}, {message}$3
| Provider | Models |
|----------|--------|
| OpenAI | GPT-4, GPT-3.5-turbo |
| Claude | Claude 3 Opus, Sonnet, Haiku |
| Gemini | Gemini Pro |
$3
- OpenAI: https://platform.openai.com/api-keys
- Claude: https://console.anthropic.com/settings/keys
- Gemini: https://makersuite.google.com/app/apikey
π Multilingual Support
coParrot supports three languages:
- πΊπΈ English (
en)
- π§π· Portuguese (pt-BR)
- πͺπΈ Spanish (es)All UI elements, messages, and prompts are fully localized. Change language in setup:
`bash
> setup
Select "Escolha seu idioma preferido" / "Choose your preferred language"
`π‘ Advanced Usage
$3
Skip approval prompts (use with caution):
`bash
> commit --yes
> squawk --yes
`$3
Group multiple file types strategically:
`bash
Group configs, components, and tests separately
> squawk --group ".config.js" "src/components/" "*/.test.js"Ignore build files, group source by directory
> squawk --ignore "dist/" "build/" --group "src/" "lib/"
`$3
Add persistent instructions in setup:
Examples:
- "Always keep messages under 50 characters"
- "Include ticket numbers from branch names"
- "Focus on performance implications"
- "Use emojis in all commit messages"
ποΈ Project Structure
`
coparrot/
βββ bin/
β βββ index.js # CLI entry point
βββ src/
β βββ commands/ # Command implementations
β β βββ add.js
β β βββ commit.js
β β βββ squawk.js
β β βββ checkout.js
β βββ services/ # Core services
β β βββ config.js # Configuration management
β β βββ git.js # Git operations
β β βββ llms.js # LLM orchestration
β β βββ i18n.js # Internationalization
β β βββ prompts.js # AI prompt templates
β βββ lib/ # UI components
β β βββ cli.js # CLI framework
β β βββ renderer.js # Markdown renderer
β β βββ streamer.js # Streaming output
β βββ utils/ # Utilities
β βββ glob.js # Pattern matching
β βββ repo-stats.js # Repository statistics
βββ locales/ # Translations
β βββ en.json
β βββ pt-BR.json
β βββ es.json
βββ package.json
``We welcome contributions! Please see CONTRIBUTING.md for:
- Development setup
- Code structure guidelines
- How to add new commands
- Testing guidelines
- Pull request process
Quick Links:
- π Report a Bug
- π‘ Request a Feature
- π§ Submit a PR
This project is licensed under a Custom Non-Commercial License - see the LICENSE file for details.
TL;DR:
- β
Free for personal use
- β
Can modify and redistribute (non-commercial)
- β Cannot sell or use commercially without permission
- Built with OpenAI, Anthropic, and Google Gemini
- Inspired by modern developer workflows
- Thanks to all contributors
- Issues: GitHub Issues
- Email: ddvital0@gmail.com
- Discussions: GitHub Discussions
---