Help us shape the future of Go! Take the 2026 Go Developer Survey

keyarch

module
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 5, 2026 License: MIT

README ยถ

Keyarch โŒจ๏ธ

 โ–ˆโ–ˆ โ–„โ–ˆโ–€โ–“โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–“โ–ˆโ–ˆ   โ–ˆโ–ˆโ–“ โ–„โ–„โ–„       โ–ˆโ–ˆโ–€โ–ˆโ–ˆโ–ˆ   โ–„โ–ˆโ–ˆโ–ˆโ–ˆโ–„   โ–ˆโ–ˆโ–‘ โ–ˆโ–ˆ 
 โ–ˆโ–ˆโ–„โ–ˆโ–’ โ–“โ–ˆ   โ–€ โ–’โ–ˆโ–ˆ  โ–ˆโ–ˆโ–’โ–’โ–ˆโ–ˆโ–ˆโ–ˆโ–„    โ–“โ–ˆโ–ˆ โ–’ โ–ˆโ–ˆโ–’โ–’โ–ˆโ–ˆโ–€ โ–€โ–ˆ  โ–“โ–ˆโ–ˆโ–‘ โ–ˆโ–ˆโ–’
โ–“โ–ˆโ–ˆโ–ˆโ–„โ–‘ โ–’โ–ˆโ–ˆโ–ˆ    โ–’โ–ˆโ–ˆ โ–ˆโ–ˆโ–‘โ–’โ–ˆโ–ˆ  โ–€โ–ˆโ–„  โ–“โ–ˆโ–ˆ โ–‘โ–„โ–ˆ โ–’โ–’โ–“โ–ˆ    โ–„ โ–’โ–ˆโ–ˆโ–€โ–€โ–ˆโ–ˆโ–‘
โ–“โ–ˆโ–ˆ โ–ˆโ–„ โ–’โ–“โ–ˆ  โ–„  โ–‘ โ–โ–ˆโ–ˆโ–“โ–‘โ–‘โ–ˆโ–ˆโ–„โ–„โ–„โ–„โ–ˆโ–ˆ โ–’โ–ˆโ–ˆโ–€โ–€โ–ˆโ–„  โ–’โ–“โ–“โ–„ โ–„โ–ˆโ–ˆโ–’โ–‘โ–“โ–ˆ โ–‘โ–ˆโ–ˆ 
โ–’โ–ˆโ–ˆโ–’ โ–ˆโ–„โ–‘โ–’โ–ˆโ–ˆโ–ˆโ–ˆโ–’ โ–‘ โ–ˆโ–ˆโ–’โ–“โ–‘ โ–“โ–ˆ   โ–“โ–ˆโ–ˆโ–’โ–‘โ–ˆโ–ˆโ–“ โ–’โ–ˆโ–ˆโ–’โ–’ โ–“โ–ˆโ–ˆโ–ˆโ–€ โ–‘โ–‘โ–“โ–ˆโ–’โ–‘โ–ˆโ–ˆโ–“
โ–’ โ–’โ–’ โ–“โ–’โ–‘โ–‘ โ–’โ–‘ โ–‘  โ–ˆโ–ˆโ–’โ–’โ–’  โ–’โ–’   โ–“โ–’โ–ˆโ–‘โ–‘ โ–’โ–“ โ–‘โ–’โ–“โ–‘โ–‘ โ–‘โ–’ โ–’  โ–‘ โ–’ โ–‘โ–‘โ–’โ–‘โ–’

A minimal, beautiful typing test for your terminal

Go Version License


โœจ Features

๐ŸŽฏ Core Features
  • Multiple Test Modes: Timer (15s-120s), Word (25-200), Quote, Code (10 languages)
  • Real-Time Stats: WPM, CPM, Accuracy, Mistakes
  • 10 Beautiful Themes: Catppuccin, Nord, Dracula, Gruvbox, Rose Pine, Tokyo Night, One Dark, Monokai, Solarized, Material
  • Performance Tracking: History, streaks, weak keys analysis
  • Local Storage: All data stored in ~/.keyarch/
๐ŸŽฎ Gamification
  • 23 Achievements: Speed, Accuracy, Dedication, Consistency badges
  • Daily & Weekly Goals: Auto-reset goals with progress tracking
  • Progress Dashboard: 3-tab interface (Achievements, Daily, Weekly)
  • Hidden Achievements: Unlock surprises at expert milestones
๐Ÿš€ Advanced Features
  • ๐Ÿ“Š Live WPM Graph: Real-time sparkline showing speed trends during test
  • ๐ŸŽฏ Difficulty Levels: Easy/Medium/Hard word sets (300+ words)
  • ๐Ÿ”Š Sound Effects: Keystroke sounds, achievement/goal notifications
  • ๐Ÿ”ฅ Typing Heatmap: Color-coded keyboard showing key accuracy

