@langadventurellc/task-trellis-mcp 1.1.0 → 1.2.1

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.
Files changed (262) hide show
  1. package/README.md +37 -323
  2. package/dist/__tests__/e2e/autoPrune.e2e.test.d.ts +2 -0
  3. package/dist/__tests__/e2e/autoPrune.e2e.test.d.ts.map +1 -0
  4. package/dist/__tests__/e2e/autoPrune.e2e.test.js +533 -0
  5. package/dist/__tests__/e2e/autoPrune.e2e.test.js.map +1 -0
  6. package/dist/__tests__/e2e/configuration/activation.e2e.test.js +6 -6
  7. package/dist/__tests__/e2e/configuration/activation.e2e.test.js.map +1 -1
  8. package/dist/__tests__/e2e/configuration/commandLineArgs.e2e.test.js +55 -6
  9. package/dist/__tests__/e2e/configuration/commandLineArgs.e2e.test.js.map +1 -1
  10. package/dist/__tests__/e2e/configuration/directorySetup.e2e.test.js +19 -19
  11. package/dist/__tests__/e2e/configuration/directorySetup.e2e.test.js.map +1 -1
  12. package/dist/__tests__/e2e/configuration/invalidConfig.e2e.test.js +9 -9
  13. package/dist/__tests__/e2e/configuration/invalidConfig.e2e.test.js.map +1 -1
  14. package/dist/__tests__/e2e/configuration/preActivation.e2e.test.js +15 -15
  15. package/dist/__tests__/e2e/configuration/preActivation.e2e.test.js.map +1 -1
  16. package/dist/__tests__/e2e/crud/createObject.e2e.test.js +34 -34
  17. package/dist/__tests__/e2e/crud/createObject.e2e.test.js.map +1 -1
  18. package/dist/__tests__/e2e/crud/deleteObject.e2e.test.js +19 -19
  19. package/dist/__tests__/e2e/crud/deleteObject.e2e.test.js.map +1 -1
  20. package/dist/__tests__/e2e/crud/fileValidation.e2e.test.js +32 -32
  21. package/dist/__tests__/e2e/crud/fileValidation.e2e.test.js.map +1 -1
  22. package/dist/__tests__/e2e/crud/getObject.e2e.test.js +143 -22
  23. package/dist/__tests__/e2e/crud/getObject.e2e.test.js.map +1 -1
  24. package/dist/__tests__/e2e/crud/listObjects.e2e.test.js +561 -42
  25. package/dist/__tests__/e2e/crud/listObjects.e2e.test.js.map +1 -1
  26. package/dist/__tests__/e2e/crud/updateObject.e2e.test.js +497 -25
  27. package/dist/__tests__/e2e/crud/updateObject.e2e.test.js.map +1 -1
  28. package/dist/__tests__/e2e/hierarchicalPrerequisites.e2e.test.d.ts +2 -0
  29. package/dist/__tests__/e2e/hierarchicalPrerequisites.e2e.test.d.ts.map +1 -0
  30. package/dist/__tests__/e2e/hierarchicalPrerequisites.e2e.test.js +319 -0
  31. package/dist/__tests__/e2e/hierarchicalPrerequisites.e2e.test.js.map +1 -0
  32. package/dist/__tests__/e2e/infrastructure/client.e2e.test.js +4 -4
  33. package/dist/__tests__/e2e/infrastructure/client.e2e.test.js.map +1 -1
  34. package/dist/__tests__/e2e/infrastructure/server.e2e.test.js +6 -6
  35. package/dist/__tests__/e2e/infrastructure/server.e2e.test.js.map +1 -1
  36. package/dist/__tests__/e2e/utils/extractObjectIds.d.ts +1 -1
  37. package/dist/__tests__/e2e/utils/extractObjectIds.js +1 -1
  38. package/dist/__tests__/e2e/utils/mcpTestClient.d.ts.map +1 -1
  39. package/dist/__tests__/e2e/utils/mcpTestClient.js +3 -2
  40. package/dist/__tests__/e2e/utils/mcpTestClient.js.map +1 -1
  41. package/dist/__tests__/e2e/utils/parseListObjectsResponse.d.ts +1 -1
  42. package/dist/__tests__/e2e/utils/parseListObjectsResponse.js +1 -1
  43. package/dist/__tests__/e2e/utils/parseUpdateObjectResponse.d.ts +1 -1
  44. package/dist/__tests__/e2e/utils/parseUpdateObjectResponse.js +1 -1
  45. package/dist/__tests__/e2e/workflow/appendLog.e2e.test.js +4 -4
  46. package/dist/__tests__/e2e/workflow/appendLog.e2e.test.js.map +1 -1
  47. package/dist/__tests__/e2e/workflow/appendModifiedFiles.e2e.test.js +15 -15
  48. package/dist/__tests__/e2e/workflow/appendModifiedFiles.e2e.test.js.map +1 -1
  49. package/dist/__tests__/e2e/workflow/claimTask.e2e.test.js +44 -0
  50. package/dist/__tests__/e2e/workflow/claimTask.e2e.test.js.map +1 -1
  51. package/dist/__tests__/e2e/workflow/completeTask.e2e.test.js +4 -4
  52. package/dist/__tests__/e2e/workflow/completeTask.e2e.test.js.map +1 -1
  53. package/dist/__tests__/e2e/workflow/prerequisites.e2e.test.js +43 -43
  54. package/dist/__tests__/e2e/workflow/prerequisites.e2e.test.js.map +1 -1
  55. package/dist/__tests__/e2e/workflow/taskLifecycle.e2e.test.js +19 -19
  56. package/dist/__tests__/e2e/workflow/taskLifecycle.e2e.test.js.map +1 -1
  57. package/dist/__tests__/serverStartup.test.d.ts +2 -0
  58. package/dist/__tests__/serverStartup.test.d.ts.map +1 -0
  59. package/dist/__tests__/serverStartup.test.js +171 -0
  60. package/dist/__tests__/serverStartup.test.js.map +1 -0
  61. package/dist/configuration/ServerConfig.d.ts +2 -1
  62. package/dist/configuration/ServerConfig.d.ts.map +1 -1
  63. package/dist/repositories/Repository.d.ts +2 -1
  64. package/dist/repositories/Repository.d.ts.map +1 -1
  65. package/dist/repositories/local/LocalRepository.d.ts +2 -1
  66. package/dist/repositories/local/LocalRepository.d.ts.map +1 -1
  67. package/dist/repositories/local/LocalRepository.js +4 -0
  68. package/dist/repositories/local/LocalRepository.js.map +1 -1
  69. package/dist/repositories/local/__tests__/getChildrenOf.test.d.ts +2 -0
  70. package/dist/repositories/local/__tests__/getChildrenOf.test.d.ts.map +1 -0
  71. package/dist/repositories/local/__tests__/getChildrenOf.test.js +306 -0
  72. package/dist/repositories/local/__tests__/getChildrenOf.test.js.map +1 -0
  73. package/dist/repositories/local/__tests__/getObjects.test.js +309 -0
  74. package/dist/repositories/local/__tests__/getObjects.test.js.map +1 -1
  75. package/dist/repositories/local/deleteObjectById.d.ts.map +1 -1
  76. package/dist/repositories/local/deleteObjectById.js +2 -0
  77. package/dist/repositories/local/deleteObjectById.js.map +1 -1
  78. package/dist/repositories/local/getChildrenOf.d.ts +11 -0
  79. package/dist/repositories/local/getChildrenOf.d.ts.map +1 -0
  80. package/dist/repositories/local/getChildrenOf.js +73 -0
  81. package/dist/repositories/local/getChildrenOf.js.map +1 -0
  82. package/dist/repositories/local/getObjects.d.ts +1 -1
  83. package/dist/repositories/local/getObjects.d.ts.map +1 -1
  84. package/dist/repositories/local/getObjects.js +25 -6
  85. package/dist/repositories/local/getObjects.js.map +1 -1
  86. package/dist/server.js +39 -15
  87. package/dist/server.js.map +1 -1
  88. package/dist/services/TaskTrellisService.d.ts +4 -13
  89. package/dist/services/TaskTrellisService.d.ts.map +1 -1
  90. package/dist/services/local/LocalTaskTrellisService.d.ts +3 -9
  91. package/dist/services/local/LocalTaskTrellisService.d.ts.map +1 -1
  92. package/dist/services/local/LocalTaskTrellisService.js +4 -8
  93. package/dist/services/local/LocalTaskTrellisService.js.map +1 -1
  94. package/dist/services/local/__tests__/appendModifiedFiles.test.js +1 -0
  95. package/dist/services/local/__tests__/appendModifiedFiles.test.js.map +1 -1
  96. package/dist/services/local/__tests__/appendObjectLog.test.js +1 -0
  97. package/dist/services/local/__tests__/appendObjectLog.test.js.map +1 -1
  98. package/dist/services/local/__tests__/claimTask.test.js +127 -131
  99. package/dist/services/local/__tests__/claimTask.test.js.map +1 -1
  100. package/dist/services/local/__tests__/completeTask.test.js +30 -28
  101. package/dist/services/local/__tests__/completeTask.test.js.map +1 -1
  102. package/dist/services/local/__tests__/createObject.test.js +1 -0
  103. package/dist/services/local/__tests__/createObject.test.js.map +1 -1
  104. package/dist/services/local/__tests__/listObjects.test.js +135 -10
  105. package/dist/services/local/__tests__/listObjects.test.js.map +1 -1
  106. package/dist/services/local/__tests__/pruneClosed.test.js +446 -186
  107. package/dist/services/local/__tests__/pruneClosed.test.js.map +1 -1
  108. package/dist/services/local/__tests__/updateObject.test.js +234 -27
  109. package/dist/services/local/__tests__/updateObject.test.js.map +1 -1
  110. package/dist/services/local/claimTask.d.ts.map +1 -1
  111. package/dist/services/local/claimTask.js +25 -34
  112. package/dist/services/local/claimTask.js.map +1 -1
  113. package/dist/services/local/completeTask.d.ts +1 -1
  114. package/dist/services/local/completeTask.d.ts.map +1 -1
  115. package/dist/services/local/completeTask.js +4 -40
  116. package/dist/services/local/completeTask.js.map +1 -1
  117. package/dist/services/local/listObjects.d.ts +1 -1
  118. package/dist/services/local/listObjects.d.ts.map +1 -1
  119. package/dist/services/local/listObjects.js +10 -1
  120. package/dist/services/local/listObjects.js.map +1 -1
  121. package/dist/services/local/pruneClosed.d.ts.map +1 -1
  122. package/dist/services/local/pruneClosed.js +63 -6
  123. package/dist/services/local/pruneClosed.js.map +1 -1
  124. package/dist/services/local/updateObject.d.ts +2 -1
  125. package/dist/services/local/updateObject.d.ts.map +1 -1
  126. package/dist/services/local/updateObject.js +28 -1
  127. package/dist/services/local/updateObject.js.map +1 -1
  128. package/dist/tools/__tests__/appendModifiedFilesTool.test.js +1 -0
  129. package/dist/tools/__tests__/appendModifiedFilesTool.test.js.map +1 -1
  130. package/dist/tools/__tests__/appendObjectLogTool.test.js +1 -0
  131. package/dist/tools/__tests__/appendObjectLogTool.test.js.map +1 -1
  132. package/dist/tools/__tests__/claimTaskTool.test.js +1 -1
  133. package/dist/tools/__tests__/claimTaskTool.test.js.map +1 -1
  134. package/dist/tools/__tests__/completeTaskTool.test.js +23 -16
  135. package/dist/tools/__tests__/completeTaskTool.test.js.map +1 -1
  136. package/dist/tools/__tests__/createObjectTool.test.js +1 -0
  137. package/dist/tools/__tests__/createObjectTool.test.js.map +1 -1
  138. package/dist/tools/__tests__/deleteObjectTool.test.js +1 -0
  139. package/dist/tools/__tests__/deleteObjectTool.test.js.map +1 -1
  140. package/dist/tools/__tests__/getObjectTool.test.js +1 -0
  141. package/dist/tools/__tests__/getObjectTool.test.js.map +1 -1
  142. package/dist/tools/__tests__/listObjectsTool.test.js +160 -1
  143. package/dist/tools/__tests__/listObjectsTool.test.js.map +1 -1
  144. package/dist/tools/__tests__/updateObjectTool.test.js +39 -10
  145. package/dist/tools/__tests__/updateObjectTool.test.js.map +1 -1
  146. package/dist/tools/appendModifiedFilesTool.d.ts +2 -2
  147. package/dist/tools/appendModifiedFilesTool.js +4 -4
  148. package/dist/tools/appendModifiedFilesTool.js.map +1 -1
  149. package/dist/tools/appendObjectLogTool.d.ts +3 -3
  150. package/dist/tools/appendObjectLogTool.js +4 -4
  151. package/dist/tools/appendObjectLogTool.js.map +1 -1
  152. package/dist/tools/completeTaskTool.d.ts +1 -1
  153. package/dist/tools/completeTaskTool.d.ts.map +1 -1
  154. package/dist/tools/completeTaskTool.js +1 -1
  155. package/dist/tools/completeTaskTool.js.map +1 -1
  156. package/dist/tools/createObjectTool.d.ts +8 -8
  157. package/dist/tools/createObjectTool.js +13 -13
  158. package/dist/tools/createObjectTool.js.map +1 -1
  159. package/dist/tools/deleteObjectTool.d.ts +3 -3
  160. package/dist/tools/deleteObjectTool.js +12 -12
  161. package/dist/tools/deleteObjectTool.js.map +1 -1
  162. package/dist/tools/getObjectTool.d.ts +3 -3
  163. package/dist/tools/getObjectTool.d.ts.map +1 -1
  164. package/dist/tools/getObjectTool.js +12 -7
  165. package/dist/tools/getObjectTool.js.map +1 -1
  166. package/dist/tools/index.d.ts +7 -9
  167. package/dist/tools/index.d.ts.map +1 -1
  168. package/dist/tools/index.js +22 -28
  169. package/dist/tools/index.js.map +1 -1
  170. package/dist/tools/listObjectsTool.d.ts +20 -11
  171. package/dist/tools/listObjectsTool.d.ts.map +1 -1
  172. package/dist/tools/listObjectsTool.js +112 -40
  173. package/dist/tools/listObjectsTool.js.map +1 -1
  174. package/dist/tools/updateObjectTool.d.ts +12 -7
  175. package/dist/tools/updateObjectTool.d.ts.map +1 -1
  176. package/dist/tools/updateObjectTool.js +20 -14
  177. package/dist/tools/updateObjectTool.js.map +1 -1
  178. package/dist/utils/__tests__/checkHierarchicalPrerequisitesComplete.test.d.ts +2 -0
  179. package/dist/utils/__tests__/checkHierarchicalPrerequisitesComplete.test.d.ts.map +1 -0
  180. package/dist/utils/__tests__/checkHierarchicalPrerequisitesComplete.test.js +206 -0
  181. package/dist/utils/__tests__/checkHierarchicalPrerequisitesComplete.test.js.map +1 -0
  182. package/dist/utils/__tests__/checkPrerequisitesComplete.test.js +5 -0
  183. package/dist/utils/__tests__/checkPrerequisitesComplete.test.js.map +1 -1
  184. package/dist/utils/__tests__/filterUnavailableObjects.test.js +51 -25
  185. package/dist/utils/__tests__/filterUnavailableObjects.test.js.map +1 -1
  186. package/dist/utils/__tests__/isRequiredForOtherObjects.test.js +5 -0
  187. package/dist/utils/__tests__/isRequiredForOtherObjects.test.js.map +1 -1
  188. package/dist/utils/__tests__/updateParentHierarchy.test.d.ts +2 -0
  189. package/dist/utils/__tests__/updateParentHierarchy.test.d.ts.map +1 -0
  190. package/dist/utils/__tests__/updateParentHierarchy.test.js +137 -0
  191. package/dist/utils/__tests__/updateParentHierarchy.test.js.map +1 -0
  192. package/dist/utils/autoCompleteParentHierarchy.d.ts +11 -0
  193. package/dist/utils/autoCompleteParentHierarchy.d.ts.map +1 -0
  194. package/dist/utils/autoCompleteParentHierarchy.js +49 -0
  195. package/dist/utils/autoCompleteParentHierarchy.js.map +1 -0
  196. package/dist/utils/checkHierarchicalPrerequisitesComplete.d.ts +14 -0
  197. package/dist/utils/checkHierarchicalPrerequisitesComplete.d.ts.map +1 -0
  198. package/dist/utils/checkHierarchicalPrerequisitesComplete.js +47 -0
  199. package/dist/utils/checkHierarchicalPrerequisitesComplete.js.map +1 -0
  200. package/dist/utils/filterUnavailableObjects.d.ts +6 -4
  201. package/dist/utils/filterUnavailableObjects.d.ts.map +1 -1
  202. package/dist/utils/filterUnavailableObjects.js +16 -22
  203. package/dist/utils/filterUnavailableObjects.js.map +1 -1
  204. package/dist/utils/index.d.ts +3 -2
  205. package/dist/utils/index.d.ts.map +1 -1
  206. package/dist/utils/index.js +7 -3
  207. package/dist/utils/index.js.map +1 -1
  208. package/dist/utils/updateParentHierarchy.d.ts +11 -0
  209. package/dist/utils/updateParentHierarchy.d.ts.map +1 -0
  210. package/dist/utils/updateParentHierarchy.js +40 -0
  211. package/dist/utils/updateParentHierarchy.js.map +1 -0
  212. package/dist/validation/__tests__/validateObjectCreation.test.js +1 -0
  213. package/dist/validation/__tests__/validateObjectCreation.test.js.map +1 -1
  214. package/dist/validation/__tests__/validateParentExists.test.js +1 -0
  215. package/dist/validation/__tests__/validateParentExists.test.js.map +1 -1
  216. package/dist/validation/__tests__/validateStatusTransition.test.js +1 -0
  217. package/dist/validation/__tests__/validateStatusTransition.test.js.map +1 -1
  218. package/package.json +1 -1
  219. package/dist/__tests__/e2e/crud/replaceObjectBodyRegex.e2e.test.d.ts +0 -2
  220. package/dist/__tests__/e2e/crud/replaceObjectBodyRegex.e2e.test.d.ts.map +0 -1
  221. package/dist/__tests__/e2e/crud/replaceObjectBodyRegex.e2e.test.js +0 -693
  222. package/dist/__tests__/e2e/crud/replaceObjectBodyRegex.e2e.test.js.map +0 -1
  223. package/dist/__tests__/e2e/workflow/pruneClosed.e2e.test.d.ts +0 -2
  224. package/dist/__tests__/e2e/workflow/pruneClosed.e2e.test.d.ts.map +0 -1
  225. package/dist/__tests__/e2e/workflow/pruneClosed.e2e.test.js +0 -352
  226. package/dist/__tests__/e2e/workflow/pruneClosed.e2e.test.js.map +0 -1
  227. package/dist/services/local/__tests__/replaceObjectBodyRegex.test.d.ts +0 -2
  228. package/dist/services/local/__tests__/replaceObjectBodyRegex.test.d.ts.map +0 -1
  229. package/dist/services/local/__tests__/replaceObjectBodyRegex.test.js +0 -283
  230. package/dist/services/local/__tests__/replaceObjectBodyRegex.test.js.map +0 -1
  231. package/dist/services/local/replaceObjectBodyRegex.d.ts +0 -8
  232. package/dist/services/local/replaceObjectBodyRegex.d.ts.map +0 -1
  233. package/dist/services/local/replaceObjectBodyRegex.js +0 -85
  234. package/dist/services/local/replaceObjectBodyRegex.js.map +0 -1
  235. package/dist/tools/__tests__/pruneClosedTool.test.d.ts +0 -2
  236. package/dist/tools/__tests__/pruneClosedTool.test.d.ts.map +0 -1
  237. package/dist/tools/__tests__/pruneClosedTool.test.js +0 -112
  238. package/dist/tools/__tests__/pruneClosedTool.test.js.map +0 -1
  239. package/dist/tools/__tests__/replaceObjectBodyRegexTool.test.d.ts +0 -2
  240. package/dist/tools/__tests__/replaceObjectBodyRegexTool.test.d.ts.map +0 -1
  241. package/dist/tools/__tests__/replaceObjectBodyRegexTool.test.js +0 -89
  242. package/dist/tools/__tests__/replaceObjectBodyRegexTool.test.js.map +0 -1
  243. package/dist/tools/pruneClosedTool.d.ts +0 -27
  244. package/dist/tools/pruneClosedTool.d.ts.map +0 -1
  245. package/dist/tools/pruneClosedTool.js +0 -57
  246. package/dist/tools/pruneClosedTool.js.map +0 -1
  247. package/dist/tools/replaceObjectBodyRegexTool.d.ts +0 -36
  248. package/dist/tools/replaceObjectBodyRegexTool.d.ts.map +0 -1
  249. package/dist/tools/replaceObjectBodyRegexTool.js +0 -67
  250. package/dist/tools/replaceObjectBodyRegexTool.js.map +0 -1
  251. package/dist/utils/ReplaceStringOptions.d.ts +0 -12
  252. package/dist/utils/ReplaceStringOptions.d.ts.map +0 -1
  253. package/dist/utils/ReplaceStringOptions.js +0 -3
  254. package/dist/utils/ReplaceStringOptions.js.map +0 -1
  255. package/dist/utils/__tests__/replaceStringWithRegex.test.d.ts +0 -2
  256. package/dist/utils/__tests__/replaceStringWithRegex.test.d.ts.map +0 -1
  257. package/dist/utils/__tests__/replaceStringWithRegex.test.js +0 -281
  258. package/dist/utils/__tests__/replaceStringWithRegex.test.js.map +0 -1
  259. package/dist/utils/replaceStringWithRegex.d.ts +0 -45
  260. package/dist/utils/replaceStringWithRegex.d.ts.map +0 -1
  261. package/dist/utils/replaceStringWithRegex.js +0 -91
  262. package/dist/utils/replaceStringWithRegex.js.map +0 -1
