From f8f629ea021289c8ee725eb42a2c3fdb82300538 Mon Sep 17 00:00:00 2001 From: Joe Danziger Date: Wed, 4 Jun 2025 14:55:13 -0400 Subject: [PATCH] add details on new rules command and init --- .cursor/rules/dev_workflow.mdc | 12 ++++++ assets/rules/dev_workflow.mdc | 70 ++++++++++++++++++++-------------- 2 files changed, 54 insertions(+), 28 deletions(-) diff --git a/.cursor/rules/dev_workflow.mdc b/.cursor/rules/dev_workflow.mdc index d18ff776..62ef5f4f 100644 --- a/.cursor/rules/dev_workflow.mdc +++ b/.cursor/rules/dev_workflow.mdc @@ -34,6 +34,7 @@ Task Master offers two primary ways to interact: ## Standard Development Workflow Process - Start new projects by running `initialize_project` tool / `task-master init` or `parse_prd` / `task-master parse-prd --input=''` (see [`taskmaster.mdc`](mdc:.cursor/rules/taskmaster.mdc)) to generate initial tasks.json +- Configure rule sets during initialization with `--rules` flag (e.g., `task-master init --rules cursor,windsurf`) or manage them later with `task-master rules add/remove` commands - Begin coding sessions with `get_tasks` / `task-master list` (see [`taskmaster.mdc`](mdc:.cursor/rules/taskmaster.mdc)) to see current tasks, status, and IDs - Determine the next task to work on using `next_task` / `task-master next` (see [`taskmaster.mdc`](mdc:.cursor/rules/taskmaster.mdc)). - Analyze task complexity with `analyze_project_complexity` / `task-master analyze-complexity --research` (see [`taskmaster.mdc`](mdc:.cursor/rules/taskmaster.mdc)) before breaking down tasks @@ -126,6 +127,17 @@ Taskmaster configuration is managed through two main mechanisms: **If AI commands FAIL in MCP** verify that the API key for the selected provider is present in the `env` section of `.cursor/mcp.json`. **If AI commands FAIL in CLI** verify that the API key for the selected provider is present in the `.env` file in the root of the project. +## Rules Management + +Taskmaster supports multiple AI coding assistant rule sets that can be configured during project initialization or managed afterward: + +- **Available Profiles**: Claude Code, Cline, Codex, Cursor, Roo Code, Trae, Windsurf (claude, cline, codex, cursor, roo, trae, windsurf) +- **During Initialization**: Use `task-master init --rules cursor,windsurf` to specify which rule sets to include +- **After Initialization**: Use `task-master rules add ` or `task-master rules remove ` to manage rule sets +- **Interactive Setup**: Use `task-master rules setup` to launch an interactive prompt for selecting rule profiles +- **Default Behavior**: If no `--rules` flag is specified during initialization, all available rule profiles are included +- **Rule Structure**: Each profile creates its own directory (e.g., `.cursor/rules`, `.roo/rules`) with appropriate configuration files + ## Determining the Next Task - Run `next_task` / `task-master next` to show the next task to work on. diff --git a/assets/rules/dev_workflow.mdc b/assets/rules/dev_workflow.mdc index cb950bf4..52d17f20 100644 --- a/assets/rules/dev_workflow.mdc +++ b/assets/rules/dev_workflow.mdc @@ -3,6 +3,11 @@ description: Guide for using Task Master to manage task-driven development workf globs: **/* alwaysApply: true --- +--- +description: Guide for using Task Master to manage task-driven development workflows +globs: **/* +alwaysApply: true +--- # Task Master Development Workflow This guide outlines the typical process for using Task Master to manage software development projects. @@ -14,47 +19,45 @@ Task Master offers two primary ways to interact: 1. **MCP Server (Recommended for Integrated Tools)**: - For AI agents and integrated development environments (like Cursor), interacting via the **MCP server is the preferred method**. - The MCP server exposes Task Master functionality through a set of tools (e.g., `get_tasks`, `add_subtask`). - - This method offers better performance, structured data exchange, and richer error handling compared to CLI parsing. - - Refer to [`mcp.mdc`](mdc:.cursor/rules/mcp.mdc) for details on the MCP architecture and available tools. - - A comprehensive list and description of MCP tools and their corresponding CLI commands can be found in [`taskmaster.mdc`](mdc:.cursor/rules/taskmaster.mdc). + - This met better performance, structured data exchange, and richer error handling compared to CLI parsing. + - Refer to @`mcp.mdc` for details on the MCP architecture and ava - A comprehensive list and description of MCP tools and their corresponding CLI commands can be found in @`taskmaster.mdc`. - **Restart the MCP server** if core logic in `scripts/modules` or MCP tool/direct function definitions change. 2. **`task-master` CLI (For Users & Fallback)**: - The global `task-master` command provides a user-friendly interface for direct terminal interaction. - It can also serve as a fallback if the MCP server is inaccessible or a specific function isn't exposed via MCP. - - Install globally with `npm install -g task-master-ai` or use locally via `npx task-master-ai ...`. - - The CLI commands often mirror the MCP tools (e.g., `task-master list` corresponds to `get_tasks`). - - Refer to [`taskmaster.mdc`](mdc:.cursor/rules/taskmaster.mdc) for a detailed command reference. + - Install globally with `npm install -g task-master-ai` or use locally via `npx task-master-ai ...commands often mirror the MCP tools (e.g., `task-master list` corresponds to `get_tasks`). + - Refer to @`taskmaster.mdc` for a detailed command reference. ## Standard Development Workflow Process -- Start new projects by running `initialize_project` tool / `task-master init` or `parse_prd` / `task-master parse-prd --input=''` (see [`taskmaster.mdc`](mdc:.cursor/rules/taskmaster.mdc)) to generate initial tasks.json -- Begin coding sessions with `get_tasks` / `task-master list` (see [`taskmaster.mdc`](mdc:.cursor/rules/taskmaster.mdc)) to see current tasks, status, and IDs -- Determine the next task to work on using `next_task` / `task-master next` (see [`taskmaster.mdc`](mdc:.cursor/rules/taskmaster.mdc)). -- Analyze task complexity with `analyze_project_complexity` / `task-master analyze-complexity --research` (see [`taskmaster.mdc`](mdc:.cursor/rules/taskmaster.mdc)) before breaking down tasks -- Review complexity report using `complexity_report` / `task-master complexity-report` (see [`taskmaster.mdc`](mdc:.cursor/rules/taskmaster.mdc)). +- Start new projects by runproject` tool / `task-master init` or `parse_prd` / `task-master parse-prd --input=''` (mdc`) to generate initial tasks.json +- Configure rule sets during initialization with `--rules` flag (e.g., `task-master or,windsurf`) or manage them later with `task-master rules add/remove` commands +- Begin coding sessions with `get_ster list` (see @`taskmaster.mdc`) to see current tasks, status, and IDs +- Determine the next task to work on using `nextster next` (see @`taskmaster.mdc`). +- Analyze task complexity with `analyze_project_complexity` / `task-master analyze-complexity --research` (see @`taskmaster.mdc`) before breaking down tasks +- Review complexity report using `complexity_report` / `tasky-report` (see @`taskmaster.mdc`). - Select tasks based on dependencies (all marked 'done'), priority level, and ID order -- Clarify tasks by checking task files in tasks/ directory or asking for user input -- View specific task details using `get_task` / `task-master show ` (see [`taskmaster.mdc`](mdc:.cursor/rules/taskmaster.mdc)) to understand implementation requirements -- Break down complex tasks using `expand_task` / `task-master expand --id= --force --research` (see [`taskmaster.mdc`](mdc:.cursor/rules/taskmaster.mdc)) with appropriate flags like `--force` (to replace existing subtasks) and `--research`. -- Clear existing subtasks if needed using `clear_subtasks` / `task-master clear-subtasks --id=` (see [`taskmaster.mdc`](mdc:.cursor/rules/taskmaster.mdc)) before regenerating +- Clarify tasks by check tasks/ directory or asking for user input +- View specific task details using `get_task` / `task-master show ` (see @`taskmaster.mdc`) to understand implementation requirements +- Break dowsing `expand_task` / `task-master expand --id= --force --research` (see @`taskmaster.mdc`) with appropriate flags like `--force` (to replace existing subtasks) and `--research existing subtasks if needed using `clear_subtasks` / `task-master clear-subtasks --id=` (see @`taskma regenerating - Implement code following task details, dependencies, and project standards -- Verify tasks according to test strategies before marking as complete (See [`tests.mdc`](mdc:.cursor/rules/tests.mdc)) -- Mark completed tasks with `set_task_status` / `task-master set-status --id= --status=done` (see [`taskmaster.mdc`](mdc:.cursor/rules/taskmaster.mdc)) -- Update dependent tasks when implementation differs from original plan using `update` / `task-master update --from= --prompt="..."` or `update_task` / `task-master update-task --id= --prompt="..."` (see [`taskmaster.mdc`](mdc:.cursor/rules/taskmaster.mdc)) -- Add new tasks discovered during implementation using `add_task` / `task-master add-task --prompt="..." --research` (see [`taskmaster.mdc`](mdc:.cursor/rules/taskmaster.mdc)). -- Add new subtasks as needed using `add_subtask` / `task-master add-subtask --parent= --title="..."` (see [`taskmaster.mdc`](mdc:.cursor/rules/taskmaster.mdc)). -- Append notes or details to subtasks using `update_subtask` / `task-master update-subtask --id= --prompt='Add implementation notes here...\nMore details...'` (see [`taskmaster.mdc`](mdc:.cursor/rules/taskmaster.mdc)). -- Generate task files with `generate` / `task-master generate` (see [`taskmaster.mdc`](mdc:.cursor/rules/taskmaster.mdc)) after updating tasks.json -- Maintain valid dependency structure with `add_dependency`/`remove_dependency` tools or `task-master add-dependency`/`remove-dependency` commands, `validate_dependencies` / `task-master validate-dependencies`, and `fix_dependencies` / `task-master fix-dependencies` (see [`taskmaster.mdc`](mdc:.cursor/rules/taskmaster.mdc)) when needed +- Verify tasks according to test strategies before marking as complete (See @`tests.mdc`) +- Mark completed tasks with `/ `task-master set-status --id= --status=done` (see @`taskmaster.mdc`) +- Update dependent tasks when implementation diff plan using `update` / `task-master update --from= --prompt="..."` or `update_task` / `task-master update-task t="..."` (see @`taskmaster.mdc`) +- Add new tasks discovered during implementation using `add_task` / `task-master add-task --prompt="..." --research` (see @`taskmaster.mdc`). +- as needed using `add_subtask` / `task-master add-subtask --parent= -e @`taskmaster.mdc`). +- Append notes or details to subtasks using `update_subtask` / `task-master update-subtask --id= --prompt='Add implementation notes here...\nMore details...'` (see @`taskmaster.mdc`). +- Generate task files with `generate` / `task-master generate` (see @`taskmaster.ing tasks.json +- Maintain valid dependency structure with `add_dependency`/`remove_dependency` tools or `task-master add-dependency`/`remove-dependency` commands, `validate_dependencies` / `task-master validate-dependencies`, and `fix_dependencies`ix-dependencies` (see @`taskmaster.mdc`) when needed - Respect dependency chains and task priorities when selecting work -- Report progress regularly using `get_tasks` / `task-master list` -- Reorganize tasks as needed using `move_task` / `task-master move --from= --to=` (see [`taskmaster.mdc`](mdc:.cursor/rules/taskmaster.mdc)) to change task hierarchy or ordering +- Report progress regularly usintask-master list` +- Reorganize tasks as needed using `move_task` / `task-master move --from= --to=` (see @`taskhange task hierarchy or ordering ## Task Complexity Analysis -- Run `analyze_project_complexity` / `task-master analyze-complexity --research` (see [`taskmaster.mdc`](mdc:.cursor/rules/taskmaster.mdc)) for comprehensive analysis -- Review complexity report via `complexity_report` / `task-master complexity-report` (see [`taskmaster.mdc`](mdc:.cursor/rules/taskmaster.mdc)) for a formatted, readable version. +- Run `analyze_project_complexity` / `task-master analyze-complexity --research` (see @`taskmaster.mdc`) for comprehensive analysis +- Review complexity report via `complexity_report` / `task-master complexity-report` (see @`taskmaster.mdc`) for a formatted, readable version. - Focus on tasks with highest complexity scores (8-10) for detailed breakdown - Use analysis results to determine appropriate subtask allocation - Note that reports are automatically used by the `expand_task` tool/command @@ -121,6 +124,17 @@ Taskmaster configuration is managed through two main mechanisms: **If AI commands FAIL in MCP** verify that the API key for the selected provider is present in the `env` section of `.cursor/mcp.json`. **If AI commands FAIL in CLI** verify that the API key for the selected provider is present in the `.env` file in the root of the project. +## Rules Management + +Taskmaster supports multiple AI coding assistant rule sets that can be configured during project initialization or managed afterward: + +- **Available Profiles**: Claude Code, Cline, Codex, Cursor, Roo Code, Trae, Windsurf (claude, cline, codex, cursor, roo, trae, windsurf) +- **During Initialization**: Use `task-master init --rules cursor,windsurf` to specify which rule sets to include +- **After Initialization**: Use `task-master rules add ` or `task-master rules remove ` to manage rule sets +- **Interactive Setup**: Use `task-master rules setup` to launch an interactive prompt for selecting rule profiles +- **Default Behavior**: If no `--rules` flag is specified during initialization, all available rule profiles are included +- **Rule Structure**: Each profile creates its own directory (e.g., `.cursor/rules`, `.roo/rules`) with appropriate configuration files + ## Determining the Next Task - Run `next_task` / `task-master next` to show the next task to work on. @@ -179,7 +193,7 @@ Taskmaster configuration is managed through two main mechanisms: Once a task has been broken down into subtasks using `expand_task` or similar methods, follow this iterative process for implementation: 1. **Understand the Goal (Preparation):** - * Use `get_task` / `task-master show `r.mdc`) to thoroughly understand the specific goals and requirements of the subtask. + * Use `get_task` / `task-master show ` (see @`taskmaster.mdc`) to thoroughly understand the specific goals and requirements of the subtask. 2. **Initial Exploration & Planning (Iteration 1):** * This is the first attempt at creating a concrete implementation plan.