Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kennethlove/skidmarks
A streak tracker for your command line
https://github.com/kennethlove/skidmarks
Last synced: 7 days ago
JSON representation
A streak tracker for your command line
- Host: GitHub
- URL: https://github.com/kennethlove/skidmarks
- Owner: kennethlove
- License: apache-2.0
- Created: 2024-07-25T14:40:44.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-08-21T23:40:22.000Z (3 months ago)
- Last Synced: 2024-10-31T10:41:36.157Z (14 days ago)
- Language: Rust
- Homepage:
- Size: 278 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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](https://rustup.rs/).```sh
cargo install --locked skidmarks
```Or manually via:
```sh
# 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.```sh
# Add a daily streak
$ skidmarks add --name "Exercise" --frequency daily🎉 Created a new daily streak: Exercise
``````sh
# 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.
```sh
$ 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.
```sh
$ 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 ` command.
```sh
$ skidmarks check-in 0🌟 Checked in on the "Exercise" streak!
```### Removing a Streak
To remove a streak, use the `remove ` command.
```sh
$ skidmarks remove 5🗑 Removed the "Read a book" streak
```## TUI
There is a TUI interface available for Skidmarks. To use it, run the following:
```shell
skidmarks tui
```## GUI
There is a GUI interface available for Skidmarks. To use it, run the following:
```shell
skidmarks gui
```## Running Tests
To run the tests for this project, use the following command:
```sh
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](LICENSE)
file for details.