@langadventurellc/task-trellis-mcp 1.0.0 → 1.1.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.
Files changed (218) hide show
  1. package/README.md +58 -22
  2. package/dist/__tests__/e2e/crud/createObject.e2e.test.js +64 -12
  3. package/dist/__tests__/e2e/crud/createObject.e2e.test.js.map +1 -1
  4. package/dist/__tests__/e2e/crud/listObjects.e2e.test.js +260 -90
  5. package/dist/__tests__/e2e/crud/listObjects.e2e.test.js.map +1 -1
  6. package/dist/__tests__/e2e/utils/extractObjectIds.d.ts +5 -0
  7. package/dist/__tests__/e2e/utils/extractObjectIds.d.ts.map +1 -0
  8. package/dist/__tests__/e2e/utils/extractObjectIds.js +12 -0
  9. package/dist/__tests__/e2e/utils/extractObjectIds.js.map +1 -0
  10. package/dist/__tests__/e2e/utils/index.d.ts +1 -0
  11. package/dist/__tests__/e2e/utils/index.d.ts.map +1 -1
  12. package/dist/__tests__/e2e/utils/index.js +3 -1
  13. package/dist/__tests__/e2e/utils/index.js.map +1 -1
  14. package/dist/__tests__/e2e/utils/mcpTestClient.d.ts +2 -1
  15. package/dist/__tests__/e2e/utils/mcpTestClient.d.ts.map +1 -1
  16. package/dist/__tests__/e2e/utils/mcpTestClient.js +14 -8
  17. package/dist/__tests__/e2e/utils/mcpTestClient.js.map +1 -1
  18. package/dist/__tests__/e2e/utils/parseListObjectsResponse.d.ts +3 -1
  19. package/dist/__tests__/e2e/utils/parseListObjectsResponse.d.ts.map +1 -1
  20. package/dist/__tests__/e2e/utils/parseListObjectsResponse.js +1 -0
  21. package/dist/__tests__/e2e/utils/parseListObjectsResponse.js.map +1 -1
  22. package/dist/__tests__/e2e/workflow/appendModifiedFiles.e2e.test.d.ts +2 -0
  23. package/dist/__tests__/e2e/workflow/appendModifiedFiles.e2e.test.d.ts.map +1 -0
  24. package/dist/__tests__/e2e/workflow/appendModifiedFiles.e2e.test.js +597 -0
  25. package/dist/__tests__/e2e/workflow/appendModifiedFiles.e2e.test.js.map +1 -0
  26. package/dist/__tests__/e2e/workflow/claimTask.e2e.test.js +189 -0
  27. package/dist/__tests__/e2e/workflow/claimTask.e2e.test.js.map +1 -1
  28. package/dist/__tests__/e2e/workflow/completeTask.e2e.test.js +446 -0
  29. package/dist/__tests__/e2e/workflow/completeTask.e2e.test.js.map +1 -1
  30. package/dist/__tests__/e2e/workflow/taskLifecycle.e2e.test.js +3 -7
  31. package/dist/__tests__/e2e/workflow/taskLifecycle.e2e.test.js.map +1 -1
  32. package/dist/configuration/ServerConfig.d.ts +1 -0
  33. package/dist/configuration/ServerConfig.d.ts.map +1 -1
  34. package/dist/models/TrellisObjectSummary.d.ts +16 -0
  35. package/dist/models/TrellisObjectSummary.d.ts.map +1 -0
  36. package/dist/models/TrellisObjectSummary.js +3 -0
  37. package/dist/models/TrellisObjectSummary.js.map +1 -0
  38. package/dist/models/__tests__/isClaimable.test.js +5 -66
  39. package/dist/models/__tests__/isClaimable.test.js.map +1 -1
  40. package/dist/models/index.d.ts +1 -0
  41. package/dist/models/index.d.ts.map +1 -1
  42. package/dist/models/index.js.map +1 -1
  43. package/dist/models/isClaimable.d.ts +2 -2
  44. package/dist/models/isClaimable.d.ts.map +1 -1
  45. package/dist/models/isClaimable.js +3 -4
  46. package/dist/models/isClaimable.js.map +1 -1
  47. package/dist/repositories/local/__tests__/getObjectFilePath.test.js +9 -6
  48. package/dist/repositories/local/__tests__/getObjectFilePath.test.js.map +1 -1
  49. package/dist/repositories/local/__tests__/getObjects.test.js +40 -10
  50. package/dist/repositories/local/__tests__/getObjects.test.js.map +1 -1
  51. package/dist/repositories/local/deleteObjectById.d.ts.map +1 -1
  52. package/dist/repositories/local/deleteObjectById.js +1 -0
  53. package/dist/repositories/local/deleteObjectById.js.map +1 -1
  54. package/dist/repositories/local/getObjectFilePath.d.ts.map +1 -1
  55. package/dist/repositories/local/getObjectFilePath.js +8 -4
  56. package/dist/repositories/local/getObjectFilePath.js.map +1 -1
  57. package/dist/repositories/local/getObjects.d.ts.map +1 -1
  58. package/dist/repositories/local/getObjects.js +6 -1
  59. package/dist/repositories/local/getObjects.js.map +1 -1
  60. package/dist/server.js +23 -9
  61. package/dist/server.js.map +1 -1
  62. package/dist/services/TaskTrellisService.d.ts +87 -0
  63. package/dist/services/TaskTrellisService.d.ts.map +1 -0
  64. package/dist/services/TaskTrellisService.js +3 -0
  65. package/dist/services/TaskTrellisService.js.map +1 -0
  66. package/dist/services/local/LocalTaskTrellisService.d.ts +61 -0
  67. package/dist/services/local/LocalTaskTrellisService.d.ts.map +1 -0
  68. package/dist/services/local/LocalTaskTrellisService.js +77 -0
  69. package/dist/services/local/LocalTaskTrellisService.js.map +1 -0
  70. package/dist/services/local/__tests__/appendAffectedFiles.test.d.ts +2 -0
  71. package/dist/services/local/__tests__/appendAffectedFiles.test.d.ts.map +1 -0
  72. package/dist/services/local/__tests__/appendAffectedFiles.test.js +202 -0
  73. package/dist/services/local/__tests__/appendAffectedFiles.test.js.map +1 -0
  74. package/dist/services/local/__tests__/appendModifiedFiles.test.d.ts +2 -0
  75. package/dist/services/local/__tests__/appendModifiedFiles.test.d.ts.map +1 -0
  76. package/dist/services/local/__tests__/appendModifiedFiles.test.js +161 -0
  77. package/dist/services/local/__tests__/appendModifiedFiles.test.js.map +1 -0
  78. package/dist/services/local/__tests__/appendObjectLog.test.d.ts +2 -0
  79. package/dist/services/local/__tests__/appendObjectLog.test.d.ts.map +1 -0
  80. package/dist/services/local/__tests__/appendObjectLog.test.js +104 -0
  81. package/dist/services/local/__tests__/appendObjectLog.test.js.map +1 -0
  82. package/dist/services/local/__tests__/claimTask.test.d.ts +2 -0
  83. package/dist/services/local/__tests__/claimTask.test.d.ts.map +1 -0
  84. package/dist/services/local/__tests__/claimTask.test.js +463 -0
  85. package/dist/services/local/__tests__/claimTask.test.js.map +1 -0
  86. package/dist/services/local/__tests__/completeTask.test.d.ts +2 -0
  87. package/dist/services/local/__tests__/completeTask.test.d.ts.map +1 -0
  88. package/dist/services/local/__tests__/completeTask.test.js +468 -0
  89. package/dist/services/local/__tests__/completeTask.test.js.map +1 -0
  90. package/dist/services/local/__tests__/createObject.test.d.ts +2 -0
  91. package/dist/services/local/__tests__/createObject.test.d.ts.map +1 -0
  92. package/dist/services/local/__tests__/createObject.test.js +332 -0
  93. package/dist/services/local/__tests__/createObject.test.js.map +1 -0
  94. package/dist/services/local/__tests__/listObjects.test.d.ts +2 -0
  95. package/dist/services/local/__tests__/listObjects.test.d.ts.map +1 -0
  96. package/dist/services/local/__tests__/listObjects.test.js +226 -0
  97. package/dist/services/local/__tests__/listObjects.test.js.map +1 -0
  98. package/dist/services/local/__tests__/pruneClosed.test.d.ts +2 -0
  99. package/dist/services/local/__tests__/pruneClosed.test.d.ts.map +1 -0
  100. package/dist/services/local/__tests__/pruneClosed.test.js +213 -0
  101. package/dist/services/local/__tests__/pruneClosed.test.js.map +1 -0
  102. package/dist/services/local/__tests__/replaceObjectBodyRegex.test.d.ts +2 -0
  103. package/dist/services/local/__tests__/replaceObjectBodyRegex.test.d.ts.map +1 -0
  104. package/dist/services/local/__tests__/replaceObjectBodyRegex.test.js +283 -0
  105. package/dist/services/local/__tests__/replaceObjectBodyRegex.test.js.map +1 -0
  106. package/dist/services/local/__tests__/updateObject.test.d.ts +2 -0
  107. package/dist/services/local/__tests__/updateObject.test.d.ts.map +1 -0
  108. package/dist/services/local/__tests__/updateObject.test.js +314 -0
  109. package/dist/services/local/__tests__/updateObject.test.js.map +1 -0
  110. package/dist/services/local/appendAffectedFiles.d.ts +12 -0
  111. package/dist/services/local/appendAffectedFiles.d.ts.map +1 -0
  112. package/dist/services/local/appendAffectedFiles.js +34 -0
  113. package/dist/services/local/appendAffectedFiles.js.map +1 -0
  114. package/dist/services/local/appendModifiedFiles.d.ts +15 -0
  115. package/dist/services/local/appendModifiedFiles.d.ts.map +1 -0
  116. package/dist/services/local/appendModifiedFiles.js +39 -0
  117. package/dist/services/local/appendModifiedFiles.js.map +1 -0
  118. package/dist/services/local/appendObjectLog.d.ts +8 -0
  119. package/dist/services/local/appendObjectLog.d.ts.map +1 -0
  120. package/dist/services/local/appendObjectLog.js +45 -0
  121. package/dist/services/local/appendObjectLog.js.map +1 -0
  122. package/dist/services/local/claimTask.d.ts +8 -0
  123. package/dist/services/local/claimTask.d.ts.map +1 -0
  124. package/dist/services/local/claimTask.js +118 -0
  125. package/dist/services/local/claimTask.js.map +1 -0
  126. package/dist/services/local/completeTask.d.ts +9 -0
  127. package/dist/services/local/completeTask.d.ts.map +1 -0
  128. package/dist/services/local/completeTask.js +74 -0
  129. package/dist/services/local/completeTask.js.map +1 -0
  130. package/dist/services/local/createObject.d.ts +9 -0
  131. package/dist/services/local/createObject.d.ts.map +1 -0
  132. package/dist/services/local/createObject.js +44 -0
  133. package/dist/services/local/createObject.js.map +1 -0
  134. package/dist/services/local/listObjects.d.ts +9 -0
  135. package/dist/services/local/listObjects.d.ts.map +1 -0
  136. package/dist/services/local/listObjects.js +43 -0
  137. package/dist/services/local/listObjects.js.map +1 -0
  138. package/dist/services/local/pruneClosed.d.ts +8 -0
  139. package/dist/services/local/pruneClosed.d.ts.map +1 -0
  140. package/dist/services/local/pruneClosed.js +55 -0
  141. package/dist/services/local/pruneClosed.js.map +1 -0
  142. package/dist/services/local/replaceObjectBodyRegex.d.ts +8 -0
  143. package/dist/services/local/replaceObjectBodyRegex.d.ts.map +1 -0
  144. package/dist/services/local/replaceObjectBodyRegex.js +85 -0
  145. package/dist/services/local/replaceObjectBodyRegex.js.map +1 -0
  146. package/dist/services/local/updateObject.d.ts +9 -0
  147. package/dist/services/local/updateObject.d.ts.map +1 -0
  148. package/dist/services/local/updateObject.js +53 -0
  149. package/dist/services/local/updateObject.js.map +1 -0
  150. package/dist/tools/__tests__/appendModifiedFilesTool.test.d.ts +2 -0
  151. package/dist/tools/__tests__/appendModifiedFilesTool.test.d.ts.map +1 -0
  152. package/dist/tools/__tests__/appendModifiedFilesTool.test.js +177 -0
  153. package/dist/tools/__tests__/appendModifiedFilesTool.test.js.map +1 -0
  154. package/dist/tools/__tests__/appendObjectLogTool.test.js +33 -101
  155. package/dist/tools/__tests__/appendObjectLogTool.test.js.map +1 -1
  156. package/dist/tools/__tests__/claimTaskTool.test.js +98 -326
  157. package/dist/tools/__tests__/claimTaskTool.test.js.map +1 -1
  158. package/dist/tools/__tests__/completeTaskTool.test.js +134 -184
  159. package/dist/tools/__tests__/completeTaskTool.test.js.map +1 -1
  160. package/dist/tools/__tests__/createObjectTool.test.js +61 -325
  161. package/dist/tools/__tests__/createObjectTool.test.js.map +1 -1
  162. package/dist/tools/__tests__/listObjectsTool.test.js +70 -109
  163. package/dist/tools/__tests__/listObjectsTool.test.js.map +1 -1
  164. package/dist/tools/__tests__/pruneClosedTool.test.js +87 -146
  165. package/dist/tools/__tests__/pruneClosedTool.test.js.map +1 -1
  166. package/dist/tools/__tests__/replaceObjectBodyRegexTool.test.js +56 -225
  167. package/dist/tools/__tests__/replaceObjectBodyRegexTool.test.js.map +1 -1
  168. package/dist/tools/__tests__/updateObjectTool.test.js +48 -166
  169. package/dist/tools/__tests__/updateObjectTool.test.js.map +1 -1
  170. package/dist/tools/appendModifiedFilesTool.d.ts +30 -0
  171. package/dist/tools/appendModifiedFilesTool.d.ts.map +1 -0
  172. package/dist/tools/appendModifiedFilesTool.js +55 -0
  173. package/dist/tools/appendModifiedFilesTool.js.map +1 -0
  174. package/dist/tools/appendObjectLogTool.d.ts +4 -3
  175. package/dist/tools/appendObjectLogTool.d.ts.map +1 -1
  176. package/dist/tools/appendObjectLogTool.js +2 -40
  177. package/dist/tools/appendObjectLogTool.js.map +1 -1
  178. package/dist/tools/claimTaskTool.d.ts +4 -3
  179. package/dist/tools/claimTaskTool.d.ts.map +1 -1
  180. package/dist/tools/claimTaskTool.js +2 -80
  181. package/dist/tools/claimTaskTool.js.map +1 -1
  182. package/dist/tools/completeTaskTool.d.ts +5 -3
  183. package/dist/tools/completeTaskTool.d.ts.map +1 -1
  184. package/dist/tools/completeTaskTool.js +3 -29
  185. package/dist/tools/completeTaskTool.js.map +1 -1
  186. package/dist/tools/createObjectTool.d.ts +7 -6
  187. package/dist/tools/createObjectTool.d.ts.map +1 -1
  188. package/dist/tools/createObjectTool.js +11 -44
  189. package/dist/tools/createObjectTool.js.map +1 -1
  190. package/dist/tools/index.d.ts +1 -0
  191. package/dist/tools/index.d.ts.map +1 -1
  192. package/dist/tools/index.js +4 -1
  193. package/dist/tools/index.js.map +1 -1
  194. package/dist/tools/listObjectsTool.d.ts +5 -4
  195. package/dist/tools/listObjectsTool.d.ts.map +1 -1
  196. package/dist/tools/listObjectsTool.js +5 -13
  197. package/dist/tools/listObjectsTool.js.map +1 -1
  198. package/dist/tools/pruneClosedTool.d.ts +4 -3
  199. package/dist/tools/pruneClosedTool.d.ts.map +1 -1
  200. package/dist/tools/pruneClosedTool.js +2 -51
  201. package/dist/tools/pruneClosedTool.js.map +1 -1
  202. package/dist/tools/replaceObjectBodyRegexTool.d.ts +4 -3
  203. package/dist/tools/replaceObjectBodyRegexTool.d.ts.map +1 -1
  204. package/dist/tools/replaceObjectBodyRegexTool.js +2 -80
  205. package/dist/tools/replaceObjectBodyRegexTool.js.map +1 -1
  206. package/dist/tools/updateObjectTool.d.ts +5 -4
  207. package/dist/tools/updateObjectTool.d.ts.map +1 -1
  208. package/dist/tools/updateObjectTool.js +3 -49
  209. package/dist/tools/updateObjectTool.js.map +1 -1
  210. package/dist/utils/__tests__/filterUnavailableObjects.test.js +4 -6
  211. package/dist/utils/__tests__/filterUnavailableObjects.test.js.map +1 -1
  212. package/dist/validation/__tests__/validateParentType.test.js +5 -5
  213. package/dist/validation/__tests__/validateParentType.test.js.map +1 -1
  214. package/dist/validation/validateParentType.d.ts +1 -1
  215. package/dist/validation/validateParentType.d.ts.map +1 -1
  216. package/dist/validation/validateParentType.js +2 -5
  217. package/dist/validation/validateParentType.js.map +1 -1
  218. package/package.json +1 -1
