Gcop
๐ AI-Powered Git Commit Assistant | Automate Commit Messages, Streamline Git Workflow. Help you write better git commit message.
Install / Use
/learn @Undertone0809/GcopREADME
GCOP (Git Copilot) - Your AI-powered Git assistant that transforms messy commits into meaningful stories. It automates commit message generation, enhances your Git workflow, and makes version control a breeze with 20+ smart commands.
๐ Key Features
-
๐ค Intelligent Commit Crafting
- Let AI analyze your changes and generate contextually perfect commit messages
- Learn from your project's commit history to match your team's style
-
๐จ Highly Customizable Experience
- Design your own commit templates to match project requirements
- Fine-tune commit message style with custom prompts
- Configure project-specific settings for consistent team standards
-
๐ Smart Learning Capabilities
- Automatically learn from your repository's commit history
- Adapt to your team's commit conventions over time
- Improve message quality through continuous learning
-
โก Seamless Developer Experience
- Supercharged with 20+ intuitive Git shortcuts and commands
- Smart aliases that make complex Git operations a breeze
- Integrate with your favorite AI models (OpenAI, Anthropic, etc.)
- Zero-config integration with your existing Git workflow
Video Demo
This video shows how to use gcop to generate a commit message. See the documentation
๐ ๏ธ Getting Started
We recommend you to read the Quick Start Guide in detail.
What You'll Need
- Python 3.8 or newer
- Git installed on your system
- An API key for your preferred LLM (e.g., OpenAI, Anthropic)
Installation
-
Install GCOP with pip:
pip install gcop -
Initialize GCOP:
gcop init
This command sets up GCOP and adds its aliases to your Git configuration.
-
Configure your AI model:
git gconfigThis opens the configuration file. Edit it to include your AI provider details:
model: model_name: provider/name, eg openai/gpt-4o api_key: your_api_key
Then gcop will generate a config.yaml, then gcop will open the config.yaml
file in the default editor, and you can config your language model. See how to
config your model here:
config.yamlstore path:
- Windows:
%USERPROFILE%\.zeeland\gcop\config.yaml- Linux:
~/.zeeland/gcop/config.yaml- MacOS:
~/.zeeland/gcop/config.yaml
-
Verify the installation:
git ghelpYou should see output similar to:
gcop is your local git command copilot Version: 1.0.0 GitHub: https://github.com/Undertone0809/gcop Usage: git [OPTIONS] COMMAND Commands: git p Push changes to remote repository git pf Force push changes to remote repository git undo Undo last commit, keep changes git ghelp Show this help message git gconfig Open config file in default editor git gcommit Generate AI commit message and commit changes git ac Add all changes and commit with AI message git c Shorthand for 'git gcommit'
๐ก Basic Usage
Generating AI Commit Messages
After making changes to your project:
-
Stage your changes:
git add . -
Generate and apply an AI commit message:
git cExample output:
[On Ready] Generating commit message...
[Thought] The changes include adding a new file for VSCode settings and updating the .gitignore to include the new settings file. These changes are related to
development environment configuration and do not affect the application's functionality.
[Generated commit message]
chore: update vscode settings and gitignore
- Add .vscode/settings.json with YAML schema configuration
- Update .gitignore to include .vscode/settings.json
- Add .vscode/extensions.json with recommended extensions
These changes improve the development environment by ensuring proper YAML schema validation and managing VSCode settings and extensions.
? Do you want to commit the changes with this message? (Use arrow keys)
ยป yes
retry
retry by feedback
exit
- Choose the most appropriate message using arrow keys and press Enter.
Other Useful Commands
-
git ac: Add all changes and commit with an AI-generated messagegit acOutput:
Changes added. Generating commit message... ? Select a commit message to commit (Use arrow keys) ยป feat: Add new user profile page fix: Correct CSS styling issues on mobile devices docs: Update API documentation for v2.0 refactor: Optimize database queries for better performance retry -
git undo: Undo the last commit while keeping changes stagedgit undoOutput:
HEAD is now at a1b2c3d Previous commit message Changes from the last commit are now staged. -
git p: Push to the current branchgit pOutput:
Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 8 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 328 bytes | 328.00 KiB/s, done. Total 3 (delta 2), reused 0 (delta 0), pack-reused 0 To https://github.com/username/repo.git a1b2c3d..e4f5g6h main -> main -
git pf: Force push to the current branch (use with caution) -
git gconfig: Open the GCOP configuration file for adjustments
๐ง Configuration
To modify your AI model settings:
-
Open the config file:
git gconfig -
Edit the
config.yamlfile:model: model_name: provider/name, eg openai/gpt-4o api_key: your_api_key -
Save and close the file.
๐ Learn More
Makefile usage
Makefile
contains a lot of
functions for faster development.
make install
</p>
</details>
<details>
<summary>Codestyle and type checks</summary>
<p>
Automatic formatting uses ruff.
make polish-codestyle
# or use synonym
make formatting
Codestyle checks only, without rewriting files:
make check-codestyle
</p> </details> <details> <summary>Code security</summary> <p>Note:
check-codestyleusesruffanddarglintlibrary
If this command is not selected during installation, it cannnot be used.
make check-safety
This command launches Poetry integrity checks as well as identifies security issues
with Safety and Bandit.
make check-safety
</p>
</details>
<details>
<summary>Tests with coverage badges</summary>
<p>
Run pytest
make test
</p>
</details>
<details>
<summary>All linters</summary>
<p>
Of course there is a command to run all linters in one:
make lint
the same as:
make check-codestyle && make test && make check-safety
</p>
</details>
<details>
<summary>Docker</summary>
<p>
make docker-build
which is equivalent to:
make docker-build VERSION=latest
Remove docker image with
make docker-remove
More information about docker.
</p> </details> <details> <summary>Cleanup</summary> <p> Delete pycache filesmake pycache-remove
Remove package build
make build-remove
Delete .DS_STORE files
make dsstore-remove
Remove .mypycache
make mypycache-remove
Or to remove all above run:
make cleanup
</p>
</details>
๐ฆ Techs
- Promptulate: Large language model automation and Autonomous Language Agents development framework
- P3G: Python Packages Project Generator
๐ก License
This project is licensed under the terms of the MIT license.
See LICENSE for more details.
๐ค Support
For more information, please contact: zeeland4work@gmail.com
See anything changelog, describe the telegram channel
Credits 
This project was generated with [
Related Skills
apple-reminders
339.5kManage Apple Reminders via remindctl CLI (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output.
gh-issues
339.5kFetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]
healthcheck
339.5kHost security hardening and risk-tolerance configuration for OpenClaw deployments
node-connect
339.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps

