https://github.com/oh-my-commit/oh-my-commit
  
  
    🎨 Oh My Commits,一款专注用户体验、重新定义 Git Commit 的 VSCode 插件,助力你的每一次提交,优雅而专业。 
    https://github.com/oh-my-commit/oh-my-commit
  
ai anthropic cli git-commit openai vscode-extension
        Last synced: about 2 months ago 
        JSON representation
    
🎨 Oh My Commits,一款专注用户体验、重新定义 Git Commit 的 VSCode 插件,助力你的每一次提交,优雅而专业。
- Host: GitHub
- URL: https://github.com/oh-my-commit/oh-my-commit
- Owner: oh-my-commit
- License: other
- Created: 2024-12-05T02:58:52.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-12-28T22:05:26.000Z (10 months ago)
- Last Synced: 2024-12-28T22:21:34.935Z (10 months ago)
- Topics: ai, anthropic, cli, git-commit, openai, vscode-extension
- Language: TypeScript
- Homepage: https://oh-my-commit.github.io
- Size: 4.66 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 4
- 
            Metadata Files:
            - Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
 
Awesome Lists containing this project
README
          
```shell
                   ____  _       __  __          _____                          _ _   
                  / __ \| |     |  \/  |        / ____|                        (_) |  
                 | |  | | |__   | \  / |_   _  | |     ___  _ __ ___  _ __ ___  _| |_ 
                 | |  | | '_ \  | |\/| | | | | | |    / _ \| '_ ` _ \| '_ ` _ \| | __|
                 | |__| | | | | | |  | | |_| | | |___| (_) | | | | | | | | | | | | |_ 
                  \____/|_| |_| |_|  |_|\__, |  \_____\___/|_| |_| |_|_| |_| |_|_|\__|
                                         __/ |                                        
                                        |___/                                         
