A CLI tool that adds a fun gamification layer to your daily Git usage.
Project description
🎮 Git-Gamify
Turn your command-line Git workflow into a fun RPG!
Level up, unlock achievements, and make every commit rewarding.
✨ What is Git-Gamify?
Git-Gamify is a command-line tool that adds a fun gamification layer to your daily Git usage. It silently wraps your git commands (commit, push, etc.) and rewards you with Experience Points (XP), levels, and achievements, turning tedious tasks into an engaging game.
🚀 Key Features
- Leveling System: Gain XP for
commitandpushactions and watch your level grow. - Dynamic XP: Earn bonus XP for commit streaks and the volume of your code changes.
- Achievement Engine: Unlock over a dozen achievements for milestones, consistency, and special actions.
- Rich Profile: View your progress, stats, and unlocked achievements with a beautifully formatted profile.
- Multi-language: Supports both English and Chinese.
- Lightweight & Fast: Runs silently in the background without slowing you down.
📦 Installation
Git-Gamify requires Python 3.8+ and Git to be installed on your system.
You can install it directly from PyPI using pip:
pip install git-gamify
⚙️ Configuration
To let Git-Gamify track your commands, you need to set up a function in your shell's configuration file.
Step 1: Required Alias Setup (Crucial!)
This is the only required setup step. Choose the one for your shell.
For PowerShell:
Open your profile with notepad $PROFILE and add the following line:
function git {
gg git @args
}
For Bash / Zsh:
Open your ~/.bashrc or ~/.zshrc file and add the following function:
function git() {
gg git "$@"
}
⚠️ Important: After pasting the function, please ensure you press Enter to add a new line at the end of the file. This prevents issues if other scripts are added later.
After saving the file, restart your terminal for the changes to take effect.
Step 2: Optional - Enable Autocompletion
For a much smoother experience, we highly recommend installing the autocompletion script. After completing Step 1 and restarting your terminal, run the appropriate command:
For PowerShell: gg --install-completion powershell
For Bash: gg --install-completion bash
For Zsh: gg --install-completion zsh
Follow any on-screen instructions, then restart your terminal one last time.
🎮 Commands Guide
Once configured, your git commands will automatically grant XP! You can also use Git-Gamify's internal commands:
gg profile
Displays your complete user profile, including level, XP progress, and unlocked achievements.
gg profile
Options:
--statsor-s: Display detailed statistics only (total commits, pushes, etc.).gg profile --stats
--reset: Resets all progress for the current user (requires confirmation).gg profile --reset
gg config
Gets or sets configuration values.
Usage:
- Set a value:
# Set language to Chinese gg config --set language=zh # Set language back to English gg config --set language=en
- Get a value:
gg config --get language
gg help
Displays the help message with a list of internal commands.
gg help
📄 License
This project is licensed under the MIT License.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file git_gamify-1.0.2.tar.gz.
File metadata
- Download URL: git_gamify-1.0.2.tar.gz
- Upload date:
- Size: 23.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea941d6d558386e564f9b4de9fc3136bc815aa1b87a93f849bf2c8d3b4d1673a
|
|
| MD5 |
a6fefffe381f5dd083bfa06b1378ae1e
|
|
| BLAKE2b-256 |
750b640ba962f8529e29610673aa4507fa03338be138fec974102e9621b5d28b
|
File details
Details for the file git_gamify-1.0.2-py3-none-any.whl.
File metadata
- Download URL: git_gamify-1.0.2-py3-none-any.whl
- Upload date:
- Size: 22.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2b56c91b12292182f17897d789c24d9076ee490a9b1102c2c6bc65b86390a40f
|
|
| MD5 |
8733f0363b1721f2812327dffbe1d9c6
|
|
| BLAKE2b-256 |
056568750e458490e0c257b7750edd305ccab33908b63391c9d25c4e9685538f
|