| Crates.io | rjot |
| lib.rs | rjot |
| version | 0.1.0 |
| created_at | 2025-06-09 01:49:48.720008+00 |
| updated_at | 2025-06-09 01:49:48.720008+00 |
| description | A minimalist, command-line jotting utility that's fast, private, and git-friendly. |
| homepage | |
| repository | https://github.com/bgreenwell/rjot |
| max_upload_size | |
| id | 1705407 |
| size | 1,435,506 |

A minimalist, command-line jotting utility that's fast, private, and git-friendly.
rjot is a tool for capturing thoughts at the speed of typing. It's built on a few core principles:
rjot is designed to be a first-class citizen of your command line.rjot. No proprietary formats, no databases, no lock-in.rjot will never push you to a proprietary sync service. It's designed from the ground up to empower you with control over your own data.This project aims to be the perfect, minimalist companion for developers, writers, and anyone who lives in the terminal.
rjot new to open your favorite editor ($EDITOR) for longer-form entries with template support.today, week, on <date>).show, edit, or delete any note using a unique ID prefix or its recency (--last).This method automatically downloads, compiles, and installs rjot on your system.
Install the Rust toolchain
If you don't already have it, install Rust from the official site: rustup.rs.
Install rjot
cargo install rjot
This will place the rjot executable in your cargo binary path (usually ~/.cargo/bin/), making it available from anywhere in your terminal.
To build the very latest version directly from the source code:
git clone https://github.com/bgreenwell/rjot.git
cd rjot
cargo install --path .
Your command-line shell (like Bash or Zsh) can interpret special characters like ! even inside double quotes ("). This can cause commands to fail or hang.
The best practice is to always use single quotes (') for your messages. This tells the shell to treat every character literally.
# GOOD: This works perfectly
❯ rjot 'This is a great idea!'
# BAD: This will probably fail!
❯ rjot "This is a great idea!"
1. Jot down a quick note (the default action):
❯ rjot 'This is a quick thought I want to save.'
2. Create a tagged, one-liner note:
The --tags (or -t) flag accepts space-separated or comma-separated values.
❯ rjot 'A great idea for the project' --tags project rust
# or
❯ rjot 'Another idea' -t project,rust
3. Create a longer note in your editor:
# This opens your default $EDITOR
❯ rjot new
# Use a custom template for structured notes
❯ rjot new --template meeting.md
1. List the 10 most recent notes:
❯ rjot list
2. Full-text search of all notes:
❯ rjot find 'productivity'
3. Filter by one or more tags:
# Find notes with the 'project' tag
❯ rjot tags project
# Find notes with BOTH 'rust' and 'cli' tags
❯ rjot tags rust,cli
4. View notes from a specific time:
❯ rjot today
❯ rjot yesterday
❯ rjot week
# View notes from a specific date or range
❯ rjot on 2025-05-20
❯ rjot on 2025-05-01..2025-05-31
5. Compile notes into a summary:
Add the --compile flag to any time-based view to get a single Markdown summary.
❯ rjot week --compile > weekly-summary.md
The show, edit, and delete commands allow you to target a specific note in two ways: by its ID prefix or by its recency.
1. Show the full content of a note:
# By ID prefix
❯ rjot show 2025-06-08-1345
# By recency (the most recent note)
❯ rjot show --last
# or
❯ rjot show --last=1
2. Edit a note:
# Edit the 3rd most recent note
❯ rjot edit --last=3
3. Delete a note:
This command will ask for confirmation unless you use the --force flag.
# Delete a note by ID prefix, with a confirmation prompt
❯ rjot delete 2025-06-08-1345
# Delete the last note without a prompt
❯ rjot delete --last --force
1. Get info about your setup:
# Show storage paths
❯ rjot info --paths
# Show note and tag statistics
❯ rjot info --stats
rjot respects platform conventions. By default, notes are stored in the entries sub-folder of:
~/Library/Application Support/rjot/~/.config/rjot/C:\Users\<YourUsername>\AppData\Roaming\rjot\You can always override this by setting the $RJOT_DIR environment variable.
Create custom templates in the templates subdirectory of your rjot root folder (e.g., ~/.config/rjot/templates/). rjot supports one variable: {{date}}, which will be replaced with the current timestamp.
rjot is under active development. The next major step is to implement the "power features":
rjot init --git to turn your journal into a version-controlled repository, and rjot sync to automate commits and sync with a remote.rjot init --encrypt to enable transparent, on-disk file encryption using age for ultimate privacy.rjot remind to set system-level notifications (e.g., rjot remind me in 1 hour to...).This project is open source and contributions are welcome! Please feel free to open an issue or submit a pull request.
This project is licensed under the MIT License.