https://github.com/vupdivup/typomat
typomat: turn your code into muscle memory
https://github.com/vupdivup/typomat
cli golang tui typing typing-game typing-practice
Last synced: 6 months ago
JSON representation
typomat: turn your code into muscle memory
- Host: GitHub
- URL: https://github.com/vupdivup/typomat
- Owner: vupdivup
- License: mit
- Created: 2025-11-14T19:23:34.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2026-01-11T14:35:58.000Z (6 months ago)
- Last Synced: 2026-01-13T22:58:35.552Z (6 months ago)
- Topics: cli, golang, tui, typing, typing-game, typing-practice
- Language: Go
- Homepage:
- Size: 1.58 MB
- Stars: 7
- Watchers: 0
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# typomat: turn your code into muscle memory
typomat is a command-line typing practice tool that creates exercises from the contents of your repository—perfect for a quick warmup before work.

## Features
- ⌨️ Typing practice focused on code vocabulary
- 📂 Works with any local folder containing text files
- 🖥️ Sleek text-based UI that fits comfortably in your terminal
- 📊 WPM and accuracy metrics to help track your progress
- 🙈 .gitignore-aware; no sensitive data is ingested
- 💾 Caching to load your favorite codebases in no time
## How it works
When invoked, typomat runs through a directory's source code, extracting words from variable declarations, string literals and function signatures. These words are then used to build short, randomized typing prompts relevant to your codebase.
## Installation
### Windows
Install via [Scoop](https://scoop.sh/):
```bash
scoop bucket add vupdivup https://github.com/vupdivup/scoop-bucket
scoop install typomat
```
### Linux/MacOS
Install via [Homebrew](https://brew.sh/):
```bash
brew tap vupdivup/tap
brew install typomat
```
### Pre-built binaries
Pre-built binaries are archived under the [latest release](https://github.com/vupdivup/typomat/releases/latest).
### Go
Use the Go toolchain to build from source:
```bash
go install github.com/vupdivup/typomat/cmd/typomat@latest
```
## Usage
Start a typing session by passing the path to the directory you'd like to practice on:
```bash
typomat path/to/dir
```
> [!NOTE]
> typomat caches extracted words to a persistent on-disk location. To keep this cache small, avoid passing very large directories like `~` or `/home`. The `--purge` flag can be used to clear the cache if needed.