```
Oh My Commit
  ✨Your Next-gen AI-powered Commit Solution ✨
   
   
   
English | [中文](./README.zh-CN.md) | [Website Docs](https://oh-my-commit.github.io) | [VScode](https://marketplace.visualstudio.com/items?itemName=oh-my-commit.oh-my-commit) | [Open Visx](https://open-vsx.org/extension/oh-my-commit/oh-my-commit) | [Releases](https://github.com/oh-my-commit/oh-my-commit/releases)

## Features Comparison
✅ Full Support   |   ⚠️ Partial Support   |   🚧 In Development   |   ➖ Not Supported
 
| Features | Oh My Commit | VSCode VCS | JetBrains VCS | Other AI Commit Plugins | AI Commit CLI |
|---------------|---------|------------|--------------|-------------------|---------------|
| **Basic Features** |
| Git Integration | ✅ | ✅ | ✅ | ⚠️ | ➖ |
| Diff Preview | ✅ | ✅ | ✅ | ➖ | ➖ |
| Multi-file Commits | ✅ | ✅ | ✅ | ⚠️ | ⚠️ |
| **AI Features** |
| Smart Message Generation | ✅ | ➖ | ➖ | ✅ | ✅ |
| Multi-language Support | ✅ | ➖ | ➖ | ⚠️ | ⚠️ |
| Custom Algorithm Implementation | ✅ | ➖ | ➖ | ➖ | ➖ |
| **User Experience** |
| CLI Support | ✅ | ➖ | ➖ | ➖ | ✅ |
| GUI Interface | ✅ | ✅ | ✅ | ⚠️ | ➖ |
| Shortcut Support | 🚧 | ✅ | ✅ | ⚠️ | ➖ |
| **Advanced Features** |
| Team Standards Config | 🚧 | ➖ | ⚠️ | ➖ | ➖ |
| Changesets Integration | 🚧 | ➖ | ➖️ | ➖ | ➖ |
| Commit Templates | 🚧 | ⚠️ | ✅ | ➖ | ➖ |
| Commit History Analysis | 🚧 | ✅ | ✅ | ➖ | ➖ |
| **Extensibility** |
| Plugin Architecture | ✅ | ✅ | ✅ | ➖ | ➖ |
| Custom Workflows | 🚧 | ⚠️ | ✅ | ➖ | ➖ |
## UI Comparison

## System Architecture
Oh My Commit is a modular intelligent commit solution:
- **Multi-platform Support**
  - CLI Tool: Standalone command-line program for use in any terminal
  - VSCode Extension: Graphical interface with silent and interactive modes
  - Future Plans: Support for more IDEs and platforms
- **Core Components**
  - Shared Configuration: Cross-platform unified user settings and team standards
  - Algorithm Marketplace: Customizable AI commit algorithms with extensible provider system
  - Data Analytics: Commit history analysis and team collaboration insights (planned)
- **Technical Features**
  - Monorepo Architecture: Multi-package management with pnpm
  - Module Decoupling: Separation of core logic, UI, and algorithm providers
  - Plugin Design: Support for third-party extensions and customization
## AI Capabilities
- **Multi-model Support**
  - Built-in Oh My Commit professional model optimized for code commits
  - Support for OpenAI GPT-3.5/4, Claude, and other mainstream models
  - Customizable AI service endpoints for flexible expansion
- **Provider Installation**
  - Install official provider via npm:
    ```bash
    # Install globally
    npm install -g @oh-my-commit/provider-official
    
    # Or install locally in your project
    npm install @oh-my-commit/provider-official
    ```
  - Provider files will be automatically installed to `~/.oh-my-commit/providers/official/`
  - Custom providers can be installed to the same directory structure
- **Intelligent Analysis**
  - Deep understanding of code change context
  - Automatic identification of refactoring, bugfix, feature types
  - Generate commit messages matching team style
- **Continuous Optimization**
  - Continuous improvement based on user feedback
  - Regular model capability updates
  - Support for custom training fine-tuning
## Usage
> ⚠️ **Pre-usage Configuration**
> 
> Taking the official algorithm `@oh-my-commit/provider-official` as an example, you need to:
> 1. Configure AI service key: `ANTHROPIC_API_KEY` or VSCode setting `oh-my-commit.apiKeys.anthropic`
> 2. (Optional) Configure proxy:
>    - CLI: `HTTP_PROXY` environment variable
>    - VSCode: `ohMyCommit.proxy.url` and `ohMyCommit.proxy.enabled`
> CLI and VSCode can be used independently with shared synchronized configuration
### CLI Usage
```bash
# Install CLI tool globally
npm install -g oh-my-commit
# Install official AI Commit algorithm implementation
# Third-party directory: `~/.oh-my-commit/providers/`
npm install -g @oh-my-commit/provider-official
# Use in git repository
omc  # View help
omc gen # AI generate commit
```
### VSCode Extension
1. Install "[**Oh My Commit**](https://marketplace.visualstudio.com/items?itemName=oh-my-commit.oh-my-commit)" from VSCode marketplace
2. Usage methods:
   - Shortcut: `cmd+shift+p` search for "OMC: Quick Commit"
   - Status Bar: Click the Commit icon in status bar
   - Source Control: Use VSCode's built-in Git panel
## Configuration
| Setting                                | Type    | Default                      | Description                                   | Options                                                                                                    |
| -------------------------------------- | ------- | ---------------------------- | --------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| `oh-my-commit.model.id`                | string  | "omc-standard"    | Select AC service provider and model          | • `omc-standard`
• (Custom implementations via local install / source PR / npm publish)        |
| `oh-my-commit.git.lang`                | string  | "system"                     | Git commit message language                    | • `system`: Follow system language
• `zh_CN`: Chinese commit messages
• `en_US`: English commit messages |
| `oh-my-commit.apiKeys`              | object  | -                           | AI service provider API key configuration      |                                                                                                            |
| `oh-my-commit.ui.mode`                 | string  | "panel"                      | Commit interface mode                          | • `notification`: Generate commit messages via notifications, ideal for quick personal development
• `panel`: Resident panel with professional view supporting title/content editing and diff viewing, suitable for professional collaboration |
| `ohMyCommit.proxy.enabled`             | boolean | false                       | Enable proxy for API requests                  | `true / false`                                                                                              |
| `ohMyCommit.proxy.url`                 | string  | "http://localhost:7890"     | Proxy server URL                              | Any valid proxy URL (e.g. "http://localhost:7890")                                                          |
Note: Our omc-standard requires users to configure their own ANTHROPIC_API_KEY and proxy (if necessary), which can be set in user settings.
## Acknowledgments
This project is inspired by and builds upon the work of several excellent projects:
- [vscode-i-dont-care-about-commit-message](https://github.com/mefengl/vscode-i-dont-care-about-commit-message) - VSCode extension inspiration
- [gcop](https://github.com/undertone0809/gcop) - CLI implementation inspiration
## Contributors
## Built With
- [Windsurf Editor by Codeium](https://codeium.com/windsurf) - Development Environment
- [Claude](https://claude.ai) - AI Assistant
## Contributing
Contributions are welcome! Please check our [Contributing Guide](CONTRIBUTING.md) for details.
## Support
If you encounter any issues or have suggestions:
1. Check the [FAQ](docs/guide/faq.md)
2. Submit an [Issue](https://github.com/oh-my-commit/oh-my-commit/issues)
## License
Oh My Commit is licensed under [MIT + Commons Clause](./LICENSE). This means:
- ✅ You can freely use, modify, and distribute this software
- ✅ You can use this software in personal or internal projects
- ✅ You can create and distribute modified versions
- ❌ You cannot sell this software as a paid service or product
- ❌ You cannot commercialize this software without authorization
If you want to use Oh My Commit in a commercial environment, please contact us for a commercial license.
For detailed terms, please check the [LICENSE](./LICENSE) file.
        
