Skidmarks is a command-line application written in Rust for managing streaks. It allows users to add and list streaks with different frequencies (daily or weekly) adn check in to those streaks to maintain them.
- Add new streaks with a specified name and frequency.
- List all existing streaks.
- Check in on a streak to keep it going.
- Remove a streak when it's no longer needed.
- CLI, TUI, and GUI interfaces available.
To install Skidmarks, you need to have Rust and Cargo installed on your system. You can install Rust using rustup.
cargo install --locked skidmarksOr manually via:
# Clone the repository
git clone https://github.com/kennethlove/skidmarks.git
# Navigate to the project directory
cd skidmarks
# Build the project
cargo build --releaseTo add a new streak, use the add command with the --name and --frequency
options.
# Add a daily streak
$ skidmarks add --name "Exercise" --frequency daily
🎉 Created a new daily streak: Exercise# Add a weekly streak
$ skidmarks add --name "Read a book" --frequency weekly
🎉 Created a new weekly streak: Read a bookTo list all existing streaks, use the list command.
$ skidmarks list
| Streak | Freq | Status | Last Check In | Total
---+-----------------+--------+--------+---------------+-------
0 | Exercise | daily | ✅ | 2024-07-31 | 1
1 | Wordle | daily | ✅ | 2024-07-31 | 1
2 | Coloring page | daily | ✅ | 2024-07-31 | 1
3 | Duolingo | daily | ✅ | 2024-07-31 | 1
4 | Animal Crossing | daily | ❌ | None | 0
5 | Read a book | weekly | ❌ | None | 0You can filter the list of streaks by using the --done, --waiting, or --missed flags.
You can filter by frequency with the --daily and --weekly flags.
You can search the list of streaks by using the --search flag.
$ skidmarks list --search "Exercise"
| Streak | Freq | Status | Last Check In | Total
---+-----------------+--------+--------+---------------+-------
0 | Exercise | daily | ✅ | 2024-07-31 | 1To check in on a streak, use the check-in <streak id> command.
$ skidmarks check-in 0
🌟 Checked in on the "Exercise" streak!To remove a streak, use the remove <streak id> command.
$ skidmarks remove 5
🗑 Removed the "Read a book" streakThere is a TUI interface available for Skidmarks. To use it, run the following:
skidmarks tuiThere is a GUI interface available for Skidmarks. To use it, run the following:
skidmarks guiTo run the tests for this project, use the following command:
cargo testContributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.
This project is licensed under the Apache License. See the LICENSE file for details.