Rook ♖
A local, keyboard-first terminal journal for working through one day at a time.
rook ♖ Today — Friday, July 24, 2026
⋆⁺₊ (。'▽'。)♡ ₊⁺⋆ "Showing up is the whole trick."
❯ • Finish the presentation
• Reply to Alex
> Read Chapter 3
× Submit the expense report
[n] new [e/Ent] edit [x] complete [>] migrate [d] delete [u] undo [a] archive [q] quit
Rook is inspired by the simplicity of a paper bullet journal:
- one active list: Today
- direct, in-place editing
- local SQLite storage
- read-only history
- no accounts, cloud sync, reminders, priorities, or telemetry
Installation
Requires Python 3.10 or newer. Install with uv:
uv tool install rook-cli
Then launch:
rook
To upgrade later:
uv tool upgrade rook-cli
Keyboard reference
| Key | Action |
|---|---|
n |
New task |
e or Ent |
Edit selected task |
x |
Toggle complete |
> |
Toggle migrated |
d |
Soft-delete / permanently remove (press twice) |
u |
Undo last action |
a |
Open weekly archive |
↑ / ↓ |
Move selection |
Esc |
Cancel edit |
q |
Quit |
Data and privacy
Tasks are stored in a local SQLite database. Nothing leaves your machine.
| Platform | Location |
|---|---|
| Windows | %LOCALAPPDATA%\Rook\data.sqlite3 |
| macOS | ~/Library/Application Support/Rook/data.sqlite3 |
| Linux | ~/.local/share/rook/data.sqlite3 |
To print the exact path on your system:
rook --data-path
Uninstalling Rook does not delete the database.
FAQ
How do I change the archive week layout from Sun–Sat to Mon–Sun?
There is no in-app setting yet. Update the value directly in the SQLite database.
Find the exact path with rook --data-path, or use the default:
sqlite3 "$env:LOCALAPPDATA\Rook\data.sqlite3"
INSERT OR REPLACE INTO app_meta (key, value) VALUES ('week_start_day', 'monday');
To switch back to Sunday-start:
INSERT OR REPLACE INTO app_meta (key, value) VALUES ('week_start_day', 'sunday');
License
Copyright (c) 2026 Janvi Chawla. All Rights Reserved.
Personal use permitted. No redistribution or derivative works without permission.
Metadata
Release files for rook-cli 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| rook_cli-0.2.0.tar.gz | 217.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rook_cli-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 248.3 kB
Release files / rook_cli-0.2.0.tar.gz
| Download URL | rook_cli-0.2.0.tar.gz |
|---|---|
| Size | 217.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
57f591812d0a2572600401c975e70fc4be4aabaf0b454c7f6789b2c7668e4edc
|
|
BLAKE2b-256 checksum How to use checksums |
3e0ee98cb7fbb83a3992e4103fc606b89168b5875c9ed201c09f83812d5df305
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / rook_cli-0.2.0-py3-none-any.whl
| Download URL | rook_cli-0.2.0-py3-none-any.whl |
|---|---|
| Size | 30.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6c7767381b13f499189aa18524f19525ac9d5d6379e802adde84b8a60429a0a3
|
|
BLAKE2b-256 checksum How to use checksums |
b2086a301682c4e50d08ff0d26efc01f64624e879baf1c9e2ef1b82dba72bd76
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for rook-cli 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.