@dilapidated-penguin/cubetimer
v1.1.1
Published
fast and lightweight CLI timer for speedcubing. Track your solves, get random scrambles, and analyze your times
Maintainers
Readme
🧩 CubeTimer
A fast and lightweight CLI timer for speedcubing. Generate random scrambles and track your solves and analyze your times.
🚀 Features
- ✅ Accurate Timer - Spacebar activated timer
- ✅ Scramble Generator – Provides scrambles for 2x2-7x7, Megaminx, Pyraminx, Skewb, Square-1, and Clock.
- ✅ Session Statistics – Tracks mean, average of 5/12, best/worst times, and standard deviation.
📦 Installation
Prerequisites
- Requires Node.js v16+.
Install via npm
npm install -g @dilapidated-penguin/cubetimerRun in Local Development
git clone https://github.com/Dilapidated-Penguin/speedcubing-timer-cli.git
cd cubetimer
npm install
npm start🎯 Usage
Start a Timer
cubetimer startHold down the spacebar to prime the timer, release it to start and tap the spacebar again to stop the timer
Other commands
Below are some of the other commands and a brief explanations for what each does
- Scramble [number] [length]: Generate either 1 or the specified number of scrambles of the requested format. The command will default to the scramble length in the settings
- graph [option] : Generate a graph of the specified property(Eg. graphing the mean of the sessions)
- metronome [bpm]: Begins a metronome between for any bpm specified between 3 and 180 bpm
- show-session : View previous solve sessions and a list of each solve
🔨 Development
Build TypeScript
npm run build🛠️ Dependencies
@futpib/node-global-key-listener– Global key listening for timing functionality.chalk– Terminal styling.keypress– Key event handling.scrambow– Scrambow is used for scramble generation and so the question of whether this cli supports an event is implicitly the question of whether scrambow supports the event.nice-table- for rendering tables in the console with a clean and structured format.- cfonts - ANSI fonts
Known Issues
🔴 Key listening continues to listen when the window is out of focus
- Description: Key listener used in the timer will continue to the key events even when user is in another window Status: ✅ Fixed in v1.0.6
🔴 Solve Labelling
- Description: Pressing e in solve mode multiple times will make multiple prompts to label the last solve Status: ✅ Fixed in v1.0.34
📜 License
This project is licensed under the MIT License.
🚧 Note: This project is very much still in development. Expect updates and new features! 🚀