package/README.md CHANGED
@@ -1,43 +1,41 @@
1
1
  # Task Trellis MCP
2
2
 
3
+ **Project planning and task management built specifically for AI agents**
4
+
3
5
  [![npm version](https://badge.fury.io/js/%40langadventurellc%2Ftask-trellis-mcp.svg)](https://www.npmjs.com/package/@langadventurellc/task-trellis-mcp)
4
6
  [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
5
7
 
6
- An MCP server that helps you manage developing with AI coding agents, by breaking down complex projects and tracking its progress with built-in task management, complete with progress tracking, dependency management, and workflow automation.
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.
7
9
 
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.
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.
9
11
 
10
- It's kinda like Jira specifically for coding agents.
12
+ Full documentation is available in the [docs](docs/index.md) folder.
11
13
 
12
14
  ## Table of Contents
13
15
 
16
+ - [At a Glance](#at-a-glance)
14
17
  - [Why Task Trellis?](#why-task-trellis)
15
18
  - [Core Benefits](#core-benefits)
16
19
  - [Usage](#usage)
20
+ - [Installation and Configuration](#installation-and-configuration)
17
21
  - [Available Tools](#available-tools)
18
- - [Project Hierarchy](#project-hierarchy)
19
- - [Prerequisites & Dependencies](#prerequisites--dependencies)
20
- - [File Storage](#file-storage)
21
- - [Installation](#installation)
22
- - [Quick Test](#quick-test)
23
- - [Configuration Options](#configuration-options)
24
22
  - [Troubleshooting](#troubleshooting)
25
23
 
26
24
  ## At a Glance
27
25
 
28
- Task Trellis works with "objects" that are projects, epics, features or tasks.
29
-
30
- **Tasks** are the most important type of object. 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 object 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
-
32
- **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
-
34
- **Epics** are next after features. They represent a significant deliverable or a large body of work that can be broken down into multiple features and tasks. Epics can be standalone or a part of a larger project.
35
-
36
- **Projects** are the highest level of organization. They represent the overall initiative or goal that encompasses multiple epics, features, and tasks. Projects provide a way to group related work and track progress at a high level.
26
+ | Prompt | Result |
27
+ | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
28
+ | Use Trellis to create a project for (my project details) | _project created with epics, features and tasks defined and dependencies identified_ |
29
+ | Complete the next available task | _next open task with dependencies satisfied is claimed and worked on_ |
30
+ | Work on all of the tasks for feature F-my-feature | _all tasks for the specified feature are claimed and worked on_ |
31
+ | Show me all open tasks in (my project) | _list of all open tasks in the specified project_ |
32
+ | After working on (feature), there's a bug. Look at what changed and fix it. | _bug identified by examining all the files that were modified while working on that feature and fixed_ |
33
+ | Create a new feature (feature details). Look at (other feature) and follow the same pattern | _new feature created by mirroring the pattern of the other feature_ |
34
+ | (after finding issue with design) Update all tasks in F-my-feature and update the design specifications | _all tasks in the specified feature are updated to reflect the new design specifications_ |
37
35
 
38
- 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.
36
+ _... and much more!_
39
37
 
40
- Currently, all Task Trellis objects 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.
38
+ See [Sample Prompts](docs/sample_prompts/index.md) for battle-tested prompts (written as Claude Code slash commands).
41
39
 
42
40
  ## Why Task Trellis?
43
41
 
@@ -55,14 +53,14 @@ Currently, all Task Trellis objects are stored as markdown files in the `.trelli
55
53
  ### With Task Trellis
56
54
 
57
55
  - **Structured Breakdown**: Automatically organize projects into hierarchical tasks (depending on the size of the effort required)
58
- - For large projects, create a project with epics, features, and tasks
59
- - For medium projects, create features with tasks
60
- - For small tasks, create standalone tasks
56
+ - Project Epic Feature Task
57
+ - See [Picking a Parent Issue Type](docs/issues.md#picking-a-parent-issue-type)
61
58
  - **Smart Dependencies**: Prevent tasks from starting until prerequisites are complete
62
59
  - **Progress Tracking**: Real-time visibility into what's done, in-progress, and pending
63
60
  - **Session Continuity**: Pick up exactly where you left off across AI conversations
64
61
  - **Workflow Management**: Built-in task claiming, completion, and validation workflows
65
62
  - **File Change Tracking**: Automatic documentation of what files were modified for each task
63
+ - **Learn from History**: AI agents can reference past work to inform future tasks
66
64
 
67
65
  ## Core Benefits
68
66
 
@@ -75,6 +73,8 @@ Currently, all Task Trellis objects are stored as markdown files in the `.trelli
75
73
 
76
74
  ## Usage
77
75
 
76
+ See full documentation at [Task Trellis MCP Documentation](docs/index.md)
77
+
78
78
  ### Basic Workflow
79
79
 
80
80
  See sample prompts (written as Claude Code slash commands): [Sample Prompts](docs/sample_prompts/index.md)
@@ -102,322 +102,37 @@ See sample prompts (written as Claude Code slash commands): [Sample Prompts](doc
102
102
  - See dependency relationships
103
103
  - Monitor overall project health
104
104
 
105
+ ## Installation and Configuration
106
+
107
+ See [installation instructions](docs/installation.md).
108
+
105
109
  ## Available Tools
106
110
 
107
- ### Core Object Management
111
+ ### Core Issue Management
108
112
 
109
- - **create_object** - Create projects, epics, features, or tasks with hierarchical relationships
110
- - **update_object** - Modify object properties, status, priority, or prerequisites
111
- - **get_object** - Retrieve detailed object information with history and relationships
112
- - **list_objects** - Query and filter objects by type, status, priority, or scope (returns object summaries)
113
- - **delete_object** - Remove objects (with dependency validation)
114
- - **replace_object_body_regex** - Make targeted body content edits using regex patterns
113
+ - **create_issue** - Create projects, epics, features, or tasks with hierarchical relationships
114
+ - **update_issue** - Modify issue properties, status, priority, or prerequisites
115
+ - **get_issue** - Retrieve detailed issue information with history and relationships
116
+ - **list_issues** - Query and filter issues by type, status, priority, or scope (returns issue summaries)
117
+ - **delete_issue** - Remove issues (with dependency validation)
118
+ - **replace_issue_body_regex** - Make targeted body content edits using regex patterns
115
119
 
116
120
  ### Task Workflow Management
117
121
 
118
122
  - **claim_task** - Claim available tasks for execution with automatic priority ordering
119
123
  - **complete_task** - Mark tasks complete with file change documentation
120
- - **append_object_log** - Add progress notes and status updates to task history (occurs automatically on task completion)
124
+ - **append_issue_log** - Add progress notes and status updates to task history (occurs automatically on task completion)
121
125
  - **append_modified_files** - Record files modified during task execution with change descriptions (occurs automatically on task completion)
122
126
 
123
127
  ### System Management
124
128
 
125
129
  - **activate** - Initialize the task system (if not configured via command line)
126
- - **prune_closed** - Clean up old completed/cancelled objects for maintenance
127
-
128
- ## Project Hierarchy
129
-
130
- Task Trellis supports a flexible 4-level hierarchy:
131
-
132
- ```
133
- Project (Top-level container)
134
- └── Epic (Large feature groupings)
135
- └── Feature (Specific functionality)
136
- └── Task (Individual work items)
137
- ```
138
-
139
- ## Prerequisites & Dependencies
140
-
141
- Tasks can have prerequisites that must be completed before they become available:
142
-
143
- ```typescript
144
- {
145
- "type": "task",
146
- "title": "Deploy authentication system",
147
- "prerequisites": ["T-user-registration", "T-login-system", "T-email-verification"]
148
- }
149
- ```
150
-
151
- ## File Storage
152
-
153
- Task Trellis uses a local file-based storage system with different hierarchy patterns:
154
-
155
- ### Full Project Hierarchy
156
-
157
- ```
158
- your-project/
159
- └── .trellis/
160
- └── p/
161
- └── P-project-id/
162
- └── e/
163
- └── E-epic-id/
164
- └── f/
165
- └── F-feature-id/
166
- └── t/
167
- ├── open/
168
- │ └── T-task-id.md
169
- └── closed/
170
- └── T-completed-task-id.md
171
- ```
172
-
173
- ### Epic-Only Hierarchy
174
-
175
- ```
176
- your-project/
177
- └── .trellis/
178
- └── e/
179
- └── E-epic-id/
180
- └── f/
181
- └── F-feature-id/
182
- └── t/
183
- ├── open/
184
- │ └── T-task-id.md
185
- └── closed/
186
- └── T-completed-task-id.md
187
- ```
188
-
189
- ### Feature-Only Hierarchy
190
-
191
- ```
192
- your-project/
193
- └── .trellis/
194
- └── f/
195
- └── F-feature-id/
196
- └── t/
197
- ├── open/
198
- │ └── T-task-id.md
199
- └── closed/
200
- └── T-completed-task-id.md
201
- ```
202
-
203
- ### Standalone Tasks
204
-
205
- ```
206
- your-project/
207
- └── .trellis/
208
- └── t/
209
- ├── open/
210
- │ └── T-task-id.md
211
- └── closed/
212
- └── T-completed-task-id.md
213
- ```
214
-
215
- Each object is stored as a Markdown file with YAML frontmatter metadata and content body.
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
352
-
353
- For any MCP-compatible client, use this configuration:
354
-
355
- ```json
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
- ```
130
+ - **prune_closed** - Clean up old completed/cancelled issues for maintenance
410
131
 
411
132
  ## Troubleshooting
412
133
 
413
134
  ### Common Issues
414
135
 
415
- **Tasks not appearing:**
416
-
417
- - Ensure prerequisites are completed
418
- - Check task status (should be 'open' or 'draft')
419
- - Verify project scope configuration
420
-
421
136
  **Configuration issues:**
422
137
 
423
138
  - Validate JSON syntax in MCP client configuration
@@ -427,8 +142,7 @@ The Task Trellis MCP server supports these command-line options:
427
142
  ### Getting Help
428
143
 
429
144
  - **Issues**: [Report bugs or feature requests](https://github.com/langadventurellc/task-trellis-mcp/issues)
430
- - **Documentation**: Check this README and inline tool descriptions
431
- - **Community**: Share experiences and get help from other users
145
+ - **Documentation**: Check this README and [docs](docs/index.md)
432
146
 
433
147
  ## License
434
148
 
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=autoPrune.e2e.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autoPrune.e2e.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/e2e/autoPrune.e2e.test.ts"],"names":[],"mappings":""}