package/README.md CHANGED
@@ -1,11 +1,13 @@
1
1
  # Task Trellis MCP
2
2
 
3
- > Transform AI coding chaos into organized productivity
4
-
5
3
  [![npm version](https://badge.fury.io/js/%40langadventurellc%2Ftask-trellis-mcp.svg)](https://www.npmjs.com/package/@langadventurellc/task-trellis-mcp)
6
4
  [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
7
5
 
8
- An MCP (Model Context Protocol) server that greatly improves how AI coding agents handle complex projects. Task Trellis breaks down large development efforts into manageable, trackable work items with built-in workflow management, dependency handling, and progress tracking.
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.
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.
9
+
10
+ It's kinda like Jira specifically for coding agents.
9
11
 
10
12
  ## Table of Contents
11
13
 
@@ -21,6 +23,22 @@ An MCP (Model Context Protocol) server that greatly improves how AI coding agent
21
23
  - [Configuration Options](#configuration-options)
22
24
  - [Troubleshooting](#troubleshooting)
23
25
 
26
+ ## At a Glance
27
+
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.
37
+
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.
39
+
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.
41
+
24
42
  ## Why Task Trellis?
25
43
 
26
44
  ### Without Task Trellis
@@ -62,21 +80,22 @@ An MCP (Model Context Protocol) server that greatly improves how AI coding agent
62
80
  See sample prompts (written as Claude Code slash commands): [Sample Prompts](docs/sample_prompts/index.md)
63
81
 
64
82
  1. **Create Tasks**
65
- - For large projects
66
- - Create a project
67
- - Create epics to group features
68
- - Create features to break down epics
69
- - Create tasks for specific work items
70
- - For medium-sized projects
71
- - Create standalone feature
72
- - Create tasks directly under the feature
73
- - For small tasks
74
- - Create standalone tasks
83
+ - Determine your starting point based on the expected size of your project
84
+ - **Project** - For sprawling initiatives with many moving parts
85
+ - **Epic** - For large feature groupings
86
+ - **Feature** - For specific functionality
87
+ - **Task** - For individual work items
75
88
 
76
89
  2. **Claim & Work on Tasks**
77
90
  - AI agent claims next available task
91
+ - Excludes tasks that have incomplete prerequisites
92
+ - Grabs the next highest priority available task
93
+ - Mark a task as `draft` if you don't want it to be worked on yet - it won't be claimed when the tool looks for the next available task
78
94
  - Works on the specific task requirements
79
95
  - Marks task complete with file changes documented
96
+ - Automatically tracks which files were modified
97
+ - Logs summary of changes made
98
+ - Work done in the future could reference this to better understand the current state of the project
80
99
 
81
100
  3. **Track Progress**
82
101
  - View completed vs. pending work
@@ -90,15 +109,16 @@ See sample prompts (written as Claude Code slash commands): [Sample Prompts](doc
90
109
  - **create_object** - Create projects, epics, features, or tasks with hierarchical relationships
91
110
  - **update_object** - Modify object properties, status, priority, or prerequisites
92
111
  - **get_object** - Retrieve detailed object information with history and relationships
93
- - **list_objects** - Query and filter objects by type, status, priority, or scope
112
+ - **list_objects** - Query and filter objects by type, status, priority, or scope (returns object summaries)
94
113
  - **delete_object** - Remove objects (with dependency validation)
95
- - **replace_object_body_regex** - Make targeted content edits using regex patterns
114
+ - **replace_object_body_regex** - Make targeted body content edits using regex patterns
96
115
 
97
116
  ### Task Workflow Management
98
117
 
99
118
  - **claim_task** - Claim available tasks for execution with automatic priority ordering
100
119
  - **complete_task** - Mark tasks complete with file change documentation
101
- - **append_object_log** - Add progress notes and status updates to task history
120
+ - **append_object_log** - Add progress notes and status updates to task history (occurs automatically on task completion)
121
+ - **append_modified_files** - Record files modified during task execution with change descriptions (occurs automatically on task completion)
102
122
 
103
123
  ### System Management
104
124
 
@@ -116,12 +136,6 @@ Project (Top-level container)
116
136
  └── Task (Individual work items)
117
137
  ```
118
138
 
119
- **Supported Patterns:**
120
-
121
- - Full hierarchy: `Project → Epic → Feature → Task`
122
- - Simplified: `Feature → Task`
123
- - Standalone: `Task` only
124
-
125
139
  ## Prerequisites & Dependencies
126
140
 
127
141
  Tasks can have prerequisites that must be completed before they become available:
@@ -156,6 +170,22 @@ your-project/
156
170
  └── T-completed-task-id.md
157
171
  ```
158
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
+
159
189
  ### Feature-Only Hierarchy
160
190
 
161
191
  ```
@@ -186,6 +216,12 @@ Each object is stored as a Markdown file with YAML frontmatter metadata and cont
186
216
 
187
217
  ## Installation
188
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
+
189
225
  ### Claude Code
190
226
 
191
227
  The easiest way to install Task Trellis MCP in Claude Code:
@@ -31,7 +31,7 @@ describe("E2E CRUD - createObject", () => {
31
31
  const file = await (0, utils_1.readObjectFile)(testEnv.projectRoot, "p/P-test-project/P-test-project.md");
32
32
  expect(file.yaml.id).toBe("P-test-project");
33
33
  expect(file.yaml.title).toBe("Test Project");
34
- expect(file.yaml.status).toBe("draft");
34
+ expect(file.yaml.status).toBe("open");
35
35
  expect(file.yaml.priority).toBe("medium");
36
36
  expect(file.yaml.parent).toBeUndefined();
37
37
  expect(file.yaml.prerequisites).toEqual([]);
@@ -91,17 +91,19 @@ describe("E2E CRUD - createObject", () => {
91
91
  expect(file.yaml.parent).toBe(projectId);
92
92
  expect(file.body).toBe("Epic description");
93
93
  });
94
- it("should reject epic without parent", async () => {
95
- try {
96
- await client.callTool("create_object", {
97
- type: "epic",
98
- title: "Orphan Epic",
99
- });
100
- fail("Expected error to be thrown");
101
- }
102
- catch (error) {
103
- expect(error.message).toContain("Epics must have a project as a parent");
104
- }
94
+ it("should create standalone epic", async () => {
95
+ const result = await client.callTool("create_object", {
96
+ type: "epic",
97
+ title: "Standalone Epic",
98
+ priority: "high",
99
+ description: "Epic without parent project",
100
+ });
101
+ expect(result.content[0].text).toContain("E-standalone-epic");
102
+ const file = await (0, utils_1.readObjectFile)(testEnv.projectRoot, "e/E-standalone-epic/E-standalone-epic.md");
103
+ expect(file.yaml.id).toBe("E-standalone-epic");
104
+ expect(file.yaml.parent).toBeUndefined();
105
+ expect(file.yaml.priority).toBe("high");
106
+ expect(file.body).toBe("Epic without parent project");
105
107
  });
106
108
  it("should reject epic with non-project parent", async () => {
107
109
  try {
@@ -182,6 +184,56 @@ describe("E2E CRUD - createObject", () => {
182
184
  }
183
185
  });
184
186
  });
187
+ describe("Standalone Epic Hierarchy", () => {
188
+ it("should create epic → feature → task hierarchy in e/ folder", async () => {
189
+ // Create standalone epic
190
+ const epicResult = await client.callTool("create_object", {
191
+ type: "epic",
192
+ title: "Standalone Epic for Hierarchy",
193
+ description: "Testing epic without project parent",
194
+ });
195
+ const epicId = epicResult.content[0].text.match(/ID: (E-[a-z-]+)/)[1];
196
+ // Create feature under standalone epic
197
+ const featureResult = await client.callTool("create_object", {
198
+ type: "feature",
199
+ title: "Feature Under Standalone Epic",
200
+ parent: epicId,
201
+ status: "in-progress",
202
+ });
203
+ const featureId = featureResult.content[0].text.match(/ID: (F-[a-z-]+)/)[1];
204
+ // Create task under feature
205
+ const taskResult = await client.callTool("create_object", {
206
+ type: "task",
207
+ title: "Task in Epic Hierarchy",
208
+ parent: featureId,
209
+ status: "open",
210
+ priority: "high",
211
+ prerequisites: [epicId],
212
+ description: "Task under feature under standalone epic",
213
+ });
214
+ const taskId = taskResult.content[0].text.match(/ID: (T-[a-z-]+)/)[1];
215
+ // Verify epic file in e/ directory
216
+ expect(await (0, utils_1.fileExists)(testEnv.projectRoot, `e/${epicId}/${epicId}.md`)).toBe(true);
217
+ // Verify feature file under epic
218
+ expect(await (0, utils_1.fileExists)(testEnv.projectRoot, `e/${epicId}/f/${featureId}/${featureId}.md`)).toBe(true);
219
+ // Verify task file under feature
220
+ expect(await (0, utils_1.fileExists)(testEnv.projectRoot, `e/${epicId}/f/${featureId}/t/open/${taskId}.md`)).toBe(true);
221
+ // Verify epic content
222
+ const epicFile = await (0, utils_1.readObjectFile)(testEnv.projectRoot, `e/${epicId}/${epicId}.md`);
223
+ expect(epicFile.yaml.parent).toBeUndefined();
224
+ expect(epicFile.body).toBe("Testing epic without project parent");
225
+ // Verify feature content
226
+ const featureFile = await (0, utils_1.readObjectFile)(testEnv.projectRoot, `e/${epicId}/f/${featureId}/${featureId}.md`);
227
+ expect(featureFile.yaml.parent).toBe(epicId);
228
+ expect(featureFile.yaml.status).toBe("in-progress");
229
+ // Verify task content
230
+ const taskFile = await (0, utils_1.readObjectFile)(testEnv.projectRoot, `e/${epicId}/f/${featureId}/t/open/${taskId}.md`);
231
+ expect(taskFile.yaml.parent).toBe(featureId);
232
+ expect(taskFile.yaml.prerequisites).toEqual([epicId]);
233
+ expect(taskFile.yaml.priority).toBe("high");
234
+ expect(taskFile.body).toBe("Task under feature under standalone epic");
235
+ });
236
+ });
185
237
  describe("Task Creation", () => {
186
238
  let featureId;
187
239
  beforeEach(async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"createObject.e2e.test.js","sourceRoot":"","sources":["../../../../src/__tests__/e2e/crud/createObject.e2e.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createObject.e2e.test.js","sourceRoot":"","sources":["../../../../src/__tests__/e2e/crud/createObject.e2e.test.ts"],"names":[],"mappings":"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"}