@hhsw2015/task-master-ai 0.43.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4072 -0
- package/LICENSE +25 -0
- package/README-task-master.md +648 -0
- package/README.md +415 -0
- package/dist/ai-services-unified-BgdcS4fE.js +7 -0
- package/dist/ai-services-unified-DVAKOPK0.js +1 -0
- package/dist/assets/.windsurfrules +524 -0
- package/dist/assets/AGENTS.md +435 -0
- package/dist/assets/GEMINI.md +110 -0
- package/dist/assets/claude/TM_COMMANDS_GUIDE.md +147 -0
- package/dist/assets/config.json +34 -0
- package/dist/assets/env.example +12 -0
- package/dist/assets/example_prd.txt +47 -0
- package/dist/assets/example_prd_rpg.txt +511 -0
- package/dist/assets/gitignore +25 -0
- package/dist/assets/hamster-art.txt +49 -0
- package/dist/assets/kiro-hooks/tm-code-change-task-tracker.kiro.hook +23 -0
- package/dist/assets/kiro-hooks/tm-complexity-analyzer.kiro.hook +16 -0
- package/dist/assets/kiro-hooks/tm-daily-standup-assistant.kiro.hook +13 -0
- package/dist/assets/kiro-hooks/tm-git-commit-task-linker.kiro.hook +13 -0
- package/dist/assets/kiro-hooks/tm-pr-readiness-checker.kiro.hook +13 -0
- package/dist/assets/kiro-hooks/tm-task-dependency-auto-progression.kiro.hook +17 -0
- package/dist/assets/kiro-hooks/tm-test-success-task-completer.kiro.hook +23 -0
- package/dist/assets/roocode/.roo/rules-architect/architect-rules +93 -0
- package/dist/assets/roocode/.roo/rules-ask/ask-rules +89 -0
- package/dist/assets/roocode/.roo/rules-code/code-rules +61 -0
- package/dist/assets/roocode/.roo/rules-debug/debug-rules +68 -0
- package/dist/assets/roocode/.roo/rules-orchestrator/orchestrator-rules +181 -0
- package/dist/assets/roocode/.roo/rules-test/test-rules +61 -0
- package/dist/assets/roocode/.roomodes +63 -0
- package/dist/assets/rules/cursor_rules.mdc +53 -0
- package/dist/assets/rules/dev_workflow.mdc +424 -0
- package/dist/assets/rules/hamster.mdc +173 -0
- package/dist/assets/rules/self_improve.mdc +72 -0
- package/dist/assets/rules/taskmaster.mdc +573 -0
- package/dist/assets/rules/taskmaster_hooks_workflow.mdc +59 -0
- package/dist/assets/scripts_README.md +445 -0
- package/dist/commands-D7m4KWx1.js +329 -0
- package/dist/config-manager-CvbfYtIR.js +1 -0
- package/dist/config-manager-cjltSxIS.js +270 -0
- package/dist/dependency-manager-CyOxi5uo.js +1078 -0
- package/dist/git-utils-DllbRE35.js +1 -0
- package/dist/git-utils-PBP1PRVP.js +1 -0
- package/dist/mcp-server.js +44 -0
- package/dist/profiles-DcD-JxPM.js +3528 -0
- package/dist/research-DN4RyyJY.js +1 -0
- package/dist/response-language-C5AwQSfD.js +1 -0
- package/dist/response-language-LzM2RD6-.js +1 -0
- package/dist/sentry-CBAZ4LSk.js +1 -0
- package/dist/tag-management-6HOtYZMj.js +1 -0
- package/dist/task-manager-BtFURFe0.js +1 -0
- package/dist/task-master.js +2 -0
- package/dist/update-subtask-by-id-DiWMqGfw.js +1 -0
- package/dist/update-task-by-id-eyL-PNVX.js +1 -0
- package/dist/utils-CGk8TL6x.js +1 -0
- package/index.js +160 -0
- package/package.json +183 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./ai-services-unified-BgdcS4fE.js";import"./config-manager-cjltSxIS.js";import"./git-utils-DllbRE35.js";import"./sentry-CBAZ4LSk.js";import{A as e}from"./dependency-manager-CyOxi5uo.js";import"./response-language-C5AwQSfD.js";export{e as performResearch};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{B as e,X as t,f as n,q as r,yt as i}from"./config-manager-cjltSxIS.js";function a(a,o={}){let{mcpLog:s,projectRoot:c}=o,l=(e,...t)=>{s&&typeof s[e]==`function`&&s[e](...t)},u=t(null,{projectRoot:c}),d=e(c);if(i(`debug`,`Checking for config file using findConfigPath, found: ${u}`),i(`debug`,`Checking config file using isConfigFilePresent(), exists: ${d}`),!d)return{success:!1,error:{code:`CONFIG_MISSING`,message:`The configuration file is missing. Run "task-master init" to create it.`}};if(typeof a!=`string`||a.trim()===``)return{success:!1,error:{code:`INVALID_RESPONSE_LANGUAGE`,message:`Invalid response language: ${a}. Must be a non-empty string.`}};try{let e=n(c);return e.global.responseLanguage=a,r(e,c)?{success:!0,data:{responseLanguage:a,message:successMessage}}:{success:!1,error:{code:`WRITE_ERROR`,message:`Error writing updated configuration to configuration file`}}}catch(e){return l(`error`,`Error setting response language: ${e.message}`),{success:!1,error:{code:`SET_RESPONSE_LANGUAGE_ERROR`,message:e.message}}}}var o=a;export{o as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./config-manager-cjltSxIS.js";import"./git-utils-DllbRE35.js";import{t as e}from"./response-language-C5AwQSfD.js";export{e as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{U as e,r as t}from"./config-manager-cjltSxIS.js";import{createHash as n}from"crypto";import*as r from"@sentry/node";let i=!1;function a(e){if(e)return n(`sha256`).update(e).digest(`hex`).substring(0,8)}function o(n={}){if(i)return;e(!0);try{if(!t(n.projectRoot)){console.log(`✓ Anonymous telemetry disabled per user preference. Set anonymousTelemetry: true in .taskmaster/config.json to re-enable.`);return}}catch{}finally{e(!1)}let a=n.dsn||`https://ce8c03ca1dd0da5b9837c6ba1b3a0f9d@o4510099843776512.ingest.us.sentry.io/4510381945585664`;if(a)try{r.init({dsn:a,environment:n.environment||process.env.NODE_ENV||`production`,integrations:[r.vercelAIIntegration({recordInputs:!0,recordOutputs:!0}),r.zodErrorsIntegration()],tracesSampleRate:n.tracesSampleRate??1,sendDefaultPii:n.sendDefaultPii??!0,debug:process.env.SENTRY_DEBUG===`true`}),i=!0,process.env.SENTRY_DEBUG===`true`&&(console.log(` DSN: ${a.substring(0,40)}...`),console.log(` Environment: ${n.environment||process.env.NODE_ENV||`production`}`),console.log(` Traces Sample Rate: ${n.tracesSampleRate??1}`))}catch(e){console.error(`Failed to initialize telemetry: ${e.message}`)}}function s(e,t={}){if(!i)return process.env.SENTRY_DEBUG===`true`&&console.log(`⚠️ Sentry not initialized, telemetry config not available`),null;let n={isEnabled:!0,recordInputs:!0,recordOutputs:!0};return e&&(n.functionId=e),Object.keys(t).length>0&&(n.metadata={},t.command&&(n.metadata.command=t.command),t.outputType&&(n.metadata.outputType=t.outputType),t.tag&&(n.metadata.tag=t.tag),t.taskId&&(n.metadata.taskId=t.taskId),t.userId&&(n.metadata.userId=t.userId),t.briefId&&(n.metadata.briefId=t.briefId),t.projectHash&&(n.metadata.projectHash=t.projectHash)),process.env.SENTRY_DEBUG===`true`&&console.log(`📊 Sentry telemetry config created:`,JSON.stringify(n,null,2)),n}export{a as n,o as r,s as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./ai-services-unified-BgdcS4fE.js";import"./config-manager-cjltSxIS.js";import"./git-utils-DllbRE35.js";import"./sentry-CBAZ4LSk.js";import{ct as e,dt as t,ft as n,ht as r,lt as i,mt as a,pt as o,st as s,ut as c}from"./dependency-manager-CyOxi5uo.js";import"./response-language-C5AwQSfD.js";export{s as copyTag,e as createTag,i as createTagFromBranch,c as deleteTag,t as renameTag,n as switchCurrentTag,o as tags,a as updateBranchTagMapping,r as useTag};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./ai-services-unified-BgdcS4fE.js";import{dt as e,wt as t}from"./config-manager-cjltSxIS.js";import"./git-utils-DllbRE35.js";import"./sentry-CBAZ4LSk.js";import{$ as n,A as r,C as i,D as a,E as o,I as s,J as c,K as l,L as u,M as d,N as f,O as p,P as m,Q as h,S as g,T as _,X as v,Y as y,Z as b,gt as x,j as S,k as C,q as w,w as T}from"./dependency-manager-CyOxi5uo.js";import{t as E}from"./response-language-C5AwQSfD.js";export{n as addSubtask,h as addTask,b as analyzeTaskComplexity,v as clearSubtasks,c as expandAllTasks,y as expandTask,x as findNextTask,e as findTaskById,w as isTaskDependentOn,l as listTasks,u as migrateProject,s as moveTask,m as parsePRD,r as performResearch,t as readComplexityReport,f as removeSubtask,S as removeTask,a as scopeDownTask,p as scopeUpTask,E as setResponseLanguage,_ as setTaskStatus,d as taskExists,o as updateSingleTaskStatus,T as updateSubtaskById,i as updateTaskById,g as updateTasks,C as validateStrength};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{U as e,cn as t,hn as n}from"./config-manager-cjltSxIS.js";import"./git-utils-DllbRE35.js";import{r}from"./sentry-CBAZ4LSk.js";import{join as i}from"node:path";import a from"dotenv";const o=process.cwd(),s=t();a.config({path:i(s,`.env`)}),r({projectRoot:s}),process.env.TASKMASTER_ORIGINAL_CWD=o,process.env.DEBUG===`1`&&console.error(`DEBUG - dev.js received args:`,process.argv.slice(2));try{await n.getInstance().hasValidSession()&&e(!0)}catch{e(!1)}const{runCLI:c}=await import(`./commands-D7m4KWx1.js`);c(process.argv);export{};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./ai-services-unified-BgdcS4fE.js";import"./config-manager-cjltSxIS.js";import"./git-utils-DllbRE35.js";import"./sentry-CBAZ4LSk.js";import{w as e}from"./dependency-manager-CyOxi5uo.js";import"./response-language-C5AwQSfD.js";export{e as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./ai-services-unified-BgdcS4fE.js";import"./config-manager-cjltSxIS.js";import"./git-utils-DllbRE35.js";import"./sentry-CBAZ4LSk.js";import{C as e}from"./dependency-manager-CyOxi5uo.js";import"./response-language-C5AwQSfD.js";export{e as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{At as e,Ct as t,Dt as n,Et as r,Mt as i,Ot as a,St as o,Tt as s,_t as c,at as l,bt as u,ct as d,dt as f,ft as p,gt as m,ht as h,it as g,jt as _,kt as v,lt as y,mt as b,nt as x,ot as S,pt as C,rt as w,st as T,ut as E,vt as D,wt as O,xt as k,yt as A}from"./config-manager-cjltSxIS.js";import"./git-utils-DllbRE35.js";export{x as LOG_LEVELS,w as addComplexityToTask,g as aggregateTelemetry,l as createStateJson,S as disableSilentMode,T as enableSilentMode,d as ensureTagMetadata,y as findCycles,E as findProjectRoot,f as findTaskById,p as findTaskInComplexityReport,C as flattenTasksWithSubtasks,b as formatTaskId,h as getCurrentTag,m as getTasksForTag,c as isEmpty,D as isSilentMode,A as log,u as markMigrationForNotice,k as migrateConfigJson,o as normalizeTaskIds,t as performCompleteTagMigration,O as readComplexityReport,s as readJSON,r as resolveEnvVariable,n as resolveTag,a as taskExists,v as traverseDependencies,e as truncate,_ as withFileLockSync,i as writeJSON};
|
package/index.js
ADDED
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Task Master
|
|
5
|
+
* Copyright (c) 2025 Eyal Toledano, Ralph Khreish
|
|
6
|
+
*
|
|
7
|
+
* This software is licensed under the MIT License with Commons Clause.
|
|
8
|
+
* You may use this software for any purpose, including commercial applications,
|
|
9
|
+
* and modify and redistribute it freely, subject to the following restrictions:
|
|
10
|
+
*
|
|
11
|
+
* 1. You may not sell this software or offer it as a service.
|
|
12
|
+
* 2. The origin of this software must not be misrepresented.
|
|
13
|
+
* 3. Altered source versions must be plainly marked as such.
|
|
14
|
+
*
|
|
15
|
+
* For the full license text, see the LICENSE file in the root directory.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Claude Task Master
|
|
20
|
+
* A task management system for AI-driven development with Claude
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
// This file serves as the main entry point for the package
|
|
24
|
+
// The primary functionality is provided through the CLI commands
|
|
25
|
+
|
|
26
|
+
import { spawn } from 'child_process';
|
|
27
|
+
import { createRequire } from 'module';
|
|
28
|
+
import { dirname, resolve } from 'path';
|
|
29
|
+
import { fileURLToPath } from 'url';
|
|
30
|
+
import { Command } from 'commander';
|
|
31
|
+
|
|
32
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
33
|
+
const __dirname = dirname(__filename);
|
|
34
|
+
const require = createRequire(import.meta.url);
|
|
35
|
+
|
|
36
|
+
// Get package information
|
|
37
|
+
const packageJson = require('./package.json');
|
|
38
|
+
|
|
39
|
+
// Export the path to the dev.js script for programmatic usage
|
|
40
|
+
export const devScriptPath = resolve(__dirname, './scripts/dev.js');
|
|
41
|
+
|
|
42
|
+
// Export a function to initialize a new project programmatically
|
|
43
|
+
export const initProject = async (options = {}) => {
|
|
44
|
+
const init = await import('./scripts/init.js');
|
|
45
|
+
return init.initializeProject(options);
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
// Export a function to run init as a CLI command
|
|
49
|
+
export const runInitCLI = async (options = {}) => {
|
|
50
|
+
try {
|
|
51
|
+
const init = await import('./scripts/init.js');
|
|
52
|
+
const result = await init.initializeProject(options);
|
|
53
|
+
return result;
|
|
54
|
+
} catch (error) {
|
|
55
|
+
console.error('Initialization failed:', error.message);
|
|
56
|
+
if (process.env.DEBUG === 'true') {
|
|
57
|
+
console.error('Debug stack trace:', error.stack);
|
|
58
|
+
}
|
|
59
|
+
throw error; // Re-throw to be handled by the command handler
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
// Export version information
|
|
64
|
+
export const version = packageJson.version;
|
|
65
|
+
|
|
66
|
+
// CLI implementation
|
|
67
|
+
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
68
|
+
const program = new Command();
|
|
69
|
+
|
|
70
|
+
program
|
|
71
|
+
.name('task-master')
|
|
72
|
+
.description('Claude Task Master CLI')
|
|
73
|
+
.version(version);
|
|
74
|
+
|
|
75
|
+
program
|
|
76
|
+
.command('init')
|
|
77
|
+
.description('Initialize a new project')
|
|
78
|
+
.option('-y, --yes', 'Skip prompts and use default values')
|
|
79
|
+
.option('-n, --name <n>', 'Project name')
|
|
80
|
+
.option('-d, --description <description>', 'Project description')
|
|
81
|
+
.option('-v, --version <version>', 'Project version', '0.1.0')
|
|
82
|
+
.option('-a, --author <author>', 'Author name')
|
|
83
|
+
.option('--skip-install', 'Skip installing dependencies')
|
|
84
|
+
.option('--dry-run', 'Show what would be done without making changes')
|
|
85
|
+
.option('--aliases', 'Add shell aliases (tm, taskmaster, hamster, ham)')
|
|
86
|
+
.option('--no-aliases', 'Skip shell aliases (tm, taskmaster, hamster, ham)')
|
|
87
|
+
.option('--git', 'Initialize Git repository')
|
|
88
|
+
.option('--no-git', 'Skip Git repository initialization')
|
|
89
|
+
.option('--git-tasks', 'Store tasks in Git')
|
|
90
|
+
.option('--no-git-tasks', 'No Git storage of tasks')
|
|
91
|
+
.action(async (cmdOptions) => {
|
|
92
|
+
try {
|
|
93
|
+
await runInitCLI(cmdOptions);
|
|
94
|
+
} catch (err) {
|
|
95
|
+
console.error('Init failed:', err.message);
|
|
96
|
+
process.exit(1);
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
program
|
|
101
|
+
.command('dev')
|
|
102
|
+
.description('Run the dev.js script')
|
|
103
|
+
.allowUnknownOption(true)
|
|
104
|
+
.action(() => {
|
|
105
|
+
const args = process.argv.slice(process.argv.indexOf('dev') + 1);
|
|
106
|
+
const child = spawn('node', [devScriptPath, ...args], {
|
|
107
|
+
stdio: 'inherit',
|
|
108
|
+
cwd: process.cwd()
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
child.on('close', (code) => {
|
|
112
|
+
process.exit(code);
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
// Add shortcuts for common dev.js commands
|
|
117
|
+
program
|
|
118
|
+
.command('list')
|
|
119
|
+
.description('List all tasks')
|
|
120
|
+
.action(() => {
|
|
121
|
+
const child = spawn('node', [devScriptPath, 'list'], {
|
|
122
|
+
stdio: 'inherit',
|
|
123
|
+
cwd: process.cwd()
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
child.on('close', (code) => {
|
|
127
|
+
process.exit(code);
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
program
|
|
132
|
+
.command('next')
|
|
133
|
+
.description('Show the next task to work on')
|
|
134
|
+
.action(() => {
|
|
135
|
+
const child = spawn('node', [devScriptPath, 'next'], {
|
|
136
|
+
stdio: 'inherit',
|
|
137
|
+
cwd: process.cwd()
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
child.on('close', (code) => {
|
|
141
|
+
process.exit(code);
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
|
|
145
|
+
program
|
|
146
|
+
.command('generate')
|
|
147
|
+
.description('Generate task files')
|
|
148
|
+
.action(() => {
|
|
149
|
+
const child = spawn('node', [devScriptPath, 'generate'], {
|
|
150
|
+
stdio: 'inherit',
|
|
151
|
+
cwd: process.cwd()
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
child.on('close', (code) => {
|
|
155
|
+
process.exit(code);
|
|
156
|
+
});
|
|
157
|
+
});
|
|
158
|
+
|
|
159
|
+
program.parse(process.argv);
|
|
160
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@hhsw2015/task-master-ai",
|
|
3
|
+
"version": "0.43.0",
|
|
4
|
+
"description": "A task management system for ambitious AI-driven development that doesn't overwhelm and confuse Cursor.",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"bin": {
|
|
8
|
+
"task-master": "dist/task-master.js",
|
|
9
|
+
"task-master-mcp": "dist/mcp-server.js",
|
|
10
|
+
"task-master-ai": "dist/mcp-server.js"
|
|
11
|
+
},
|
|
12
|
+
"publishConfig": {
|
|
13
|
+
"provenance": true,
|
|
14
|
+
"access": "public"
|
|
15
|
+
},
|
|
16
|
+
"workspaces": [
|
|
17
|
+
"apps/*",
|
|
18
|
+
"packages/*",
|
|
19
|
+
"."
|
|
20
|
+
],
|
|
21
|
+
"scripts": {
|
|
22
|
+
"build": "npm run build:build-config && cross-env NODE_ENV=production tsdown",
|
|
23
|
+
"dev": "tsdown --watch",
|
|
24
|
+
"turbo:dev": "turbo dev",
|
|
25
|
+
"turbo:build": "turbo build",
|
|
26
|
+
"turbo:typecheck": "turbo typecheck",
|
|
27
|
+
"turbo:test": "turbo test",
|
|
28
|
+
"turbo:test:unit": "turbo test:unit",
|
|
29
|
+
"turbo:test:integration": "turbo test:integration",
|
|
30
|
+
"build:build-config": "npm run build -w @tm/build-config",
|
|
31
|
+
"test": "cross-env NODE_ENV=test node --experimental-vm-modules node_modules/.bin/jest",
|
|
32
|
+
"test:unit": "node --experimental-vm-modules node_modules/.bin/jest --testPathPattern=unit",
|
|
33
|
+
"test:integration": "node --experimental-vm-modules node_modules/.bin/jest --testPathPattern=integration",
|
|
34
|
+
"test:fails": "node --experimental-vm-modules node_modules/.bin/jest --onlyFailures",
|
|
35
|
+
"test:watch": "node --experimental-vm-modules node_modules/.bin/jest --watch",
|
|
36
|
+
"test:coverage": "node --experimental-vm-modules node_modules/.bin/jest --coverage",
|
|
37
|
+
"test:ci": "node --experimental-vm-modules node_modules/.bin/jest --coverage --ci",
|
|
38
|
+
"test:e2e": "./tests/e2e/run_e2e.sh",
|
|
39
|
+
"test:e2e-report": "./tests/e2e/run_e2e.sh --analyze-log",
|
|
40
|
+
"postpack": "chmod +x dist/task-master.js dist/mcp-server.js",
|
|
41
|
+
"changeset": "changeset",
|
|
42
|
+
"changeset:validate": "node .github/scripts/validate-changesets.mjs",
|
|
43
|
+
"version": "changeset version && node ./.github/scripts/sync-manifest-version.mjs && npm i --package-lock-only",
|
|
44
|
+
"release": "node ./.github/scripts/release.mjs",
|
|
45
|
+
"publish-packages": "turbo run build lint test && changeset version && changeset publish",
|
|
46
|
+
"inspector": "npx @modelcontextprotocol/inspector node dist/mcp-server.js",
|
|
47
|
+
"mcp-server": "node dist/mcp-server.js",
|
|
48
|
+
"format-check": "biome format .",
|
|
49
|
+
"format": "biome format . --write",
|
|
50
|
+
"deps:check": "manypkg check || echo 'Note: Workspace package version warnings are expected for internal @tm/* packages'",
|
|
51
|
+
"deps:fix": "manypkg fix"
|
|
52
|
+
},
|
|
53
|
+
"keywords": [
|
|
54
|
+
"claude",
|
|
55
|
+
"task",
|
|
56
|
+
"management",
|
|
57
|
+
"ai",
|
|
58
|
+
"development",
|
|
59
|
+
"cursor",
|
|
60
|
+
"anthropic",
|
|
61
|
+
"llm",
|
|
62
|
+
"mcp",
|
|
63
|
+
"context"
|
|
64
|
+
],
|
|
65
|
+
"author": "Eyal Toledano",
|
|
66
|
+
"license": "MIT WITH Commons-Clause",
|
|
67
|
+
"dependencies": {
|
|
68
|
+
"@ai-sdk/amazon-bedrock": "^3.0.23",
|
|
69
|
+
"@ai-sdk/anthropic": "^2.0.18",
|
|
70
|
+
"@ai-sdk/azure": "^2.0.89",
|
|
71
|
+
"@ai-sdk/google": "^2.0.16",
|
|
72
|
+
"@ai-sdk/google-vertex": "^3.0.86",
|
|
73
|
+
"@ai-sdk/groq": "^2.0.21",
|
|
74
|
+
"@ai-sdk/mistral": "^2.0.16",
|
|
75
|
+
"@ai-sdk/openai": "^2.0.34",
|
|
76
|
+
"@ai-sdk/openai-compatible": "^1.0.25",
|
|
77
|
+
"@ai-sdk/perplexity": "^2.0.10",
|
|
78
|
+
"@ai-sdk/provider": "^2.0.0",
|
|
79
|
+
"@ai-sdk/provider-utils": "^3.0.10",
|
|
80
|
+
"@ai-sdk/xai": "^2.0.22",
|
|
81
|
+
"@aws-sdk/credential-providers": "^3.895.0",
|
|
82
|
+
"@inquirer/search": "^3.0.15",
|
|
83
|
+
"@openrouter/ai-sdk-provider": "^1.2.0",
|
|
84
|
+
"@sentry/node": "^10.27.0",
|
|
85
|
+
"@streamparser/json": "^0.0.22",
|
|
86
|
+
"@supabase/supabase-js": "^2.57.4",
|
|
87
|
+
"@types/turndown": "^5.0.6",
|
|
88
|
+
"ai": "^5.0.51",
|
|
89
|
+
"ai-sdk-provider-claude-code": "^2.2.4",
|
|
90
|
+
"ai-sdk-provider-codex-cli": "^0.7.0",
|
|
91
|
+
"ai-sdk-provider-gemini-cli": "^1.4.0",
|
|
92
|
+
"ajv": "^8.17.1",
|
|
93
|
+
"ajv-formats": "^3.0.1",
|
|
94
|
+
"boxen": "^8.0.1",
|
|
95
|
+
"chalk": "5.6.2",
|
|
96
|
+
"cli-highlight": "^2.1.11",
|
|
97
|
+
"cli-progress": "^3.12.0",
|
|
98
|
+
"cli-table3": "^0.6.5",
|
|
99
|
+
"commander": "^12.1.0",
|
|
100
|
+
"cors": "^2.8.5",
|
|
101
|
+
"date-fns": "^4.1.0",
|
|
102
|
+
"dotenv": "^16.6.1",
|
|
103
|
+
"express": "^4.21.2",
|
|
104
|
+
"fastmcp": "^3.23.1",
|
|
105
|
+
"figlet": "^1.8.0",
|
|
106
|
+
"fs-extra": "^11.3.0",
|
|
107
|
+
"fuse.js": "^7.1.0",
|
|
108
|
+
"gpt-tokens": "^1.3.14",
|
|
109
|
+
"gradient-string": "^3.0.0",
|
|
110
|
+
"helmet": "^8.1.0",
|
|
111
|
+
"inquirer": "^12.5.0",
|
|
112
|
+
"jsonc-parser": "^3.3.1",
|
|
113
|
+
"jsonrepair": "^3.13.0",
|
|
114
|
+
"jsonwebtoken": "^9.0.2",
|
|
115
|
+
"lru-cache": "^10.2.0",
|
|
116
|
+
"marked": "^15.0.12",
|
|
117
|
+
"marked-terminal": "^7.3.0",
|
|
118
|
+
"ollama-ai-provider-v2": "^1.3.1",
|
|
119
|
+
"open": "^10.2.0",
|
|
120
|
+
"ora": "^8.2.0",
|
|
121
|
+
"proper-lockfile": "^4.1.2",
|
|
122
|
+
"simple-git": "^3.28.0",
|
|
123
|
+
"steno": "^4.0.2",
|
|
124
|
+
"terminal-link": "^5.0.0",
|
|
125
|
+
"turndown": "^7.2.2",
|
|
126
|
+
"undici": "^7.16.0",
|
|
127
|
+
"uuid": "^11.1.0",
|
|
128
|
+
"zod": "^4.1.12"
|
|
129
|
+
},
|
|
130
|
+
"optionalDependencies": {
|
|
131
|
+
"@anthropic-ai/claude-code": "^2.0.59",
|
|
132
|
+
"@biomejs/cli-linux-x64": "^1.9.4"
|
|
133
|
+
},
|
|
134
|
+
"engines": {
|
|
135
|
+
"node": ">=20.0.0"
|
|
136
|
+
},
|
|
137
|
+
"packageManager": "npm@10.9.2",
|
|
138
|
+
"repository": {
|
|
139
|
+
"type": "git",
|
|
140
|
+
"url": "git+https://github.com/eyaltoledano/claude-task-master.git"
|
|
141
|
+
},
|
|
142
|
+
"homepage": "https://github.com/eyaltoledano/claude-task-master#readme",
|
|
143
|
+
"bugs": {
|
|
144
|
+
"url": "https://github.com/eyaltoledano/claude-task-master/issues"
|
|
145
|
+
},
|
|
146
|
+
"files": [
|
|
147
|
+
"dist/**",
|
|
148
|
+
"README-task-master.md",
|
|
149
|
+
"README.md",
|
|
150
|
+
"LICENSE",
|
|
151
|
+
"CHANGELOG.md"
|
|
152
|
+
],
|
|
153
|
+
"overrides": {
|
|
154
|
+
"node-fetch": "^2.6.12",
|
|
155
|
+
"whatwg-url": "^11.0.0"
|
|
156
|
+
},
|
|
157
|
+
"devDependencies": {
|
|
158
|
+
"@anthropic-ai/mcpb": "^2.1.2",
|
|
159
|
+
"@biomejs/biome": "^1.9.4",
|
|
160
|
+
"@changesets/changelog-github": "^0.5.1",
|
|
161
|
+
"@changesets/cli": "^2.28.1",
|
|
162
|
+
"@manypkg/cli": "^0.25.1",
|
|
163
|
+
"@tm/ai-sdk-provider-grok-cli": "*",
|
|
164
|
+
"@tm/cli": "*",
|
|
165
|
+
"@types/fs-extra": "^11.0.4",
|
|
166
|
+
"@types/jest": "^29.5.14",
|
|
167
|
+
"@types/marked-terminal": "^6.1.1",
|
|
168
|
+
"@vitest/coverage-v8": "^4.0.10",
|
|
169
|
+
"concurrently": "^9.2.1",
|
|
170
|
+
"cross-env": "^10.0.0",
|
|
171
|
+
"execa": "^8.0.1",
|
|
172
|
+
"jest": "^29.7.0",
|
|
173
|
+
"jest-environment-node": "^29.7.0",
|
|
174
|
+
"mock-fs": "^5.5.0",
|
|
175
|
+
"prettier": "^3.5.3",
|
|
176
|
+
"supertest": "^7.1.0",
|
|
177
|
+
"ts-jest": "^29.4.2",
|
|
178
|
+
"tsdown": "^0.15.2",
|
|
179
|
+
"tsx": "^4.20.4",
|
|
180
|
+
"turbo": "2.5.6",
|
|
181
|
+
"typescript": "^5.9.2"
|
|
182
|
+
}
|
|
183
|
+
}
|