Skip to content

Introduce Milestones #76

@eyaltoledano

Description

@eyaltoledano

I dread the expand task command, it always takes my simple task and over-engineers the frick out of it!. We gotta do something about this fast, I would rather the expand task, take my initial idea, and break it down into small digestable steps for AI instead of expanding on it and ruining my whole vibe coding mood!


Motivation

Current feedback from users highlights frustration with the Task Master's default behavior, often over-engineering tasks during the expansion process. Users need a smarter way to control the complexity and granularity of task breakdowns to match their project milestones, whether they're rapidly prototyping, working on an MVP, or building a fully polished version.

Introducing structured milestones and scoped expansions addresses these pain points, providing clarity and control at different phases of project development.


Proposed Milestone Structure

Introduce predefined milestones, each with clearly defined scope expectations and prompt modifiers:

  • sandbox: Rapid prototyping, exploratory mode. Tasks remain very lightweight with minimal overhead, ideal for experimenting without commitment.

  • foundation: Establish the project's initial structure and core functionality without detailed enhancements. Avoid over-engineering; prioritize speed to prototype.

  • mvp: Implement essential features required for initial launch or monetization. Tasks have minimal necessary complexity, deferring detailed optimization to later milestones.

  • v1: First fully feature-complete iteration. Tasks require thorough testing, solid code coverage, and bug-free implementations.

  • v2/vx: Iterative enhancements and optimizations. Maintain regular complexity; iterative improvements based on feedback.


Integration with Task Master CLI

Configuration

Set milestones globally or per-task via:

task-master config --milestone=mvp

Scoped Task Expansion

Enhance expand command with milestone awareness:

task-master expand --id=3 --milestone=foundation

When a milestone is not explicitly passed, Task Master defaults to the milestone set in the project configuration.

Enhanced Milestone-Aware Task Expansion

Task Master will use milestone context to decide the granularity and complexity of task breakdowns automatically:

  • Sandbox/Foundation: minimal, essential subtasks
  • MVP: tasks directly supporting minimal monetizable product
  • v1+: detailed, thoroughly engineered subtasks

Implementation Plan Integration

Every time a task is expanded or updated, an up-to-date implementation plan reflective of the current milestone scope and complexity will be generated and appended to task details. Implementation plans include specific AI-generated instructions for immediate execution, tailored to milestone context.

CLI Updates for Milestone-Based UI

  • Introduce a new CLI command milestones:
    task-master milestones # Lists all milestones, associated tasks, and their statuses
  • Enhance the existing list command with milestone support:
    task-master list --milestone=mvp
  • Optionally support task streams or groups if applicable:
    task-master list --stream=frontend

Multi-stream Workflows

Support parallel milestone workflows for different streams of development (e.g., backend and frontend):

Tasks could be tagged with stream identifiers (e.g., BE-1.1, FE-2.1). Milestones could encompass progress across multiple streams, with dependencies clearly defined:

  • Example:
    • Milestone MVP could include:
      • FE: tasks 1.1, 1.2
      • BE: tasks 1.1, 1.2, 2.1
    • Task expansions respect stream and milestone contexts, ensuring dependencies between frontend and backend streams are clear and properly sequenced.

Sandbox Mode for Rapid Prototyping

Provide a dedicated sandbox mode (sandbox milestone), allowing users to freely explore solutions without committing to task details prematurely. Users can easily transition outcomes from sandbox tasks into structured milestones (foundation, MVP, etc.) after validating ideas.

Example usage:

task-master config --milestone=sandbox
# Perform exploratory development
# Later transition validated tasks:
task-master update --id=5 --milestone=foundation

MCP (Management Control Panel) Integration

Adjust MCP responses to reflect milestone awareness:

  • MCP should clearly present tasks grouped by milestones.
  • Enable milestone-specific views and filters.
  • Expose all new milestone-related CLI commands (milestones, enhanced list, etc.) as MCP tools.
  • Ensure that MCP views dynamically update implementation plans based on milestone changes.

Implementation Considerations

  • Clearly defined prompt modifiers for AI based on milestones.
  • Ensure backward compatibility with existing task structures.
  • Robust CLI flags for easy milestone management.
  • Explicit, clear CLI responses indicating milestone context during task operations.
  • Thoughtful MCP integration to reflect the new milestone-centric approach.

Out of Scope

  • Real-time milestone progression visualization.
  • Dynamic auto-transitioning between milestones.

Benefits

  • Reduces frustration and over-engineering by clearly aligning task expansion with current project stage.
  • Enhances clarity and productivity by structuring project tasks according to well-defined phases.
  • Facilitates smoother transitions between exploratory prototyping and structured project development.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

Status
Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions