Implement task add and task move subcommands for managing tasks in TASKS.md.
task add <slug> <title> [--section <section>]:
- Adds a task to the specified section (default: Inbox)
- Valid sections: Inbox, Proximo, En curso, Bloqueado, En espera, Hecho
- Creates section if it doesn't exist
task move <slug> <task_title> <to_section>:
- Searches for task by title across all sections
- Moves task to destination section
- Marks task as completed ([x]) when moved to Hecho
- Updates checkbox state based on destination
Includes parsing and building functions for TASKS.md with:
- Section normalization (English to Spanish names)
- Merge support for duplicate normalized sections
- Standard section ordering
Uses app.add_typer to register task subcommand group.
Create example project structure in examples/demo-project/ with:
- Project metadata in meta/project.yaml
- README, LOG, CHANGELOG and TASKS documentation
- Two detailed session files showing real work examples
- Empty docs/ and assets/ directories
The demo project serves as a reference implementation showing
how to use the Personal Tracker CLI effectively.
- Refactored CLI commands from nested Typer subapps to direct command functions
- Fixed main.py to use app.command() instead of app.add_typer_command()
- Fixed project_service.py to properly load projects from YAML
- Fixed file_storage.py to save session JSON files alongside markdown
- Added missing methods: write_file, read_file, extract_autogen_section, get_recent_sessions
- Fixed root_path and repo_path to use strings instead of Path objects
- Add complete CLI command implementations with Typer subcommands
- Implement utils/time.py with duration formatting and datetime utilities
- Implement utils/path.py with project path management utilities
- Wire up all commands to main CLI entry point