No description
  • Rust 99.5%
  • Shell 0.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Yuji Ueki da394b56df
Merge pull request #472 from unhappychoice/dependabot/cargo/anyhow-1.0.104
chore(deps): bump anyhow from 1.0.103 to 1.0.104
2026-07-21 01:36:03 +09:00
.github feat: add winget package distribution 2026-06-01 19:39:54 +09:00
.winget/manifests/u/unhappychoice/gittype/0.10.0 feat: add winget package distribution 2026-06-01 19:39:54 +09:00
assets feat(erlang): add Erlang to CLI, TUI, and theme color schemes 2026-02-15 06:37:58 +09:00
benches fix: TotalSummaryShareScreen and cache directory bugs 2026-02-12 13:32:42 +09:00
docs feat: add winget package distribution 2026-06-01 19:39:54 +09:00
examples refactor: complete dependency injection for Repository layer 2026-02-12 13:31:18 +09:00
src chore(deps): bump git2 from 0.20 to 0.21 2026-05-31 23:13:54 +09:00
tests fix(clippy): remove useless borrow in println! argument 2026-07-11 16:55:54 +09:00
.gitignore refactor: replace dirs::home_dir with AppDataProvider abstraction 2025-10-23 12:33:27 +09:00
about.hbs chore: add generated third-party licenses 2025-09-24 16:50:19 +09:00
about.toml chore: add generated third-party licenses 2025-09-24 16:50:19 +09:00
AGENTS.md docs: expand AGENTS.md and add CLAUDE.md pointer 2026-05-13 12:39:32 +09:00
build.rs fix: update tests and resolve clippy warnings after theme system refactor 2025-09-21 14:05:13 +09:00
Cargo.lock Merge pull request #472 from unhappychoice/dependabot/cargo/anyhow-1.0.104 2026-07-21 01:36:03 +09:00
Cargo.toml chore(deps): bump tree-sitter-erlang from 0.18.0 to 0.19.0 2026-06-05 12:53:33 +00:00
CHANGELOG.md chore: bump version to v0.10.0 2026-04-20 16:32:14 +00:00
CLAUDE.md docs: expand AGENTS.md and add CLAUDE.md pointer 2026-05-13 12:39:32 +09:00
codecov.yml ci: add Codecov integration for code coverage tracking 2025-08-31 13:36:18 +09:00
CODEOWNERS feat: add CODEOWNERS file with @unhappychoice as global owner 2025-09-04 21:17:06 +09:00
flake.lock chore(nix): update flake.lock to refresh rust-overlay/nixpkgs 2026-05-31 23:36:10 +09:00
flake.nix fix(nix): use rust-overlay's latest stable for unstable package 2026-05-31 23:10:44 +09:00
generate_changelog.sh feat: add GitHub links to commit hashes in changelog 2025-09-02 09:53:52 +09:00
install.sh fix: prevent URL duplication in install script 2025-09-26 09:57:02 +09:00
LICENSE docs: create comprehensive documentation and banner 2025-08-31 11:43:02 +09:00
LICENSE-THIRD-PARTY chore: add generated third-party licenses 2025-09-24 16:50:19 +09:00
README.md docs: add Discord and blog mentions to Support section 2026-05-14 10:40:06 +09:00

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 📦

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

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!