cli + tui to publish to leaflet (wip) & manage tasks, notes & watch/read lists 馃崈
charm
leaflet
readability
golang
ROADMAP#
Task Management Commands (TaskWarrior-inspired)#
Implemented Commands#
-
todo add [description]- Create new task with metadata (priority, project, context, due, tags) -
todo list- Display tasks with filtering (status, priority, project, context) and interactive/static modes -
todo view [task-id]- View task details with format options (detailed, brief, json) -
todo update [task-id]- Edit task properties via flags -
todo edit [task-id]- Interactive task editor with status picker and priority toggle -
todo done [task-id]- Mark task as completed -
todo delete [task-id]- Remove task permanently
-
todo projects- List all project names (interactive/static modes) -
todo tags- List all tag names (interactive/static modes) -
todo contexts- List all contexts/locations (interactive/static modes)
-
todo start [task-id]- Start time tracking for a task -
todo stop [task-id]- Stop time tracking for a task -
todo timesheet- Show time tracking summaries (with date range and task filters)
Commands To Be Implemented#
- Due dates & scheduling - Including recurring tasks
- Task dependencies - Task A blocks task B relationships
-
annotate- Add notes/comments to existing tasks - Recurring tasks
- Smart due date suggestions
- Completion notifications
-
calendar- Display tasks in calendar view
Media Queue Management Commands#
Implemented Commands#
Book Management
-
media book add [search query...]- Search and add book to reading list (with interactive mode) -
media book list- Show reading queue with progress and status filtering -
media book reading <id>- Mark book as currently reading -
media book finished <id>- Mark book as completed -
media book remove <id>- Remove from reading list -
media book progress <id> <percentage>- Update reading progress (0-100%) -
media book update <id> <status>- Update book status (queued|reading|finished|removed)
Movie Management
-
media movie add [title]- Add movie to watch queue (with interactive mode) -
media movie list- Show movie queue with status filtering -
media movie watched <id>- Mark movie as watched -
media movie remove <id>- Remove from queue
TV Show Management
-
media tv add [title]- Add TV show/season to queue (with interactive mode) -
media tv list- Show TV queue with status filtering -
media tv watching <id>- Mark TV show as currently watching -
media tv watched <id>- Mark episodes/seasons as watched -
media tv remove <id>- Remove from TV queue
Commands To Be Implemented#
- Articles, papers, blogs support (implement article parser)
- Source tracking (recommendation sources)
- Ratings and personal notes
- Genre/topic tagging
- Episode/season progress tracking for TV
- Platform tracking (Netflix, Amazon, etc.)
- Watch status: queued, watching, completed, dropped
Management Commands#
Implemented Commands#
Application Management
-
status- Show application status and configuration -
setup- Initialize and manage application setup -
setup seed- Populate database with test data (with --force flag) -
reset- Reset the application (removes all data) -
config [key] [value]- Manage configuration settings (stubbed)
Commands To Be Implemented#
Organization Features
- Custom queries and saved searches
- Context-aware suggestions
- Overdue/urgent highlighting
- Recently added/modified items
- Seasonal/mood-based filtering
- Full-text search across titles, notes, tags
Analytics
- Reading/watching velocity tracking
- Completion rates by content type
- Time investment analysis
- Personal productivity metrics
- Content source analysis
Integrations
-
import- Import from various formats (CSV, JSON, todo.txt) -
export- Export to various formats - Goodreads import for books
- IMDB/Letterboxd import for movies
- Todo.txt format compatibility
- TaskWarrior import/export
- URL parsing for automatic metadata
todo.txt Compatibility
-
archive- Move completed tasks to done.txt -
[con]texts- List all contexts (@context) -
[proj]ects- List all projects (+project) -
[pri]ority- Set task priority (A-Z) -
[depri]oritize- Remove priority from task -
[re]place- Replace task text entirely -
[pre]pend/[app]end- Add text to beginning/end of task
Automation
- Auto-categorization of new items
- Smart due date suggestions
- Recurring content (weekly podcast check-ins)
- Completion notifications
Storage
-
sync- Synchronize with remote storage -
sync setup- Setup remote storage - Local SQLite database with optional cloud sync
- Multiple profile support
-
backup- Create local backup - Backup/restore functionality
Configuration
- Enhanced
configcommand implementation (basic stubbed version) -
undo- Reverse last operation - Themes and personalization
- Customizable output formats
Notes Management Commands#
Implemented Commands#
Core Notes Operations
-
note create [title] [content...]- Create new markdown note with optional interactive editor -
note list- Interactive TUI browser for navigating and viewing notes (with archive and tag filtering) -
note read <note-id>- Display formatted note content with syntax highlighting -
note edit <note-id>- Edit note in configured editor -
note remove <note-id>- Permanently remove note file and metadata
Additional Options
-
--interactive|-iflag for create command (opens editor) -
--file|-fflag for create command (create from markdown file) -
--archived|-aflag for list command -
--tagsfiltering for list command
Commands To Be Implemented#
-
note search [query]- Search notes by content, title, or tags -
note tag <note-id> [tags...]- Add/remove tags from notes -
note recent- Show recently created/modified notes -
note templates- Create notes from predefined templates -
note archive <note-id>- Archive old notes -
note export- Export notes to various formats - Full-text search integration
- Linking between notes and tasks/content
User Experience#
- Interactive TUI modes for task lists, projects, tags, contexts, and notes
- Static output modes as alternatives to interactive TUI
- Color-coded priority and status indicators
- Comprehensive help system via cobra CLI framework
- Quick-add commands for rapid entry
- Enhanced progress tracking UI
- Calendar view for tasks
Technical Infrastructure#
- CI/CD pipeline -> pre-build binaries
- Complete README/documentation
- Installation instructions
- Usage examples
Tech Debt#
Signatures#
We've got inconsistent argument parsing and sanitization leading to calls to strconv.Atoi in tests & handler funcs. This is only done correctly in the note command -> handler sequence
- TaskCommand
- MovieCommand
- TVCommand
- BookCommand
Movie Commands - Missing Tests#
- movie watched [id] - marks movie as watched
TV Commands - Missing Tests#
- tv watching [id] - marks TV show as watching
- tv watched [id] - marks TV show as watched
Book Commands - Missing Tests#
- book add [search query...] - search and add book
- book reading
<id>- marks book as reading - book finished
<id>- marks book as finished - book progress
<id><percentage>- updates reading progress
Ideas#
Task Management Enhancements#
- Sub-tasks and hierarchical tasks - Break complex tasks into child tasks for better organization
- Linking - Establish relationships between related tasks without strict dependencies
- Batching - Group related tasks for bulk operations (completion, priority changes, etc.)
- Retrospectives - Analysis of completed tasks to improve future estimates and planning
- Automation rules - Create rules that automatically modify tasks based on conditions
- Habit formation - Track recurring micro-tasks that build into larger goals
- Context switching - Automatically adjust system settings, apps, or environment based on current task
- Forecasting - Predict future tasks based on patterns, calendar events, or seasonal trends
- "Energy" matching - Recommend tasks based on current energy levels or time of day
- Priority rebalancing - Automatically suggest priority adjustments based on deadlines and importance
- Dependency visualization: Visual flow charts showing how tasks connect and block each other
Media Management Enhancements#
- Podcast management: Add podcast tracking with episode progress and subscription management
- YouTube/video content management: Track video content queues and viewing progress
- Multi-format media support: Include audiobooks, comics, and other content formats
- Media consumption goals: Set reading/watching goals (e.g., "2 books per month")
- Media cross-referencing: Connect related content across different media types
- Series
- Media note integration: Link notes to specific books, movies, or shows for reviews
- Review system - Write and store personal reviews of consumed content
- Media budget tracking: Track spending on media content (subscriptions, purchases)
- Media consumption patterns: Analyze personal consumption patterns and preferences over time
- Media seasonal tracking: Track seasonal media preferences and suggest accordingly
- Media completion streaks: Gamification elements for consistent media consumption
- Media progress synchronization: Sync progress across different devices or platforms
Notes Management Enhancements#
- Linking and graph view: Create bidirectional links between related notes
- Templates system: Predefined templates for different note types (meeting notes, book summaries)
- Versioning and history: Track changes to notes over time with ability to revert
- Export with formatting: Rich export options with preserved formatting and links
- Import capabilities: Import notes from other systems (Notion, Evernote, etc.)
- Content extraction: Extract key points or action items from longer notes
- Encryption: End-to-end encryption for sensitive notes
- Content validation: Check for broken links, missing references, or inconsistent information
System Integration & Automation#
- Calendar integration: Sync tasks with calendar systems (Google Calendar, Outlook)
- Email integration: Create tasks or notes from emails automatically
- Browser extension: Quick capture of web content as tasks or notes
- IDE/plugin integration: Direct integration with code editors and development environments
- File system integration: Monitor files for content that should become tasks or notes
Advanced UI/UX Features#
- Customizable themes: Multiple visual themes and color schemes
- Terminal interface enhancements: Rich TUI with advanced navigation and visualization
- Web-based interface: Alternative web UI for browser-based access
- Advanced filtering and sorting: Complex query systems for data manipulation
- Visual task mapping: Gantt charts, Kanban boards, and other visual representations
- Quick entry mode: Rapid capture interface for minimal friction
- Keyboard customization: Fully customizable keyboard shortcuts
Security and Privacy#
- End-to-end encryption: Full encryption of sensitive data
- Local-first architecture: Guarantee that all data remains local