SmartChangelist AI
Stop mixing bug fixes with features. The only plugin that AI-reorganizes your changes into atomic commits. SmartChangelist AI analyzes your code changes and...
About
Stop mixing bug fixes with features. The only plugin that AI-reorganizes your changes into atomic commits.
SmartChangelist AI analyzes your code changes and automatically groups them into logical, atomic changelists.
Generate commit messages for partial commits. Let AI clean up your commit history.
Key Features
- Generate Commit Message: One-click AI-generated commit messages for selected changes
- Smart Reorganization: AI understands code context and groups related changes together
- Multi-LLM Support: OpenAI, Claude, Gemini, DeepSeek, Ollama, LM Studio, or any OpenAI-compatible API
- Native Preview: Tree-based preview matching IntelliJ's native changelist view
- Cancel Anytime: Stop button immediately cancels requests — no wasted tokens
- Token Tracking: See exactly how many tokens each request uses
Supported Providers
- OpenAI (all GPT models)
- Anthropic Claude (all models)
- Google Gemini (all models)
- DeepSeek
- Local models via Ollama or LM Studio
- Any OpenAI-compatible endpoint
Recommended Models
- Best value: DeepSeek (deepseek-chat) — excellent for code, very affordable
- Best quality: GPT-4o, Claude 3.5 Sonnet — premium results
- Good balance: GPT-4o-mini, Gemini 1.5 Flash — fast and cheap
- Local: Qwen3-Coder-30B, DeepSeek-Coder-V2 — best offline options
Privacy First
Your code stays yours. Use your own API keys — no data collection, no vendor lock-in. Run completely offline with local models like Ollama.
Your commit history deserves better. Let AI organize it.
User Reviews
I got an error trying this plugin. This is very annoying considering it's a paid plugin.
Error reorganizing changes: Illegal json parameter found: Instantiation of [simple type, class dev.meanmail.plugin.smartchangelist.OpenAiClient$ChatCompletionResponse] value failed for JSON property id due to missing (therefore NULL) value for creator parameter id which is a non-nullable type at [Source: (InputStreamReader); line: 8, column: 1] (through reference chain: dev.meanmail.plugin.smartchangelist.OpenAiClient$ChatCompletionResponse["id"])
Ready to try SmartChangelist AI?
Install from JetBrains Marketplace and boost your productivity.