Bookworm
Bookworm v2.0.0 — a productivity toolkit for logging, planning, tracking, reviewing, and organizing your work and reading habits from the command line.
Why Bookworm?
- Designed for everyday personal productivity use
- No external dependencies, accounts, or API keys needed — your privacy, your data
- Simple commands with powerful results
- All data saved on your machine in plain-text log files
- Export to JSON, CSV, or TXT at any time
Commands
| Command |
Usage |
Description |
add |
bookworm add <input> |
Add a new entry (book, task, note) to your log |
plan |
bookworm plan <input> |
Record a plan or goal for future action |
track |
bookworm track <input> |
Track progress on an ongoing activity |
review |
bookworm review <input> |
Log a review or reflection on completed work |
streak |
bookworm streak <input> |
Record streak data for daily habit tracking |
remind |
bookworm remind <input> |
Set a reminder note for follow-up |
prioritize |
bookworm prioritize <input> |
Mark or log priority items |
archive |
bookworm archive <input> |
Move completed items to the archive |
tag |
bookworm tag <input> |
Add tags or labels to organize entries |
timeline |
bookworm timeline <input> |
Log timeline milestones or events |
report |
bookworm report <input> |
Generate or log a report entry |
weekly-review |
bookworm weekly-review <input> |
Perform a weekly review and log insights |
stats |
bookworm stats |
Show summary statistics across all log files |
export |
bookworm export <fmt> |
Export all data (json, csv, or txt) |
search |
bookworm search <term> |
Search across all log files for a keyword |
recent |
bookworm recent |
Show the 20 most recent history entries |
status |
bookworm status |
Health check — version, entry count, disk usage |
help |
bookworm help |
Show the help message with all commands |
version |
bookworm version |
Print the current version |
All entry commands (add, plan, track, review, streak, remind, prioritize, archive, tag, timeline, report, weekly-review) work the same way:
- With arguments: saves a timestamped entry to
<command>.log and logs to history.log
- Without arguments: displays the 20 most recent entries from that command's log
Data Storage
All data is stored in ~/.local/share/bookworm/:
add.log, plan.log, track.log, etc. — one log file per command
history.log — unified activity log across all commands
export.json / export.csv / export.txt — generated export files
Each entry is stored as YYYY-MM-DD HH:MM|<value> (pipe-delimited timestamp and content).
Requirements
- Bash (with
set -euo pipefail)
- Standard Unix utilities:
date, wc, du, grep, head, tail, cat
- No external dependencies, no Python, no API keys
When to Use
- Daily reading log — Use
bookworm add "Finished Chapter 5 of Sapiens" to maintain a running log of your reading progress day by day.
- Habit streak tracking — Use
bookworm streak "Day 15 of reading 30min/day" to record consecutive-day habits and review your consistency over time.
- Weekly reflection — Use
bookworm weekly-review "Read 3 books, favorite was Project Hail Mary" at the end of each week to capture insights and progress.
- Priority management — Use
bookworm prioritize "Must finish Design Patterns by Friday" to flag high-priority items and review them with bookworm prioritize.
- Data export for analysis — Use
bookworm export json to export all your logged data into a structured format for further analysis in spreadsheets or scripts.
Examples
# Add a book to your reading list
bookworm add "The Pragmatic Programmer - Hunt & Thomas"
# Plan your reading goals for the month
bookworm plan "Read 4 books in March: 2 fiction, 2 non-fiction"
# Track reading progress
bookworm track "Sapiens - Chapter 8/21 complete"
# Log a book review
bookworm review "Clean Code: Excellent guide to writing maintainable software. 5/5"
# Record a reading streak
bookworm streak "Day 30 - read every day this month!"
# Set a reminder
bookworm remind "Return library books by March 25"
# Tag entries for organization
bookworm tag "Sapiens #non-fiction #history #favorite"
# View summary statistics
bookworm stats
# Search for a specific book or keyword
bookworm search "Sapiens"
# Export everything to CSV
bookworm export csv
# Check system status
bookworm status
Configuration
Data directory: ~/.local/share/bookworm/ (hardcoded, no environment variable override).
Output
All commands print results to stdout. Redirect output to a file if needed:
bookworm stats > my-stats.txt
bookworm export json
Note: This is an original, independent implementation by BytesAgain. Not affiliated with or derived from any third-party project.
Powered by BytesAgain | bytesagain.com | hello@bytesagain.com
1---2name: bookworm3description: Log books, track reading habits, and review reading streaks over time. Use when recording reads, maintaining goals, or analyzing genre preferences.4---5
6# Bookworm
7
8Bookworm v2.0.0 — a productivity toolkit for logging, planning, tracking, reviewing, and organizing your work and reading habits from the command line.
9
10## Why Bookworm?
11
12- Designed for everyday personal productivity use
13- No external dependencies, accounts, or API keys needed — your privacy, your data
14- Simple commands with powerful results
15- All data saved on your machine in plain-text log files
16- Export to JSON, CSV, or TXT at any time
17
18## Commands
19
20| Command | Usage | Description |
21|---------|-------|-------------|
22| `add` | `bookworm add <input>` | Add a new entry (book, task, note) to your log |
23| `plan` | `bookworm plan <input>` | Record a plan or goal for future action |
24| `track` | `bookworm track <input>` | Track progress on an ongoing activity |
25| `review` | `bookworm review <input>` | Log a review or reflection on completed work |
26| `streak` | `bookworm streak <input>` | Record streak data for daily habit tracking |
27| `remind` | `bookworm remind <input>` | Set a reminder note for follow-up |
28| `prioritize` | `bookworm prioritize <input>` | Mark or log priority items |
29| `archive` | `bookworm archive <input>` | Move completed items to the archive |
30| `tag` | `bookworm tag <input>` | Add tags or labels to organize entries |
31| `timeline` | `bookworm timeline <input>` | Log timeline milestones or events |
32| `report` | `bookworm report <input>` | Generate or log a report entry |
33| `weekly-review` | `bookworm weekly-review <input>` | Perform a weekly review and log insights |
34| `stats` | `bookworm stats` | Show summary statistics across all log files |
35| `export` | `bookworm export <fmt>` | Export all data (json, csv, or txt) |
36| `search` | `bookworm search <term>` | Search across all log files for a keyword |
37| `recent` | `bookworm recent` | Show the 20 most recent history entries |
38| `status` | `bookworm status` | Health check — version, entry count, disk usage |
39| `help` | `bookworm help` | Show the help message with all commands |
40| `version` | `bookworm version` | Print the current version |
41
42All entry commands (add, plan, track, review, streak, remind, prioritize, archive, tag, timeline, report, weekly-review) work the same way:
43- **With arguments**: saves a timestamped entry to `<command>.log` and logs to `history.log`
44- **Without arguments**: displays the 20 most recent entries from that command's log
45
46## Data Storage
47
48All data is stored in `~/.local/share/bookworm/`:
49
50- `add.log`, `plan.log`, `track.log`, etc. — one log file per command
51- `history.log` — unified activity log across all commands
52- `export.json` / `export.csv` / `export.txt` — generated export files
53
54Each entry is stored as `YYYY-MM-DD HH:MM|<value>` (pipe-delimited timestamp and content).
55
56## Requirements
57
58- Bash (with `set -euo pipefail`)
59- Standard Unix utilities: `date`, `wc`, `du`, `grep`, `head`, `tail`, `cat`
60- No external dependencies, no Python, no API keys
61
62## When to Use
63
641. **Daily reading log** — Use `bookworm add "Finished Chapter 5 of Sapiens"` to maintain a running log of your reading progress day by day.
652. **Habit streak tracking** — Use `bookworm streak "Day 15 of reading 30min/day"` to record consecutive-day habits and review your consistency over time.
663. **Weekly reflection** — Use `bookworm weekly-review "Read 3 books, favorite was Project Hail Mary"` at the end of each week to capture insights and progress.
674. **Priority management** — Use `bookworm prioritize "Must finish Design Patterns by Friday"` to flag high-priority items and review them with `bookworm prioritize`.
685. **Data export for analysis** — Use `bookworm export json` to export all your logged data into a structured format for further analysis in spreadsheets or scripts.
69
70## Examples
71
72```bash
73# Add a book to your reading list
74bookworm add "The Pragmatic Programmer - Hunt & Thomas"
75
76# Plan your reading goals for the month
77bookworm plan "Read 4 books in March: 2 fiction, 2 non-fiction"
78
79# Track reading progress
80bookworm track "Sapiens - Chapter 8/21 complete"
81
82# Log a book review
83bookworm review "Clean Code: Excellent guide to writing maintainable software. 5/5"
84
85# Record a reading streak
86bookworm streak "Day 30 - read every day this month!"
87
88# Set a reminder
89bookworm remind "Return library books by March 25"
90
91# Tag entries for organization
92bookworm tag "Sapiens #non-fiction #history #favorite"
93
94# View summary statistics
95bookworm stats
96
97# Search for a specific book or keyword
98bookworm search "Sapiens"
99
100# Export everything to CSV
101bookworm export csv
102
103# Check system status
104bookworm status
105```
106
107## Configuration
108
109Data directory: `~/.local/share/bookworm/` (hardcoded, no environment variable override).
110
111## Output
112
113All commands print results to stdout. Redirect output to a file if needed:
114
115```bash
116bookworm stats > my-stats.txt
117bookworm export json
118```
119
120> **Note**: This is an original, independent implementation by BytesAgain. Not affiliated with or derived from any third-party project.
121
122---
123
124Powered by BytesAgain | bytesagain.com | hello@bytesagain.com