klycky
v1.0.4
Published
A beautiful, terminal-native typing application for developers
Maintainers
Readme
Klycky ⌨️
A beautiful, terminal-native typing application for developers.
Klycky is a minimalist, high-performance CLI typing test and terminal UI designed as a lightweight, offline alternative to Monkeytype for developers. Enhance your typing speed, track your productivity, measure your WPM, and practice touch typing directly in your terminal without any distractions.
✨ Features
- Beautiful Terminal UI — Cozy, modern, and elegant design with full theming
- Zero Flickering — Buffered frame rendering with region-based updates
- Multiple Typing Modes — Time (15s/30s/60s), Word Count (25/50/100), Quotes, Custom Text
- Live Performance Metrics — WPM sparkline, accuracy meter, flow indicators
- 18 Built-in Themes — Catppuccin, Dracula, Rosé Pine, Solarized, and more
- Command Palette — Floating overlay with slash commands (like VSCode)
- Fully Offline — No accounts, no internet, zero runtime dependencies
- Cross-Platform — Works on Windows, macOS, and Linux
- Zero Lag — Near-instant startup and immediate input response
📦 Installation
npm install -g klyckyOr run directly without installing:
npx klycky🚀 Quick Start
# Start with defaults (30s time mode, Catppuccin theme)
klycky
# Start with a specific theme
klycky --theme nord
# Start in word count mode
klycky --mode words --words 50
# Start with a custom time
klycky --time 60⌨️ Controls
| Key | Action |
|---|---|
| Start typing | Begin the test |
| Space | Move to next word |
| Backspace | Delete last character |
| Ctrl+Backspace | Delete entire word |
| Tab | Restart / next test |
| Escape | Reset (typing) / Quit (idle/results) |
| / | Open command palette (when idle) |
| Ctrl+C | Force quit |
Results Screen
After completing a test, results are shown with input protection:
- Tab — Start a new test
- Escape — Quit
All other keys are ignored to prevent accidental skipping.
💬 Command Palette
Press / while idle to open the command palette overlay:
| Command | Description |
|---|---|
| /theme <name> | Change theme |
| /themes | List available themes |
| /mode <mode> | Switch typing mode (time, words, quote) |
| /time <seconds> | Set session duration |
| /words <count> | Set word count target |
| /restart | Restart current session |
| /stats | View your statistics |
| /history | View recent sessions |
| /best | Show personal best WPM |
| /caret <style> | Change caret (line, block, underline) |
| /difficulty <level> | Set difficulty (easy, normal, hard) |
| /punct | Toggle punctuation |
| /numbers | Toggle numbers |
| /zen | Toggle zen mode (minimal UI) |
| /focus | Toggle focus mode |
| /quit | Exit Klycky |
| /help | Show all commands |
🎨 Themes
- 8008 — Grey and pink classic keycap colorway
- 80s After Dark — Neon cyber vibes under a dark sky
- 9009 — Vintage office beige and green keycaps style
- Aether — Dark cosmic palette with deep orange accents
- Alduin — Dark, dragon-inspired tones from Skyrim
- Alpine — Crisp, clean mountain air and ice-blue shades
- Anti Hero — Moody, dark theme with high contrast highlights
- Arch — Minimalist grey and blue inspired by Arch Linux
- Aurora — Cool northern lights color palette
- Beach — Sandy beige and ocean blue notes
- Bento — Warm red, blue, and clean white tones
- Bingsu — Creamy red beans and ice-cold white
- Bliss — Soft, calming pastel color palette
- Blue Dolphin — Deep oceanic blues and playful highlights
- Blueberry Dark — Deep violet and berry accents on a dark base
- Blueberry Light — Fresh berry tones on a bright background
- Botanical — Leafy greens and wooden tones
- Bouquet — Soft florals and sweet lavender hues
- Breeze — Refreshing light blue tones
- Bushido — Deep red and steel grey warrior tones
- Café — Warm coffee and cream palette
- Camping — Forest green and campfire orange
- Carbon — Clean dark grey and orange accents
- Catppuccin Frappé — Muted pastels on a mid-tone base
- Catppuccin Mocha — Warm pastel colors on a dark background
- Chaos Theory — Vibrant green and purple accents
- Cheesecake — Sweet strawberry pink and cream tones
- Cherry Blossom — Soft cherry blossom pink highlights
- Comfy — Cozy home tones with warm accents
- Copper — Metallic brown and warm rust accents
- Creamsicle — Orange and vanilla cream highlights
- Cy Red — High-contrast neon red accents
- Cyberspace — Deep tech cyber green and dark navy
- Dark Magic Girl — Magical violet and pink accents on dark
- Dark Note — Clean grey note-taking aesthetic
- Darling — Soft pink and white anime-inspired tones
- Deku — Heroic green, red, and white palette
- Desert Oasis — Sand dunes and warm blue pools
- Dev — Classic terminal code editor color scheme
- Diner — Vintage neon diner sign vibes
- Dino — Forest floor greens and prehistoric tones
- Discord — Cozy chat app blue-purple and dark grey
- Dmg — Retro handheld console grey and purple accents
- Dollar — Wealthy green notes and dark cash register tones
- Dracula — Bold purples and vivid greens
- Drowning — Deep blue and teal underwater shades
- Dualshot — Classic console controller grey and accent colors
- Earthsong — Natural green and brown woodsy tones
- Everblush — Cozy dark green and soft blush accents
- Evil Eye — Mystical dark blue and gold notes
- Ez Mode — High-readability basic neon highlights
- Fire — Hot orange and red embers on black
- Fledgling — Soft bird-feather grey and blue tones
- Fleuriste — Parisian flower shop greens and rose tones
- Floret — Muted botanical greens and soft cream
- Froyo — Cool yogurt white and fruit topping colors
- Frozen Llama — Playful purple and cyan llama tones
- Fruit Chew — Bright fruit candy pink and yellow highlights
- Fundamentals — Clean, basic high-contrast developer tones
- Future Funk — Vibrant retro-wave magenta and cyan
- Github — Clean default GitHub styling
- GitHub Dark — Clean, modern dark theme
- Godspeed — Space exploration yellow and blue-grey
- Graen — Organic green and cool dark tones
- Grand Prix — Racing green and yellow track stripes
- Grape — Sweet deep purple grape tones
- Gruvbox Dark — Retro warm color scheme
- Gruvbox Light — Warm sandy paper background with retro accents
- Hammerhead — Dark oceanic navy and neon blue shark tones
- Hanok — Traditional Korean wooden architecture tones
- Hedge — Manicured lawn green and dark stone
- Honey — Sweet gold and amber honey highlights
- Horizon — Warm sunset orange and purple sky
- Husqy — Arctic sled-dog grey and ice blue
- Iceberg Dark — Frosty deep blue iceberg under dark night
- Iceberg Light — Clean polar glacier white and cold blue
- Incognito — Stealthy monochrome shades of grey
- Ishtar — Ancient Mesopotamian gold and clay tones
- Iv Clover — Lucky green and white clover patch
- Iv Spade — Dark royal card game aesthetic
- Joker — Villainous green and purple comic vibes
- Laser — Cyberpunk retro magenta laser beams
- Lavender — Calming light purple floral shades
- Leather — Rich brown and tan saddle tones
- Lil Dragon — Cute cartoon purple and gold highlights
- Lilac Mist — Morning mist over lavender fields
- Lime — Sour green citrus fruit tones
- Luna — Moonlit blue and soft night sky shades
- Macroblank — Minimal vaporwave aesthetics
- Magic Girl — Pastel magical girl pink and mint
- Mashu — Cozy lavender and warm grey shield tones
- Matcha Moccha — Green tea matcha and creamy espresso tones
- Material — Google material design standard palette
- Matrix — Classic falling digital rain green-on-black
- Menthol — Cool, minty fresh light green notes
- Metaverse — Digital magenta and high-tech blue
- Metropolis — Art deco dark steel and golden window lights
- Miami — Retro neon pink and bright teal vibes
- Miami Nights — Dark synthwave neon pink and blue
- Midnight — Deep dark blue and starry highlights
- Milkshake — Soft strawberry, vanilla, and cherry highlights
- Mint — Fresh mint green and cool white notes
- Mizu — Clean spring water blue and clear white
- Modern Dolch — Sleek modern grey and teal keycaps
- Modern Dolch Light — Clean light grey with modern teal accents
- Modern Ink — Calligraphy brush black and ink bottle tones
- Monokai Pro — Classic vibrant syntax colors
- Moonlight — Cool night shadows and pale yellow moonbeams
- Mountain — Foggy peaks and cold granite grey
- Mr Sleeves — Warm beige and soft pink fabric tones
- Ms Cupcakes — Sweet bakery frosting pink and blue pastels
- Muted — Subdued tones for distraction-free typing
- Nautilus — Deep sea submarine navy and yellow accent
- Nebula — Far space cosmic purples and pinks
- Night Runner — Dark streets with running yellow safety stripes
- Nord — Arctic-inspired color palette
- Nord Light — Frosty clean light white and pastel accents
- Norse — Mythological cold sea and dark wood tones
- Oblivion — Classic grey code editor look
- Olive — Earthy greens and natural tones
- Olivia — Elegant rose gold and charcoal grey
- Onedark — Atom editor inspired coding theme
- Our Theme — Warm community-built cozy color scheme
- Pale Nimbus — Soft raincloud grey and blue sky notes
- Paper — Vintage notebook paper and dark ink
- Passion Fruit — Rich purple skin and bright gold seed accents
- Pastel — Sweet candy shop multi-color pastels
- Peach Blossom — Soft pink blossoms and green leaf notes
- Peaches — Juicy warm peach orange and cream
- Pink Lemonade — Refreshing sweet pink and yellow citrus
- Pulse — High contrast neon blue pulse waves
- Purpleish — Soft violet tones for calm typing
- Rainbow Trail — Colorful rainbow spectrum highlights
- Red Dragon — Fiery red and dark dragon scales
- Red Samurai — Deep red and golden armor accents
- Repose Dark — Subdued warm charcoal for restful typing
- Repose Light — Soft warm cream for clean typing
- Retro — Warm vintage terminal green and brown
- Retrocast — Old-school TV yellow and soft blue
- Rosé Pine — Soho vibes with muted rose tones
- Rose Pine Dawn — Soft morning sun over pine forests
- Rose Pine Moon — Cool moonlit evening pine forest tones
- Rudy — Deep blue and retro red football highlights
- Ryujinscales — Mystic golden-scaled dragon green and gold
- Serika — Cozy workspace yellow and dark slate
- Serika Dark — Monkeytype-inspired dark gold accent
- Serika Light — Monkeytype-inspired light variant
- Sewing Tin — Retro cookie tin blue and sewing needles
- Sewing Tin Light — Clean light blue sewing basket tones
- Shoko — Soft blue and cream school uniform tones
- Slambook — Fun teenage journal pink and bright blue
- Snes — Classic 16-bit console grey and purple buttons
- Soaring Skies — Flying high blue sky and white cloud tones
- Solarized Dark — Ethan Schoonover's precision palette
- Solarized Light — High-precision clean solarized light paper
- Solarized Osaka — Warm Japanese sunset solarized theme
- Sonokai — High-contrast warm neon coding colors
- Spiderman — Heroic web-slinger red and blue accents
- Stealth — Matte black and ultra-dark grey stealth mode
- Strawberry — Ripe sweet red strawberry tones
- Striker — Champion blue and white sports vibe
- Suisei — Sparkly idol blue and starry highlights
- Sunset — Golden hour orange and dusky purple sky
- Superuser — Classic hacker terminal green-on-black
- Sweden — Flag-inspired blue and yellow notes
- Tangerine — Sweet orange peel and fresh cream
- Taro — Creamy purple sweet potato root tones
- Terminal — Default classic high contrast terminal style
- Terra — Warm clay, soil, and earth tones
- Terrazzo — Stone speckle mosaic grey and brown
- Terror Below — Murky ocean deep green and warning green
- Tiramisu — Coffee espresso and cocoa powder brown
- Tokyo Night — Cool blue and purple tones
- Trackday — Racing asphalt grey and red-line indicator
- Trance — Neon electronic music festival vibes
- Tron Orange — Futuristic neon orange grid lines
- Vaporwave — 80s pink, purple, and retro-tech cyan
- Vesper — Minimalist dark charcoal with warm orange pop
- Vesper Light — Clean bright paper with warm orange accent
- Viridescent — Lush botanical garden green tones
- Voc — Dark theme with bright warning accents
- Vscode — Default VS Code dark editor layout colors
- Watermelon — Fresh juicy red melon and green rind
- Wavez — Dynamic oceanic teal waves
- Witch Girl — Magical witchy dark violet and neon green
Switch themes instantly with /theme <name>.
📊 Metrics
- WPM — Words per minute (standard: 1 word = 5 characters)
- Raw WPM — Total characters per minute (including errors)
- Accuracy — Percentage of correct keypresses
- Consistency — How steady your typing speed is
- Streak — Longest run of correct characters
- Flow — Visual indicator of typing rhythm (✦✦✦)
🏗️ Architecture
Klycky uses a region-based rendering architecture for flicker-free performance:
┌─────────────────────────────────┐
│ ◆ klycky (logo) │ ← static, renders once
│ time · 28s (mode) │ ← timer tick only (200ms)
│ ───────────────── (separator) │ ← static
│ │
│ the quick brown fox (typing) │ ← keypress only
│ jumps over the lazy │
│ │
│ wpm 67 ▁▂▃▅▆ acc 97% (stats)│ ← keypress only
│ ───────────────── (separator) │ ← static
│ tab next esc quit (footer) │ ← state change only
└─────────────────────────────────┘All output is frame-buffered: accumulated into a write buffer and flushed as a single stdout.write() call to prevent tearing.
🗂️ Data Storage
All data is stored locally in ~/.klycky/:
config.json— Your settingsstats.json— Aggregate statisticshistory.json— Session history
🛠️ Development
# Clone the repository
git clone https://github.com/yourusername/klycky.git
cd klycky
# Install dependencies
npm install
# Build
npm run build
# Run locally
npm start
# Watch mode (auto-rebuild on changes)
npm run dev📋 Requirements
- Node.js >= 18
- A terminal with true-color support (Windows Terminal, iTerm2, Alacritty, Kitty, etc.)
🤝 Want to Contribute?
Refer to CONTRIBUTING.md.
💖 Support
If you wish to support further development and feel extra awesome, you can sponsor me on GitHub.
📄 License
GPL-3.0 © Klycky Contributors
