- Create new TypeScript package @tm/ai-sdk-provider-mcp-sampling
- Implement LanguageModelV2 interface with v2 specification
- Update mcp-server to use new AI SDK v5 compatible provider
- Fix error: "AI SDK 5 only supports models that implement specification version 'v2'"
Closes#1449
Co-authored-by: Ralph Khreish <Crunchyman-ralph@users.noreply.github.com>
* fix(prompts): add JSON output format instruction to complexity analysis prompt
The complexity analysis prompt was missing the final instruction specifying
that output should be a JSON object with a 'complexityAnalysis' key containing
the array of analysis objects. This caused inconsistent output formatting.
This fix ensures the AI model returns properly structured JSON output that
can be reliably parsed by the complexity analysis module.
* chore: add changeset for complexity prompt fix
---------
Co-authored-by: Your Name <you@example.com>
* fix: treat cancelled tasks as complete in statistics and dependencies
Fixes#1392
## Changes
- Add TERMINAL_COMPLETE_STATUSES constant including 'done', 'completed', 'cancelled'
- Update calculateTaskStatistics() to include cancelled tasks in completion %
- Update calculateSubtaskStatistics() to include cancelled subtasks in completion %
- Update calculateDependencyStatistics() to treat cancelled tasks as satisfied dependencies
- Update findNextTask() to treat cancelled tasks as complete for dependency resolution
## Impact
- Dashboard now correctly shows 100% for projects with only done/cancelled tasks
- Tasks depending on cancelled tasks are no longer permanently blocked
- Dependency metrics accurately reflect project state
## Tests
- Added comprehensive test suite with RED-GREEN-REFACTOR approach
- 9 tests covering completion %, subtask %, and dependency resolution
- All tests pass after fixes applied
* style: apply biome formatting
* style: apply biome formatting to all files
* fix: display fraction should show all terminal complete tasks, not just done
Previously the completion percentage correctly counted cancelled tasks
as complete (e.g., 100% for 14 done + 1 cancelled), but the fraction
display used stats.done which only counted 'done' status, showing
"100% 14/15" instead of "100% 15/15".
Added completedCount field to TaskStatistics interface to track all
terminal complete tasks (done + completed + cancelled) and updated
display to use this field for accurate fraction representation.
Updates:
- TaskStatistics interface now includes completedCount field
- calculateTaskStatistics() sets completedCount for display
- calculateSubtaskStatistics() sets completedCount for display
- Display lines now use completedCount instead of done count
- Added completedCount assertions to all relevant tests
Related to #1392
* refactor: centralize terminal status logic in @tm/core
Following code review feedback, extracted TERMINAL_COMPLETE_STATUSES
and isTaskComplete() to @tm/core as single source of truth. This
prevents duplication and potential drift between CLI and MCP layers.
Changes:
- Added TERMINAL_COMPLETE_STATUSES constant to @tm/core constants
- Added isTaskComplete() helper function to @tm/core constants
- Updated dashboard.component.ts to import from tm-core via CLI util
- Updated list.command.ts to import from tm-core via CLI util
- Updated task-loader.service.ts to use shared isTaskComplete()
- Created CLI convenience re-export in utils/task-status.ts
Architecture:
- Business logic now lives in @tm/core (proper layer)
- CLI provides convenience re-exports for ergonomics
- MCP already delegates to @tm/core (no changes needed)
Addresses review comments from @Crunchyman-ralph on PR #1393
* fix: remove unused TaskStatus import in task-loader.service
TypeScript error: TaskStatus was imported but no longer used after
refactoring to use isTaskComplete() helper.
* fix: correct subtask display and progress bar for cancelled tasks
Fixed two display bugs identified by cursor bot:
1. Subtask completion display now shows completedCount instead of done
- Before: "Completed: 3/4" (only counted done tasks)
- After: "Completed: 4/4" (counts done + cancelled as terminal complete)
2. Progress bar no longer double-counts cancelled tasks
- Before: Green section (completionPercentage) + gray cancelled section
- After: Green section includes cancelled (as terminal complete status)
- Removed separate cancelled section from progress bar
- Updated section numbers in comments (2-6 instead of 2-7)
These changes ensure visual consistency with the fix that treats cancelled
tasks as terminal complete for percentage calculations and dependency resolution.
Fixes cursor bot comments on PR #1393
* style: run biome formatter
* fix: keep cancelled tasks visually distinct in progress bar
Per reviewer feedback from Crunchyman-ralph, cancelled tasks should remain
visible as a separate gray section in the progress bar for better visibility,
even though they count as complete for the percentage calculation.
Changes:
- Green section shows 'done' tasks only
- Gray section shows 'cancelled' tasks (visually distinct but terminal complete)
- completionPercentage still includes both done and cancelled (correct)
- This prevents double-counting while maintaining visual clarity
Addresses: https://github.com/eyaltoledano/claude-task-master/pull/1393#issuecomment-3517115852
* fix: add done property to StatusBreakdown interface
TypeScript error: StatusBreakdown interface was missing 'done' property
required by the progress bar visualization code.
* fix: Populate done field in calculateStatusBreakdown for progress bar
The calculateStatusBreakdown() function was missing the calculation for the
'done' field, causing statusBreakdown.done to always be undefined. This meant
the green section of the progress bar never rendered, making completed tasks
invisible in the visual representation.
Addresses cursor bot feedback on PR #1393.
---------
Co-authored-by: Ben Coombs <bjcoombs@users.noreply.github.com>
* docs: Clarify Claude Code .claude configuration behavior and recommend .md for PRDs
This addresses two documentation improvements:
1. **Claude Code Configuration Behavior (#1180)**
- Added comprehensive section explaining how Task Master interacts with Claude Code's .claude configuration
- Clarified that Task Master only passes MCP config when claudeCode.mcpServers is configured
- Documented precedence: explicit Task Master config vs Claude CLI defaults
- Provided practical examples for different configuration scenarios
- Added recommendations for deterministic vs. existing-setup workflows
2. **PRD File Extension Recommendation**
- Updated all examples to use .md extension instead of .txt for PRD files
- Added prominent note explaining benefits of .md: syntax highlighting, proper rendering, better collaboration
- Updated directory structure diagrams and workflow examples
- Clarified that both extensions work, but .md is recommended for editor support
Files modified:
- docs/examples/claude-code-usage.md: Added "Claude Code Configuration Behavior" section
- assets/AGENTS.md: Updated all PRD references to use .md, added PRD format note
Resolves: eyaltoledano/claude-task-master#1180
* chore: Add changeset and require changesets for PRs
- Added changeset for documentation updates (patch)
- Updated CLAUDE.md to require changesets for all PRs
* docs: Simplify PR to only recommend .md extension for PRDs
Based on feedback from @ben-vargas:
**Removed:**
- Changeset file (not needed for docs-only PR)
- Claude Code `.claude` configuration behavior documentation (will become stale when upgrading to ai-sdk-provider-claude-code v2.0.0+ which uses @anthropic-ai/claude-agent-sdk)
**Updated:**
- CLAUDE.md changeset guidelines: clarified changesets are only needed for code changes, not docs-only PRs
**Kept:**
- PRD file format recommendation: Updated all examples to use `.md` extension instead of `.txt` for better editor support, syntax highlighting, and rendering
- Added note explaining benefits of `.md` format
This keeps the PR focused on the non-controversial PRD format improvement and avoids documenting behavior that will soon change.
Addresses feedback in: #1180
* docs: Update apps/docs to recommend .md extension for PRD files
Applied the same PRD format recommendations to the user-facing documentation site:
- apps/docs/getting-started/quick-start/prd-quick.mdx:
- Updated template references from .txt to .md
- Added explanation of .md benefits in note box
- Updated all command examples to use .md extension
- Updated file naming examples
- apps/docs/capabilities/rpg-method.mdx:
- Updated RPG template reference to .md
- Updated standard template reference to .md
- Updated parse-prd command examples
- Updated workflow examples
Addresses @Crunchyman-ralph's request to update apps/docs
* refactor: Rename PRD template files from .txt to .md extension
Renamed actual template files to match documentation updates:
- .taskmaster/templates/example_prd.txt → example_prd.md
- .taskmaster/templates/example_prd_rpg.txt → example_prd_rpg.md
This ensures the actual files match what we're recommending in the documentation.
---------
Co-authored-by: Ben Coombs <bjcoombs@users.noreply.github.com>