Compare commits

..

5 Commits

Author SHA1 Message Date
Ralph Khreish
36432f58db fix: improve docs and command help for analzye-complexity 2025-09-23 17:28:55 +02:00
Julien Pelletier
b5fe723f8e Fix/claude code path executable setting (#1172)
Co-authored-by: Ralph Khreish <35776126+Crunchyman-ralph@users.noreply.github.com>
2025-09-22 22:39:37 +02:00
olssonsten
d67b81d25d feat: add MCP timeout configuration for long-running operations (#1112) 2025-09-22 19:55:10 +02:00
Ralph Khreish
66c05053c0 Merge pull request #1231 from eyaltoledano/ralph/merge.from.main 2025-09-22 19:54:12 +02:00
Ralph Khreish
d7ab4609aa chore: fix CI 2025-09-22 19:25:44 +02:00
108 changed files with 334 additions and 452 deletions

View File

@@ -0,0 +1,5 @@
---
"task-master-ai": patch
---
Improve `analyze-complexity` cli docs and `--research` flag documentation

View File

@@ -11,6 +11,9 @@
"access": "public", "access": "public",
"baseBranch": "main", "baseBranch": "main",
"ignore": [ "ignore": [
"docs" "docs",
"@tm/cli",
"@tm/core",
"@tm/build-config"
] ]
} }

View File

@@ -1,5 +0,0 @@
---
"task-master-ai": patch
---
Fix module not found for new 0.27.0 release

View File

@@ -0,0 +1,13 @@
---
"task-master-ai": minor
---
Enhanced Roo Code profile with MCP timeout configuration for improved reliability during long-running AI operations. The Roo profile now automatically configures a 300-second timeout for MCP server operations, preventing timeouts during complex tasks like `parse-prd`, `expand-all`, `analyze-complexity`, and `research` operations. This change also replaces static MCP configuration files with programmatic generation for better maintainability.
**What's New:**
- 300-second timeout for MCP operations (up from default 60 seconds)
- Programmatic MCP configuration generation (replaces static asset files)
- Enhanced reliability for AI-powered operations
- Consistent with other AI coding assistant profiles
**Migration:** No user action required - existing Roo Code installations will automatically receive the enhanced MCP configuration on next initialization.

View File

@@ -0,0 +1,5 @@
---
"task-master-ai": patch
---
Fix Claude Code settings validation for pathToClaudeCodeExecutable

View File

@@ -1,12 +0,0 @@
{
"mode": "pre",
"tag": "rc",
"initialVersions": {
"task-master-ai": "0.27.0",
"docs": "0.0.3",
"extension": "0.25.1"
},
"changesets": [
"fluffy-clocks-cross"
]
}

View File

@@ -1,5 +0,0 @@
---
"task-master-ai": patch
---
One last testing final final

View File

@@ -1,6 +0,0 @@
{
"$schema": "https://unpkg.com/@manypkg/get-packages@1.1.3/schema.json",
"defaultBranch": "main",
"ignoredRules": ["ROOT_HAS_DEPENDENCIES", "INTERNAL_MISMATCH"],
"ignoredPackages": ["@tm/core", "@tm/cli", "@tm/build-config"]
}

View File

