Skip to content

Conversation

@Crunchyman-ralph
Copy link
Collaborator

@Crunchyman-ralph Crunchyman-ralph commented Jan 2, 2026

What type of PR is this?

  • πŸ› Bug fix
  • ✨ Feature
  • πŸ”Œ Integration
  • πŸ“ Docs
  • 🧹 Refactor
  • Other:

Description

Related Issues

How to Test This

# Example commands or steps

Expected result:

Contributor Checklist

  • Created changeset: npm run changeset
  • Tests pass: npm test
  • Format check passes: npm run format-check (or npm run format to fix)
  • Addressed CodeRabbit comments (if any)
  • Linked related issues (if any)
  • Manually tested the changes

Changelog Entry


For Maintainers

  • PR title follows conventional commits
  • Target branch correct
  • Labels added
  • Milestone assigned (if applicable)

Summary by CodeRabbit

  • Documentation

    • Added comprehensive Claude Code integration guide with setup instructions, configuration options, and feature comparisons.
    • Updated and reorganized documentation to clarify Claude Code setup workflows and navigation.
    • Consolidated multiple setup guides into a centralized setup documentation reference.
  • Chores

    • Released version 0.40.1 with patches for validation, startup performance, project detection, schema improvements, and authentication fixes.

✏️ Tip: You can customize this high-level summary in your review settings.

Crunchyman-ralph and others added 5 commits December 18, 2025 22:07
Co-authored-by: Ralph Khreish <[email protected]>
Co-authored-by: Eyal Toledano <[email protected]>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Ralph Khreish <[email protected]>
Fixes #1550

This PR addresses the documentation chaos reported in issue #1550 by:

1. Creating a comprehensive Claude Code setup guide at apps/docs/integrations/claude-code.mdx that:
   - Clearly explains all 3 integration options (MCP Server, Plugin, Provider)
   - Includes a comparison table to help users choose the right option
   - Clarifies the naming confusion between task-master-ai (MCP package) and task-master (CLI)
   - Provides comprehensive troubleshooting for common issues

2. Simplifying README.md:
   - Consolidated duplicate Claude Code installation sections
   - Added prominent links to the comprehensive guide
   - Reduced confusion by pointing to single source of truth

3. Updating documentation navigation:
   - Added new 'Integrations' section to docs.json
   - Made Claude Code guide easily discoverable

4. Deprecating redundant documentation:
   - Added deprecation notices to docs/claude-code-integration.md
   - Added deprecation notices to docs/examples/claude-code-usage.md
   - Both files now point to the new consolidated guide

5. Adding context to existing files:
   - Explained CLAUDE.md auto-load purpose
   - Clarified CLAUDE_CODE_PLUGIN.md is for plugin users
   - Added setup guide link to TM_COMMANDS_GUIDE.md

This creates a single landing page (docs.task-master.dev/integrations/claude-code)
that new users can reference, eliminating the confusion from multiple
installation methods scattered across 5+ different files.

πŸ€– Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Ralph Khreish <[email protected]>
@changeset-bot
Copy link

changeset-bot bot commented Jan 2, 2026

⚠️ No Changeset found

Latest commit: 7811561

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 2, 2026

πŸ“ Walkthrough

Walkthrough

This PR consolidates Claude Code integration documentation by deleting fragmented changeset files, publishing version 0.40.1 release notes, creating a comprehensive new integration guide, updating existing documentation with new guidance blocks and deprecation notices, and updating the package version.

Changes

Cohort / File(s) Summary
Changeset consolidation
.changeset/afraid-rocks-add.md, .changeset/hip-pots-study.md, .changeset/lazy-lies-argue.md, .changeset/new-grapes-accept.md, .changeset/violet-colts-sip.md
Removed five changelog entry files previously describing task-master-ai patches for reasoning validation, CLI startup speed, project root detection, JSON schema improvements, and vertex-ai authentication.
Version and release notes
package.json, CHANGELOG.md
Bumped version from 0.40.0 to 0.40.1; added comprehensive 0.40.1 release section to CHANGELOG with consolidated patch notes for all removed changesets.
Documentation guidance and branding
README.md, CLAUDE.md, .claude/TM_COMMANDS_GUIDE.md, CLAUDE_CODE_PLUGIN.md
Updated introductory blocks, added links to Complete Claude Code Setup Guide, rebrand Claude Code section guidance, and replaced bulleted instructions with narrative references to comprehensive guides.
New integration documentation
apps/docs/integrations/claude-code.mdx, apps/docs/docs.json
Added comprehensive Claude Code integration guide with setup commands, configuration snippets, tool-loading modes, usage examples, feature comparison table, and troubleshooting; updated navigation to include new "Integrations" group.
Legacy documentation markers
docs/claude-code-integration.md, docs/examples/claude-code-usage.md
Marked existing Claude Code documentation as DEPRECATED with notices redirecting users to new comprehensive guide.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • eyaltoledano

Pre-merge checks and finishing touches

βœ… Passed checks (3 passed)
Check name Status Explanation
Description Check βœ… Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage βœ… Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check βœ… Passed The title accurately reflects the main change: consolidating and improving Claude Code documentation across multiple files and adding a new comprehensive integration guide.
✨ Finishing touches
  • πŸ“ Generate docstrings

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

πŸ“œ Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

πŸ“₯ Commits

Reviewing files that changed from the base of the PR and between 9a6fa1b and 7811561.

β›” Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
πŸ“’ Files selected for processing (15)
  • .changeset/afraid-rocks-add.md
  • .changeset/hip-pots-study.md
  • .changeset/lazy-lies-argue.md
  • .changeset/new-grapes-accept.md
  • .changeset/violet-colts-sip.md
  • .claude/TM_COMMANDS_GUIDE.md
  • CHANGELOG.md
  • CLAUDE.md
  • CLAUDE_CODE_PLUGIN.md
  • README.md
  • apps/docs/docs.json
  • apps/docs/integrations/claude-code.mdx
  • docs/claude-code-integration.md
  • docs/examples/claude-code-usage.md
  • package.json
πŸ’€ Files with no reviewable changes (5)
  • .changeset/violet-colts-sip.md
  • .changeset/hip-pots-study.md
  • .changeset/new-grapes-accept.md
  • .changeset/lazy-lies-argue.md
  • .changeset/afraid-rocks-add.md
🧰 Additional context used
πŸ““ Path-based instructions (3)
**/*.md

πŸ“„ CodeRabbit inference engine (.cursor/rules/ai_providers.mdc)

Update relevant documentation (like README.md) mentioning supported providers or configuration when adding a new AI provider

Files:

  • CLAUDE_CODE_PLUGIN.md
  • docs/claude-code-integration.md
  • CLAUDE.md
  • README.md
  • docs/examples/claude-code-usage.md
  • CHANGELOG.md
package.json

πŸ“„ CodeRabbit inference engine (.cursor/rules/test_workflow.mdc)

package.json scripts must include: 'test', 'test:watch', 'test:coverage', 'test:unit', 'test:integration', 'test:e2e', and 'test:ci' commands for testing framework integration

Files:

  • package.json
apps/docs/**/*

πŸ“„ CodeRabbit inference engine (CLAUDE.md)

Write documentation in apps/docs/ (Mintlify site source), not docs/

Files:

  • apps/docs/integrations/claude-code.mdx
  • apps/docs/docs.json
