Skip to content

unhappychoice/gittype

Repository files navigation

GitType

crates.io release CI codecov license

Turn your own source code into typing challenges.
Show your AI who's boss — just you, your keyboard, and your coding sins.

GitType Demo

Features ✨

  • 🦀🐍⚡🐹💎🍎🎯☕🐘#️⃣🔧➕🎭🎯⚡💧📡 Multi-language: Rust, TypeScript, JavaScript, Python, Go, Ruby, Swift, Kotlin, Java, PHP, C#, C, C++, Haskell, Dart, Scala, Clojure, Elixir, Erlang, Zig (more languages incoming!)
  • 📊 Real-time metrics: Live WPM, accuracy, and consistency tracking as you type
  • 🏆 Ranking system: Unlock developer titles from "Hello World Newbie" to "Quantum Computer" with ASCII art
  • 🎮 Multiple game modes: Normal, Time Attack, and custom difficulty levels (Easy to Zen)
  • ⏸️ Pause/resume: Take breaks without ruining your stats
  • 🎯 Your own code: Type functions from your actual projects, not boring examples
  • 🔥 Trending repositories: Practice with hot GitHub repositories updated daily
  • 🎨 15+ Themes: Built-in themes with Dark/Light modes + custom theme support

Installation 📦

Quick Install (Recommended)

One-liner installation (Linux/macOS/Windows)

curl -sSL https://raw.githubusercontent.com/unhappychoice/gittype/main/install.sh | bash

Or with specific version

curl -sSL https://raw.githubusercontent.com/unhappychoice/gittype/main/install.sh | bash -s -- --version v0.5.0

Homebrew (macOS/Linux)

brew install gittype

Cargo (Universal)

cargo install gittype

Nix (NixOS/Nix)

If you have Nix installed, you can run GitType directly:

# Stable version (recommended)
nix run github:unhappychoice/gittype

# Development version (latest from main branch)
nix run github:unhappychoice/gittype#unstable

Binary Downloads

Get pre-compiled binaries for your platform from our releases page.

Available platforms:

  • x86_64-apple-darwin (Intel Mac)
  • aarch64-apple-darwin (Apple Silicon Mac)
  • x86_64-unknown-linux-gnu (Linux x64)
  • aarch64-unknown-linux-gnu (Linux ARM64)
  • x86_64-pc-windows-msvc (Windows)

Quick Start 🚀

# cd into your messy codebase
cd ~/that-project-you-never-finished

# Start typing your own spaghetti code (uses current directory by default)
gittype

# Or specify a specific repository path
gittype /path/to/another/repo

# Clone and play with any GitHub repository
gittype --repo clap-rs/clap
gittype --repo https://github.com/ratatui-org/ratatui
gittype --repo git@github.com:dtolnay/anyhow.git

# Discover and practice with trending GitHub repositories
gittype trending                    # Browse trending repos interactively
gittype trending rust               # Filter by language (Rust)

# Play with cached repositories interactively
gittype repo play

Why GitType? 🤔

  • Look busy at work → "I'm studying the codebase" (technically true!)
  • Beat the AI overlords → Type faster than ChatGPT can generate
  • Stop typing boring stuff → Your own bugs are way more interesting than lorem ipsum
  • Discover forgotten treasures → That elegant function you wrote at 3am last year
  • Procrastinate like a pro → It's code review, but gamified!
  • Embrace your legacy code → Finally face those variable names you're not proud of
  • Debug your typing skills → Because pubic static void main isn't a typo anymore
  • Therapeutic code reliving → Type through your programming journey, tears included
  • Climb the dev ladder → From "Code Monkey" to "Quantum Computer" - each rank comes with fancy ASCII art

"Basically, you need an excuse to avoid real work, and this one's pretty good."

Documentation 📚

Perfect for when the game gets too addictive:

Screenshots 📸

GitType Title Screen

GitType Gaming

GitType Result

GitType Result

GitType Records

GitType Records Detail

GitType Analytics Overview

GitType Analytics Trends

GitType Analytics Languages

GitType Analytics Repositories

GitType Settings

Related Projects 🎨

Prefer watching code over typing it? Check out Gitlogue - A terminal screensaver that animates your Git commit history with realistic typing effects.

License 📄

MIT - Because sharing is caring (and legal requirements)


Built with ❤️ and way too much caffeine by developers who got tired of typing "hello world"

Author

@unhappychoice

Support

If you find this project useful, please consider:

Every bit of support helps. Thanks!