@@ -1,11 +1,5 @@
# task-master-ai # task-master-ai
## 0.27.1-rc.0
### Patch Changes
- [#1232](https://github.com/eyaltoledano/claude-task-master/pull/1232) [`f487736`](https://github.com/eyaltoledano/claude-task-master/commit/f487736670ef8c484059f676293777eabb249c9e) Thanks [@Crunchyman-ralph](https://github.com/Crunchyman-ralph)! - Fix module not found for new 0.27.0 release
## 0.27.0 ## 0.27.0
### Minor Changes ### Minor Changes

View File

@@ -1,5 +1,6 @@
{ {
"name": "@tm/cli", "name": "@tm/cli",
"version": "0.27.0",
"description": "Task Master CLI - Command line interface for task management", "description": "Task Master CLI - Command line interface for task management",
"type": "module", "type": "module",
"private": true, "private": true,
@@ -23,12 +24,12 @@
}, },
"dependencies": { "dependencies": {
"@tm/core": "*", "@tm/core": "*",
"boxen": "^8.0.1", "boxen": "^7.1.1",
"chalk": "5.6.2", "chalk": "5.6.2",
"cli-table3": "^0.6.5", "cli-table3": "^0.6.5",
"commander": "^12.1.0", "commander": "^12.1.0",
"inquirer": "^12.5.0", "inquirer": "^9.2.10",
"ora": "^8.2.0" "ora": "^8.1.0"
}, },
"devDependencies": { "devDependencies": {
"@biomejs/biome": "^1.9.4", "@biomejs/biome": "^1.9.4",

View File

@@ -18,8 +18,7 @@ export * as ui from './utils/ui.js';
export { export {
checkForUpdate, checkForUpdate,
performAutoUpdate, performAutoUpdate,
displayUpgradeNotification, displayUpgradeNotification
compareVersions
} from './utils/auto-update.js'; } from './utils/auto-update.js';
// Re-export commonly used types from tm-core // Re-export commonly used types from tm-core

View File

@@ -7,6 +7,7 @@ import https from 'https';
import chalk from 'chalk'; import chalk from 'chalk';
import ora from 'ora'; import ora from 'ora';
import boxen from 'boxen'; import boxen from 'boxen';
import packageJson from '../../../../package.json' with { type: 'json' };
export interface UpdateInfo { export interface UpdateInfo {
currentVersion: string; currentVersion: string;
@@ -15,18 +16,15 @@ export interface UpdateInfo {
} }
/** /**
* Get current version from build-time injected environment variable * Get current version from package.json
*/ */
function getCurrentVersion(): string { function getCurrentVersion(): string {
// Version is injected at build time via TM_PUBLIC_VERSION try {
const version = process.env.TM_PUBLIC_VERSION; return packageJson.version;
if (version && version !== 'unknown') { } catch (error) {
return version; console.warn('Could not read package.json for version info');
return '0.0.0';
} }
// Fallback for development or if injection failed
console.warn('Could not read version from TM_PUBLIC_VERSION, using fallback');
return '0.0.0';
} }
/** /**
@@ -35,7 +33,7 @@ function getCurrentVersion(): string {
* @param v2 - Second version * @param v2 - Second version
* @returns -1 if v1 < v2, 0 if v1 = v2, 1 if v1 > v2 * @returns -1 if v1 < v2, 0 if v1 = v2, 1 if v1 > v2
*/ */
export function compareVersions(v1: string, v2: string): number { function compareVersions(v1: string, v2: string): number {
const toParts = (v: string) => { const toParts = (v: string) => {
const [core, pre = ''] = v.split('-', 2); const [core, pre = ''] = v.split('-', 2);
const nums = core.split('.').map((n) => Number.parseInt(n, 10) || 0); const nums = core.split('.').map((n) => Number.parseInt(n, 10) || 0);

View File

@@ -156,7 +156,7 @@ sidebarTitle: "CLI Commands"
# Use an alternative tasks file # Use an alternative tasks file
task-master analyze-complexity --file=custom-tasks.json task-master analyze-complexity --file=custom-tasks.json
# Use Perplexity AI for research-backed complexity analysis # Use your configured research model for research-backed complexity analysis
task-master analyze-complexity --research task-master analyze-complexity --research
``` ```
</Accordion> </Accordion>

View File

@@ -61,9 +61,25 @@ Task Master can provide a complexity report which can be helpful to read before
Can you analyze the complexity of our tasks to help me understand which ones need to be broken down further? Can you analyze the complexity of our tasks to help me understand which ones need to be broken down further?
``` ```
The agent will use the `analyze_project_complexity` MCP tool, or you can run it directly with the CLI command:
```bash
task-master analyze-complexity
```
For more comprehensive analysis using your configured research model, you can use:
```bash
task-master analyze-complexity --research
```
<Tip>
The `--research` flag uses whatever research model you have configured in `.taskmaster/config.json` (configurable via `task-master models --setup`) for research-backed complexity analysis, providing more informed recommendations.
</Tip>
You can view the report in a friendly table using: You can view the report in a friendly table using:
``` ```
Can you show me the complexity report in a more readable format? Can you show me the complexity report in a more readable format?
``` ```
For more detailed CLI options, see the [Analyze Task Complexity](/docs/capabilities/cli-root-commands#analyze-task-complexity) section.
<Check>Now you are ready to begin [executing tasks](/docs/getting-started/quick-start/execute-quick)</Check> <Check>Now you are ready to begin [executing tasks](/docs/getting-started/quick-start/execute-quick)</Check>

View File

@@ -1,12 +1,5 @@
# Change Log # Change Log
## 0.25.2-rc.0
### Patch Changes
- Updated dependencies [[`f487736`](https://github.com/eyaltoledano/claude-task-master/commit/f487736670ef8c484059f676293777eabb249c9e)]:
- task-master-ai@0.27.1-rc.0
## 0.25.0 ## 0.25.0
### Minor Changes ### Minor Changes

View File

@@ -3,7 +3,7 @@
"private": true, "private": true,
"displayName": "TaskMaster", "displayName": "TaskMaster",
"description": "A visual Kanban board interface for TaskMaster projects in VS Code", "description": "A visual Kanban board interface for TaskMaster projects in VS Code",
"version": "0.25.2-rc.0", "version": "0.25.0",
"publisher": "Hamster", "publisher": "Hamster",
"icon": "assets/icon.png", "icon": "assets/icon.png",
"engines": { "engines": {
@@ -240,7 +240,7 @@
"check-types": "tsc --noEmit" "check-types": "tsc --noEmit"
}, },
"dependencies": { "dependencies": {
"task-master-ai": "0.27.1-rc.0" "task-master-ai": "*"
}, },
"devDependencies": { "devDependencies": {
"@dnd-kit/core": "^6.3.1", "@dnd-kit/core": "^6.3.1",
@@ -254,9 +254,8 @@
"@radix-ui/react-separator": "^1.1.7", "@radix-ui/react-separator": "^1.1.7",
"@radix-ui/react-slot": "^1.2.3", "@radix-ui/react-slot": "^1.2.3",
"@tailwindcss/postcss": "^4.1.11", "@tailwindcss/postcss": "^4.1.11",
"@tanstack/react-query": "^5.83.0",
"@types/mocha": "^10.0.10", "@types/mocha": "^10.0.10",
"@types/node": "^22.10.5", "@types/node": "20.x",
"@types/react": "19.1.8", "@types/react": "19.1.8",
"@types/react-dom": "19.1.6", "@types/react-dom": "19.1.6",
"@types/vscode": "^1.101.0", "@types/vscode": "^1.101.0",
@@ -272,11 +271,12 @@
"lucide-react": "^0.525.0", "lucide-react": "^0.525.0",
"npm-run-all": "^4.1.5", "npm-run-all": "^4.1.5",
"postcss": "8.5.6", "postcss": "8.5.6",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"tailwind-merge": "^3.3.1", "tailwind-merge": "^3.3.1",
"tailwindcss": "4.1.11", "tailwindcss": "4.1.11",
"typescript": "^5.7.3" "typescript": "^5.8.3",
"@tanstack/react-query": "^5.83.0",
"react": "^19.0.0",
"react-dom": "^19.0.0"
}, },
"overrides": { "overrides": {
"glob@<8": "^10.4.5", "glob@<8": "^10.4.5",

View File

@@ -235,6 +235,60 @@ node scripts/init.js
- "MCP provider requires session context" → Ensure running in MCP environment - "MCP provider requires session context" → Ensure running in MCP environment
- See the [MCP Provider Guide](./mcp-provider-guide.md) for detailed troubleshooting - See the [MCP Provider Guide](./mcp-provider-guide.md) for detailed troubleshooting
### MCP Timeout Configuration
Long-running AI operations in taskmaster-ai can exceed the default 60-second MCP timeout. Operations like `parse_prd`, `expand_task`, `research`, and `analyze_project_complexity` may take 2-5 minutes to complete.
#### Adding Timeout Configuration
Add a `timeout` parameter to your MCP configuration to extend the timeout limit. The timeout configuration works identically across MCP clients including Cursor, Windsurf, and RooCode:
```json
{
"mcpServers": {
"task-master-ai": {
"command": "npx",
"args": ["-y", "--package=task-master-ai", "task-master-ai"],
"timeout": 300,
"env": {
"ANTHROPIC_API_KEY": "your-anthropic-api-key"
}
}
}
}
```
**Configuration Details:**
- **`timeout: 300`** - Sets timeout to 300 seconds (5 minutes)
- **Value range**: 1-3600 seconds (1 second to 1 hour)
- **Recommended**: 300 seconds provides sufficient time for most AI operations
- **Format**: Integer value in seconds (not milliseconds)
#### Automatic Setup
When adding taskmaster rules for supported editors, the timeout configuration is automatically included:
```bash
# Automatically includes timeout configuration
task-master rules add cursor
task-master rules add roo
task-master rules add windsurf
task-master rules add vscode
```
#### Troubleshooting Timeouts
If you're still experiencing timeout errors:
1. **Verify configuration**: Check that `timeout: 300` is present in your MCP config
2. **Restart editor**: Restart your editor after making configuration changes
3. **Increase timeout**: For very complex operations, try `timeout: 600` (10 minutes)
4. **Check API keys**: Ensure required API keys are properly configured
**Expected behavior:**
- **Before fix**: Operations fail after 60 seconds with `MCP request timed out after 60000ms`
- **After fix**: Operations complete successfully within the configured timeout limit
### Google Vertex AI Configuration ### Google Vertex AI Configuration
Google Vertex AI is Google Cloud's enterprise AI platform and requires specific configuration: Google Vertex AI is Google Cloud's enterprise AI platform and requires specific configuration:

356
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{ {
"name": "task-master-ai", "name": "task-master-ai",
"version": "0.27.1-rc.0", "version": "0.27.0",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "task-master-ai", "name": "task-master-ai",
"version": "0.27.1-rc.0", "version": "0.27.0",
"license": "MIT WITH Commons-Clause", "license": "MIT WITH Commons-Clause",
"workspaces": [ "workspaces": [
"apps/*", "apps/*",
@@ -29,7 +29,6 @@
"@inquirer/search": "^3.0.15", "@inquirer/search": "^3.0.15",
"@openrouter/ai-sdk-provider": "^0.4.5", "@openrouter/ai-sdk-provider": "^0.4.5",
"@streamparser/json": "^0.0.22", "@streamparser/json": "^0.0.22",
"@supabase/supabase-js": "^2.57.4",
"ai": "^4.3.10", "ai": "^4.3.10",
"ajv": "^8.17.1", "ajv": "^8.17.1",
"ajv-formats": "^3.0.1", "ajv-formats": "^3.0.1",
@@ -38,7 +37,7 @@
"cli-highlight": "^2.1.11", "cli-highlight": "^2.1.11",
"cli-progress": "^3.12.0", "cli-progress": "^3.12.0",
"cli-table3": "^0.6.5", "cli-table3": "^0.6.5",
"commander": "^12.1.0", "commander": "^11.1.0",
"cors": "^2.8.5", "cors": "^2.8.5",
"dotenv": "^16.3.1", "dotenv": "^16.3.1",
"express": "^4.21.2", "express": "^4.21.2",
@@ -71,7 +70,6 @@
"@biomejs/biome": "^1.9.4", "@biomejs/biome": "^1.9.4",
"@changesets/changelog-github": "^0.5.1", "@changesets/changelog-github": "^0.5.1",
"@changesets/cli": "^2.28.1", "@changesets/cli": "^2.28.1",
"@manypkg/cli": "^0.25.1",
"@tm/cli": "*", "@tm/cli": "*",
"@types/jest": "^29.5.14", "@types/jest": "^29.5.14",
"@types/marked-terminal": "^6.1.1", "@types/marked-terminal": "^6.1.1",
@@ -86,9 +84,9 @@
"supertest": "^7.1.0", "supertest": "^7.1.0",
"ts-jest": "^29.4.2", "ts-jest": "^29.4.2",
"tsdown": "^0.15.2", "tsdown": "^0.15.2",
"tsx": "^4.20.4", "tsx": "^4.16.2",
"turbo": "^2.5.6", "turbo": "^2.5.6",
"typescript": "^5.7.3" "typescript": "^5.9.2"
}, },
"engines": { "engines": {
"node": ">=18.0.0" "node": ">=18.0.0"
@@ -101,15 +99,16 @@
}, },
"apps/cli": { "apps/cli": {
"name": "@tm/cli", "name": "@tm/cli",
"version": "0.27.0",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@tm/core": "*", "@tm/core": "*",
"boxen": "^8.0.1", "boxen": "^7.1.1",
"chalk": "5.6.2", "chalk": "5.6.2",
"cli-table3": "^0.6.5", "cli-table3": "^0.6.5",
"commander": "^12.1.0", "commander": "^12.1.0",
"inquirer": "^12.5.0", "inquirer": "^9.2.10",
"ora": "^8.2.0" "ora": "^8.1.0"
}, },
"devDependencies": { "devDependencies": {
"@biomejs/biome": "^1.9.4", "@biomejs/biome": "^1.9.4",
@@ -190,6 +189,15 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"license": "MIT" "license": "MIT"
}, },
"apps/cli/node_modules/commander": {
"version": "12.1.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz",
"integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
"license": "MIT",
"engines": {
"node": ">=18"
}
},
"apps/cli/node_modules/emoji-regex": { "apps/cli/node_modules/emoji-regex": {
"version": "8.0.0", "version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
@@ -357,9 +365,9 @@
} }
}, },
"apps/extension": { "apps/extension": {
"version": "0.25.2-rc.0", "version": "0.25.0",
"dependencies": { "dependencies": {
"task-master-ai": "0.27.1-rc.0" "task-master-ai": "*"
}, },
"devDependencies": { "devDependencies": {
"@dnd-kit/core": "^6.3.1", "@dnd-kit/core": "^6.3.1",
@@ -375,7 +383,7 @@
"@tailwindcss/postcss": "^4.1.11", "@tailwindcss/postcss": "^4.1.11",
"@tanstack/react-query": "^5.83.0", "@tanstack/react-query": "^5.83.0",
"@types/mocha": "^10.0.10", "@types/mocha": "^10.0.10",
"@types/node": "^22.10.5", "@types/node": "20.x",
"@types/react": "19.1.8", "@types/react": "19.1.8",
"@types/react-dom": "19.1.6", "@types/react-dom": "19.1.6",
"@types/vscode": "^1.101.0", "@types/vscode": "^1.101.0",
@@ -395,7 +403,7 @@
"react-dom": "^19.0.0", "react-dom": "^19.0.0",
"tailwind-merge": "^3.3.1", "tailwind-merge": "^3.3.1",
"tailwindcss": "4.1.11", "tailwindcss": "4.1.11",
"typescript": "^5.7.3" "typescript": "^5.8.3"
}, },
"engines": { "engines": {
"vscode": "^1.93.0" "vscode": "^1.93.0"
@@ -5391,101 +5399,6 @@
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
"node_modules/@manypkg/cli": {
"version": "0.25.1",
"resolved": "https://registry.npmjs.org/@manypkg/cli/-/cli-0.25.1.tgz",
"integrity": "sha512-lag906FyiNxzZjsRErkUD5/to174I2JzPk5bZubuJp6loMKKJn73zrtqeU7nHlVkHBg3tgXDTJj22HxUDxLRXw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@manypkg/get-packages": "^3.1.0",
"detect-indent": "^7.0.1",
"normalize-path": "^3.0.0",
"p-limit": "^6.2.0",
"package-json": "^10.0.1",
"parse-github-url": "^1.0.3",
"picocolors": "^1.1.1",
"sembear": "^0.7.0",
"semver": "^7.7.1",
"tinyexec": "^1.0.1",
"validate-npm-package-name": "^6.0.0"
},
"bin": {
"manypkg": "bin.js"
},
"engines": {
"node": ">=20.0.0"
}
},
"node_modules/@manypkg/cli/node_modules/@manypkg/find-root": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/@manypkg/find-root/-/find-root-3.1.0.tgz",
"integrity": "sha512-BcSqCyKhBVZ5YkSzOiheMCV41kqAFptW6xGqYSTjkVTl9XQpr+pqHhwgGCOHQtjDCv7Is6EFyA14Sm5GVbVABA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@manypkg/tools": "^2.1.0"
},
"engines": {
"node": ">=20.0.0"
}
},
"node_modules/@manypkg/cli/node_modules/@manypkg/get-packages": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/@manypkg/get-packages/-/get-packages-3.1.0.tgz",
"integrity": "sha512-0TbBVyvPrP7xGYBI/cP8UP+yl/z+HtbTttAD7FMAJgn/kXOTwh5/60TsqP9ZYY710forNfyV0N8P/IE/ujGZJg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@manypkg/find-root": "^3.1.0",
"@manypkg/tools": "^2.1.0"
},
"engines": {
"node": ">=20.0.0"
}
},
"node_modules/@manypkg/cli/node_modules/detect-indent": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-7.0.2.tgz",
"integrity": "sha512-y+8xyqdGLL+6sh0tVeHcfP/QDd8gUgbasolJJpY7NgeQGSZ739bDtSiaiDgtoicy+mtYB81dKLxO9xRhCyIB3A==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=12.20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/@manypkg/cli/node_modules/p-limit": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-6.2.0.tgz",
"integrity": "sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==",
"dev": true,
"license": "MIT",
"dependencies": {
"yocto-queue": "^1.1.1"
},
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/@manypkg/cli/node_modules/yocto-queue": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz",
"integrity": "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=12.20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/@manypkg/find-root": { "node_modules/@manypkg/find-root": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/@manypkg/find-root/-/find-root-1.1.0.tgz", "resolved": "https://registry.npmjs.org/@manypkg/find-root/-/find-root-1.1.0.tgz",
@@ -5598,41 +5511,6 @@
"node": ">= 4.0.0" "node": ">= 4.0.0"
} }
}, },
"node_modules/@manypkg/tools": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@manypkg/tools/-/tools-2.1.0.tgz",
"integrity": "sha512-0FOIepYR4ugPYaHwK7hDeHDkfPOBVvayt9QpvRbi2LT/h2b0GaE/gM9Gag7fsnyYyNaTZ2IGyOuVg07IYepvYQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"jju": "^1.4.0",
"js-yaml": "^4.1.0",
"tinyglobby": "^0.2.13"
},
"engines": {
"node": ">=20.0.0"
}
},
"node_modules/@manypkg/tools/node_modules/argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
"dev": true,
"license": "Python-2.0"
},
"node_modules/@manypkg/tools/node_modules/js-yaml": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
"dev": true,
"license": "MIT",
"dependencies": {
"argparse": "^2.0.1"
},
"bin": {
"js-yaml": "bin/js-yaml.js"
}
},
"node_modules/@mdx-js/mdx": { "node_modules/@mdx-js/mdx": {
"version": "3.1.1", "version": "3.1.1",
"resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.1.1.tgz", "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.1.1.tgz",
@@ -7462,51 +7340,6 @@
"node": ">=14" "node": ">=14"
} }
}, },
"node_modules/@pnpm/config.env-replace": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz",
"integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=12.22.0"
}
},
"node_modules/@pnpm/network.ca-file": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz",
"integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==",
"dev": true,
"license": "MIT",
"dependencies": {
"graceful-fs": "4.2.10"
},
"engines": {
"node": ">=12.22.0"
}
},
"node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": {
"version": "4.2.10",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
"integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
"dev": true,
"license": "ISC"
},
"node_modules/@pnpm/npm-conf": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.3.1.tgz",
"integrity": "sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@pnpm/config.env-replace": "^1.1.0",
"@pnpm/network.ca-file": "^1.0.1",
"config-chain": "^1.1.11"
},
"engines": {
"node": ">=12"
}
},
"node_modules/@protobufjs/aspromise": { "node_modules/@protobufjs/aspromise": {
"version": "1.1.2", "version": "1.1.2",
"resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
@@ -14304,12 +14137,12 @@
} }
}, },
"node_modules/commander": { "node_modules/commander": {
"version": "12.1.0", "version": "11.1.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz",
"integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==",
"license": "MIT", "license": "MIT",
"engines": { "engines": {
"node": ">=18" "node": ">=16"
} }
}, },
"node_modules/component-emitter": { "node_modules/component-emitter": {
@@ -14442,17 +14275,6 @@
"integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==",
"license": "MIT" "license": "MIT"
}, },
"node_modules/config-chain": {
"version": "1.1.13",
"resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz",
"integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"ini": "^1.3.4",
"proto-list": "~1.2.1"
}
},
"node_modules/consola": { "node_modules/consola": {
"version": "3.4.2", "version": "3.4.2",
"resolved": "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz", "resolved": "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz",
@@ -14934,6 +14756,7 @@
"integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"optional": true,
"engines": { "engines": {
"node": ">=4.0.0" "node": ">=4.0.0"
} }
@@ -18902,7 +18725,8 @@
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
"dev": true, "dev": true,
"license": "ISC" "license": "ISC",
"optional": true
}, },
"node_modules/ink": { "node_modules/ink": {
"version": "6.3.0", "version": "6.3.0",
@@ -21870,13 +21694,6 @@
"jiti": "lib/jiti-cli.mjs" "jiti": "lib/jiti-cli.mjs"
} }
}, },
"node_modules/jju": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz",
"integrity": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==",
"dev": true,
"license": "MIT"
},
"node_modules/joycon": { "node_modules/joycon": {
"version": "3.1.1", "version": "3.1.1",
"resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz",
@@ -22215,19 +22032,6 @@
"node": ">=6" "node": ">=6"
} }
}, },
"node_modules/ky": {
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/ky/-/ky-1.10.0.tgz",
"integrity": "sha512-YRPCzHEWZffbfvmRrfwa+5nwBHwZuYiTrfDX0wuhGBPV0pA/zCqcOq93MDssON/baIkpYbvehIX5aLpMxrRhaA==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sindresorhus/ky?sponsor=1"
}
},
"node_modules/lcm": { "node_modules/lcm": {
"version": "0.0.3", "version": "0.0.3",
"resolved": "https://registry.npmjs.org/lcm/-/lcm-0.0.3.tgz", "resolved": "https://registry.npmjs.org/lcm/-/lcm-0.0.3.tgz",
@@ -25435,25 +25239,6 @@
"node": ">= 14" "node": ">= 14"
} }
}, },
"node_modules/package-json": {
"version": "10.0.1",
"resolved": "https://registry.npmjs.org/package-json/-/package-json-10.0.1.tgz",
"integrity": "sha512-ua1L4OgXSBdsu1FPb7F3tYH0F48a6kxvod4pLUlGY9COeJAJQNX/sNH2IiEmsxw7lqYiAwrdHMjz1FctOsyDQg==",
"dev": true,
"license": "MIT",
"dependencies": {
"ky": "^1.2.0",
"registry-auth-token": "^5.0.2",
"registry-url": "^6.0.1",
"semver": "^7.6.0"
},
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/package-json-from-dist": { "node_modules/package-json-from-dist": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz",
@@ -25517,19 +25302,6 @@
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
"node_modules/parse-github-url": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.3.tgz",
"integrity": "sha512-tfalY5/4SqGaV/GIGzWyHnFjlpTPTNpENR9Ea2lLldSJ8EWXMsvacWucqY3m3I4YPtas15IxTLQVQ5NSYXPrww==",
"dev": true,
"license": "MIT",
"bin": {
"parse-github-url": "cli.js"
},
"engines": {
"node": ">= 0.10"
}
},
"node_modules/parse-json": { "node_modules/parse-json": {
"version": "5.2.0", "version": "5.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
@@ -26175,13 +25947,6 @@
"url": "https://github.com/sponsors/wooorm" "url": "https://github.com/sponsors/wooorm"
} }
}, },
"node_modules/proto-list": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
"integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==",
"dev": true,
"license": "ISC"
},
"node_modules/protobufjs": { "node_modules/protobufjs": {
"version": "7.5.4", "version": "7.5.4",
"resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.4.tgz", "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.4.tgz",
@@ -26518,6 +26283,7 @@
"integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
"dev": true, "dev": true,
"license": "(BSD-2-Clause OR MIT OR Apache-2.0)", "license": "(BSD-2-Clause OR MIT OR Apache-2.0)",
"optional": true,
"dependencies": { "dependencies": {
"deep-extend": "^0.6.0", "deep-extend": "^0.6.0",
"ini": "~1.3.0", "ini": "~1.3.0",
@@ -26534,6 +26300,7 @@
"integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"optional": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
@@ -26950,35 +26717,6 @@
"url": "https://github.com/sponsors/ljharb" "url": "https://github.com/sponsors/ljharb"
} }
}, },
"node_modules/registry-auth-token": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.1.0.tgz",
"integrity": "sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@pnpm/npm-conf": "^2.1.0"
},
"engines": {
"node": ">=14"
}
},
"node_modules/registry-url": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz",
"integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"rc": "1.2.8"
},
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/rehype-katex": { "node_modules/rehype-katex": {
"version": "7.0.1", "version": "7.0.1",
"resolved": "https://registry.npmjs.org/rehype-katex/-/rehype-katex-7.0.1.tgz", "resolved": "https://registry.npmjs.org/rehype-katex/-/rehype-katex-7.0.1.tgz",
@@ -27788,16 +27526,6 @@
"url": "https://ko-fi.com/killymxi" "url": "https://ko-fi.com/killymxi"
} }
}, },
"node_modules/sembear": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/sembear/-/sembear-0.7.0.tgz",
"integrity": "sha512-XyLTEich2D02FODCkfdto3mB9DetWPLuTzr4tvoofe9SvyM27h4nQSbV3+iVcYQz94AFyKtqBv5pcZbj3k2hdA==",
"dev": true,
"license": "MIT",
"dependencies": {
"semver": "^7.3.5"
}
},
"node_modules/semver": { "node_modules/semver": {
"version": "7.7.2", "version": "7.7.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
@@ -30757,16 +30485,6 @@
"spdx-expression-parse": "^3.0.0" "spdx-expression-parse": "^3.0.0"
} }
}, },
"node_modules/validate-npm-package-name": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-6.0.2.tgz",
"integrity": "sha512-IUoow1YUtvoBBC06dXs8bR8B9vuA3aJfmQNKMoaPG/OFsPmoQvw8xh+6Ye25Gx9DQhoEom3Pcu9MKHerm/NpUQ==",
"dev": true,
"license": "ISC",
"engines": {
"node": "^18.17.0 || >=20.5.0"
}
},
"node_modules/vary": { "node_modules/vary": {
"version": "1.1.2", "version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
@@ -32155,6 +31873,7 @@
}, },
"packages/build-config": { "packages/build-config": {
"name": "@tm/build-config", "name": "@tm/build-config",
"version": "1.0.1",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"tsup": "^8.5.0" "tsup": "^8.5.0"
@@ -32166,21 +31885,22 @@
}, },
"packages/tm-core": { "packages/tm-core": {
"name": "@tm/core", "name": "@tm/core",
"version": "0.26.1",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@supabase/supabase-js": "^2.57.4", "@supabase/supabase-js": "^2.57.4",
"zod": "^3.23.8" "zod": "^3.22.4"
}, },
"devDependencies": { "devDependencies": {
"@biomejs/biome": "^1.9.4", "@biomejs/biome": "^1.9.4",
"@tm/build-config": "*", "@tm/build-config": "*",
"@types/node": "^22.10.5", "@types/node": "^20.11.30",
"@vitest/coverage-v8": "^2.0.5", "@vitest/coverage-v8": "^2.0.5",
"dotenv-mono": "^1.5.1", "dotenv-mono": "^1.3.14",
"ts-node": "^10.9.2", "ts-node": "^10.9.2",
"tsup": "^8.5.0", "tsup": "^8.5.0",
"typescript": "^5.7.3", "typescript": "^5.4.3",
"vitest": "^2.1.8" "vitest": "^2.0.5"
}, },
"engines": { "engines": {
"node": ">=18.0.0" "node": ">=18.0.0"

View File

@@ -1,6 +1,6 @@
{ {
"name": "task-master-ai", "name": "task-master-ai",
"version": "0.27.1-rc.0", "version": "0.27.0",
"description": "A task management system for ambitious AI-driven development that doesn't overwhelm and confuse Cursor.", "description": "A task management system for ambitious AI-driven development that doesn't overwhelm and confuse Cursor.",
"main": "index.js", "main": "index.js",
"type": "module", "type": "module",
@@ -33,9 +33,7 @@
"inspector": "npx @modelcontextprotocol/inspector node dist/mcp-server.js", "inspector": "npx @modelcontextprotocol/inspector node dist/mcp-server.js",
"mcp-server": "node dist/mcp-server.js", "mcp-server": "node dist/mcp-server.js",
"format-check": "biome format .", "format-check": "biome format .",
"format": "biome format . --write", "format": "biome format . --write"
"deps:check": "manypkg check || echo 'Note: Workspace package version warnings are expected for internal @tm/* packages'",
"deps:fix": "manypkg fix"
}, },
"keywords": [ "keywords": [
"claude", "claude",
@@ -67,7 +65,6 @@
"@inquirer/search": "^3.0.15", "@inquirer/search": "^3.0.15",
"@openrouter/ai-sdk-provider": "^0.4.5", "@openrouter/ai-sdk-provider": "^0.4.5",
"@streamparser/json": "^0.0.22", "@streamparser/json": "^0.0.22",
"@supabase/supabase-js": "^2.57.4",
"ai": "^4.3.10", "ai": "^4.3.10",
"ajv": "^8.17.1", "ajv": "^8.17.1",
"ajv-formats": "^3.0.1", "ajv-formats": "^3.0.1",
@@ -76,7 +73,7 @@
"cli-highlight": "^2.1.11", "cli-highlight": "^2.1.11",
"cli-progress": "^3.12.0", "cli-progress": "^3.12.0",
"cli-table3": "^0.6.5", "cli-table3": "^0.6.5",
"commander": "^12.1.0", "commander": "^11.1.0",
"cors": "^2.8.5", "cors": "^2.8.5",
"dotenv": "^16.3.1", "dotenv": "^16.3.1",
"express": "^4.21.2", "express": "^4.21.2",
@@ -123,11 +120,10 @@
"whatwg-url": "^11.0.0" "whatwg-url": "^11.0.0"
}, },
"devDependencies": { "devDependencies": {
"@tm/cli": "*",
"@biomejs/biome": "^1.9.4", "@biomejs/biome": "^1.9.4",
"@changesets/changelog-github": "^0.5.1", "@changesets/changelog-github": "^0.5.1",
"@changesets/cli": "^2.28.1", "@changesets/cli": "^2.28.1",
"@manypkg/cli": "^0.25.1",
"@tm/cli": "*",
"@types/jest": "^29.5.14", "@types/jest": "^29.5.14",
"@types/marked-terminal": "^6.1.1", "@types/marked-terminal": "^6.1.1",
"concurrently": "^9.2.1", "concurrently": "^9.2.1",
@@ -141,8 +137,8 @@
"supertest": "^7.1.0", "supertest": "^7.1.0",
"ts-jest": "^29.4.2", "ts-jest": "^29.4.2",
"tsdown": "^0.15.2", "tsdown": "^0.15.2",
"tsx": "^4.20.4", "tsx": "^4.16.2",
"turbo": "^2.5.6", "turbo": "^2.5.6",
"typescript": "^5.7.3" "typescript": "^5.9.2"
} }
} }