🧠 Learnings (63)
πŸ““ Common learnings
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: assets/AGENTS.md:0-0
Timestamp: 2025-12-11T14:45:14.973Z
Learning: Applies to assets/**/CLAUDE.md : Update `CLAUDE.md` file with project-specific context, task summaries, and custom command examples for Claude Code integration
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1444
File: apps/cli/src/utils/auto-update/changelog.ts:103-111
Timestamp: 2025-11-25T18:32:29.828Z
Learning: The claude-task-master project uses a custom changelog format with PR numbers and author acknowledgements in the pattern `- [#PR](...) Thanks [author]! - Description`, which is parsed by the regex in apps/cli/src/utils/auto-update/changelog.ts.
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: .cursor/rules/git_workflow.mdc:0-0
Timestamp: 2025-11-24T18:00:23.032Z
Learning: Pull Request descriptions must include: Task Overview, Subtasks Completed (checklist), Implementation Details, Testing approach, Breaking Changes (if any), and Related Tasks.
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1232
File: packages/build-config/package.json:14-15
Timestamp: 2025-09-22T19:45:13.323Z
Learning: In the eyaltoledano/claude-task-master repository, Crunchyman-ralph intentionally omits version fields from internal packages (like tm/build-config) to prevent changesets from releasing new versions for these packages. This is the desired behavior for internal tooling packages that should not be published or versioned independently.
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1232
File: packages/tm-core/package.json:50-51
Timestamp: 2025-09-22T19:45:04.337Z
Learning: In the eyaltoledano/claude-task-master project, Crunchyman-ralph intentionally omits version fields from internal/private packages in package.json files to prevent changesets from releasing new versions of these packages while still allowing them to be processed for dependency updates. The changesets warnings about missing versions are acceptable as they don't break the process and achieve the desired behavior of only releasing public packages.
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1091
File: assets/claude/agents/task-orchestrator.md:69-78
Timestamp: 2025-08-06T21:13:05.240Z
Learning: For Claude agent instruction files in .claude/agents/ and assets/claude/agents/ directories, ignore markdownlint issues (like MD031 blanks-around-fences, MD040 fenced-code-language, MD041 missing top-level heading) as these files follow Claude's specific agent format requirements rather than standard markdown documentation conventions.
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: .cursor/rules/new_features.mdc:0-0
Timestamp: 2025-11-24T18:01:44.169Z
Learning: Create appropriate changesets for new features using semantic versioning (minor for new features); include tagged system information in release notes; document breaking changes
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: .cursor/rules/glossary.mdc:0-0
Timestamp: 2025-11-24T18:00:32.617Z
Learning: Refer to changeset.mdc for guidelines on using Changesets (npm run changeset) to manage versioning and changelogs
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1178
File: packages/tm-core/src/auth/config.ts:5-7
Timestamp: 2025-09-02T21:51:27.921Z
Learning: The user Crunchyman-ralph prefers not to use node: scheme imports (e.g., 'node:os', 'node:path') for Node.js core modules and considers suggestions to change bare imports to node: scheme as too nitpicky.
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1069
File: .changeset/fix-tag-complexity-detection.md:0-0
Timestamp: 2025-08-02T15:33:22.656Z
Learning: For changeset files (.changeset/*.md), Crunchyman-ralph prefers to ignore formatting nitpicks about blank lines between frontmatter and descriptions, as he doesn't mind having them and wants to avoid such comments in future reviews.
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1132
File: .github/workflows/weekly-metrics-discord.yml:81-93
Timestamp: 2025-08-13T22:10:46.958Z
Learning: Crunchyman-ralph ignores YAML formatting nitpicks about trailing spaces when there's no project-specific YAML formatter configured, preferring to focus on functionality over cosmetic formatting issues.
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1132
File: .github/workflows/weekly-metrics-discord.yml:81-93
Timestamp: 2025-08-13T22:10:46.958Z
Learning: Crunchyman-ralph ignores YAML formatting nitpicks about trailing spaces when there's no project-specific YAML formatter configured, preferring to focus on functionality over cosmetic formatting issues.
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1105
File: scripts/modules/supported-models.json:242-254
Timestamp: 2025-08-08T11:33:15.297Z
Learning: Preference: In scripts/modules/supported-models.json, the "name" field is optional. For OpenAI entries (e.g., "gpt-5"), Crunchyman-ralph prefers omitting "name" when the id is explicit enough; avoid nitpicks requesting a "name" in such cases.
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1200
File: src/ai-providers/custom-sdk/grok-cli/language-model.js:96-100
Timestamp: 2025-09-19T16:06:42.182Z
Learning: The user Crunchyman-ralph prefers to keep environment variable names explicit (like GROK_CLI_API_KEY) rather than supporting multiple aliases, to avoid overlap and ensure clear separation between different CLI implementations.
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1178
File: packages/tm-core/src/subpath-exports.test.ts:6-9
Timestamp: 2025-09-03T12:45:30.724Z
Learning: The user Crunchyman-ralph prefers to avoid overly nitpicky or detailed suggestions in code reviews, especially for test coverage of minor import paths. Focus on more substantial issues rather than comprehensive coverage of all possible edge cases.
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1217
File: apps/cli/src/index.ts:16-21
Timestamp: 2025-09-18T16:35:35.147Z
Learning: The user Crunchyman-ralph considers suggestions to export types for better ergonomics (like exporting UpdateInfo type alongside related functions) as nitpicky and prefers not to implement such suggestions.
πŸ“š Learning: 2025-12-11T14:45:14.973Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: assets/AGENTS.md:0-0
Timestamp: 2025-12-11T14:45:14.973Z
Learning: Applies to assets/**/CLAUDE.md : Update `CLAUDE.md` file with project-specific context, task summaries, and custom command examples for Claude Code integration

Applied to files:

  • CLAUDE_CODE_PLUGIN.md
  • docs/claude-code-integration.md
  • CLAUDE.md
  • apps/docs/integrations/claude-code.mdx
  • README.md
  • docs/examples/claude-code-usage.md
  • apps/docs/docs.json
  • .claude/TM_COMMANDS_GUIDE.md
  • CHANGELOG.md
πŸ“š Learning: 2025-08-06T21:13:05.240Z
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1091
File: assets/claude/agents/task-orchestrator.md:69-78
Timestamp: 2025-08-06T21:13:05.240Z
Learning: For Claude agent instruction files in .claude/agents/ and assets/claude/agents/ directories, ignore markdownlint issues (like MD031 blanks-around-fences, MD040 fenced-code-language, MD041 missing top-level heading) as these files follow Claude's specific agent format requirements rather than standard markdown documentation conventions.

Applied to files:

  • CLAUDE_CODE_PLUGIN.md
  • docs/claude-code-integration.md
  • CLAUDE.md
  • apps/docs/integrations/claude-code.mdx
  • README.md
  • docs/examples/claude-code-usage.md
  • .claude/TM_COMMANDS_GUIDE.md
πŸ“š Learning: 2025-11-25T18:32:29.828Z
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1444
File: apps/cli/src/utils/auto-update/changelog.ts:103-111
Timestamp: 2025-11-25T18:32:29.828Z
Learning: The claude-task-master project uses a custom changelog format with PR numbers and author acknowledgements in the pattern `- [#PR](...) Thanks [author]! - Description`, which is parsed by the regex in apps/cli/src/utils/auto-update/changelog.ts.

Applied to files:

  • CLAUDE_CODE_PLUGIN.md
  • CLAUDE.md
  • apps/docs/integrations/claude-code.mdx
  • README.md
  • docs/examples/claude-code-usage.md
  • .claude/TM_COMMANDS_GUIDE.md
  • CHANGELOG.md
πŸ“š Learning: 2025-08-06T21:11:57.597Z
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1091
File: .claude/agents/task-executor.md:1-6
Timestamp: 2025-08-06T21:11:57.597Z
Learning: For Claude agent instruction files located in .claude/agents or assets/claude/agents directories, Crunchyman-ralph wants to ignore MarkdownLint issues since these files follow Claude's specific format requirements rather than standard markdown documentation conventions.

Applied to files:

  • CLAUDE_CODE_PLUGIN.md
  • CLAUDE.md
πŸ“š Learning: 2025-12-11T14:45:14.973Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: assets/AGENTS.md:0-0
Timestamp: 2025-12-11T14:45:14.973Z
Learning: Applies to assets/**/.mcp.json : Configure MCP server settings in `.mcp.json` with required API keys for Claude Code integration

Applied to files:

  • CLAUDE_CODE_PLUGIN.md
  • apps/docs/integrations/claude-code.mdx
  • README.md
  • docs/examples/claude-code-usage.md
πŸ“š Learning: 2025-08-06T21:12:20.981Z
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1091
File: assets/claude/agents/task-executor.md:1-6
Timestamp: 2025-08-06T21:12:20.981Z
Learning: In the eyaltoledano/claude-task-master repository, agent files in assets/claude/agents/ are intended for distribution to users (for copying), while identical files in .claude/agents/ are for internal project use. This intentional duplication serves different purposes and is not a DRY violation.

Applied to files:

  • CLAUDE_CODE_PLUGIN.md
  • docs/claude-code-integration.md
  • CLAUDE.md
  • apps/docs/integrations/claude-code.mdx
  • docs/examples/claude-code-usage.md
πŸ“š Learning: 2025-08-06T21:12:43.715Z
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1091
File: assets/claude/agents/task-orchestrator.md:1-6
Timestamp: 2025-08-06T21:12:43.715Z
Learning: In the eyaltoledano/claude-task-master repository, agent files are intentionally duplicated between `.claude/agents/` (for internal project use) and `assets/claude/agents/` (as template files for users to copy). This duplication serves different purposes and should be maintained to support both internal development and user distribution needs.

Applied to files:

  • CLAUDE_CODE_PLUGIN.md
  • docs/claude-code-integration.md
  • CLAUDE.md
  • apps/docs/integrations/claude-code.mdx
  • docs/examples/claude-code-usage.md
πŸ“š Learning: 2025-12-11T14:45:14.973Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: assets/AGENTS.md:0-0
Timestamp: 2025-12-11T14:45:14.973Z
Learning: Applies to assets/.claude/commands/*.md : Store custom slash commands in `.claude/commands/` directory with `.md` extension for repeated Task Master workflows

Applied to files:

  • CLAUDE_CODE_PLUGIN.md
  • docs/claude-code-integration.md
  • CLAUDE.md
  • apps/docs/integrations/claude-code.mdx
  • README.md
  • docs/examples/claude-code-usage.md
  • .claude/TM_COMMANDS_GUIDE.md
πŸ“š Learning: 2025-12-11T14:45:14.973Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: assets/AGENTS.md:0-0
Timestamp: 2025-12-11T14:45:14.973Z
Learning: Applies to assets/.claude/settings.json : Add Claude Code tool allowlist configuration in `.claude/settings.json` to include 'Edit', 'Bash(task-master *)', 'Bash(git commit:*)', 'Bash(git add:*)', 'Bash(npm run *)', and 'mcp__task_master_ai__*'

Applied to files:

  • CLAUDE_CODE_PLUGIN.md
  • docs/claude-code-integration.md
  • CLAUDE.md
  • apps/docs/integrations/claude-code.mdx
  • README.md
  • docs/examples/claude-code-usage.md
  • .claude/TM_COMMANDS_GUIDE.md
  • CHANGELOG.md
πŸ“š Learning: 2025-07-31T20:49:04.638Z
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 997
File: apps/extension/package.publish.json:2-8
Timestamp: 2025-07-31T20:49:04.638Z
Learning: In the eyaltoledano/claude-task-master repository, the VS Code extension uses a 3-file packaging system where package.json (with name "extension") is for development within the monorepo, while package.publish.json (with name "task-master-hamster") contains the clean manifest for VS Code marketplace publishing. The different names are intentional and serve distinct purposes in the build and publishing workflow.

Applied to files:

  • CLAUDE_CODE_PLUGIN.md
πŸ“š Learning: 2025-09-26T19:03:33.225Z
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1252
File: package.json:130-132
Timestamp: 2025-09-26T19:03:33.225Z
Learning: In the eyaltoledano/claude-task-master repository, all packages with tm prefix are internal packages that are part of the monorepo structure and are not published externally.

Applied to files:

  • CLAUDE_CODE_PLUGIN.md
πŸ“š Learning: 2025-09-09T19:13:55.652Z
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1194
File: .github/workflows/ci.yml:31-35
Timestamp: 2025-09-09T19:13:55.652Z
Learning: The claude-task-master project has only one package-lock.json file in the entire workspace (at the root level), so cache-dependency-path configuration is unnecessary for the npm cache in GitHub Actions.

Applied to files:

  • CLAUDE_CODE_PLUGIN.md
πŸ“š Learning: 2025-09-29T13:33:46.952Z
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1246
File: src/ai-providers/claude-code.js:40-42
Timestamp: 2025-09-29T13:33:46.952Z
Learning: Claude Code provider should use CLAUDE_CODE_API_KEY environment variable instead of automatically picking up ANTHROPIC_API_KEY to avoid conflicts, since the ai-sdk-provider-claude-code package follows standard Anthropic patterns and prioritizes API keys over OAuth authentication, which can cause unexpected API charges.

Applied to files:

  • docs/claude-code-integration.md
  • apps/docs/integrations/claude-code.mdx
  • README.md
  • docs/examples/claude-code-usage.md
πŸ“š Learning: 2025-11-24T22:09:45.455Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-11-24T22:09:45.455Z
Learning: Reference documentation at https://docs.task-master.dev, not local file paths

Applied to files:

  • docs/claude-code-integration.md
πŸ“š Learning: 2025-11-24T18:00:32.617Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: .cursor/rules/glossary.mdc:0-0
Timestamp: 2025-11-24T18:00:32.617Z
Learning: Refer to telemetry.mdc for guidelines on integrating AI usage telemetry across Task Master

Applied to files:

  • docs/claude-code-integration.md
πŸ“š Learning: 2025-12-11T14:45:14.973Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: assets/AGENTS.md:0-0
Timestamp: 2025-12-11T14:45:14.973Z
Learning: Use git worktrees for parallel Task Master task development with separate Claude Code sessions in each worktree

Applied to files:

  • docs/claude-code-integration.md
  • CLAUDE.md
  • README.md
  • docs/examples/claude-code-usage.md
πŸ“š Learning: 2025-11-24T18:00:32.617Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: .cursor/rules/glossary.mdc:0-0
Timestamp: 2025-11-24T18:00:32.617Z
Learning: Refer to new_features.mdc for guidelines on integrating new features into the Task Master CLI with tagged system considerations

Applied to files:

  • docs/claude-code-integration.md
  • apps/docs/integrations/claude-code.mdx
  • README.md
  • .claude/TM_COMMANDS_GUIDE.md
πŸ“š Learning: 2025-09-22T19:45:04.337Z
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1232
File: packages/tm-core/package.json:50-51
Timestamp: 2025-09-22T19:45:04.337Z
Learning: In the eyaltoledano/claude-task-master project, Crunchyman-ralph intentionally omits version fields from internal/private packages in package.json files to prevent changesets from releasing new versions of these packages while still allowing them to be processed for dependency updates. The changesets warnings about missing versions are acceptable as they don't break the process and achieve the desired behavior of only releasing public packages.

Applied to files:

  • package.json
πŸ“š Learning: 2025-11-24T17:58:07.992Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: .cursor/rules/architecture.mdc:0-0
Timestamp: 2025-11-24T17:58:07.992Z
Learning: The Task Master CLI uses a modular architecture with distinct modules responsible for different aspects: commands.js (CLI command handling), task-manager.js (task data & core logic), dependency-manager.js (dependency management), ui.js (output formatting), ai-services-unified.js (unified AI service layer), config-manager.js (configuration management), utils.js (core utility functions), and mcp-server/ (MCP interface)

Applied to files:

  • package.json
  • README.md
πŸ“š Learning: 2025-09-26T19:05:47.555Z
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1252
File: packages/ai-sdk-provider-grok-cli/package.json:11-13
Timestamp: 2025-09-26T19:05:47.555Z
Learning: In the eyaltoledano/claude-task-master repository, internal tm/ packages use a specific export pattern where the "exports" field points to TypeScript source files (./src/index.ts) while "main" points to compiled output (./dist/index.js) and "types" points to source files (./src/index.ts). This pattern is used consistently across internal packages like tm/core and tm/ai-sdk-provider-grok-cli because they are consumed directly during build-time bundling with tsdown rather than being published as separate packages.

Applied to files:

  • package.json
πŸ“š Learning: 2025-11-24T17:58:07.992Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: .cursor/rules/architecture.mdc:0-0
Timestamp: 2025-11-24T17:58:07.992Z
Learning: Applies to scripts/modules/task-manager.js : task-manager.js should handle reading/writing tasks.json with tagged task lists support, implement CRUD operations, delegate AI interactions to ai-services-unified.js layer, and access non-AI configuration via config-manager.js getters

Applied to files:

  • package.json
πŸ“š Learning: 2025-11-24T18:05:02.114Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: assets/.windsurfrules:0-0
Timestamp: 2025-11-24T18:05:02.114Z
Learning: Use the global CLI command `task-master` instead of `node scripts/dev.js` for all task management operations

Applied to files:

  • package.json
  • README.md
πŸ“š Learning: 2025-11-24T17:56:52.249Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: assets/GEMINI.md:0-0
Timestamp: 2025-11-24T17:56:52.249Z
Learning: Applies to assets/.gemini/settings.json : Configure Task Master MCP server in ~/.gemini/settings.json with the command 'npx' and args ['-y', 'task-master-ai']

Applied to files:

  • package.json
  • README.md
πŸ“š Learning: 2025-09-26T19:10:32.906Z
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1252
File: tsconfig.json:22-28
Timestamp: 2025-09-26T19:10:32.906Z
Learning: In the eyaltoledano/claude-task-master repository, all internal tm/ package path mappings in tsconfig.json consistently point to TypeScript source files (e.g., "./packages/*/src/index.ts") rather than built JavaScript. This is intentional architecture because tsdown bundles internal packages directly from source during build time, eliminating the need for separate compilation of internal packages.

Applied to files:

  • package.json
πŸ“š Learning: 2025-11-24T18:02:22.305Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: .cursor/rules/taskmaster.mdc:0-0
Timestamp: 2025-11-24T18:02:22.305Z
Learning: Applies to .taskmaster/config.json : The .taskmaster/config.json file stores AI model configuration (main, research, fallback models) managed via 'task-master models' command

Applied to files:

  • package.json
  • CHANGELOG.md
πŸ“š Learning: 2025-09-03T12:16:15.866Z
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1178
File: packages/tm-core/package.json:13-64
Timestamp: 2025-09-03T12:16:15.866Z
Learning: For internal packages in the claude-task-master project, Crunchyman-ralph prefers pointing package.json "types" entries to src .ts files rather than dist .d.ts files for better developer experience (DX), as the packages are not being exported as SDKs.

Applied to files:

  • package.json
πŸ“š Learning: 2025-09-22T19:45:13.323Z
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1232
File: packages/build-config/package.json:14-15
Timestamp: 2025-09-22T19:45:13.323Z
Learning: In the eyaltoledano/claude-task-master repository, Crunchyman-ralph intentionally omits version fields from internal packages (like tm/build-config) to prevent changesets from releasing new versions for these packages. This is the desired behavior for internal tooling packages that should not be published or versioned independently.

Applied to files:

  • package.json
  • CHANGELOG.md
πŸ“š Learning: 2025-08-07T13:00:22.966Z
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1090
File: apps/extension/package.json:241-243
Timestamp: 2025-08-07T13:00:22.966Z
Learning: In monorepos, local packages should use "*" as the version constraint in package.json dependencies, as recommended by npm. This ensures the local version from within the same workspace is always used, rather than attempting to resolve from external registries. This applies to packages like task-master-ai within the eyaltoledano/claude-task-master monorepo.

Applied to files:

  • package.json
πŸ“š Learning: 2025-08-06T21:11:37.259Z
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1091
File: .claude/agents/task-orchestrator.md:0-0
Timestamp: 2025-08-06T21:11:37.259Z
Learning: For files in .claude/agents/ and assets/claude/agents/ directories, ignore markdownlint issues like MD041 (missing top-level heading) as these are Claude Code agent instruction files that follow a specific format with YAML frontmatter and don't need to conform to standard markdown documentation conventions.

Applied to files:

  • CLAUDE.md
  • docs/examples/claude-code-usage.md
πŸ“š Learning: 2025-08-02T14:54:52.216Z
Learnt from: eyaltoledano
Repo: eyaltoledano/claude-task-master PR: 1069
File: .changeset/floppy-news-buy.md:7-38
Timestamp: 2025-08-02T14:54:52.216Z
Learning: For major feature additions like new CLI commands, eyaltoledano prefers detailed changesets with comprehensive descriptions, usage examples, and feature explanations rather than minimal single-line summaries.

Applied to files:

  • CLAUDE.md
  • README.md
  • .claude/TM_COMMANDS_GUIDE.md
  • CHANGELOG.md
πŸ“š Learning: 2025-10-08T19:57:00.982Z
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1282
File: packages/tm-core/src/utils/index.ts:16-34
Timestamp: 2025-10-08T19:57:00.982Z
Learning: For the tm-core package in the eyaltoledano/claude-task-master repository, the team prefers a minimal, need-based export strategy in index files rather than exposing all internal utilities. Exports should only be added when functions are actually consumed by other packages in the monorepo.

Applied to files:

  • CLAUDE.md
πŸ“š Learning: 2025-11-24T18:00:06.827Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: .cursor/rules/dev_workflow.mdc:0-0
Timestamp: 2025-11-24T18:00:06.827Z
Learning: Use `task-master init --rules cursor,windsurf` during initialization to specify which AI coding assistant rule sets to include

Applied to files:

  • CLAUDE.md
πŸ“š Learning: 2025-11-24T18:00:32.617Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: .cursor/rules/glossary.mdc:0-0
Timestamp: 2025-11-24T18:00:32.617Z
Learning: Refer to dev_workflow.mdc for guidance on using Task Master to manage task-driven development workflows with tagged task lists support

Applied to files:

  • CLAUDE.md
πŸ“š Learning: 2025-07-31T21:48:00.389Z
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 997
File: apps/extension/src/services/task-repository.ts:25-57
Timestamp: 2025-07-31T21:48:00.389Z
Learning: In the eyaltoledano/claude-task-master repository, every task is always part of a tag - there is no concept of untagged tasks. The tag system is mandatory and comprehensive, meaning all tasks exist within a tag context (with 'master' as the default tag if none specified).

Applied to files:

  • CLAUDE.md
  • README.md
  • .claude/TM_COMMANDS_GUIDE.md
πŸ“š Learning: 2025-07-17T21:33:57.585Z
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1002
File: .changeset/puny-friends-give.md:2-3
Timestamp: 2025-07-17T21:33:57.585Z
Learning: In the eyaltoledano/claude-task-master repository, the MCP server code in mcp-server/src/ is part of the main "task-master-ai" package, not a separate "mcp-server" package. When creating changesets for MCP server changes, use "task-master-ai" as the package name.

Applied to files:

  • apps/docs/integrations/claude-code.mdx
  • README.md
πŸ“š Learning: 2025-11-24T17:57:14.743Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: .cursor/rules/ai_providers.mdc:0-0
Timestamp: 2025-11-24T17:57:14.743Z
Learning: Applies to **/*.md : Update relevant documentation (like `README.md`) mentioning supported providers or configuration when adding a new AI provider

Applied to files:

  • apps/docs/integrations/claude-code.mdx
  • README.md
  • docs/examples/claude-code-usage.md
  • CHANGELOG.md
πŸ“š Learning: 2025-11-24T17:57:14.743Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: .cursor/rules/ai_providers.mdc:0-0
Timestamp: 2025-11-24T17:57:14.743Z
Learning: Use the `models` MCP tool or the `task-master models` CLI command to manage AI configurations

Applied to files:

  • apps/docs/integrations/claude-code.mdx
  • README.md
πŸ“š Learning: 2025-11-24T18:00:32.617Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: .cursor/rules/glossary.mdc:0-0
Timestamp: 2025-11-24T18:00:32.617Z
Learning: Refer to taskmaster.mdc for comprehensive reference of Taskmaster MCP tools and CLI commands with tagged task lists information

Applied to files:

  • apps/docs/integrations/claude-code.mdx
  • README.md
  • .claude/TM_COMMANDS_GUIDE.md
πŸ“š Learning: 2025-11-24T17:58:47.030Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: .cursor/rules/commands.mdc:0-0
Timestamp: 2025-11-24T17:58:47.030Z
Learning: Use MCP tools (e.g., get_tasks, add_task) as the preferred method for programmatic interaction in integrated environments like Cursor, treating CLI commands as a fallback for direct user interaction and when MCP server is unavailable

Applied to files:

  • apps/docs/integrations/claude-code.mdx
  • README.md
πŸ“š Learning: 2025-09-29T13:33:46.952Z
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1246
File: src/ai-providers/claude-code.js:40-42
Timestamp: 2025-09-29T13:33:46.952Z
Learning: Claude Code provider should use environment variable isolation to control API key access, temporarily managing ANTHROPIC_API_KEY during client creation to prevent the ai-sdk-provider-claude-code package from automatically picking up API keys intended for other providers, while allowing explicit CLAUDE_CODE_API_KEY usage as a fallback to OAuth authentication.

Applied to files:

  • apps/docs/integrations/claude-code.mdx
  • docs/examples/claude-code-usage.md
πŸ“š Learning: 2025-11-24T18:00:32.617Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: .cursor/rules/glossary.mdc:0-0
Timestamp: 2025-11-24T18:00:32.617Z
Learning: Refer to mcp.mdc for guidelines on implementing and interacting with the Task Master MCP Server

Applied to files:

  • apps/docs/integrations/claude-code.mdx
  • README.md
πŸ“š Learning: 2025-11-24T17:58:19.853Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: .cursor/rules/changeset.mdc:0-0
Timestamp: 2025-11-24T17:58:19.853Z
Learning: Provide a concise, single-line changeset summary in imperative mood (e.g., 'Add feature X', 'Fix bug Y') that describes what changed from a user/consumer perspective, not implementation details

Applied to files:

  • README.md
  • CHANGELOG.md
πŸ“š Learning: 2025-11-24T18:00:32.617Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: .cursor/rules/glossary.mdc:0-0
Timestamp: 2025-11-24T18:00:32.617Z
Learning: Refer to changeset.mdc for guidelines on using Changesets (npm run changeset) to manage versioning and changelogs

Applied to files:

  • README.md
πŸ“š Learning: 2025-11-24T17:57:14.743Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: .cursor/rules/ai_providers.mdc:0-0
Timestamp: 2025-11-24T17:57:14.743Z
Learning: API keys are essential for most AI providers and must be configured correctly. Keys should be set in `.cursor/mcp.json` env section for MCP/Cursor, or in a `.env` file in the project root for CLI usage.

Applied to files:

  • README.md
πŸ“š Learning: 2025-11-24T17:57:14.743Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: .cursor/rules/ai_providers.mdc:0-0
Timestamp: 2025-11-24T17:57:14.743Z
Learning: Applies to {.env.example,.cursor/mcp.json.example} : Add the new provider's API key to `.env.example` and to the `env` section for `taskmaster-ai` in `.cursor/mcp.json.example` with its placeholder value

Applied to files:

  • README.md
πŸ“š Learning: 2025-11-24T18:00:06.827Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: .cursor/rules/dev_workflow.mdc:0-0
Timestamp: 2025-11-24T18:00:06.827Z
Learning: Applies to {.env,.cursor/mcp.json} : API keys for AI providers should be placed in `.env` file in project root for CLI usage, or in `env` section of `.cursor/mcp.json` for MCP/Cursor integration

Applied to files:

  • README.md
πŸ“š Learning: 2025-07-18T17:10:02.683Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: .cursor/rules/dev_workflow.mdc:0-0
Timestamp: 2025-07-18T17:10:02.683Z
Learning: Applies to {.env,.cursor/mcp.json} : Store sensitive API keys and endpoint URLs for Taskmaster in a `.env` file (for CLI usage) or in the `env` section of `.cursor/mcp.json` (for MCP/Cursor integration). Do not store non-API key settings in these files.

Applied to files:

  • README.md
πŸ“š Learning: 2025-09-03T12:15:03.208Z
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1178
File: apps/cli/src/commands/auth.command.ts:222-224
Timestamp: 2025-09-03T12:15:03.208Z
Learning: The CLI can be invoked using both "task-master" and "tm" as aliases - both forms are valid and acceptable in help text, documentation, and examples.

Applied to files:

  • README.md
πŸ“š Learning: 2025-12-11T14:45:14.973Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: assets/AGENTS.md:0-0
Timestamp: 2025-12-11T14:45:14.973Z
Learning: Use `/clear` command between different Task Master tasks in Claude Code to maintain focused context and conversation history

Applied to files:

  • README.md
  • .claude/TM_COMMANDS_GUIDE.md
πŸ“š Learning: 2025-11-24T18:01:52.739Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: .cursor/rules/self_improve.mdc:0-0
Timestamp: 2025-11-24T18:01:52.739Z
Learning: Mark outdated patterns as deprecated, remove rules that no longer apply, and document migration paths when deprecating rules

Applied to files:

  • docs/examples/claude-code-usage.md
πŸ“š Learning: 2025-09-29T13:33:46.952Z
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1246
File: src/ai-providers/claude-code.js:40-42
Timestamp: 2025-09-29T13:33:46.952Z
Learning: Claude Code provider should use environment variable isolation to temporarily manage ANTHROPIC_API_KEY during client creation: if CLAUDE_CODE_API_KEY is set, temporarily set ANTHROPIC_API_KEY to that value; if CLAUDE_CODE_API_KEY is not set but ANTHROPIC_API_KEY exists, temporarily unset ANTHROPIC_API_KEY to force OAuth mode. This prevents the ai-sdk-provider-claude-code package from accidentally using API keys intended for the regular Anthropic provider while still allowing explicit API key usage as a fallback.

Applied to files:

  • docs/examples/claude-code-usage.md
πŸ“š Learning: 2025-11-24T18:01:44.169Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: .cursor/rules/new_features.mdc:0-0
Timestamp: 2025-11-24T18:01:44.169Z
Learning: For each new feature, add help text to the command definition, update `dev_workflow.mdc` with command reference, and consider updating `architecture.mdc` if the feature significantly changes module responsibilities

Applied to files:

  • .claude/TM_COMMANDS_GUIDE.md
πŸ“š Learning: 2025-11-24T18:00:06.827Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: .cursor/rules/dev_workflow.mdc:0-0
Timestamp: 2025-11-24T18:00:06.827Z
Learning: Begin coding sessions with `task-master list` to see current tasks, status, and IDs

Applied to files:

  • .claude/TM_COMMANDS_GUIDE.md
πŸ“š Learning: 2025-11-24T18:00:32.617Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: .cursor/rules/glossary.mdc:0-0
Timestamp: 2025-11-24T18:00:32.617Z
Learning: Refer to architecture.mdc for understanding the high-level architecture of the Task Master CLI application, including the tagged task lists system

Applied to files:

  • .claude/TM_COMMANDS_GUIDE.md
πŸ“š Learning: 2025-11-24T18:05:02.114Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: assets/.windsurfrules:0-0
Timestamp: 2025-11-24T18:05:02.114Z
Learning: Begin coding sessions with `task-master list` to review current tasks, status, and IDs

Applied to files:

  • .claude/TM_COMMANDS_GUIDE.md
πŸ“š Learning: 2025-11-24T18:00:23.032Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: .cursor/rules/git_workflow.mdc:0-0
Timestamp: 2025-11-24T18:00:23.032Z
Learning: Use Task Master commands integrated with Git workflow: `task-master show`, `task-master next`, `task-master set-status`, `task-master update-subtask` to manage task context automatically based on current branch.

Applied to files:

  • .claude/TM_COMMANDS_GUIDE.md
πŸ“š Learning: 2025-08-06T21:14:23.071Z
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1091
File: .changeset/wide-actors-report.md:0-0
Timestamp: 2025-08-06T21:14:23.071Z
Learning: For changeset files (.changeset/*.md), the first line after the frontmatter must be a plain, unstyled summary line that gets integrated directly into the changelog. Do not add markdown headings or styling as this would interfere with the changelog generation process. Ignore markdownlint MD041 rule for these files.

Applied to files:

  • CHANGELOG.md
πŸ“š Learning: 2025-11-24T18:01:44.169Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: .cursor/rules/new_features.mdc:0-0
Timestamp: 2025-11-24T18:01:44.169Z
Learning: Create appropriate changesets for new features using semantic versioning (minor for new features); include tagged system information in release notes; document breaking changes

Applied to files:

  • CHANGELOG.md
πŸ“š Learning: 2025-12-11T14:45:14.973Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: assets/AGENTS.md:0-0
Timestamp: 2025-12-11T14:45:14.973Z
Learning: Applies to assets/.taskmaster/config.json : Store AI model configuration in `.taskmaster/config.json` and use `task-master models` command to modify instead of manual editing

Applied to files:

  • CHANGELOG.md
πŸ“š Learning: 2025-10-31T20:59:04.022Z
Learnt from: Crunchyman-ralph
Repo: eyaltoledano/claude-task-master PR: 1360
File: apps/cli/src/commands/models/fetchers.ts:12-64
Timestamp: 2025-10-31T20:59:04.022Z
Learning: For eyaltoledano/claude-task-master, when fetching the OpenRouter models list in apps/cli/src/commands/models/fetchers.ts, do not require an API key. Prefer an optional Authorization header if OPENROUTER_API_KEY is set, and surface a clear 401 error message if encountered.

Applied to files:

  • CHANGELOG.md
πŸ“š Learning: 2025-12-11T21:01:41.112Z
Learnt from: ben-vargas
Repo: eyaltoledano/claude-task-master PR: 1508
File: scripts/modules/supported-models.json:154-189
Timestamp: 2025-12-11T21:01:41.112Z
Learning: For codex-cli provider in scripts/modules/supported-models.json, the "minimal" reasoning_effort value is NOT supported for gpt-5.1-codex-max and gpt-5.2 models, despite what OpenAI API documentation may indicate. The correct reasoning_efforts array for these models is ["none", "low", "medium", "high", "xhigh"].

Applied to files:

  • CHANGELOG.md
πŸ“š Learning: 2025-12-11T14:45:14.973Z
Learnt from: CR
Repo: eyaltoledano/claude-task-master PR: 0
File: assets/AGENTS.md:0-0
Timestamp: 2025-12-11T14:45:14.973Z
Learning: Use `--research` flag with Task Master commands like `parse-prd`, `add-task`, `expand`, and `update-task` to enhance AI-powered operations with research-based information

Applied to files:

  • CHANGELOG.md
πŸͺ› markdownlint-cli2 (0.18.1)
docs/examples/claude-code-usage.md

5-5: Bare URL used

(MD034, no-bare-urls)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Test
πŸ”‡ Additional comments (13)
package.json (1)

3-3: LGTM! Appropriate patch version bump.

The version increment from 0.40.0 to 0.40.1 is appropriate for this documentation consolidation PR.

CLAUDE.md (1)

3-6: LGTM! Clear guidance block enhances discoverability.

The introductory note effectively explains the file's purpose and directs users to the comprehensive setup guide, aligning with the PR's goal of consolidating Claude Code documentation.

CLAUDE_CODE_PLUGIN.md (1)

1-5: LGTM! Consistent documentation improvements.

The title clarification and guidance block addition align well with the PR's documentation consolidation effort, maintaining this document's specific focus while providing clear navigation to the comprehensive setup guide.

.claude/TM_COMMANDS_GUIDE.md (1)

3-6: LGTM! Effective user guidance addition.

The introductory lines provide clear context and direct new users to the setup guide while clarifying the guide's specific focus on plugin-based slash commands.

apps/docs/docs.json (1)

56-59: LGTM! Proper navigation structure for new integration documentation.

The new "Integrations" group appropriately surfaces the Claude Code integration guide and follows the project's documentation conventions (apps/docs/ for Mintlify site source).

docs/claude-code-integration.md (1)

1-9: LGTM! Clear deprecation notice.

The deprecation banner effectively communicates that this documentation has moved, provides a clear link to the new comprehensive guide, and appropriately marks the legacy content below. The structure follows good documentation deprecation practices.

docs/examples/claude-code-usage.md (1)

1-9: LGTM! Consistent deprecation pattern.

The deprecation notice matches the pattern used in docs/claude-code-integration.md, providing consistency across the documentation migration. Users will have a clear path to the new consolidated guide.

apps/docs/integrations/claude-code.mdx (2)

1-254: Excellent documentation consolidation.

This comprehensive guide effectively consolidates three different Claude Code integration approaches into a single, well-structured resource. The organization is logical, the comparison table helps users make informed decisions, and the troubleshooting section addresses common pain points.

Strengths:

  • Clear differentiation of three integration options
  • Helpful naming clarity note (lines 20-24) addressing task-master-ai vs task-master confusion
  • Configurable tool loading modes well documented (lines 66-74)
  • Practical usage examples throughout
  • Comprehensive troubleshooting section

188-193: Remove or correct the "MCP Server + Claude Code Provider" recommendation as it contradicts the comparison table.

The suggestion to use both together to "eliminate API key costs" is misleading. According to the comparison table above it:

  • MCP Server requires API keys (shows "❌ No" for "No API key needed")
  • Claude Code Provider eliminates API costs (shows "βœ… Yes" for "No API key needed")

These are alternative approaches for cost optimization, not complementary setups. Users should choose one based on their workflow needs:

  • Use MCP Server if you need chat-first operations (but budget for API costs)
  • Use Claude Code Provider if cost is the priority (no API keys needed)

Combining them doesn't reduce costsβ€”the MCP Server component still requires API keys and will incur expenses.

Likely an incorrect or invalid review comment.

CHANGELOG.md (1)

3-22: 0.40.1 changelog entry is consistent and well‑formed

The new 0.40.1 section matches the project’s changelog format (PR links, commit hashes, author thanks, and descriptions) and aligns with existing style, including reuse of a single PR for multiple related bullets. No changes needed.

README.md (3)

63-75: Clear consolidation of Claude Code Quick Install section.

The refactoring effectively addresses documentation fragmentation by pointing users to a comprehensive setup guide while clarifying the MCP server package name vs CLI command distinction on line 74. This note is particularly helpful for preventing common confusion.


324-326: Consistent referencing of the new setup guide in Method 2.

The addition appropriately directs Claude Code CLI users to the comprehensive setup guide, maintaining consistency with the earlier section refactor.


350-358: Clear bullet-point overview of Claude Code integration options.

The refactored section provides a concise, scannable summary of the three integration approaches (MCP Server, Plugin, Provider), making it easier for users to understand their options at a glance.

Comment on lines +138 to +156
task-master models --set-main claude-code/sonnet
```

Or update `.taskmaster/config.json`:

```json
{
"models": {
"main": "claude-code/sonnet",
"fallback": "claude-code/opus"
}
}
```

### Available Models

- `claude-code/sonnet` - Claude 3.5 Sonnet
- `claude-code/opus` - Claude 3 Opus

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | πŸ”΄ Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash

echo "=== Checking model naming format in codebase ==="
rg -n "claude-code[:/]" --type-list | head -20

echo -e "\n=== Searching for model references (all types) ==="
rg "claude-code[:/]" -C 2 | head -100

echo -e "\n=== Checking config schema or type definitions ==="
fd -e ts -e js -e json | xargs rg -l "models" | grep -E "(config|schema|type)" | head -10

Repository: eyaltoledano/claude-task-master

Length of output: 6797


🏁 Script executed:

#!/bin/bash

echo "=== Checking docs/ vs apps/docs/ status ==="
echo "Files in docs/:"
ls -la docs/ 2>/dev/null | head -20

echo -e "\nFiles in apps/docs/:"
ls -la apps/docs/ 2>/dev/null | head -20

echo -e "\n=== Looking for legacy docs references ==="
rg "docs/claude-code" -type md

echo -e "\n=== Checking git history for docs/ ==="
git log --oneline docs/ 2>/dev/null | head -10

Repository: eyaltoledano/claude-task-master

Length of output: 2802


🏁 Script executed:

#!/bin/bash

echo "=== Searching for model provider implementation ==="
fd -e ts -e js | xargs rg -l "claude-code" | head -15

echo -e "\n=== Looking at config file examples ==="
fd -name "*config*" -type f | xargs cat 2>/dev/null | grep -A5 -B5 "claude-code" | head -50

Repository: eyaltoledano/claude-task-master

Length of output: 1051


🏁 Script executed:

#!/bin/bash

echo "=== Checking claude-code provider implementation ==="
cat src/ai-providers/claude-code.js | head -100

echo -e "\n=== Checking how models are parsed/processed ==="
rg -A 5 -B 5 "claude-code" src/ai-providers/claude-code.js

echo -e "\n=== Checking model name normalization ==="
rg -A 3 -B 3 "split|:\|/" src/ai-providers/claude-code.js | head -50

Repository: eyaltoledano/claude-task-master

Length of output: 5143


🏁 Script executed:

#!/bin/bash

echo "=== Checking models configuration in implementation ==="
rg -A 10 "claude-code" src/ai-providers/index.js

echo -e "\n=== Looking at how model names are processed in task manager ==="
cat scripts/modules/task-manager/models.js | grep -A 5 -B 5 "claude-code"

Repository: eyaltoledano/claude-task-master

Length of output: 1613


🏁 Script executed:

#!/bin/bash

echo "=== Checking test files for model format expectations ==="
cat tests/unit/ai-providers/claude-code.test.js | head -150

echo -e "\n=== Looking for any model name parsing logic ==="
rg "split|normalize|parse" scripts/modules/ai-services-unified.js | head -20

Repository: eyaltoledano/claude-task-master

Length of output: 4615


🏁 Script executed:

#!/bin/bash

echo "=== Checking supported-models.json for claude-code format ==="
find . -name "supported-models.json" -type f | head -5
echo ""
fd -name "supported-models.json" -type f

echo -e "\n=== Viewing supported-models.json ==="
cat scripts/config/supported-models.json | grep -A 5 -B 5 "claude-code"

Repository: eyaltoledano/claude-task-master

Length of output: 533


🏁 Script executed:

#!/bin/bash

echo "=== Checking how model IDs are used in getSupportedModelsForProvider ==="
rg -A 20 "getSupportedModelsForProvider" scripts/modules/config-manager.js | head -80

echo -e "\n=== Checking how model.id is formatted ==="
rg -B 5 "m\.id ===" scripts/modules/task-manager/models.js

Repository: eyaltoledano/claude-task-master

Length of output: 2656


🏁 Script executed:

#!/bin/bash

echo "=== Viewing supported-models.json ==="
cat scripts/modules/supported-models.json | head -200

Repository: eyaltoledano/claude-task-master

Length of output: 4209


🏁 Script executed:

#!/bin/bash

echo "=== Searching for claude-code model definitions in supported-models.json ==="
rg -A 2 -B 2 "claude-code" scripts/modules/supported-models.json

Repository: eyaltoledano/claude-task-master

Length of output: 198


🏁 Script executed:

#!/bin/bash

echo "=== Checking getAvailableModels function to see how model IDs are constructed ==="
rg -A 30 "function getAvailableModels\|const getAvailableModels" scripts/modules/task-manager/models.js

Repository: eyaltoledano/claude-task-master

Length of output: 156


🏁 Script executed:

#!/bin/bash

echo "=== Checking how provider and model ID are combined ==="
rg -B 5 -A 5 "provider.*model\|model.*provider" scripts/modules/task-manager/models.js | head -80

Repository: eyaltoledano/claude-task-master

Length of output: 130


🏁 Script executed:

#!/bin/bash

echo "=== Searching for any format transformation (colon vs slash) ==="
rg -B 3 -A 3 "claude-code[:\/]" scripts/ tests/

Repository: eyaltoledano/claude-task-master

Length of output: 252


🏁 Script executed:

#!/bin/bash

echo "=== Searching for model ID construction with proper escaping ==="
rg "claude-code" scripts/modules/task-manager/models.js

echo -e "\n=== Checking how models are formatted in getAvailableModels ==="
rg -B 10 -A 10 "getAvailableModels" scripts/modules/task-manager/models.js | head -100

Repository: eyaltoledano/claude-task-master

Length of output: 3007


🏁 Script executed:

#!/bin/bash

echo "=== Looking for MODEL_MAP definition ==="
rg -B 5 -A 30 "MODEL_MAP\s*=" scripts/modules/config-manager.js | head -150

Repository: eyaltoledano/claude-task-master

Length of output: 115


🏁 Script executed:

#!/bin/bash

echo "=== Checking the actual model ID format being used ==="
rg "id.*:" scripts/modules/supported-models.json | head -20

echo -e "\n=== Looking for any model name transformation ==="
rg "split|join|replace" scripts/modules/task-manager/models.js | grep -i model | head -20

Repository: eyaltoledano/claude-task-master

Length of output: 1050


🏁 Script executed:

#!/bin/bash

echo "=== Checking packages/tm-core for getAvailableModels implementation ==="
find packages/tm-core -name "*.ts" -o -name "*.js" | xargs grep -l "getAvailableModels" | head -5

Repository: eyaltoledano/claude-task-master

Length of output: 273


🏁 Script executed:

#!/bin/bash

echo "=== Searching for how model and provider combine in the actual output ==="
rg -B 5 -A 10 "provider.*id\|id.*provider" packages/tm-core/src/ | head -100

Repository: eyaltoledano/claude-task-master

Length of output: 148


🏁 Script executed:

#!/bin/bash

echo "=== Checking recent commits for model format changes ==="
git log --oneline --all | grep -i "model\|format\|claude-code" | head -15

Repository: eyaltoledano/claude-task-master

Length of output: 1088


🏁 Script executed:

#!/bin/bash

echo "=== Checking the consolidation commit for Claude Code docs ==="
git show 7811561 --stat 2>/dev/null | head -50

Repository: eyaltoledano/claude-task-master

Length of output: 2549


🏁 Script executed:

#!/bin/bash

echo "=== Looking at actual test files to see which format is used ==="
cat tests/unit/ai-providers/claude-code.test.js | grep -i "claude-code" | head -20

echo -e "\n=== Checking integration tests ==="
cat tests/integration/claude-code-optional.test.js 2>/dev/null | grep -i "claude-code" | head -20

Repository: eyaltoledano/claude-task-master

Length of output: 976


🏁 Script executed:

#!/bin/bash

echo "=== Checking how the model selection command works ==="
rg -A 20 "set-main\|--set-main" scripts/modules/task-manager/models.js | head -80

Repository: eyaltoledano/claude-task-master

Length of output: 129


🏁 Script executed:

#!/bin/bash

echo "=== Checking the actual deprecation notices added in the consolidation commit ==="
git show 7811561:docs/claude-code-integration.md 2>/dev/null | head -30

echo -e "\n=== Checking what the new file contains ==="
git show 7811561:apps/docs/integrations/claude-code.mdx 2>/dev/null | grep -A 5 -B 5 "claude-code" | head -50

Repository: eyaltoledano/claude-task-master

Length of output: 2135


🏁 Script executed:

#!/bin/bash

echo "=== Checking how model IDs are formatted when returned to users ==="
rg -B 10 -A 10 "getAvailableModels" packages/tm-core/src/modules/ai/ | head -100

echo -e "\n=== Looking for model ID formatting in the response ==="
rg "\.id\s*:" packages/tm-core/src/ | grep -i model | head -20

Repository: eyaltoledano/claude-task-master

Length of output: 6631


🏁 Script executed:

#!/bin/bash

echo "=== Checking if there's any model name parsing for provider prefix ==="
rg -B 5 -A 10 "parseModel\|splitModel\|getProvider" scripts/modules/ packages/tm-core/src/ | head -80

echo -e "\n=== Looking at how model IDs are matched against available models ==="
cat scripts/modules/task-manager/models.js | grep -A 20 "availableModels.find"

Repository: eyaltoledano/claude-task-master

Length of output: 1939


🏁 Script executed:

#!/bin/bash

echo "=== Checking the CLI command for setting models ==="
rg -B 10 -A 10 "set-main" scripts/modules/commands.js | head -80

Repository: eyaltoledano/claude-task-master

Length of output: 2633


🏁 Script executed:

#!/bin/bash

echo "=== Checking how --set-main parses the model ID argument ==="
rg -B 15 -A 30 "set-main.*action\|handleSetModel\|options\.setMain" scripts/modules/commands.js | head -100

Repository: eyaltoledano/claude-task-master

Length of output: 135


🏁 Script executed:

#!/bin/bash

echo "=== Checking if model ID can include provider prefix ==="
rg -B 5 -A 10 "setMainModel\|setResearchModel\|setFallbackModel" scripts/modules/task-manager/models.js | head -80

Repository: eyaltoledano/claude-task-master

Length of output: 131


🏁 Script executed:

#!/bin/bash

echo "=== Verifying how the model command actually parses the input ==="
cat scripts/modules/commands.js | sed -n '/models.*command/,/^[[:space:]]*\}\);/p' | grep -A 200 "action"

Repository: eyaltoledano/claude-task-master

Length of output: 207


🏁 Script executed:

#!/bin/bash

echo "=== Finding where the models command action is implemented ==="
rg -n "\.action.*options" scripts/modules/commands.js | grep -A 5 models

echo -e "\n=== Looking for where set-main option is processed ==="
rg -B 5 -A 20 "options.setMain\|options\.set.*Main" scripts/modules/

Repository: eyaltoledano/claude-task-master

Length of output: 193


🏁 Script executed:

#!/bin/bash

echo "=== Checking if there's a separate models handler file ==="
find scripts -name "*model*" -type f

echo -e "\n=== Looking at the action implementation for models ==="
rg -A 100 "command\('models'\)" scripts/modules/commands.js | head -150

Repository: eyaltoledano/claude-task-master

Length of output: 4100


🏁 Script executed:

#!/bin/bash

echo "=== Checking how model names are handled in config.json ==="
rg -B 5 -A 15 "models.*main\|main.*model" scripts/modules/task-manager/models.js | head -80

echo -e "\n=== Looking at getMainModelId implementation ==="
rg -A 10 "getMainModelId\|getResearchModelId\|getFallbackModelId" packages/tm-core/src/ scripts/ | head -100

Repository: eyaltoledano/claude-task-master

Length of output: 184


🏁 Script executed:

#!/bin/bash

echo "=== Checking if model names in config need provider prefix ==="
rg -B 5 -A 10 "config\[.*models.*main\|mainModelId.*=" scripts/modules/task-manager/models.js | head -80

echo -e "\n=== Looking for how the config is actually parsed ==="
cat .taskmaster/config.json 2>/dev/null || echo "No sample config"

echo -e "\n=== Searching for actual config examples in codebase ==="
find . -name "*.json" -path "*example*" -o -name "*sample*config*" | xargs grep -l "models" 2>/dev/null | head -5

Repository: eyaltoledano/claude-task-master

Length of output: 1281


🏁 Script executed:

#!/bin/bash

echo "=== Checking how the CLI processes model IDs when setting them ==="
rg -A 50 "\.action.*async.*options.*setMain\|\.action.*async.*options" scripts/modules/commands.js | grep -A 50 "models.*action" | head -100

Repository: eyaltoledano/claude-task-master

Length of output: 141


🏁 Script executed:

#!/bin/bash

echo "=== Looking for handleSetModel or model setting logic ==="
rg -B 5 -A 30 "function.*setModel\|const.*setModel" scripts/modules/task-manager/models.js

echo -e "\n=== Checking how the model command action processes the set-main option ==="
cat scripts/modules/task-manager/models.js | tail -300 | head -200

Repository: eyaltoledano/claude-task-master

Length of output: 8631


Update model naming format in documentation examples.

The model naming examples are incorrect. Configuration and the CLI both expect just the model name without a provider prefix:

  • CLI: task-master models --set-main sonnet --claude-code
  • Config: Use separate provider and modelId fields (not combined as claude-code/sonnet or claude-code:sonnet)

Update the examples on lines 138-156 to show:

  • Command: task-master models --set-main sonnet --claude-code
  • Config: Keep provider: "claude-code" and modelId: "sonnet" as separate fields
πŸ€– Prompt for AI Agents
In apps/docs/integrations/claude-code.mdx around lines 138 to 156, the examples
show model names with a provider prefix (e.g., "claude-code/sonnet") but the CLI
and config expect the model name and provider to be separate; update the CLI
example to use the bare model name with a provider flag (e.g., `task-master
models --set-main sonnet --claude-code`) and update the config example to use
separate fields `provider: "claude-code"` and `modelId: "sonnet"` instead of a
combined string.

Comment on lines +63 to 75
#### Claude Code Setup

For Claude Code users:
For Claude Code users, we offer multiple integration options:

```bash
# Quick MCP install
claude mcp add taskmaster-ai -- npx -y task-master-ai
```

Don't forget to add your API keys to the configuration:
- in the root .env of your Project
- in the "env" section of your mcp config for taskmaster-ai
πŸ“– **[Complete Claude Code Setup Guide](https://docs.task-master.dev/integrations/claude-code)** - Learn about MCP server, plugin marketplace, and Claude Code provider options.

> **Note:** `task-master-ai` is the MCP server package name. The CLI command is `task-master`.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | πŸ”΄ Critical

🧩 Analysis chain

🌐 Web query:

https://docs.task-master.dev/integrations/claude-code published documentation

πŸ’‘ Result:

That URL returns a 404 (page not found). [1]

Documentation and notes about Task Master’s Claude Code integration are available elsewhere β€” e.g. the project README and related pages show Claude Code support and setup instructions (GitHub README), the Task Master β€œAPI keys” docs mention CLAUDE_CODE settings, and there are GitHub issues and third‑party guides about Claude Code usage. [2][3][4]

If you want, I can fetch specific setup instructions (steps, env vars, CLI commands) from those sources.


🏁 Script executed:

# Check README.md to see the full context of the changes at the mentioned line ranges
wc -l README.md

Repository: eyaltoledano/claude-task-master

Length of output: 88


🏁 Script executed:

# Check the specific line ranges mentioned in the review
sed -n '63,75p' README.md
echo "---"
sed -n '324,326p' README.md
echo "---"
sed -n '350,358p' README.md

Repository: eyaltoledano/claude-task-master

Length of output: 1137


Documentation guide at https://docs.task-master.dev/integrations/claude-code does not existβ€”all three references (lines 63–75, 324–326, 350–358) will result in broken links.

The PR consolidates three README sections to point to this URL, but the page returns a 404. Before merging, either deploy the documentation at this location or update all three links to point to existing documentation.

πŸ€– Prompt for AI Agents
In README.md around lines 63 to 75, the documentation link
https://docs.task-master.dev/integrations/claude-code is broken (404) and the
same bad URL is referenced elsewhere; either deploy the missing docs to that
path or update all three README occurrences (lines 63–75, 324–326, 350–358) to
point to an existing documentation page (or a temporary stable URL) and verify
each updated link returns 200 before merging.

@diffray-bot
Copy link

Changes Summary

This PR consolidates fragmented Claude Code integration documentation into a single comprehensive guide at docs.task-master.dev/integrations/claude-code. It addresses issue #1550 by reducing documentation confusion and providing clear guidance on the three integration options (MCP Server, Plugin, Provider) with a comparison table.

Type: docs

Components Affected: Documentation site (apps/docs/integrations/claude-code.mdx), README.md, docs.json navigation, Legacy documentation files (deprecation notices)

Files Changed
File Summary Change Impact
apps/docs/integrations/claude-code.mdx New comprehensive Claude Code setup guide covering all three integration methods (MCP, Plugin, Provider) with configuration examples, troubleshooting, and comparison tables. βž• 🟒
README.md Consolidated duplicate Claude Code installation sections and added prominent links to the new comprehensive setup guide. ✏️ 🟒
apps/docs/docs.json Added new 'Integrations' section to documentation navigation to include the Claude Code guide. ✏️ 🟒
CLAUDE.md Added clarification header explaining auto-load purpose and reference to setup guide. ✏️ 🟒
.claude/TM_COMMANDS_GUIDE.md Added header explaining this file is specifically for plugin users and linked to comprehensive setup guide. ✏️ 🟒
CLAUDE_CODE_PLUGIN.md Added deprecation notice and link to consolidated setup guide. ✏️ 🟒
docs/claude-code-integration.md Added deprecation header and reference to new consolidated guide. ✏️ 🟒
docs/examples/claude-code-usage.md Added deprecation header and reference to new consolidated guide. ✏️ 🟒
CHANGELOG.md Version 0.40.1 release notes updated (auto-generated from changesets, not user code changes). ✏️ 🟒
package-lock.json Lock file updated (auto-generated, not user code changes). ✏️ 🟒
package.json Version updated to 0.40.1 (auto-generated from release process, not user code changes). ✏️ 🟒

Full review in progress... | Powered by diffray

@Crunchyman-ralph Crunchyman-ralph changed the title Claude/issue 1550 20260102 1153 docs: improve claude code documentation Jan 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants