cli + tui to publish to leaflet (wip) & manage tasks, notes & watch/read lists 馃崈
charm
leaflet
readability
golang
1# ROADMAP
2
3## Task Management Commands (TaskWarrior-inspired)
4
5### Implemented Commands
6
7- [x] `todo add [description]` - Create new task with metadata (priority, project, context, due, tags)
8- [x] `todo list` - Display tasks with filtering (status, priority, project, context) and interactive/static modes
9- [x] `todo view [task-id]` - View task details with format options (detailed, brief, json)
10- [x] `todo update [task-id]` - Edit task properties via flags
11- [x] `todo edit [task-id]` - Interactive task editor with status picker and priority toggle
12- [x] `todo done [task-id]` - Mark task as completed
13- [x] `todo delete [task-id]` - Remove task permanently
14
15---
16
17- [x] `todo projects` - List all project names (interactive/static modes)
18- [x] `todo tags` - List all tag names (interactive/static modes)
19- [x] `todo contexts` - List all contexts/locations (interactive/static modes)
20
21---
22
23- [x] `todo start [task-id]` - Start time tracking for a task
24- [x] `todo stop [task-id]` - Stop time tracking for a task
25- [x] `todo timesheet` - Show time tracking summaries (with date range and task filters)
26
27### Commands To Be Implemented
28
29- [ ] Due dates & scheduling - Including recurring tasks
30- [ ] Task dependencies - Task A blocks task B relationships
31- [ ] `annotate` - Add notes/comments to existing tasks
32- [ ] Recurring tasks
33- [ ] Smart due date suggestions
34- [ ] Completion notifications
35- [ ] `calendar` - Display tasks in calendar view
36
37## Media Queue Management Commands
38
39### Implemented Commands
40
41Book Management
42
43- [x] `media book add [search query...]` - Search and add book to reading list (with interactive mode)
44- [x] `media book list` - Show reading queue with progress and status filtering
45- [x] `media book reading <id>` - Mark book as currently reading
46- [x] `media book finished <id>` - Mark book as completed
47- [x] `media book remove <id>` - Remove from reading list
48- [x] `media book progress <id> <percentage>` - Update reading progress (0-100%)
49- [x] `media book update <id> <status>` - Update book status (queued|reading|finished|removed)
50
51Movie Management
52
53- [x] `media movie add [title]` - Add movie to watch queue (with interactive mode)
54- [x] `media movie list` - Show movie queue with status filtering
55- [x] `media movie watched <id>` - Mark movie as watched
56- [x] `media movie remove <id>` - Remove from queue
57
58TV Show Management
59
60- [x] `media tv add [title]` - Add TV show/season to queue (with interactive mode)
61- [x] `media tv list` - Show TV queue with status filtering
62- [x] `media tv watching <id>` - Mark TV show as currently watching
63- [x] `media tv watched <id>` - Mark episodes/seasons as watched
64- [x] `media tv remove <id>` - Remove from TV queue
65
66### Commands To Be Implemented
67
68---
69
70- [ ] Articles, papers, blogs support (implement article parser)
71- [ ] Source tracking (recommendation sources)
72- [ ] Ratings and personal notes
73- [ ] Genre/topic tagging
74- [ ] Episode/season progress tracking for TV
75- [ ] Platform tracking (Netflix, Amazon, etc.)
76- [ ] Watch status: queued, watching, completed, dropped
77
78## Management Commands
79
80### Implemented Commands
81
82Application Management
83
84- [x] `status` - Show application status and configuration
85- [x] `setup` - Initialize and manage application setup
86- [x] `setup seed` - Populate database with test data (with --force flag)
87- [x] `reset` - Reset the application (removes all data)
88- [x] `config [key] [value]` - Manage configuration settings (stubbed)
89
90### Commands To Be Implemented
91
92Organization Features
93
94- [ ] Custom queries and saved searches
95- [ ] Context-aware suggestions
96- [ ] Overdue/urgent highlighting
97- [ ] Recently added/modified items
98- [ ] Seasonal/mood-based filtering
99- [ ] Full-text search across titles, notes, tags
100
101Analytics
102
103- [ ] Reading/watching velocity tracking
104- [ ] Completion rates by content type
105- [ ] Time investment analysis
106- [ ] Personal productivity metrics
107- [ ] Content source analysis
108
109Integrations
110
111- [ ] `import` - Import from various formats (CSV, JSON, todo.txt)
112- [ ] `export` - Export to various formats
113- [ ] Goodreads import for books
114- [ ] IMDB/Letterboxd import for movies
115- [ ] Todo.txt format compatibility
116- [ ] TaskWarrior import/export
117- [ ] URL parsing for automatic metadata
118
119`todo.txt` Compatibility
120
121- [ ] `archive` - Move completed tasks to done.txt
122- [ ] `[con]texts` - List all contexts (@context)
123- [ ] `[proj]ects` - List all projects (+project)
124- [ ] `[pri]ority` - Set task priority (A-Z)
125- [ ] `[depri]oritize` - Remove priority from task
126- [ ] `[re]place` - Replace task text entirely
127- [ ] `[pre]pend/[app]end` - Add text to beginning/end of task
128
129Automation
130
131- [ ] Auto-categorization of new items
132- [ ] Smart due date suggestions
133- [ ] Recurring content (weekly podcast check-ins)
134- [ ] Completion notifications
135
136Storage
137
138- [ ] `sync` - Synchronize with remote storage
139- [ ] `sync setup` - Setup remote storage
140- [ ] Local SQLite database with optional cloud sync
141- [ ] Multiple profile support
142- [ ] `backup` - Create local backup
143- [ ] Backup/restore functionality
144
145Configuration
146
147- [x] Enhanced `config` command implementation (basic stubbed version)
148- [ ] `undo` - Reverse last operation
149- [ ] Themes and personalization
150- [ ] Customizable output formats
151
152## Notes Management Commands
153
154### Implemented Commands
155
156Core Notes Operations
157
158- [x] `note create [title] [content...]` - Create new markdown note with optional interactive editor
159- [x] `note list` - Interactive TUI browser for navigating and viewing notes (with archive and tag filtering)
160- [x] `note read <note-id>` - Display formatted note content with syntax highlighting
161- [x] `note edit <note-id>` - Edit note in configured editor
162- [x] `note remove <note-id>` - Permanently remove note file and metadata
163
164Additional Options
165
166- [x] `--interactive|-i` flag for create command (opens editor)
167- [x] `--file|-f` flag for create command (create from markdown file)
168- [x] `--archived|-a` flag for list command
169- [x] `--tags` filtering for list command
170
171### Commands To Be Implemented
172
173- [ ] `note search [query]` - Search notes by content, title, or tags
174- [ ] `note tag <note-id> [tags...]` - Add/remove tags from notes
175- [ ] `note recent` - Show recently created/modified notes
176- [ ] `note templates` - Create notes from predefined templates
177- [ ] `note archive <note-id>` - Archive old notes
178- [ ] `note export` - Export notes to various formats
179- [ ] Full-text search integration
180- [ ] Linking between notes and tasks/content
181
182## User Experience
183
184- [x] Interactive TUI modes for task lists, projects, tags, contexts, and notes
185- [x] Static output modes as alternatives to interactive TUI
186- [x] Color-coded priority and status indicators
187- [x] Comprehensive help system via cobra CLI framework
188
189---
190
191- [ ] Quick-add commands for rapid entry
192- [ ] Enhanced progress tracking UI
193- [ ] Calendar view for tasks
194
195### Technical Infrastructure
196
197- [ ] CI/CD pipeline -> pre-build binaries
198- [ ] Complete README/documentation
199- [ ] Installation instructions
200- [ ] Usage examples
201
202## Tech Debt
203
204### Signatures
205
206We've got inconsistent argument parsing and sanitization leading to calls to strconv.Atoi in tests & handler funcs.
207This is only done correctly in the note command -> handler sequence
208
209- [ ] TaskCommand
210- [ ] MovieCommand
211- [ ] TVCommand
212- [ ] BookCommand
213
214### Movie Commands - Missing Tests
215
216- [x] movie watched [id] - marks movie as watched
217
218### TV Commands - Missing Tests
219
220- [x] tv watching [id] - marks TV show as watching
221- [x] tv watched [id] - marks TV show as watched
222
223### Book Commands - Missing Tests
224
225- [x] book add [search query...] - search and add book
226- [x] book reading `<id>` - marks book as reading
227- [x] book finished `<id>` - marks book as finished
228- [x] book progress `<id>` `<percentage>` - updates reading progress
229
230## Ideas
231
232### Task Management Enhancements
233
234- Sub-tasks and hierarchical tasks - Break complex tasks into child tasks for better organization
235- Linking - Establish relationships between related tasks without strict dependencies
236- Batching - Group related tasks for bulk operations (completion, priority changes, etc.)
237- Retrospectives - Analysis of completed tasks to improve future estimates and planning
238- Automation rules - Create rules that automatically modify tasks based on conditions
239- Habit formation - Track recurring micro-tasks that build into larger goals
240- Context switching - Automatically adjust system settings, apps, or environment based on current task
241- Forecasting - Predict future tasks based on patterns, calendar events, or seasonal trends
242- "Energy" matching - Recommend tasks based on current energy levels or time of day
243- Priority rebalancing - Automatically suggest priority adjustments based on deadlines and importance
244- Dependency visualization: Visual flow charts showing how tasks connect and block each other
245
246### Media Management Enhancements
247
248- Podcast management: Add podcast tracking with episode progress and subscription management
249- YouTube/video content management: Track video content queues and viewing progress
250- Multi-format media support: Include audiobooks, comics, and other content formats
251- Media consumption goals: Set reading/watching goals (e.g., "2 books per month")
252- Media cross-referencing: Connect related content across different media types
253 - Series
254- Media note integration: Link notes to specific books, movies, or shows for reviews
255 - Review system - Write and store personal reviews of consumed content
256- Media budget tracking: Track spending on media content (subscriptions, purchases)
257- Media consumption patterns: Analyze personal consumption patterns and preferences over time
258- Media seasonal tracking: Track seasonal media preferences and suggest accordingly
259- Media completion streaks: Gamification elements for consistent media consumption
260- Media progress synchronization: Sync progress across different devices or platforms
261
262### Notes Management Enhancements
263
264- Linking and graph view: Create bidirectional links between related notes
265- Templates system: Predefined templates for different note types (meeting notes, book summaries)
266- Versioning and history: Track changes to notes over time with ability to revert
267- Export with formatting: Rich export options with preserved formatting and links
268- Import capabilities: Import notes from other systems (Notion, Evernote, etc.)
269- Content extraction: Extract key points or action items from longer notes
270- Encryption: End-to-end encryption for sensitive notes
271- Content validation: Check for broken links, missing references, or inconsistent information
272
273### System Integration & Automation
274
275- Calendar integration: Sync tasks with calendar systems (Google Calendar, Outlook)
276- Email integration: Create tasks or notes from emails automatically
277- Browser extension: Quick capture of web content as tasks or notes
278- IDE/plugin integration: Direct integration with code editors and development environments
279- File system integration: Monitor files for content that should become tasks or notes
280
281### Advanced UI/UX Features
282
283- Customizable themes: Multiple visual themes and color schemes
284- Terminal interface enhancements: Rich TUI with advanced navigation and visualization
285- Web-based interface: Alternative web UI for browser-based access
286- Advanced filtering and sorting: Complex query systems for data manipulation
287- Visual task mapping: Gantt charts, Kanban boards, and other visual representations
288- Quick entry mode: Rapid capture interface for minimal friction
289- Keyboard customization: Fully customizable keyboard shortcuts
290
291### Security and Privacy
292
293- End-to-end encryption: Full encryption of sensitive data
294- Local-first architecture: Guarantee that all data remains local