cli + tui to publish to leaflet (wip) & manage tasks, notes & watch/read lists 馃崈
charm
leaflet
readability
golang
1NOTELEAF(1) User Commands NOTELEAF(1)
2
3NAME
4 noteleaf - manage tasks, notes, books, movies, TV shows, and saved
5 articles from the command line
6
7SYNOPSIS
8 noteleaf [--help] [--version] <command> [<args>]
9
10DESCRIPTION
11 noteleaf is a terminal-first productivity tool written in Go. It combines
12 task management (with time tracking), note-taking, and media queues
13 (books, movies, TV shows, and saved articles) into a single command-line interface.
14
15 The design borrows from Taskwarrior and todo.txt but extends them with
16 features such as:
17 - Interactive TUIs for browsing notes and tasks
18 - Article parsing and storage
19 - Unified commands across different domains
20 - Time tracking with start/stop and timesheet summaries
21
22 Subcommands are grouped by domain: task, note, book, movie, tv, and article.
23 Each group has its own subcommands and options.
24
25OPTIONS
26 --help, -h
27 Show help for noteleaf or any subcommand.
28
29 --version, -v
30 Print the current version and exit.
31
32COMMANDS
33 General
34 help [command]
35 Show help for a command or subcommand.
36
37 version
38 Print the program version.
39
40 TASK COMMANDS
41 noteleaf task add [description]
42 Add a new task.
43 Flags:
44 -p, --priority <value> Set task priority
45 --project <name> Set project
46 -c, --context <name> Set context
47 -d, --due YYYY-MM-DD Set due date
48 -t, --tags tag1,tag2 Add tags
49
50 noteleaf task list
51 List tasks.
52 Flags:
53 -i, --interactive Force interactive mode
54 --static Print static list
55 -a, --all Show all tasks
56 --status <status> Filter by status
57 --priority <value> Filter by priority
58 --project <name> Filter by project
59 --context <name> Filter by context
60
61 noteleaf task view <id>
62 View task details.
63 Flags:
64 --format detailed|brief Output format
65 --json Print JSON
66 --no-metadata Hide metadata
67
68 noteleaf task update <id>
69 Update task fields.
70 Flags:
71 --description <text>
72 --status <status>
73 -p, --priority <value>
74 --project <name>
75 -c, --context <name>
76 -d, --due YYYY-MM-DD
77 --add-tag tag
78 --remove-tag tag
79
80 noteleaf task edit <id>
81 Interactive edit with status/priority toggles.
82 Alias: e
83
84 noteleaf task delete <id>
85 Delete task permanently.
86
87 noteleaf task projects
88 List projects.
89 Flags: --static, --todo-txt
90
91 noteleaf task tags
92 List tags.
93 Flags: --static
94
95 noteleaf task contexts
96 List contexts.
97 Flags: --static, --todo-txt
98
99 noteleaf task done <id>
100 Mark task as completed.
101 Alias: complete
102
103 noteleaf task start <id>
104 Start time tracking for a task.
105 Flags: -n, --note <text> Add note to entry
106
107 noteleaf task stop <id>
108 Stop time tracking for a task.
109
110 noteleaf task timesheet
111 Show time tracking summary.
112 Flags:
113 -d, --days <n> Number of days (default 7)
114 -t, --task <id> Timesheet for specific task
115
116 noteleaf task recur set <id>
117 Set recurrence rule for a task.
118 Flags:
119 --rule <value> Recurrence rule (e.g., FREQ=DAILY)
120 --until YYYY-MM-DD Recurrence end date
121
122 noteleaf task recur clear <id>
123 Clear recurrence rule from a task.
124
125 noteleaf task recur show <id>
126 Show recurrence details for a task.
127
128 noteleaf task depend add <id> <depends-on-uuid>
129 Add a dependency to a task.
130
131 noteleaf task depend remove <id> <depends-on-uuid>
132 Remove a dependency from a task.
133 Alias: rm
134
135 noteleaf task depend list <id>
136 List dependencies for a task.
137 Alias: ls
138
139 noteleaf task depend blocked-by <id>
140 Show tasks blocked by this task.
141
142 MOVIE COMMANDS
143 noteleaf movie add [query...]
144 Search and add a movie to the watch queue.
145 Flags: -i, --interactive
146
147 noteleaf movie list [--all|--watched|--queued]
148 List movies by status.
149
150 noteleaf movie watched <id>
151 Mark movie as watched.
152 Alias: seen
153
154 noteleaf movie remove <id>
155 Remove from queue.
156 Alias: rm
157
158 TV COMMANDS
159 noteleaf tv add [query...]
160 Search and add a TV show to the watch queue.
161 Flags: -i, --interactive
162
163 noteleaf tv list [--all|--queued|--watching|--watched]
164 List TV shows by status.
165
166 noteleaf tv watching <id>
167 Mark as currently watching.
168
169 noteleaf tv watched <id>
170 Mark as watched.
171 Alias: seen
172
173 noteleaf tv remove <id>
174 Remove show from queue.
175 Alias: rm
176
177 BOOK COMMANDS
178 noteleaf book add [query...]
179 Search and add a book to the reading list.
180 Flags: -i, --interactive
181
182 noteleaf book list [--all|--reading|--finished|--queued]
183 Show reading list.
184
185 noteleaf book reading <id>
186 Mark book as currently reading.
187
188 noteleaf book finished <id>
189 Mark book as finished.
190 Alias: read
191
192 noteleaf book remove <id>
193 Remove from reading list.
194 Alias: rm
195
196 noteleaf book progress <id> <percent>
197 Update reading progress percentage (0-100).
198
199 noteleaf book update <id> <status>
200 Update status (queued|reading|finished|removed).
201
202 NOTE COMMANDS
203 noteleaf note create [title] [content...]
204 Create a note.
205 Aliases: new
206 Flags:
207 -i, --interactive Open interactive editor
208 -e, --editor Open note in editor
209 -f, --file <path> Create from markdown file
210
211 noteleaf note list
212 List notes (interactive TUI or static).
213 Aliases: ls
214 Flags:
215 -a, --archived Include archived
216 -s, --static Static list
217 --tags tag1,tag2 Filter by tags
218
219 noteleaf note read <id>
220 Display note content.
221 Alias: view
222
223 noteleaf note edit <id>
224 Edit note in editor.
225
226 noteleaf note remove <id>
227 Remove note permanently.
228 Aliases: rm, delete, del
229
230 ARTICLE COMMANDS
231 noteleaf article add <url>
232 Parse and save article from URL.
233
234 noteleaf article list [query]
235 List saved articles.
236 Aliases: ls
237 Flags:
238 --author <name>
239 -l, --limit <n>
240
241 noteleaf article view <id>
242 Show article metadata and preview.
243 Alias: show
244
245 noteleaf article read <id>
246 Display full content as Markdown.
247
248 noteleaf article remove <id>
249 Remove article and associated files.
250 Aliases: rm, delete
251
252EXIT STATUS
253 noteleaf returns 0 on success.
254 Non-zero exit status indicates an error.
255
256EXAMPLES
257 Add and list tasks:
258 noteleaf task add "Write blog post" -p H --project blog --due 2025-10-15
259 noteleaf task list --project blog
260
261 Mark complete:
262 noteleaf task done 42
263
264 Track media:
265 noteleaf book add "The Name of the Wind"
266 noteleaf movie add "Blade Runner" -i
267 noteleaf tv list --watching
268
269 Work with notes:
270 noteleaf note create "Ideas" "sketch out product roadmap"
271 noteleaf note list --tags=work
272
273 Save an article:
274 noteleaf article add https://example.com/post
275 noteleaf article list --author "Ada Lovelace"
276
277 Manage task recurrence:
278 noteleaf task recur set 42 --rule FREQ=DAILY --until 2025-12-31
279 noteleaf task recur show 42
280 noteleaf task recur clear 42
281
282 Manage task dependencies:
283 noteleaf task depend add 42 abc123-uuid
284 noteleaf task depend list 42
285 noteleaf task depend blocked-by abc123-uuid
286 noteleaf task depend remove 42 abc123-uuid
287
288FILES
289 (TODO: configuration and data file paths once implemented)
290
291SEE ALSO
292 Taskwarrior(1), todo.txt(5), git(1), neovim(1), rsync(1)
293
294AUTHOR
295 Owais @ Stormlight Labs <https://github.com/stormlightlabs/noteleaf>
296
297BUGS
298 Please report issues at: https://github.com/stormlightlabs/noteleaf/issues
299
300COPYRIGHT
301 Copyright (c) 2025 Stormlight Labs, LLC.
302 Licensed under the MIT License.
303
304NOTELEAF(1) User Commands NOTELEAF(1)
305