Introduce a To Do List system that integrates tightly with work sessions and task timers.
This feature enables users to plan work intentionally, track execution via tasks, and automatically mark work as completed.
The To Do list will act as the source of truth for what a user is working on, while tasks represent time boxed execution of those to dos.
Core Rules & Behavior
Work Session Requirement
A user must have an active work session to:
start a task
work on a to do item
If no session is active, task execution is not allowed.
To Do Items
Users can create and view a list of to do items.
Each to do item has:
a description
a status: pending, in progress, completed
Task ↔ To Do Relationship
Every task must be associated with a to do item.
When starting a task:
If the to do exists → use it
If the to do does not exist → automatically create it
Only one task (and therefore one to do in progress) can be active at a time.
Automatic State Transitions
When a task starts:
associated to do → in progress
When a task stops:
associated to do → completed
CLI Expectations
Example user flow:
dev todo add "Build auth pages"
dev todo list
dev start
dev task start "Build auth pages" --time 30m
dev task stop
dev todo list
Acceptance Criteria
Tasks cannot be started without an active work session
Tasks must always be linked to a to do item
To do status updates automatically based on task lifecycle
Completed tasks result in completed to dos
CLI remains intuitive and Git like (dev todo, dev task, dev start)
Notes
Implementation details are intentionally left open
Feature should be designed to support future extensions (stats, carry over tasks, analytics)
Introduce a To Do List system that integrates tightly with work sessions and task timers.
This feature enables users to plan work intentionally, track execution via tasks, and automatically mark work as completed.
The To Do list will act as the source of truth for what a user is working on, while tasks represent time boxed execution of those to dos.
Core Rules & Behavior
Work Session Requirement
A user must have an active work session to:
start a task
work on a to do item
If no session is active, task execution is not allowed.
To Do Items
Users can create and view a list of to do items.
Each to do item has:
a description
a status: pending, in progress, completed
Task ↔ To Do Relationship
Every task must be associated with a to do item.
When starting a task:
If the to do exists → use it
If the to do does not exist → automatically create it
Only one task (and therefore one to do in progress) can be active at a time.
Automatic State Transitions
When a task starts:
associated to do → in progress
When a task stops:
associated to do → completed
CLI Expectations
Example user flow:
dev todo add "Build auth pages"
dev todo list
dev start
dev task start "Build auth pages" --time 30m
dev task stop
dev todo list
Acceptance Criteria
Tasks cannot be started without an active work session
Tasks must always be linked to a to do item
To do status updates automatically based on task lifecycle
Completed tasks result in completed to dos
CLI remains intuitive and Git like (dev todo, dev task, dev start)
Notes
Implementation details are intentionally left open
Feature should be designed to support future extensions (stats, carry over tasks, analytics)