๐Ÿš€ Installation

Prerequisites
  • Go 1.22 or higher
From Source
git clone https://github.com/vinayydv3695/keyarch.git
cd keyarch
go mod tidy
go build -o keyarch ./cmd/keyarch
sudo mv keyarch /usr/local/bin/  # Optional
Quick Install
go install github.com/vinayydv3695/keyarch/cmd/keyarch@latest

๐ŸŽฎ Usage

# Launch TUI
keyarch

# Direct modes
keyarch --mode quick --duration 30
keyarch --mode words --words 50
keyarch --mode quote
keyarch --mode code

# With theme
keyarch --theme dracula

โŒจ๏ธ Keyboard Shortcuts

  • โ†‘/โ†“ or j/k - Navigate
  • Enter - Select
  • ESC - Back
  • Ctrl+C - Quit
  • Backspace - Delete character

๐ŸŽจ Themes

Switch themes from the menu or use --theme flag:

๐ŸŒ™ Available Themes
  1. Catppuccin Mocha (default) - Soft pastels
  2. Nord - Arctic blues
  3. Dracula - Vibrant dark
  4. Gruvbox Dark - Warm retro
  5. Rose Pine - Elegant cozy
  6. Tokyo Night - Modern clean
  7. One Dark - Classic Atom
  8. Monokai - Sublime colors
  9. Solarized Dark - Precision colors
  10. Material Dark - Google design

๐Ÿ’ป Code Mode Languages

Practice typing in 10 programming languages:

  • Go, JavaScript, TypeScript, Python, Rust
  • C++, Java, C#, Ruby, PHP

๐Ÿ“Š Statistics

Track your progress with:

  • Test history with timestamps
  • Best and average WPM
  • Accuracy trends
  • Daily streaks
  • Weak keys identification

Data stored in: ~/.keyarch/keyarch.db


๐Ÿ› ๏ธ Development

# Run
go run ./cmd/keyarch

# Build
go build -ldflags="-s -w" -o keyarch ./cmd/keyarch

# Test
go test ./...

๐Ÿ“ License

MIT License - see LICENSE file


๐Ÿ™ Credits

Built with:


Made with โค๏ธ and โŒจ๏ธ

GitHub: @vinayydv3695

````

Made with โค๏ธ and โŒจ๏ธ

GitHub: @vinayydv3695


๐Ÿš€ Installation

Prerequisites
  • Go 1.22 or higher
  • A terminal with Unicode support
From Source
# Clone the repository
git clone https://github.com/vinayydv3695/keyarch.git
cd keyarch

# Install dependencies
go mod tidy

# Build the application
go build -o keyarch ./cmd/keyarch

# Move to PATH (optional)
sudo mv keyarch /usr/local/bin/
Quick Install
go install github.com/vinayydv3695/keyarch/cmd/keyarch@latest

๐ŸŽฎ Usage

Launch the TUI
keyarch
Direct Mode (Skip Menu)
# Quick 15-second test
keyarch --mode quick

# 30-second timed test
keyarch --mode quick --duration 30

# 50-word test
keyarch --mode words --words 50

# Random quote
keyarch --mode quote

# Code snippet
keyarch --mode code
Theme Selection
# Set theme via CLI
keyarch --theme dracula
keyarch --theme nord
keyarch --theme gruvbox-dark
keyarch --theme catppuccin-mocha

โŒจ๏ธ Keyboard Shortcuts

Navigation
  • โ†‘/โ†“ or j/k - Navigate menus
  • Enter or Space - Select/Confirm
  • ESC - Go back
  • Ctrl+C or q - Quit
During Test
  • Backspace - Delete character
  • ESC - Exit to menu
  • Ctrl+C - Quit application

๐Ÿ“ Project Structure

