@langadventurellc/task-trellis-mcp 1.1.0 → 1.2.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/README.md +21 -212
- package/dist/__tests__/e2e/autoPrune.e2e.test.d.ts +2 -0
- package/dist/__tests__/e2e/autoPrune.e2e.test.d.ts.map +1 -0
- package/dist/__tests__/e2e/autoPrune.e2e.test.js +533 -0
- package/dist/__tests__/e2e/autoPrune.e2e.test.js.map +1 -0
- package/dist/__tests__/e2e/configuration/activation.e2e.test.js +6 -6
- package/dist/__tests__/e2e/configuration/activation.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/configuration/commandLineArgs.e2e.test.js +55 -6
- package/dist/__tests__/e2e/configuration/commandLineArgs.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/configuration/directorySetup.e2e.test.js +19 -19
- package/dist/__tests__/e2e/configuration/directorySetup.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/configuration/invalidConfig.e2e.test.js +9 -9
- package/dist/__tests__/e2e/configuration/invalidConfig.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/configuration/preActivation.e2e.test.js +15 -15
- package/dist/__tests__/e2e/configuration/preActivation.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/crud/createObject.e2e.test.js +34 -34
- package/dist/__tests__/e2e/crud/createObject.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/crud/deleteObject.e2e.test.js +19 -19
- package/dist/__tests__/e2e/crud/deleteObject.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/crud/fileValidation.e2e.test.js +32 -32
- package/dist/__tests__/e2e/crud/fileValidation.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/crud/getObject.e2e.test.js +143 -22
- package/dist/__tests__/e2e/crud/getObject.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/crud/listObjects.e2e.test.js +561 -42
- package/dist/__tests__/e2e/crud/listObjects.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/crud/updateObject.e2e.test.js +497 -25
- package/dist/__tests__/e2e/crud/updateObject.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/hierarchicalPrerequisites.e2e.test.d.ts +2 -0
- package/dist/__tests__/e2e/hierarchicalPrerequisites.e2e.test.d.ts.map +1 -0
- package/dist/__tests__/e2e/hierarchicalPrerequisites.e2e.test.js +319 -0
- package/dist/__tests__/e2e/hierarchicalPrerequisites.e2e.test.js.map +1 -0
- package/dist/__tests__/e2e/infrastructure/client.e2e.test.js +4 -4
- package/dist/__tests__/e2e/infrastructure/client.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/infrastructure/server.e2e.test.js +6 -6
- package/dist/__tests__/e2e/infrastructure/server.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/utils/extractObjectIds.d.ts +1 -1
- package/dist/__tests__/e2e/utils/extractObjectIds.js +1 -1
- package/dist/__tests__/e2e/utils/mcpTestClient.d.ts.map +1 -1
- package/dist/__tests__/e2e/utils/mcpTestClient.js +3 -2
- package/dist/__tests__/e2e/utils/mcpTestClient.js.map +1 -1
- package/dist/__tests__/e2e/utils/parseListObjectsResponse.d.ts +1 -1
- package/dist/__tests__/e2e/utils/parseListObjectsResponse.js +1 -1
- package/dist/__tests__/e2e/utils/parseUpdateObjectResponse.d.ts +1 -1
- package/dist/__tests__/e2e/utils/parseUpdateObjectResponse.js +1 -1
- package/dist/__tests__/e2e/workflow/appendLog.e2e.test.js +4 -4
- package/dist/__tests__/e2e/workflow/appendLog.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/workflow/appendModifiedFiles.e2e.test.js +15 -15
- package/dist/__tests__/e2e/workflow/appendModifiedFiles.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/workflow/claimTask.e2e.test.js +44 -0
- package/dist/__tests__/e2e/workflow/claimTask.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/workflow/completeTask.e2e.test.js +4 -4
- package/dist/__tests__/e2e/workflow/completeTask.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/workflow/prerequisites.e2e.test.js +43 -43
- package/dist/__tests__/e2e/workflow/prerequisites.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/workflow/taskLifecycle.e2e.test.js +19 -19
- package/dist/__tests__/e2e/workflow/taskLifecycle.e2e.test.js.map +1 -1
- package/dist/__tests__/serverStartup.test.d.ts +2 -0
- package/dist/__tests__/serverStartup.test.d.ts.map +1 -0
- package/dist/__tests__/serverStartup.test.js +171 -0
- package/dist/__tests__/serverStartup.test.js.map +1 -0
- package/dist/configuration/ServerConfig.d.ts +2 -1
- package/dist/configuration/ServerConfig.d.ts.map +1 -1
- package/dist/repositories/Repository.d.ts +2 -1
- package/dist/repositories/Repository.d.ts.map +1 -1
- package/dist/repositories/local/LocalRepository.d.ts +2 -1
- package/dist/repositories/local/LocalRepository.d.ts.map +1 -1
- package/dist/repositories/local/LocalRepository.js +4 -0
- package/dist/repositories/local/LocalRepository.js.map +1 -1
- package/dist/repositories/local/__tests__/getChildrenOf.test.d.ts +2 -0
- package/dist/repositories/local/__tests__/getChildrenOf.test.d.ts.map +1 -0
- package/dist/repositories/local/__tests__/getChildrenOf.test.js +306 -0
- package/dist/repositories/local/__tests__/getChildrenOf.test.js.map +1 -0
- package/dist/repositories/local/__tests__/getObjects.test.js +309 -0
- package/dist/repositories/local/__tests__/getObjects.test.js.map +1 -1
- package/dist/repositories/local/deleteObjectById.d.ts.map +1 -1
- package/dist/repositories/local/deleteObjectById.js +2 -0
- package/dist/repositories/local/deleteObjectById.js.map +1 -1
- package/dist/repositories/local/getChildrenOf.d.ts +11 -0
- package/dist/repositories/local/getChildrenOf.d.ts.map +1 -0
- package/dist/repositories/local/getChildrenOf.js +73 -0
- package/dist/repositories/local/getChildrenOf.js.map +1 -0
- package/dist/repositories/local/getObjects.d.ts +1 -1
- package/dist/repositories/local/getObjects.d.ts.map +1 -1
- package/dist/repositories/local/getObjects.js +25 -6
- package/dist/repositories/local/getObjects.js.map +1 -1
- package/dist/server.js +39 -15
- package/dist/server.js.map +1 -1
- package/dist/services/TaskTrellisService.d.ts +4 -13
- package/dist/services/TaskTrellisService.d.ts.map +1 -1
- package/dist/services/local/LocalTaskTrellisService.d.ts +3 -9
- package/dist/services/local/LocalTaskTrellisService.d.ts.map +1 -1
- package/dist/services/local/LocalTaskTrellisService.js +4 -8
- package/dist/services/local/LocalTaskTrellisService.js.map +1 -1
- package/dist/services/local/__tests__/appendModifiedFiles.test.js +1 -0
- package/dist/services/local/__tests__/appendModifiedFiles.test.js.map +1 -1
- package/dist/services/local/__tests__/appendObjectLog.test.js +1 -0
- package/dist/services/local/__tests__/appendObjectLog.test.js.map +1 -1
- package/dist/services/local/__tests__/claimTask.test.js +127 -131
- package/dist/services/local/__tests__/claimTask.test.js.map +1 -1
- package/dist/services/local/__tests__/completeTask.test.js +30 -28
- package/dist/services/local/__tests__/completeTask.test.js.map +1 -1
- package/dist/services/local/__tests__/createObject.test.js +1 -0
- package/dist/services/local/__tests__/createObject.test.js.map +1 -1
- package/dist/services/local/__tests__/listObjects.test.js +135 -10
- package/dist/services/local/__tests__/listObjects.test.js.map +1 -1
- package/dist/services/local/__tests__/pruneClosed.test.js +446 -186
- package/dist/services/local/__tests__/pruneClosed.test.js.map +1 -1
- package/dist/services/local/__tests__/updateObject.test.js +234 -27
- package/dist/services/local/__tests__/updateObject.test.js.map +1 -1
- package/dist/services/local/claimTask.d.ts.map +1 -1
- package/dist/services/local/claimTask.js +25 -34
- package/dist/services/local/claimTask.js.map +1 -1
- package/dist/services/local/completeTask.d.ts +1 -1
- package/dist/services/local/completeTask.d.ts.map +1 -1
- package/dist/services/local/completeTask.js +4 -40
- package/dist/services/local/completeTask.js.map +1 -1
- package/dist/services/local/listObjects.d.ts +1 -1
- package/dist/services/local/listObjects.d.ts.map +1 -1
- package/dist/services/local/listObjects.js +10 -1
- package/dist/services/local/listObjects.js.map +1 -1
- package/dist/services/local/pruneClosed.d.ts.map +1 -1
- package/dist/services/local/pruneClosed.js +63 -6
- package/dist/services/local/pruneClosed.js.map +1 -1
- package/dist/services/local/updateObject.d.ts +2 -1
- package/dist/services/local/updateObject.d.ts.map +1 -1
- package/dist/services/local/updateObject.js +28 -1
- package/dist/services/local/updateObject.js.map +1 -1
- package/dist/tools/__tests__/appendModifiedFilesTool.test.js +1 -0
- package/dist/tools/__tests__/appendModifiedFilesTool.test.js.map +1 -1
- package/dist/tools/__tests__/appendObjectLogTool.test.js +1 -0
- package/dist/tools/__tests__/appendObjectLogTool.test.js.map +1 -1
- package/dist/tools/__tests__/claimTaskTool.test.js +1 -1
- package/dist/tools/__tests__/claimTaskTool.test.js.map +1 -1
- package/dist/tools/__tests__/completeTaskTool.test.js +23 -16
- package/dist/tools/__tests__/completeTaskTool.test.js.map +1 -1
- package/dist/tools/__tests__/createObjectTool.test.js +1 -0
- package/dist/tools/__tests__/createObjectTool.test.js.map +1 -1
- package/dist/tools/__tests__/deleteObjectTool.test.js +1 -0
- package/dist/tools/__tests__/deleteObjectTool.test.js.map +1 -1
- package/dist/tools/__tests__/getObjectTool.test.js +1 -0
- package/dist/tools/__tests__/getObjectTool.test.js.map +1 -1
- package/dist/tools/__tests__/listObjectsTool.test.js +160 -1
- package/dist/tools/__tests__/listObjectsTool.test.js.map +1 -1
- package/dist/tools/__tests__/updateObjectTool.test.js +39 -10
- package/dist/tools/__tests__/updateObjectTool.test.js.map +1 -1
- package/dist/tools/appendModifiedFilesTool.d.ts +2 -2
- package/dist/tools/appendModifiedFilesTool.js +4 -4
- package/dist/tools/appendModifiedFilesTool.js.map +1 -1
- package/dist/tools/appendObjectLogTool.d.ts +3 -3
- package/dist/tools/appendObjectLogTool.js +4 -4
- package/dist/tools/appendObjectLogTool.js.map +1 -1
- package/dist/tools/completeTaskTool.d.ts +1 -1
- package/dist/tools/completeTaskTool.d.ts.map +1 -1
- package/dist/tools/completeTaskTool.js +1 -1
- package/dist/tools/completeTaskTool.js.map +1 -1
- package/dist/tools/createObjectTool.d.ts +8 -8
- package/dist/tools/createObjectTool.js +13 -13
- package/dist/tools/createObjectTool.js.map +1 -1
- package/dist/tools/deleteObjectTool.d.ts +3 -3
- package/dist/tools/deleteObjectTool.js +12 -12
- package/dist/tools/deleteObjectTool.js.map +1 -1
- package/dist/tools/getObjectTool.d.ts +3 -3
- package/dist/tools/getObjectTool.d.ts.map +1 -1
- package/dist/tools/getObjectTool.js +12 -7
- package/dist/tools/getObjectTool.js.map +1 -1
- package/dist/tools/index.d.ts +7 -9
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +22 -28
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/listObjectsTool.d.ts +20 -11
- package/dist/tools/listObjectsTool.d.ts.map +1 -1
- package/dist/tools/listObjectsTool.js +112 -40
- package/dist/tools/listObjectsTool.js.map +1 -1
- package/dist/tools/updateObjectTool.d.ts +12 -7
- package/dist/tools/updateObjectTool.d.ts.map +1 -1
- package/dist/tools/updateObjectTool.js +20 -14
- package/dist/tools/updateObjectTool.js.map +1 -1
- package/dist/utils/__tests__/checkHierarchicalPrerequisitesComplete.test.d.ts +2 -0
- package/dist/utils/__tests__/checkHierarchicalPrerequisitesComplete.test.d.ts.map +1 -0
- package/dist/utils/__tests__/checkHierarchicalPrerequisitesComplete.test.js +206 -0
- package/dist/utils/__tests__/checkHierarchicalPrerequisitesComplete.test.js.map +1 -0
- package/dist/utils/__tests__/checkPrerequisitesComplete.test.js +5 -0
- package/dist/utils/__tests__/checkPrerequisitesComplete.test.js.map +1 -1
- package/dist/utils/__tests__/filterUnavailableObjects.test.js +51 -25
- package/dist/utils/__tests__/filterUnavailableObjects.test.js.map +1 -1
- package/dist/utils/__tests__/isRequiredForOtherObjects.test.js +5 -0
- package/dist/utils/__tests__/isRequiredForOtherObjects.test.js.map +1 -1
- package/dist/utils/__tests__/updateParentHierarchy.test.d.ts +2 -0
- package/dist/utils/__tests__/updateParentHierarchy.test.d.ts.map +1 -0
- package/dist/utils/__tests__/updateParentHierarchy.test.js +137 -0
- package/dist/utils/__tests__/updateParentHierarchy.test.js.map +1 -0
- package/dist/utils/autoCompleteParentHierarchy.d.ts +11 -0
- package/dist/utils/autoCompleteParentHierarchy.d.ts.map +1 -0
- package/dist/utils/autoCompleteParentHierarchy.js +49 -0
- package/dist/utils/autoCompleteParentHierarchy.js.map +1 -0
- package/dist/utils/checkHierarchicalPrerequisitesComplete.d.ts +14 -0
- package/dist/utils/checkHierarchicalPrerequisitesComplete.d.ts.map +1 -0
- package/dist/utils/checkHierarchicalPrerequisitesComplete.js +47 -0
- package/dist/utils/checkHierarchicalPrerequisitesComplete.js.map +1 -0
- package/dist/utils/filterUnavailableObjects.d.ts +6 -4
- package/dist/utils/filterUnavailableObjects.d.ts.map +1 -1
- package/dist/utils/filterUnavailableObjects.js +16 -22
- package/dist/utils/filterUnavailableObjects.js.map +1 -1
- package/dist/utils/index.d.ts +3 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +7 -3
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/updateParentHierarchy.d.ts +11 -0
- package/dist/utils/updateParentHierarchy.d.ts.map +1 -0
- package/dist/utils/updateParentHierarchy.js +40 -0
- package/dist/utils/updateParentHierarchy.js.map +1 -0
- package/dist/validation/__tests__/validateObjectCreation.test.js +1 -0
- package/dist/validation/__tests__/validateObjectCreation.test.js.map +1 -1
- package/dist/validation/__tests__/validateParentExists.test.js +1 -0
- package/dist/validation/__tests__/validateParentExists.test.js.map +1 -1
- package/dist/validation/__tests__/validateStatusTransition.test.js +1 -0
- package/dist/validation/__tests__/validateStatusTransition.test.js.map +1 -1
- package/package.json +1 -1
- package/dist/__tests__/e2e/crud/replaceObjectBodyRegex.e2e.test.d.ts +0 -2
- package/dist/__tests__/e2e/crud/replaceObjectBodyRegex.e2e.test.d.ts.map +0 -1
- package/dist/__tests__/e2e/crud/replaceObjectBodyRegex.e2e.test.js +0 -693
- package/dist/__tests__/e2e/crud/replaceObjectBodyRegex.e2e.test.js.map +0 -1
- package/dist/__tests__/e2e/workflow/pruneClosed.e2e.test.d.ts +0 -2
- package/dist/__tests__/e2e/workflow/pruneClosed.e2e.test.d.ts.map +0 -1
- package/dist/__tests__/e2e/workflow/pruneClosed.e2e.test.js +0 -352
- package/dist/__tests__/e2e/workflow/pruneClosed.e2e.test.js.map +0 -1
- package/dist/services/local/__tests__/replaceObjectBodyRegex.test.d.ts +0 -2
- package/dist/services/local/__tests__/replaceObjectBodyRegex.test.d.ts.map +0 -1
- package/dist/services/local/__tests__/replaceObjectBodyRegex.test.js +0 -283
- package/dist/services/local/__tests__/replaceObjectBodyRegex.test.js.map +0 -1
- package/dist/services/local/replaceObjectBodyRegex.d.ts +0 -8
- package/dist/services/local/replaceObjectBodyRegex.d.ts.map +0 -1
- package/dist/services/local/replaceObjectBodyRegex.js +0 -85
- package/dist/services/local/replaceObjectBodyRegex.js.map +0 -1
- package/dist/tools/__tests__/pruneClosedTool.test.d.ts +0 -2
- package/dist/tools/__tests__/pruneClosedTool.test.d.ts.map +0 -1
- package/dist/tools/__tests__/pruneClosedTool.test.js +0 -112
- package/dist/tools/__tests__/pruneClosedTool.test.js.map +0 -1
- package/dist/tools/__tests__/replaceObjectBodyRegexTool.test.d.ts +0 -2
- package/dist/tools/__tests__/replaceObjectBodyRegexTool.test.d.ts.map +0 -1
- package/dist/tools/__tests__/replaceObjectBodyRegexTool.test.js +0 -89
- package/dist/tools/__tests__/replaceObjectBodyRegexTool.test.js.map +0 -1
- package/dist/tools/pruneClosedTool.d.ts +0 -27
- package/dist/tools/pruneClosedTool.d.ts.map +0 -1
- package/dist/tools/pruneClosedTool.js +0 -57
- package/dist/tools/pruneClosedTool.js.map +0 -1
- package/dist/tools/replaceObjectBodyRegexTool.d.ts +0 -36
- package/dist/tools/replaceObjectBodyRegexTool.d.ts.map +0 -1
- package/dist/tools/replaceObjectBodyRegexTool.js +0 -67
- package/dist/tools/replaceObjectBodyRegexTool.js.map +0 -1
- package/dist/utils/ReplaceStringOptions.d.ts +0 -12
- package/dist/utils/ReplaceStringOptions.d.ts.map +0 -1
- package/dist/utils/ReplaceStringOptions.js +0 -3
- package/dist/utils/ReplaceStringOptions.js.map +0 -1
- package/dist/utils/__tests__/replaceStringWithRegex.test.d.ts +0 -2
- package/dist/utils/__tests__/replaceStringWithRegex.test.d.ts.map +0 -1
- package/dist/utils/__tests__/replaceStringWithRegex.test.js +0 -281
- package/dist/utils/__tests__/replaceStringWithRegex.test.js.map +0 -1
- package/dist/utils/replaceStringWithRegex.d.ts +0 -45
- package/dist/utils/replaceStringWithRegex.d.ts.map +0 -1
- package/dist/utils/replaceStringWithRegex.js +0 -91
- package/dist/utils/replaceStringWithRegex.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
# Task Trellis MCP
|
|
2
2
|
|
|
3
|
+
**Project planning and task management built specifically for AI agents**
|
|
4
|
+
|
|
3
5
|
[](https://www.npmjs.com/package/@langadventurellc/task-trellis-mcp)
|
|
4
6
|
[](https://www.gnu.org/licenses/gpl-3.0)
|
|
5
7
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
Primarily built as a much better alternative to managing markdown checklists. Task Trellis will make it easier to define requirements, specifications, and tasks in a structured way that the agent can actually use directly.
|
|
8
|
+
Task Trellis is an MCP server for project planning and task management built specifically for AI agents. It helps by breaking down complex projects and tracking their progress with built-in task management, complete with progress tracking, dependency management, and workflow automation. By default, all data is stored locally in Markdown files.
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
Primarily built as a much better alternative to managing markdown checklists. Task Trellis will make it easier to define requirements, specifications, and tasks in a structured way that the agents can actually use directly.
|
|
11
11
|
|
|
12
12
|
## Table of Contents
|
|
13
13
|
|
|
14
|
+
- [At a Glance](#at-a-glance)
|
|
14
15
|
- [Why Task Trellis?](#why-task-trellis)
|
|
15
16
|
- [Core Benefits](#core-benefits)
|
|
16
17
|
- [Usage](#usage)
|
|
@@ -18,16 +19,14 @@ It's kinda like Jira specifically for coding agents.
|
|
|
18
19
|
- [Project Hierarchy](#project-hierarchy)
|
|
19
20
|
- [Prerequisites & Dependencies](#prerequisites--dependencies)
|
|
20
21
|
- [File Storage](#file-storage)
|
|
21
|
-
- [Installation](#installation)
|
|
22
|
-
- [Quick Test](#quick-test)
|
|
23
|
-
- [Configuration Options](#configuration-options)
|
|
22
|
+
- [Installation and Configuration](#installation-and-configuration)
|
|
24
23
|
- [Troubleshooting](#troubleshooting)
|
|
25
24
|
|
|
26
25
|
## At a Glance
|
|
27
26
|
|
|
28
|
-
Task Trellis works with
|
|
27
|
+
Task Trellis works with issues that are projects, epics, features or tasks.
|
|
29
28
|
|
|
30
|
-
**Tasks** are the most important type of
|
|
29
|
+
**Tasks** are the most important type of issue. This is where the actual work gets done. Each task is a specific piece of work that needs to be completed in order to achieve the project's goals. The other issue types are too big to be a task and they exist to help organize and manage multiple tasks to accomplish a particular goal. Tasks can be standalone or part of a larger feature.
|
|
31
30
|
|
|
32
31
|
**Features** are the next level up from tasks. They represent the requirements and functionality needed to deliver a specific aspect of the project. Features can be standalone or a part of a larger epic.
|
|
33
32
|
|
|
@@ -37,7 +36,7 @@ Task Trellis works with "objects" that are projects, epics, features or tasks.
|
|
|
37
36
|
|
|
38
37
|
Depending on the size of the effort, you can choose to create a project with epics, features, and tasks, or you can create standalone tasks as needed. Once you have your tasks defined, you can easily manage and track their progress through the Task Trellis MCP tools.
|
|
39
38
|
|
|
40
|
-
Currently, all Task Trellis
|
|
39
|
+
Currently, all Task Trellis issues are stored as markdown files in the `.trellis` folder in the root of your project. This makes it unsuitable for projects with multiple developers, but a remote option is in development now and should be available soon.
|
|
41
40
|
|
|
42
41
|
## Why Task Trellis?
|
|
43
42
|
|
|
@@ -104,26 +103,26 @@ See sample prompts (written as Claude Code slash commands): [Sample Prompts](doc
|
|
|
104
103
|
|
|
105
104
|
## Available Tools
|
|
106
105
|
|
|
107
|
-
### Core
|
|
106
|
+
### Core Issue Management
|
|
108
107
|
|
|
109
|
-
- **
|
|
110
|
-
- **
|
|
111
|
-
- **
|
|
112
|
-
- **
|
|
113
|
-
- **
|
|
114
|
-
- **
|
|
108
|
+
- **create_issue** - Create projects, epics, features, or tasks with hierarchical relationships
|
|
109
|
+
- **update_issue** - Modify issue properties, status, priority, or prerequisites
|
|
110
|
+
- **get_issue** - Retrieve detailed issue information with history and relationships
|
|
111
|
+
- **list_issues** - Query and filter issues by type, status, priority, or scope (returns issue summaries)
|
|
112
|
+
- **delete_issue** - Remove issues (with dependency validation)
|
|
113
|
+
- **replace_issue_body_regex** - Make targeted body content edits using regex patterns
|
|
115
114
|
|
|
116
115
|
### Task Workflow Management
|
|
117
116
|
|
|
118
117
|
- **claim_task** - Claim available tasks for execution with automatic priority ordering
|
|
119
118
|
- **complete_task** - Mark tasks complete with file change documentation
|
|
120
|
-
- **
|
|
119
|
+
- **append_issue_log** - Add progress notes and status updates to task history (occurs automatically on task completion)
|
|
121
120
|
- **append_modified_files** - Record files modified during task execution with change descriptions (occurs automatically on task completion)
|
|
122
121
|
|
|
123
122
|
### System Management
|
|
124
123
|
|
|
125
124
|
- **activate** - Initialize the task system (if not configured via command line)
|
|
126
|
-
- **prune_closed** - Clean up old completed/cancelled
|
|
125
|
+
- **prune_closed** - Clean up old completed/cancelled issues for maintenance
|
|
127
126
|
|
|
128
127
|
## Project Hierarchy
|
|
129
128
|
|
|
@@ -212,201 +211,11 @@ your-project/
|
|
|
212
211
|
└── T-completed-task-id.md
|
|
213
212
|
```
|
|
214
213
|
|
|
215
|
-
Each
|
|
216
|
-
|
|
217
|
-
## Installation
|
|
218
|
-
|
|
219
|
-
### CLI Arguments
|
|
220
|
-
|
|
221
|
-
- **--mode <mode>**: Server mode. `local` or `remote` (default: `local`) (`remote` not yet supported)
|
|
222
|
-
- **--projectRootFolder <path>**: Project root folder path (typically, the root of your repository, but can be in a shared folder for collaboration)
|
|
223
|
-
- **--auto-complete-parent**: Enable automatic completion of parent tasks when the last task of a feature is completed
|
|
224
|
-
|
|
225
|
-
### Claude Code
|
|
226
|
-
|
|
227
|
-
The easiest way to install Task Trellis MCP in Claude Code:
|
|
228
|
-
|
|
229
|
-
```bash
|
|
230
|
-
claude mcp add @langadventurellc/task-trellis-mcp --projectRootFolder "$(pwd)"
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
Or (you'll be required to call the activate tool once to set the project root folder):
|
|
234
|
-
|
|
235
|
-
```bash
|
|
236
|
-
claude mcp add @langadventurellc/task-trellis-mcp
|
|
237
|
-
```
|
|
238
|
-
|
|
239
|
-
### VS Code with GitHub Copilot
|
|
240
|
-
|
|
241
|
-
1. Add Task Trellis to your VS Code settings. Open your settings JSON file and add:
|
|
242
|
-
|
|
243
|
-
```json
|
|
244
|
-
{
|
|
245
|
-
"github.copilot.chat.mcpServers": {
|
|
246
|
-
"task-trellis": {
|
|
247
|
-
"command": "npx",
|
|
248
|
-
"args": [
|
|
249
|
-
"-y",
|
|
250
|
-
"@langadventurellc/task-trellis-mcp",
|
|
251
|
-
"--projectRootFolder",
|
|
252
|
-
"${workspaceFolder}"
|
|
253
|
-
]
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
```
|
|
258
|
-
|
|
259
|
-
### Cursor
|
|
260
|
-
|
|
261
|
-
Install Task Trellis MCP in Cursor by adding to your Cursor settings:
|
|
262
|
-
|
|
263
|
-
**Method 1: Via Settings UI**
|
|
264
|
-
|
|
265
|
-
1. Open Cursor Settings (⌘/Ctrl + ,)
|
|
266
|
-
2. Search for "MCP"
|
|
267
|
-
3. Add new server with:
|
|
268
|
-
- **Name**: `task-trellis`
|
|
269
|
-
- **Command**: `npx`
|
|
270
|
-
- **Args**: `["-y", "@langadventurellc/task-trellis-mcp", "--projectRootFolder", "${workspaceFolder}"]`
|
|
271
|
-
|
|
272
|
-
**Method 2: Via Configuration File**
|
|
273
|
-
Add to your Cursor configuration:
|
|
274
|
-
|
|
275
|
-
```json
|
|
276
|
-
{
|
|
277
|
-
"mcpServers": {
|
|
278
|
-
"task-trellis": {
|
|
279
|
-
"command": "npx",
|
|
280
|
-
"args": [
|
|
281
|
-
"-y",
|
|
282
|
-
"@langadventurellc/task-trellis-mcp",
|
|
283
|
-
"--projectRootFolder",
|
|
284
|
-
"${workspaceFolder}"
|
|
285
|
-
]
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
```
|
|
290
|
-
|
|
291
|
-
### Windsurf
|
|
292
|
-
|
|
293
|
-
Add Task Trellis to your Windsurf MCP configuration:
|
|
294
|
-
|
|
295
|
-
```json
|
|
296
|
-
{
|
|
297
|
-
"mcpServers": {
|
|
298
|
-
"task-trellis": {
|
|
299
|
-
"command": "npx",
|
|
300
|
-
"args": [
|
|
301
|
-
"-y",
|
|
302
|
-
"@langadventurellc/task-trellis-mcp",
|
|
303
|
-
"--projectRootFolder",
|
|
304
|
-
"${workspaceRoot}"
|
|
305
|
-
]
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
```
|
|
310
|
-
|
|
311
|
-
### Cline (VS Code Extension)
|
|
312
|
-
|
|
313
|
-
1. Add Task Trellis to your Cline MCP servers in VS Code settings:
|
|
314
|
-
|
|
315
|
-
```json
|
|
316
|
-
{
|
|
317
|
-
"cline.mcpServers": {
|
|
318
|
-
"task-trellis": {
|
|
319
|
-
"command": "npx",
|
|
320
|
-
"args": [
|
|
321
|
-
"-y",
|
|
322
|
-
"@langadventurellc/task-trellis-mcp",
|
|
323
|
-
"--projectRootFolder",
|
|
324
|
-
"${workspaceFolder}"
|
|
325
|
-
]
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
}
|
|
329
|
-
```
|
|
330
|
-
|
|
331
|
-
### Continue (VS Code Extension)
|
|
332
|
-
|
|
333
|
-
1. Add to your Continue configuration file (`~/.continue/config.json`):
|
|
334
|
-
|
|
335
|
-
```json
|
|
336
|
-
{
|
|
337
|
-
"mcpServers": {
|
|
338
|
-
"task-trellis": {
|
|
339
|
-
"command": "npx",
|
|
340
|
-
"args": [
|
|
341
|
-
"-y",
|
|
342
|
-
"@langadventurellc/task-trellis-mcp",
|
|
343
|
-
"--projectRootFolder",
|
|
344
|
-
"/path/to/your/project"
|
|
345
|
-
]
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
}
|
|
349
|
-
```
|
|
350
|
-
|
|
351
|
-
### Other MCP Clients
|
|
214
|
+
Each issue is stored as a Markdown file with YAML frontmatter metadata and content body.
|
|
352
215
|
|
|
353
|
-
|
|
216
|
+
## Installation and Configuration
|
|
354
217
|
|
|
355
|
-
|
|
356
|
-
{
|
|
357
|
-
"mcpServers": {
|
|
358
|
-
"task-trellis": {
|
|
359
|
-
"command": "npx",
|
|
360
|
-
"args": [
|
|
361
|
-
"-y",
|
|
362
|
-
"@langadventurellc/task-trellis-mcp",
|
|
363
|
-
"--projectRootFolder",
|
|
364
|
-
"/absolute/path/to/project"
|
|
365
|
-
]
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
}
|
|
369
|
-
```
|
|
370
|
-
|
|
371
|
-
## Quick Test
|
|
372
|
-
|
|
373
|
-
After installation, test that Task Trellis is working by asking your AI assistant:
|
|
374
|
-
|
|
375
|
-
> "Create a new project called 'My Test Project'"
|
|
376
|
-
|
|
377
|
-
If configured correctly, the AI should respond with a confirmation and create the project structure in your specified project root folder.
|
|
378
|
-
|
|
379
|
-
## Configuration Options
|
|
380
|
-
|
|
381
|
-
The Task Trellis MCP server supports these command-line options:
|
|
382
|
-
|
|
383
|
-
- `--mode <mode>` - Server mode (default: "local")
|
|
384
|
-
- `local` - Use local file-based storage
|
|
385
|
-
- `remote` - Use remote repository (planned feature)
|
|
386
|
-
|
|
387
|
-
- `--projectRootFolder <path>` - Project root folder path
|
|
388
|
-
- Creates a `.trellis` folder inside the project root for task storage
|
|
389
|
-
- Example: `--projectRootFolder /path/to/my-project` creates `/path/to/my-project/.trellis/`
|
|
390
|
-
|
|
391
|
-
**Advanced Configuration Example:**
|
|
392
|
-
|
|
393
|
-
```json
|
|
394
|
-
{
|
|
395
|
-
"mcpServers": {
|
|
396
|
-
"task-trellis": {
|
|
397
|
-
"type": "stdio",
|
|
398
|
-
"command": "npx",
|
|
399
|
-
"args": [
|
|
400
|
-
"@langadventurellc/task-trellis-mcp",
|
|
401
|
-
"--mode",
|
|
402
|
-
"local",
|
|
403
|
-
"--projectRootFolder",
|
|
404
|
-
"/path/to/your/project"
|
|
405
|
-
]
|
|
406
|
-
}
|
|
407
|
-
}
|
|
408
|
-
}
|
|
409
|
-
```
|
|
218
|
+
See [installation instructions](docs/installation.md).
|
|
410
219
|
|
|
411
220
|
## Troubleshooting
|
|
412
221
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autoPrune.e2e.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/e2e/autoPrune.e2e.test.ts"],"names":[],"mappings":""}
|