An interactive, high-performance terminal-based typing trainer designed to help developers and systems administrators master terminal commands, syntax, options, and shell scripts. It's a hacker-themed typing coach (similar to Monkeytype but built natively for CLI workflows).
- Zero-Latency Captured Input: Runs in low-level terminal Raw Mode (
process.stdin.setRawMode) capturing keypresses with instant response time and no input lag. - Premium Retro CLI Aesthetics: Built using clean, custom ANSI escape sequences for full coloring (Green for success, White on Red for typos, Dim Grey for untyped chars).
- Real-time Live Telemetry HUD: Displays Net WPM, Raw WPM, Accuracy (%), and a dynamically refreshing elapsed time counter.
- Inline Shell Comment Hints: Visually aligns UNIX-style shell comments on the right side (
# Hint) explaining exactly what each target command does. - Dynamic Progress Bar: Renders a clean progress bar showing graphical completion using unicode block chars (
████████▒▒▒). - Instant Hot-run Dev Setup: Integrated with
tsxto run TypeScript files instantly without waiting for compile runs during iteration.
- Language: Strictly Typed TypeScript (configured for clean ESM imports &
isolatedModules/verbatimModuleSyntax). - Runtime: Node.js (v18+) or Bun.
- Package Manager:
pnpm. - Renderer: Pure ANSI screen buffer drawer (no heavy external component packages or visual stutters).
Install sudotype natively on your system using Homebrew by tapping the official tap:
brew tap aegis-dev/tap
brew install sudotypeTo build and install the latest master development branch directly from source:
brew install --HEAD aegis-dev/tap/sudotypeInstall it globally using your preferred Node.js package manager:
# Using pnpm
pnpm add -g sudotype
# Using npm
npm install -g sudotypeTo run it on-the-fly without a global installation:
npx sudotypesudotype supports standard Unix query flags. These run safely and exit with status code 0 without invoking raw terminal events or TUI drawing:
# Display the current version
sudotype --version # or -v
# Display the usage and help menu
sudotype --help # or -hIf you want to contribute or build/test it locally:
- Clone the repository and install dependencies:
git clone https://github.com/AegisX-dev/sudotype.git cd sudotype pnpm install - Run the hot-reloading development runner:
pnpm run dev
- Compile the production bundle:
pnpm run build
- Install your local modified package globally for testing:
pnpm add -g .
Ctrl+C: Safely quits the trainer and restores your native terminal settings (reveals system cursor).Ctrl+R: Resets your typing state instantly and loads the next random terminal command.Backspace: Allows editing and correcting typos instantly.