10 releases
0.1.9 | Aug 20, 2024 |
---|---|
0.1.8 | Aug 20, 2024 |
0.1.7 | Jul 31, 2024 |
#2004 in Command line utilities
501 downloads per month
775KB
2.5K
SLoC
Skidmarks
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.
Features
- 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.
Installation
To install Skidmarks, you need to have Rust and Cargo installed on your system. You can install Rust using rustup.
cargo install --locked skidmarks
Or 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 --release
Usage
Adding a Streak
To 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 book
Listing All Streaks
To 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 | 0
Filtering Streaks
You 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.
Searching Streaks
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 | 1
Checking In on a Streak
To check in on a streak, use the check-in <streak id>
command.
$ skidmarks check-in 0
🌟 Checked in on the "Exercise" streak!
Removing a Streak
To remove a streak, use the remove <streak id>
command.
$ skidmarks remove 5
🗑 Removed the "Read a book" streak
TUI
There is a TUI interface available for Skidmarks. To use it, run the following:
skidmarks tui
GUI
There is a GUI interface available for Skidmarks. To use it, run the following:
skidmarks gui
Running Tests
To run the tests for this project, use the following command:
cargo test
Contributing
Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.
License
This project is licensed under the Apache License. See the LICENSE file for details.
Dependencies
~37–83MB
~1.5M SLoC