๐ช The Ultimate Muscle-Powered Code Typing Experience
Practice real code. Build typing stamina. Master syntax.
๐ง โก SyntaxRush is an advanced, gamified terminal application that transforms code typing practice into an engaging fitness experience. Built for developers who want to type code like a pro!
- ๐ช Real-time Power Tracking: Dynamic muscle power calculation based on keystroke efficiency
- ๐ Achievement System: Unlock "Finger Fury", "On Fire", and "Zen Mode" achievements
- ๐ Stamina Monitoring: Track typing endurance and detect fatigue patterns
- โก Power States: 6 dynamic states from "Ready to Type" to "Burnout" with visual feedback
- ๐ฅ Streak Tracking: Monitor consecutive correct characters with milestone celebrations
- ๐ฏ Consistency Analysis: Rhythm detection and keystroke timing optimization
- ๐ Multi-language Support: Go, Python, JavaScript, C++, TypeScript, Rust, Java
- ๐ Quick File Loading: Smart shortcuts (
go,py,js,cpp) or custom file paths - โจ Live Color Feedback: Green/red character highlighting with persistent history
- ๐ Unified Display: Code context and typing practice in one seamless interface
- ๐จ Leading Space Intelligence: Skip indentation, focus on actual code content
- ๐ต High-Quality Audio: Oto v2 library for crisp 44.1kHz sound
- โ Error Feedback: Instant audio cues for typing mistakes
- โ Success Sounds: Satisfying completion audio rewards
- ๐ Graceful Fallback: Terminal bell backup if audio fails
- โฑ๏ธ Real-time Metrics: WPM, CPM, accuracy, time tracking
- ๐ฏ Session Analysis: Detailed performance breakdown
- ๐พ Typing History: Color-coded progress preservation across lines
- ๐ Power Statistics: Peak performance, stamina levels, consistency scores
| Status | Icon | Trigger Condition | Description |
|---|---|---|---|
| ๐ง Zen Mode | ๐ง | 95%+ consistency + 80+ CPM + 50+ streak | Ultimate flow state |
| ๐ช Full Power | ๐ช | 80%+ stamina + 60+ CPM | Peak performance |
| โก Good Flow | โก | 60%+ stamina + steady rhythm | Solid pace |
| ๐ค Fatigue Mode | ๏ฟฝ | Declining performance | Focus needed |
| ๐ฅ Rest Needed | ๐ฅ | Critical performance drop | Break time |
| ๐ Ready to Type | ๐ | Initial state | Let's begin! |
- ๐ FINGER FURY UNLEASHED! - 100+ character perfect streak
- ๐ฅ ON FIRE! - 50+ character perfect streak
- โก GAINING MOMENTUM! - 25+ character perfect streak
- Go 1.21+ (Download from golang.org)
- Color-capable terminal (most modern terminals)
# Clone and install globally
git clone https://github.com/vamshi1188/SyntaxRush.git
cd SyntaxRush
./install.sh
# Start practicing immediately
syntaxrush practice go# Clone the repository
git clone https://github.com/vamshi1188/SyntaxRush.git
cd SyntaxRush
# Install dependencies
go mod tidy
# Build the application
go build -o syntaxrush
# Run SyntaxRush
./syntaxrush practice# Install directly with Go
go install github.com/vamshi1188/SyntaxRush@latest
# Use anywhere
syntaxrush practice main.go# Enable auto-completion for commands and files
./setup-completion.sh-
Install SyntaxRush globally:
./install.sh
-
Start practicing immediately:
# Practice with built-in samples syntaxrush practice go # Go calculator syntaxrush practice python # Python data processor syntaxrush practice js # JavaScript task manager syntaxrush practice cpp # C++ grade system # Practice with your own files syntaxrush practice main.go syntaxrush practice src/app.py syntaxrush practice ~/projects/calculator.js
-
Use CLI flags for customization:
syntaxrush practice --quick main.go # Skip welcome screen syntaxrush practice --mute app.py # Disable audio syntaxrush practice --stats hello.go # Show detailed stats
| Command | Description | Example |
|---|---|---|
practice [file] |
Start typing practice | syntaxrush practice main.go |
practice go |
Practice with Go sample | syntaxrush practice go |
practice python |
Practice with Python sample | syntaxrush practice python |
stats |
View performance statistics | syntaxrush stats |
config |
Configure settings | syntaxrush config |
version |
Show version info | syntaxrush version |
--help |
Show help for any command | syntaxrush practice --help |
| Flag | Short | Description | Example |
|---|---|---|---|
--quick |
-q |
Skip welcome screen | syntaxrush practice -q main.go |
--mute |
-m |
Disable audio feedback | syntaxrush practice -m app.py |
--stats |
-s |
Show detailed statistics | syntaxrush practice -s hello.go |
--difficulty |
-d |
Set difficulty level | syntaxrush practice -d hard main.go |
--help |
-h |
Show command help | syntaxrush practice -h |
- Start Typing: Begin typing the displayed code
- Watch Your Power: Monitor your Muscle Power Indicator in real-time
- Build Streaks: Aim for long correct character streaks
- Maintain Flow: Keep consistent rhythm for maximum power
- Complete Lines: Press
Enterwhen you finish each line
๐ Ready to Type โ ๐ช Power: [โโโโโโโโโโโโโโโโโโโโ] 100% โ ๐ฅ Streak: 0 โ โก Peak: 1
โฑ๏ธ Time: 00:00 โ ๐ฏ Accuracy: 100.0% โ โก WPM: 0 โ ๐ CPM: 0 โ โ Mistakes: 0
- ๐ Session Info: File name, lines completed, total time
- ๐ฏ Performance: WPM, CPM, accuracy, mistakes
- ๐ช MPI Results: Power states, peak performance, streaks
- ๐ Achievements: Unlocked achievements and milestones
- ๐ก Health Insights: Fatigue detection and endurance analysis
| Key | Action | Description |
|---|---|---|
Enter / Space |
Start Practice | Begin typing session with current file |
Ctrl+U |
Upload File | Load a new code file for practice |
Ctrl+R |
Retry Session | Restart current file from beginning |
Esc |
Return to Menu | Go back to welcome screen |
Q |
Quit | Exit SyntaxRush |
| Shortcut | File | Language |
|---|---|---|
go |
sample.go | Go programming |
py |
sample.py | Python |
js |
sample.js | JavaScript |
cpp |
sample.cpp | C++ |
- No Backspace: Practice forward-only typing (realistic coding)
- Audio Feedback: Hear mistake alerts and success sounds
- Live Color Coding: See your progress in real-time
- Automatic Spacing: Skip leading indentation, focus on code
- ๐ข Green Characters: Correctly typed
- ๐ด Red Characters: Mistakes (shows expected character)
- โช Gray Characters: Not yet typed or indentation
- ๐ก Yellow Cursor: Current typing position
- ๐ Orange: Extra characters beyond line end
๐ช Full Power โ ๐ช Power: [โโโโโโโโโโโโโโโโโโโโ] 100% โ ๐ฅ Streak: 25 โ โก Peak: 150
- ๐ง Go 1.21+: Core application language
- ๐ฅ๏ธ Bubble Tea: Elegant TUI framework
- ๐จ Lip Gloss: Beautiful terminal styling
- ๐ Oto v2: High-quality cross-platform audio
- โก tcell v2: Advanced terminal capabilities
SyntaxRush/
โโโ main.go # Application entry point
โโโ ui/ # User interface components
โ โโโ model.go # Application state & logic
โ โโโ view.go # UI rendering & layout
โโโ core/ # Core functionality
โ โโโ audio.go # Audio management
โ โโโ metrics.go # Performance tracking
โ โโโ muscle_power.go # MPI system
โ โโโ parser.go # File parsing
โ โโโ timer.go # Time management
โโโ theme/ # Visual theming
โ โโโ theme.go # Color schemes & styles
โโโ assets/ # Sample files
โ โโโ sample.go # Go calculator
โ โโโ sample.py # Python data processor
โ โโโ sample.js # JavaScript task manager
โ โโโ sample.cpp # C++ grade system
โโโ README.md # This file
SyntaxRush supports practice with these programming languages:
| Language | Extensions | Sample File |
|---|---|---|
| Go | .go |
Advanced calculator with structs & methods |
| Python | .py |
Data processor with classes & statistics |
| JavaScript | .js, .jsx, .ts, .tsx |
Task manager with ES6+ features |
| C++ | .cpp, .c, .cc |
Grade system with OOP principles |
| Java | .java |
Add your own files |
| Rust | .rs |
Add your own files |
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open a Pull Request
# Clone and build
git clone https://github.com/vamshi1188/SyntaxRush.git
cd SyntaxRush
go mod tidy
go build -o syntaxrush
# Run tests
go test ./...
# Run with race detection
go run -race main.go- Real Code Practice: No more lorem ipsum - practice with actual code
- Language Agnostic: Works with any programming language
- Muscle Memory: Build instinctive syntax knowledge
- Flow State Training: Develop sustained coding rhythm
- Achievement System: Unlock progressively harder challenges
- Power Progression: Build typing endurance like a fitness tracker
- Visual Feedback: Satisfying real-time progress indicators
- Competitive Elements: Beat your personal bests
- Fatigue Detection: Prevents typing strain and RSI
- Break Reminders: Promotes healthy practice habits
- Stamina Building: Gradual endurance improvement
- Rhythm Training: Develops consistent, sustainable pace
This project is licensed under the MIT License - see the LICENSE file for details.
- Charm - For the amazing Bubble Tea and Lip Gloss libraries
- Hajimehoshi - For the Oto audio library
- Go Community - For excellent tooling and ecosystem
- Contributors - Thank you for making SyntaxRush better!
๐ Ready to become a typing master?
Download SyntaxRush โข Report Bug โข Request Feature
Built with ๐ช for developers who want to type like pros