Note-Taker
A productivity and task management tool. Add items, manage a to-do list, set priorities, track daily and weekly views, set reminders, view statistics, clear completed tasks, and export data — all from the command line with persistent local storage.
Commands
Task Management
| Command | Description | Usage |
|---|---|---|
add | Add a new item to your task list | note-taker add <text> |
list | List all current items | note-taker list |
done | Mark an item as completed | note-taker done <item> |
priority | Set priority level for an item | note-taker priority <item> <level> |
clear | Clear all completed items from the list | note-taker clear |
Views & Planning
| Command | Description | Usage |
|---|---|---|
today | Show today's items and schedule | note-taker today |
week | Show the weekly overview | note-taker week |
remind | Set a reminder for an item | note-taker remind <item> <time> |
Data & Management
| Command | Description | Usage |
|---|---|---|
stats | Show total item count and statistics | note-taker stats |
export | Export all data to stdout | note-taker export |
help | Show the built-in help message | note-taker help |
version | Print the current version (v2.0.0) | note-taker version |
How It Works
addappends a date-stamped line to the data file and confirms with "Added: ..."listprints all items from the data file, or "(empty)" if nothing exists yetdonemarks a given item as completed and logs the actionpriorityassigns a priority level (default: medium) to the specified itemtodayfilters the data file for today's date and displays matching itemsweekshows a weekly overview of scheduled itemsremindsets a reminder for an item at a specified time (default: tomorrow)statsprints the total line count from the data fileclearremoves completed items from the active listexportdumps the entire data file contents to stdout
Data Storage
All data is stored locally in ~/.local/share/note-taker/:
data.log— the main data file containing all items (one per line, date-prefixed)history.log— tracks all command activity with timestamps- Entries in data.log are formatted as
YYYY-MM-DD <content> - Set
NOTE_TAKER_DIRenvironment variable to change the data directory - Also respects
XDG_DATA_HOMEif set (defaults to~/.local/share)
Requirements
- Bash (any modern version)
- No external dependencies — pure shell script
- Works on Linux and macOS
- Standard Unix utilities:
date,wc,grep,cat
When to Use
- Daily task tracking — use
addto capture tasks throughout the day,todayto see what's on your plate, anddoneto check off completed work - Weekly planning sessions — use
weekfor an overview,priorityto rank what matters most, andremindfor upcoming deadlines - Quick capture from terminal — when you're already in the terminal and want to jot something down without switching apps,
addis instant - Reviewing progress — use
listto see everything,statsfor totals, andexportto pipe data into other tools for analysis - Maintaining a clean list — use
clearto remove completed items and keep your active list focused on what still needs attention
Examples
# Add a new task
note-taker add "Review pull request for auth module"
# Add another task
note-taker add "Prepare slides for Friday meeting"
# List all tasks
note-taker list
# Mark a task as done
note-taker done "Review pull request for auth module"
# Set priority on a task
note-taker priority "Prepare slides for Friday meeting" high
# See what's on for today
note-taker today
# Set a reminder
note-taker remind "Submit expense report" "Friday 5pm"
# View statistics
note-taker stats
# Export all data for backup
note-taker export > backup.txt
Output
Commands print concise confirmations to stdout. list and export output the full data file. stats shows a total count. All actions are also logged to history.log for auditing. Redirect output with standard shell operators: note-taker list > tasks.txt.
Configuration
| Variable | Description | Default |
|---|---|---|
NOTE_TAKER_DIR | Override the data directory path | ~/.local/share/note-taker |
XDG_DATA_HOME | XDG base directory (used if NOTE_TAKER_DIR is not set) | ~/.local/share |
Powered by BytesAgain | bytesagain.com | hello@bytesagain.com