View File

@@ -1,5 +1,6 @@
{ {
"name": "@tm/build-config", "name": "@tm/build-config",
"version": "1.0.1",
"description": "Shared build configuration for Task Master monorepo", "description": "Shared build configuration for Task Master monorepo",
"type": "module", "type": "module",
"private": true, "private": true,

View File

@@ -1,5 +1,6 @@
{ {
"name": "@tm/core", "name": "@tm/core",
"version": "0.26.1",
"private": true, "private": true,
"description": "Core library for Task Master - TypeScript task management system", "description": "Core library for Task Master - TypeScript task management system",
"type": "module", "type": "module",
@@ -31,18 +32,18 @@
}, },
"dependencies": { "dependencies": {
"@supabase/supabase-js": "^2.57.4", "@supabase/supabase-js": "^2.57.4",
"zod": "^3.23.8" "zod": "^3.22.4"
}, },
"devDependencies": { "devDependencies": {
"@biomejs/biome": "^1.9.4", "@biomejs/biome": "^1.9.4",
"@tm/build-config": "*", "@tm/build-config": "*",
"@types/node": "^22.10.5", "@types/node": "^20.11.30",
"@vitest/coverage-v8": "^2.0.5", "@vitest/coverage-v8": "^2.0.5",
"dotenv-mono": "^1.5.1", "dotenv-mono": "^1.3.14",
"ts-node": "^10.9.2", "ts-node": "^10.9.2",
"tsup": "^8.5.0", "tsup": "^8.5.0",
"typescript": "^5.7.3", "typescript": "^5.4.3",
"vitest": "^2.1.8" "vitest": "^2.0.5"
}, },
"engines": { "engines": {
"node": ">=18.0.0" "node": ">=18.0.0"

View File

@@ -3,7 +3,7 @@
* Command-line interface for the Task Master CLI * Command-line interface for the Task Master CLI
*/ */
import { Command } from 'commander'; import { program } from 'commander';
import path from 'path'; import path from 'path';
import chalk from 'chalk'; import chalk from 'chalk';
import boxen from 'boxen'; import boxen from 'boxen';
@@ -1847,7 +1847,7 @@ function registerCommands(programInstance) {
) )
.option( .option(
'-r, --research', '-r, --research',
'Use Perplexity AI for research-backed complexity analysis' 'Use configured research model for research-backed complexity analysis'
) )
.option( .option(
'-i, --id <ids>', '-i, --id <ids>',
@@ -5076,10 +5076,28 @@ Examples:
*/ */
function setupCLI() { function setupCLI() {
// Create a new program instance // Create a new program instance
const programInstance = new Command() const programInstance = program
.name('dev') .name('dev')
.description('AI-driven development task management') .description('AI-driven development task management')
.version(process.env.TM_PUBLIC_VERSION || 'unknown') .version(() => {
// Read version directly from package.json ONLY
try {
const packageJsonPath = path.join(process.cwd(), 'package.json');
if (fs.existsSync(packageJsonPath)) {
const packageJson = JSON.parse(
fs.readFileSync(packageJsonPath, 'utf8')
);
return packageJson.version;
}
} catch (error) {
// Silently fall back to 'unknown'
log(
'warn',
'Could not read package.json for version info in .version()'
);
}
return 'unknown'; // Default fallback if package.json fails
})
.helpOption('-h, --help', 'Display help') .helpOption('-h, --help', 'Display help')
.addHelpCommand(false); // Disable default help command .addHelpCommand(false); // Disable default help command

View File

@@ -310,6 +310,7 @@ function validateProviderModelCombination(providerName, modelId) {
function validateClaudeCodeSettings(settings) { function validateClaudeCodeSettings(settings) {
// Define the base settings schema without commandSpecific first // Define the base settings schema without commandSpecific first
const BaseSettingsSchema = z.object({ const BaseSettingsSchema = z.object({
pathToClaudeCodeExecutable: z.string().optional(),
maxTurns: z.number().int().positive().optional(), maxTurns: z.number().int().positive().optional(),
customSystemPrompt: z.string().optional(), customSystemPrompt: z.string().optional(),
appendSystemPrompt: z.string().optional(), appendSystemPrompt: z.string().optional(),

Some files were not shown because too many files have changed in this diff Show More