keyarch/
โ”œโ”€โ”€ cmd/
โ”‚   โ””โ”€โ”€ keyarch/
โ”‚       โ””โ”€โ”€ main.go              # Application entry point
โ”‚
โ”œโ”€โ”€ internal/
โ”‚   โ”œโ”€โ”€ engine/                  # Typing test logic
โ”‚   โ”‚   โ””โ”€โ”€ engine.go            # WPM, accuracy, input handling
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ tui/                     # BubbleTea UI
โ”‚   โ”‚   โ”œโ”€โ”€ home/                # Home menu screen
โ”‚   โ”‚   โ”œโ”€โ”€ test/                # Active test screen
โ”‚   โ”‚   โ”œโ”€โ”€ summary/             # Results summary screen
โ”‚   โ”‚   โ”œโ”€โ”€ stats/               # Statistics dashboard
โ”‚   โ”‚   โ”œโ”€โ”€ theme/               # Theme selector
โ”‚   โ”‚   โ””โ”€โ”€ components/          # Reusable UI components
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ storage/                 # SQLite database
โ”‚   โ”‚   โ”œโ”€โ”€ db.go                # Database operations
โ”‚   โ”‚   โ””โ”€โ”€ models.go            # Data models
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ config/                  # Configuration
โ”‚   โ”‚   โ”œโ”€โ”€ config.go            # App settings
โ”‚   โ”‚   โ””โ”€โ”€ theme.go             # Theme definitions
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€ data/                    # Text generation
โ”‚       โ”œโ”€โ”€ words.go             # Word lists & quotes
โ”‚       โ””โ”€โ”€ snippets.go          # Code snippets
โ”‚
โ”œโ”€โ”€ assets/
โ”‚   โ”œโ”€โ”€ words/                   # Word lists
โ”‚   โ”‚   โ”œโ”€โ”€ easy.txt
โ”‚   โ”‚   โ”œโ”€โ”€ medium.txt
โ”‚   โ”‚   โ””โ”€โ”€ hard.txt
โ”‚   โ””โ”€โ”€ snippets/                # Code snippets
โ”‚       โ”œโ”€โ”€ go/
โ”‚       โ”œโ”€โ”€ js/
โ”‚       โ”œโ”€โ”€ py/
โ”‚       โ””โ”€โ”€ rs/
โ”‚
โ”œโ”€โ”€ go.mod
โ”œโ”€โ”€ go.sum
โ””โ”€โ”€ README.md

๐ŸŽจ Themes

Catppuccin Mocha (Default)

Soft, pastel colors with excellent contrast. Perfect for long typing sessions.

Nord

Cool, arctic-inspired palette. Clean and minimal.

Dracula

Dark theme with vibrant accent colors. High contrast for visibility.

Gruvbox Dark

Warm, retro-inspired colors. Easy on the eyes.

Switch themes: Navigate to "Themes" in the main menu or use --theme flag.


๐Ÿ“Š Statistics

Keyarch tracks your progress locally:

  • Test History: All your typing tests with timestamps
  • Best Scores: Track your personal records
  • Accuracy Trends: See how your accuracy improves
  • Weak Keys: Identify which keys you mistype most
  • Daily Streaks: Stay motivated with daily practice

All data is stored in ~/.keyarch/keyarch.db


๐Ÿ› ๏ธ Development

Run in Development
go run ./cmd/keyarch
Run Tests
go test ./...
Build for Production
# Current platform
go build -ldflags="-s -w" -o keyarch ./cmd/keyarch

# Cross-compile for Linux
GOOS=linux GOARCH=amd64 go build -o keyarch-linux ./cmd/keyarch

# Cross-compile for macOS
GOOS=darwin GOARCH=arm64 go build -o keyarch-macos ./cmd/keyarch

# Cross-compile for Windows
GOOS=windows GOARCH=amd64 go build -o keyarch.exe ./cmd/keyarch

๐Ÿ“š Documentation


๐Ÿค Contributing

Contributions are welcome! Here are some ideas:

  • ๐ŸŒ Add more language support
  • ๐ŸŽจ Create new themes
  • ๐Ÿ“ Add more quotes and code snippets
  • ๐Ÿ› Fix bugs and improve performance
  • ๐Ÿ“š Improve documentation
Steps to Contribute
  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐ŸŽฏ Roadmap

โœ… Completed
  • 23 Achievement system with badges
  • Daily and weekly goals
  • Live WPM graph during tests
  • Difficulty levels (Easy/Medium/Hard)
  • Sound effects system
  • Typing heatmap visualization
  • 10 beautiful themes
  • 10 programming languages
๐Ÿšง In Progress
  • Online quote API integration
  • Custom word lists
  • Multiplayer mode (local network)
๐Ÿ“‹ Planned
  • GitHub Gist leaderboard sync
  • Custom themes (JSON config)
  • Export statistics as JSON/CSV
  • Mobile-friendly version
  • Plugin system

๐Ÿ“ License

This project is licensed under the MIT License - see the LICENSE file for details.


๐Ÿ™ Acknowledgments

Built with amazing open-source libraries:

Inspired by:


๐Ÿ“ฌ Contact

Author: Vinay Yadav
GitHub: @vinayydv3695
Project: Keyarch


Made with โค๏ธ and โŒจ๏ธ

Happy typing!

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL