Skip to main content

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.

PyPI Version Python Versions License


Image

✨ 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 commit and push actions 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:

  • --stats or -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

git_gamify-1.0.3.tar.gz (23.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

git_gamify-1.0.3-py3-none-any.whl (22.2 kB view details)

Uploaded Python 3

File details

Details for the file git_gamify-1.0.3.tar.gz.

File metadata

  • Download URL: git_gamify-1.0.3.tar.gz
  • Upload date:
  • Size: 23.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for git_gamify-1.0.3.tar.gz
Algorithm Hash digest
SHA256 229ebeb176da5cf443f67ead8c34ce53a1d76a915b2189a4549736d52e761f11
MD5 3c81f41796bce3b0d6a04be32f3b3dad
BLAKE2b-256 810654fbc0c767cdcef26a834587812ed39c3cbf9ce6de34457784bf4eabdb3c

See more details on using hashes here.

File details

Details for the file git_gamify-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: git_gamify-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 22.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for git_gamify-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a3154e1be1b3b997e4f466616c71c61a295ee8cc4f2050eb09bf80a8c289621d
MD5 375b93afd3ebedf332566095db4ed553
BLAKE2b-256 21d6a885525cbc4bde0da6a4b7346d8e100d7457f50960ba9098cf42f742eef1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page