Skip to content

Add a To Do List feature #6

@ArsalanAnwer0

Description

@ArsalanAnwer0

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)

Metadata

Metadata

Assignees

Labels

enhancementNeeds to improvefeatureNew feature to implement

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions