@shepai/cli 1.44.1 → 1.45.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 (185) hide show
  1. package/apis/json-schema/AcceptanceCriteria.yaml +16 -0
  2. package/apis/json-schema/ActionItem.yaml +32 -0
  3. package/apis/json-schema/AgentAuthMethod.yaml +7 -0
  4. package/apis/json-schema/AgentConfig.yaml +19 -0
  5. package/apis/json-schema/AgentDefinition.yaml +14 -0
  6. package/apis/json-schema/AgentFeature.yaml +10 -0
  7. package/apis/json-schema/AgentInstance.yaml +23 -0
  8. package/apis/json-schema/AgentRun.yaml +63 -0
  9. package/apis/json-schema/AgentRunEvent.yaml +25 -0
  10. package/apis/json-schema/AgentRunStatus.yaml +12 -0
  11. package/apis/json-schema/AgentStatus.yaml +9 -0
  12. package/apis/json-schema/AgentType.yaml +10 -0
  13. package/apis/json-schema/ApprovalGates.yaml +18 -0
  14. package/apis/json-schema/Artifact.yaml +36 -0
  15. package/apis/json-schema/ArtifactCategory.yaml +9 -0
  16. package/apis/json-schema/ArtifactFormat.yaml +9 -0
  17. package/apis/json-schema/ArtifactState.yaml +8 -0
  18. package/apis/json-schema/AskRequest.yaml +10 -0
  19. package/apis/json-schema/AskResponse.yaml +14 -0
  20. package/apis/json-schema/AuditableEntity.yaml +13 -0
  21. package/apis/json-schema/BaseEntity.yaml +20 -0
  22. package/apis/json-schema/CiStatus.yaml +8 -0
  23. package/apis/json-schema/DeployMethod.yaml +10 -0
  24. package/apis/json-schema/DeploySkill.yaml +29 -0
  25. package/apis/json-schema/DeployTarget.yaml +10 -0
  26. package/apis/json-schema/DeployTargetActionItem.yaml +15 -0
  27. package/apis/json-schema/DeployTargetTask.yaml +15 -0
  28. package/apis/json-schema/DeployTargetTasks.yaml +17 -0
  29. package/apis/json-schema/Deployment.yaml +33 -0
  30. package/apis/json-schema/DeploymentState.yaml +8 -0
  31. package/apis/json-schema/EditorType.yaml +10 -0
  32. package/apis/json-schema/EnvironmentConfig.yaml +16 -0
  33. package/apis/json-schema/Feature.yaml +77 -0
  34. package/apis/json-schema/FeatureAgent.yaml +29 -0
  35. package/apis/json-schema/FeatureAgentState.yaml +11 -0
  36. package/apis/json-schema/FeatureArtifact.yaml +35 -0
  37. package/apis/json-schema/FeatureCheckpoint.yaml +18 -0
  38. package/apis/json-schema/FeatureErrors.yaml +15 -0
  39. package/apis/json-schema/FeatureIdentity.yaml +32 -0
  40. package/apis/json-schema/FeatureSpec.yaml +30 -0
  41. package/apis/json-schema/FeatureStatus.yaml +40 -0
  42. package/apis/json-schema/FeatureStatusInfo.yaml +30 -0
  43. package/apis/json-schema/FeatureStatusProgress.yaml +24 -0
  44. package/apis/json-schema/FeatureTaskTracking.yaml +21 -0
  45. package/apis/json-schema/FeatureValidation.yaml +21 -0
  46. package/apis/json-schema/GanttTask.yaml +34 -0
  47. package/apis/json-schema/GanttViewData.yaml +22 -0
  48. package/apis/json-schema/InstallationSuggestion.yaml +21 -0
  49. package/apis/json-schema/LocalDeployAgent.yaml +18 -0
  50. package/apis/json-schema/Message.yaml +29 -0
  51. package/apis/json-schema/MessageRole.yaml +7 -0
  52. package/apis/json-schema/ModelConfiguration.yaml +26 -0
  53. package/apis/json-schema/NotificationChannelConfig.yaml +11 -0
  54. package/apis/json-schema/NotificationEvent.yaml +34 -0
  55. package/apis/json-schema/NotificationEventConfig.yaml +31 -0
  56. package/apis/json-schema/NotificationEventType.yaml +10 -0
  57. package/apis/json-schema/NotificationPreferences.yaml +22 -0
  58. package/apis/json-schema/NotificationSeverity.yaml +9 -0
  59. package/apis/json-schema/OpenQuestion.yaml +25 -0
  60. package/apis/json-schema/PhaseTiming.yaml +35 -0
  61. package/apis/json-schema/Plan.yaml +37 -0
  62. package/apis/json-schema/PlanPhase.yaml +26 -0
  63. package/apis/json-schema/PlanSpec.yaml +26 -0
  64. package/apis/json-schema/PlanState.yaml +8 -0
  65. package/apis/json-schema/PortMap.yaml +19 -0
  66. package/apis/json-schema/PortProtocol.yaml +7 -0
  67. package/apis/json-schema/PrStatus.yaml +8 -0
  68. package/apis/json-schema/PrdApprovalPayload.yaml +15 -0
  69. package/apis/json-schema/PrdFinalAction.yaml +18 -0
  70. package/apis/json-schema/PrdOption.yaml +24 -0
  71. package/apis/json-schema/PrdQuestion.yaml +25 -0
  72. package/apis/json-schema/PrdQuestionnaireData.yaml +24 -0
  73. package/apis/json-schema/PrdRejectionPayload.yaml +20 -0
  74. package/apis/json-schema/PrdReviewResult.yaml +19 -0
  75. package/apis/json-schema/PullRequest.yaml +26 -0
  76. package/apis/json-schema/QuestionOption.yaml +18 -0
  77. package/apis/json-schema/QuestionSelectionChange.yaml +14 -0
  78. package/apis/json-schema/RejectionFeedbackEntry.yaml +21 -0
  79. package/apis/json-schema/Requirement.yaml +26 -0
  80. package/apis/json-schema/RequirementType.yaml +7 -0
  81. package/apis/json-schema/Research.yaml +26 -0
  82. package/apis/json-schema/ResearchArtifact.yaml +14 -0
  83. package/apis/json-schema/ResearchSpec.yaml +14 -0
  84. package/apis/json-schema/ResearchState.yaml +8 -0
  85. package/apis/json-schema/ReviewQuestion.yaml +24 -0
  86. package/apis/json-schema/SdlcLifecycle.yaml +13 -0
  87. package/apis/json-schema/Settings.yaml +36 -0
  88. package/apis/json-schema/SoftDeletableEntity.yaml +11 -0
  89. package/apis/json-schema/SpecArtifactBase.yaml +44 -0
  90. package/apis/json-schema/SpecTask.yaml +45 -0
  91. package/apis/json-schema/SystemConfig.yaml +16 -0
  92. package/apis/json-schema/Task.yaml +38 -0
  93. package/apis/json-schema/TaskState.yaml +9 -0
  94. package/apis/json-schema/TasksArtifact.yaml +18 -0
  95. package/apis/json-schema/TasksSpec.yaml +18 -0
  96. package/apis/json-schema/TddCycle.yaml +24 -0
  97. package/apis/json-schema/TechDecision.yaml +24 -0
  98. package/apis/json-schema/TechnicalPlanArtifact.yaml +26 -0
  99. package/apis/json-schema/TimelineEvent.yaml +17 -0
  100. package/apis/json-schema/Tool.yaml +23 -0
  101. package/apis/json-schema/ToolInstallCommand.yaml +28 -0
  102. package/apis/json-schema/ToolInstallationStatus.yaml +28 -0
  103. package/apis/json-schema/ToolType.yaml +12 -0
  104. package/apis/json-schema/UUID.yaml +4 -0
  105. package/apis/json-schema/UserProfile.yaml +14 -0
  106. package/apis/json-schema/WorkflowConfig.yaml +31 -0
  107. package/apis/openapi/openapi.yaml +7 -0
  108. package/dist/packages/core/src/application/ports/output/services/worktree-service.interface.d.ts +8 -0
  109. package/dist/packages/core/src/application/ports/output/services/worktree-service.interface.d.ts.map +1 -1
  110. package/dist/packages/core/src/application/use-cases/features/create/slug-resolver.d.ts.map +1 -1
  111. package/dist/packages/core/src/application/use-cases/features/create/slug-resolver.js +3 -2
  112. package/dist/packages/core/src/domain/factories/spec-yaml-parser.d.ts.map +1 -1
  113. package/dist/packages/core/src/domain/factories/spec-yaml-parser.js +16 -4
  114. package/dist/packages/core/src/infrastructure/services/git/worktree.service.d.ts +1 -0
  115. package/dist/packages/core/src/infrastructure/services/git/worktree.service.d.ts.map +1 -1
  116. package/dist/packages/core/src/infrastructure/services/git/worktree.service.js +11 -0
  117. package/dist/src/presentation/cli/commands/repo/index.d.ts +18 -0
  118. package/dist/src/presentation/cli/commands/repo/index.d.ts.map +1 -0
  119. package/dist/src/presentation/cli/commands/repo/index.js +25 -0
  120. package/dist/src/presentation/cli/commands/repo/ls.command.d.ts +11 -0
  121. package/dist/src/presentation/cli/commands/repo/ls.command.d.ts.map +1 -0
  122. package/dist/src/presentation/cli/commands/repo/ls.command.js +64 -0
  123. package/dist/src/presentation/cli/commands/repo/resolve-repository.d.ts +10 -0
  124. package/dist/src/presentation/cli/commands/repo/resolve-repository.d.ts.map +1 -0
  125. package/dist/src/presentation/cli/commands/repo/resolve-repository.js +24 -0
  126. package/dist/src/presentation/cli/commands/repo/show.command.d.ts +11 -0
  127. package/dist/src/presentation/cli/commands/repo/show.command.d.ts.map +1 -0
  128. package/dist/src/presentation/cli/commands/repo/show.command.js +95 -0
  129. package/dist/src/presentation/cli/index.d.ts +1 -0
  130. package/dist/src/presentation/cli/index.d.ts.map +1 -1
  131. package/dist/src/presentation/cli/index.js +3 -0
  132. package/dist/tsconfig.build.tsbuildinfo +1 -1
  133. package/package.json +2 -1
  134. package/web/.next/BUILD_ID +1 -1
  135. package/web/.next/build-manifest.json +2 -2
  136. package/web/.next/cache/.previewinfo +1 -1
  137. package/web/.next/cache/.rscinfo +1 -1
  138. package/web/.next/cache/.tsbuildinfo +1 -1
  139. package/web/.next/cache/config.json +3 -3
  140. package/web/.next/fallback-build-manifest.json +2 -2
  141. package/web/.next/prerender-manifest.json +3 -3
  142. package/web/.next/required-server-files.js +1 -1
  143. package/web/.next/required-server-files.json +1 -1
  144. package/web/.next/server/app/_global-error.html +2 -2
  145. package/web/.next/server/app/_global-error.rsc +1 -1
  146. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  147. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  148. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  149. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  150. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  151. package/web/.next/server/app/page/server-reference-manifest.json +11 -11
  152. package/web/.next/server/app/page_client-reference-manifest.js +1 -1
  153. package/web/.next/server/chunks/ssr/[root-of-the-server]__03a0dba7._.js +2 -2
  154. package/web/.next/server/chunks/ssr/[root-of-the-server]__03a0dba7._.js.map +1 -1
  155. package/web/.next/server/chunks/ssr/[root-of-the-server]__249c74f6._.js +1 -1
  156. package/web/.next/server/chunks/ssr/[root-of-the-server]__4e8ca89c._.js +2 -2
  157. package/web/.next/server/pages/500.html +2 -2
  158. package/web/.next/server/server-reference-manifest.js +1 -1
  159. package/web/.next/server/server-reference-manifest.json +12 -12
  160. package/web/.next/standalone/src/presentation/web/.next/BUILD_ID +1 -1
  161. package/web/.next/standalone/src/presentation/web/.next/build-manifest.json +2 -2
  162. package/web/.next/standalone/src/presentation/web/.next/prerender-manifest.json +3 -3
  163. package/web/.next/standalone/src/presentation/web/.next/required-server-files.json +1 -1
  164. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.html +2 -2
  165. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.rsc +1 -1
  166. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  167. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  168. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  169. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  170. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  171. package/web/.next/standalone/src/presentation/web/.next/server/app/page/server-reference-manifest.json +11 -11
  172. package/web/.next/standalone/src/presentation/web/.next/server/app/page_client-reference-manifest.js +1 -1
  173. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__03a0dba7._.js +2 -2
  174. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__249c74f6._.js +1 -1
  175. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__4e8ca89c._.js +2 -2
  176. package/web/.next/standalone/src/presentation/web/.next/server/pages/500.html +2 -2
  177. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.js +1 -1
  178. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.json +12 -12
  179. package/web/.next/standalone/src/presentation/web/server.js +1 -1
  180. package/web/.next/static/chunks/{631933b137e91fb2.js → 22f9e39aab128063.js} +2 -2
  181. package/web/.next/trace +1 -1
  182. package/web/.next/trace-build +1 -1
  183. /package/web/.next/static/{aWm2zr_Js7tN6yFqI9qT- → z34pr57Jw4sBfoDeMMuGn}/_buildManifest.js +0 -0
  184. /package/web/.next/static/{aWm2zr_Js7tN6yFqI9qT- → z34pr57Jw4sBfoDeMMuGn}/_clientMiddlewareManifest.json +0 -0
  185. /package/web/.next/static/{aWm2zr_Js7tN6yFqI9qT- → z34pr57Jw4sBfoDeMMuGn}/_ssgManifest.js +0 -0
@@ -0,0 +1,16 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: AcceptanceCriteria.yaml
3
+ type: object
4
+ properties:
5
+ description:
6
+ type: string
7
+ description: Description of what must be true for this criterion to be satisfied
8
+ verified:
9
+ type: boolean
10
+ description: Whether this criterion has been verified as complete
11
+ required:
12
+ - description
13
+ - verified
14
+ allOf:
15
+ - $ref: BaseEntity.yaml
16
+ description: Acceptance criterion for validating completion of an action item
@@ -0,0 +1,32 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: ActionItem.yaml
3
+ type: object
4
+ properties:
5
+ name:
6
+ type: string
7
+ description: Short name describing the action (verb-noun pattern recommended)
8
+ description:
9
+ type: string
10
+ description: Detailed description of the work to be performed
11
+ branch:
12
+ type: string
13
+ description: Git branch name where this action item's work is performed
14
+ dependsOn:
15
+ type: array
16
+ items:
17
+ $ref: ActionItem.yaml
18
+ description: Action items that must complete before this one can start
19
+ acceptanceCriteria:
20
+ type: array
21
+ items:
22
+ $ref: AcceptanceCriteria.yaml
23
+ description: Acceptance criteria for verifying completion of this action item
24
+ required:
25
+ - name
26
+ - description
27
+ - branch
28
+ - dependsOn
29
+ - acceptanceCriteria
30
+ allOf:
31
+ - $ref: BaseEntity.yaml
32
+ description: Granular, atomic step within a Task representing a single unit of work
@@ -0,0 +1,7 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: AgentAuthMethod.yaml
3
+ type: string
4
+ enum:
5
+ - session
6
+ - token
7
+ description: Authentication method for the AI agent
@@ -0,0 +1,19 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: AgentConfig.yaml
3
+ type: object
4
+ properties:
5
+ type:
6
+ $ref: AgentType.yaml
7
+ default: claude-code
8
+ description: Selected AI coding agent
9
+ authMethod:
10
+ $ref: AgentAuthMethod.yaml
11
+ default: session
12
+ description: Authentication method for the agent
13
+ token:
14
+ type: string
15
+ description: API token for token-based auth (optional)
16
+ required:
17
+ - type
18
+ - authMethod
19
+ description: AI coding agent configuration
@@ -0,0 +1,14 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: AgentDefinition.yaml
3
+ type: object
4
+ properties:
5
+ name:
6
+ type: string
7
+ description: Unique agent workflow name (e.g., analyze-repository)
8
+ description:
9
+ type: string
10
+ description: Human-readable description of what this agent does
11
+ required:
12
+ - name
13
+ - description
14
+ description: Agent workflow registration metadata
@@ -0,0 +1,10 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: AgentFeature.yaml
3
+ type: string
4
+ enum:
5
+ - session-resume
6
+ - streaming
7
+ - tool-scoping
8
+ - structured-output
9
+ - system-prompt
10
+ description: Agent executor capability declarations
@@ -0,0 +1,23 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: AgentInstance.yaml
3
+ type: object
4
+ properties:
5
+ id:
6
+ $ref: UUID.yaml
7
+ description: Unique identifier for this agent instance
8
+ branch:
9
+ type: string
10
+ description: Git branch this agent is operating on for code changes
11
+ status:
12
+ $ref: AgentStatus.yaml
13
+ description: Current operational status of the agent (Idle, Running, Paused, or Stopped)
14
+ createdAt:
15
+ type: string
16
+ format: date-time
17
+ description: Timestamp when this agent instance was created
18
+ required:
19
+ - id
20
+ - branch
21
+ - status
22
+ - createdAt
23
+ description: A running agent instance that processes work and responds to queries
@@ -0,0 +1,63 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: AgentRun.yaml
3
+ type: object
4
+ properties:
5
+ agentType:
6
+ $ref: AgentType.yaml
7
+ description: Agent executor type used (claude-code, gemini-cli, etc.)
8
+ agentName:
9
+ type: string
10
+ description: Agent workflow name (analyze-repository, requirements, etc.)
11
+ status:
12
+ $ref: AgentRunStatus.yaml
13
+ description: Current execution status
14
+ prompt:
15
+ type: string
16
+ description: Input prompt sent to agent executor
17
+ result:
18
+ type: string
19
+ description: Final result output (optional, populated on completion)
20
+ sessionId:
21
+ type: string
22
+ description: Executor session ID for resumption (optional)
23
+ threadId:
24
+ type: string
25
+ description: LangGraph thread_id for checkpoint lookup and crash resume
26
+ pid:
27
+ type: integer
28
+ minimum: -2147483648
29
+ maximum: 2147483647
30
+ description: Process ID for crash recovery (optional)
31
+ lastHeartbeat:
32
+ type: string
33
+ format: date-time
34
+ description: Last heartbeat timestamp for crash detection (optional)
35
+ startedAt:
36
+ type: string
37
+ format: date-time
38
+ description: Execution start timestamp (optional)
39
+ completedAt:
40
+ type: string
41
+ format: date-time
42
+ description: Execution completion timestamp (optional)
43
+ error:
44
+ type: string
45
+ description: Error message if execution failed (optional)
46
+ featureId:
47
+ type: string
48
+ description: Associated feature ID for feature agent runs (optional)
49
+ repositoryPath:
50
+ type: string
51
+ description: Repository path for context scoping (optional)
52
+ approvalGates:
53
+ $ref: ApprovalGates.yaml
54
+ description: Approval gate configuration for human-in-the-loop review (optional)
55
+ required:
56
+ - agentType
57
+ - agentName
58
+ - status
59
+ - prompt
60
+ - threadId
61
+ allOf:
62
+ - $ref: BaseEntity.yaml
63
+ description: Agent execution run record
@@ -0,0 +1,25 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: AgentRunEvent.yaml
3
+ type: object
4
+ properties:
5
+ type:
6
+ anyOf:
7
+ - type: string
8
+ const: progress
9
+ - type: string
10
+ const: result
11
+ - type: string
12
+ const: error
13
+ description: "Event type: progress, result, or error"
14
+ content:
15
+ type: string
16
+ description: Event content
17
+ timestamp:
18
+ type: string
19
+ format: date-time
20
+ description: Event timestamp
21
+ required:
22
+ - type
23
+ - content
24
+ - timestamp
25
+ description: Streaming event emitted during agent execution
@@ -0,0 +1,12 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: AgentRunStatus.yaml
3
+ type: string
4
+ enum:
5
+ - pending
6
+ - running
7
+ - completed
8
+ - failed
9
+ - interrupted
10
+ - cancelled
11
+ - waiting_approval
12
+ description: Agent run execution status
@@ -0,0 +1,9 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: AgentStatus.yaml
3
+ type: string
4
+ enum:
5
+ - Idle
6
+ - Running
7
+ - Paused
8
+ - Stopped
9
+ description: Operational states for AI agents
@@ -0,0 +1,10 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: AgentType.yaml
3
+ type: string
4
+ enum:
5
+ - claude-code
6
+ - gemini-cli
7
+ - aider
8
+ - continue
9
+ - cursor
10
+ description: AI coding agent tool selection
@@ -0,0 +1,18 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: ApprovalGates.yaml
3
+ type: object
4
+ properties:
5
+ allowPrd:
6
+ type: boolean
7
+ description: Skip human review after requirements phase
8
+ allowPlan:
9
+ type: boolean
10
+ description: Skip human review after plan phase
11
+ allowMerge:
12
+ type: boolean
13
+ description: Skip human review after merge phase
14
+ required:
15
+ - allowPrd
16
+ - allowPlan
17
+ - allowMerge
18
+ description: Configuration for human-in-the-loop approval gates
@@ -0,0 +1,36 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: Artifact.yaml
3
+ type: object
4
+ properties:
5
+ name:
6
+ type: string
7
+ description: Human-readable name identifying this artifact
8
+ type:
9
+ type: string
10
+ description: Type description providing additional context (e.g., 'documentation', 'api-spec')
11
+ category:
12
+ $ref: ArtifactCategory.yaml
13
+ description: Category classification (PRD, API, Design, or Other)
14
+ format:
15
+ $ref: ArtifactFormat.yaml
16
+ description: File format for the artifact content
17
+ summary:
18
+ type: string
19
+ description: Brief summary of the artifact's content and purpose
20
+ path:
21
+ type: string
22
+ description: Relative file path where the artifact is stored
23
+ state:
24
+ $ref: ArtifactState.yaml
25
+ description: Current state in the artifact generation lifecycle
26
+ required:
27
+ - name
28
+ - type
29
+ - category
30
+ - format
31
+ - summary
32
+ - path
33
+ - state
34
+ allOf:
35
+ - $ref: BaseEntity.yaml
36
+ description: Generated document or file attached to a Feature
@@ -0,0 +1,9 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: ArtifactCategory.yaml
3
+ type: string
4
+ enum:
5
+ - PRD
6
+ - API
7
+ - Design
8
+ - Other
9
+ description: Categories for classifying artifact types by purpose
@@ -0,0 +1,9 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: ArtifactFormat.yaml
3
+ type: string
4
+ enum:
5
+ - md
6
+ - txt
7
+ - yaml
8
+ - Other
9
+ description: File formats for artifact content storage
@@ -0,0 +1,8 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: ArtifactState.yaml
3
+ type: string
4
+ enum:
5
+ - Todo
6
+ - Elaborating
7
+ - Done
8
+ description: States for artifact entities during generation
@@ -0,0 +1,10 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: AskRequest.yaml
3
+ type: object
4
+ properties:
5
+ query:
6
+ type: string
7
+ description: The natural language query to be processed by the AI agent
8
+ required:
9
+ - query
10
+ description: Request model for conversational AI interactions
@@ -0,0 +1,14 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: AskResponse.yaml
3
+ type: object
4
+ properties:
5
+ content:
6
+ type: string
7
+ description: The AI-generated response content (typically Markdown-formatted)
8
+ success:
9
+ type: boolean
10
+ description: Whether the operation completed successfully
11
+ required:
12
+ - content
13
+ - success
14
+ description: Response model for conversational AI interactions
@@ -0,0 +1,13 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: AuditableEntity.yaml
3
+ type: object
4
+ properties:
5
+ createdBy:
6
+ $ref: UUID.yaml
7
+ description: UUID of the user who created this entity (null for system-created)
8
+ updatedBy:
9
+ $ref: UUID.yaml
10
+ description: UUID of the user who last updated this entity (null for system-updated)
11
+ allOf:
12
+ - $ref: BaseEntity.yaml
13
+ description: Entity with audit trail tracking who created and modified it
@@ -0,0 +1,20 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: BaseEntity.yaml
3
+ type: object
4
+ properties:
5
+ id:
6
+ $ref: UUID.yaml
7
+ description: Unique identifier for this entity (UUID v4 format)
8
+ createdAt:
9
+ type: string
10
+ format: date-time
11
+ description: Timestamp when this entity was created (read-only, set by system)
12
+ updatedAt:
13
+ type: string
14
+ format: date-time
15
+ description: Timestamp when this entity was last updated (read-only, set by system)
16
+ required:
17
+ - id
18
+ - createdAt
19
+ - updatedAt
20
+ description: Base model providing identity and timestamp fields for all domain entities
@@ -0,0 +1,8 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: CiStatus.yaml
3
+ type: string
4
+ enum:
5
+ - Pending
6
+ - Success
7
+ - Failure
8
+ description: CI pipeline status
@@ -0,0 +1,10 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: DeployMethod.yaml
3
+ type: string
4
+ enum:
5
+ - DockerCompose
6
+ - Docker
7
+ - Kubernetes
8
+ - Script
9
+ - Manual
10
+ description: Methods for deploying applications
@@ -0,0 +1,29 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: DeploySkill.yaml
3
+ type: object
4
+ properties:
5
+ id:
6
+ $ref: UUID.yaml
7
+ description: Unique identifier for the deployment skill configuration
8
+ ports:
9
+ type: array
10
+ items:
11
+ $ref: PortMap.yaml
12
+ description: List of port mappings for services to expose when deployed
13
+ method:
14
+ $ref: DeployMethod.yaml
15
+ description: Method to use for deployment (DockerCompose, Docker, Kubernetes, Script, or Manual)
16
+ instructions:
17
+ type: string
18
+ description: Deployment instructions or commands to execute for this deployment method
19
+ createdAt:
20
+ type: string
21
+ format: date-time
22
+ description: Timestamp when the deployment skill was created
23
+ required:
24
+ - id
25
+ - ports
26
+ - method
27
+ - instructions
28
+ - createdAt
29
+ description: Configuration defining how to deploy an application with method and instructions
@@ -0,0 +1,10 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: DeployTarget.yaml
3
+ anyOf:
4
+ - $ref: DeployTargetActionItem.yaml
5
+ description: Deploy a single action item for granular change preview
6
+ - $ref: DeployTargetTask.yaml
7
+ description: Deploy a single task with all its action items
8
+ - $ref: DeployTargetTasks.yaml
9
+ description: Deploy multiple tasks together for batch deployments
10
+ description: Target for deployment operations - can be an action item, single task, or multiple tasks
@@ -0,0 +1,15 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: DeployTargetActionItem.yaml
3
+ type: object
4
+ properties:
5
+ kind:
6
+ type: string
7
+ const: actionItem
8
+ description: Discriminator indicating this is an action item target
9
+ actionItem:
10
+ $ref: ActionItem.yaml
11
+ description: The action item to deploy - represents an atomic unit of work
12
+ required:
13
+ - kind
14
+ - actionItem
15
+ description: Deployment target wrapping a single ActionItem for granular deployments
@@ -0,0 +1,15 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: DeployTargetTask.yaml
3
+ type: object
4
+ properties:
5
+ kind:
6
+ type: string
7
+ const: task
8
+ description: Discriminator indicating this is a task target
9
+ task:
10
+ $ref: Task.yaml
11
+ description: The task to deploy - includes all action items within the task
12
+ required:
13
+ - kind
14
+ - task
15
+ description: Deployment target wrapping a single Task for task-level deployments
@@ -0,0 +1,17 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: DeployTargetTasks.yaml
3
+ type: object
4
+ properties:
5
+ kind:
6
+ type: string
7
+ const: tasks
8
+ description: Discriminator indicating this is a multi-task target
9
+ tasks:
10
+ type: array
11
+ items:
12
+ $ref: Task.yaml
13
+ description: The tasks to deploy - enables batch deployment of related work
14
+ required:
15
+ - kind
16
+ - tasks
17
+ description: Deployment target wrapping multiple Tasks for batch deployments
@@ -0,0 +1,33 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: Deployment.yaml
3
+ type: object
4
+ properties:
5
+ id:
6
+ $ref: UUID.yaml
7
+ description: Unique identifier for the deployment instance
8
+ state:
9
+ $ref: DeploymentState.yaml
10
+ description: Current state of the deployment (Booting, Ready, or Stopped)
11
+ url:
12
+ type: string
13
+ description: URL where the deployment is accessible (e.g., 'http://localhost:30100/' or 'http://172.33.0.20:5173')
14
+ ports:
15
+ type: array
16
+ items:
17
+ $ref: PortMap.yaml
18
+ description: List of port mappings for services exposed by this deployment
19
+ createdAt:
20
+ type: string
21
+ format: date-time
22
+ description: Timestamp when the deployment was created
23
+ stoppedAt:
24
+ type: string
25
+ format: date-time
26
+ description: Timestamp when the deployment was stopped (only present when state is Stopped)
27
+ required:
28
+ - id
29
+ - state
30
+ - url
31
+ - ports
32
+ - createdAt
33
+ description: A running deployment instance with network configuration and lifecycle management
@@ -0,0 +1,8 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: DeploymentState.yaml
3
+ type: string
4
+ enum:
5
+ - Booting
6
+ - Ready
7
+ - Stopped
8
+ description: States for deployment instances
@@ -0,0 +1,10 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: EditorType.yaml
3
+ type: string
4
+ enum:
5
+ - vscode
6
+ - cursor
7
+ - windsurf
8
+ - zed
9
+ - antigravity
10
+ description: Supported IDE/editor type
@@ -0,0 +1,16 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: EnvironmentConfig.yaml
3
+ type: object
4
+ properties:
5
+ defaultEditor:
6
+ $ref: EditorType.yaml
7
+ default: vscode
8
+ description: Preferred code editor
9
+ shellPreference:
10
+ type: string
11
+ default: bash
12
+ description: Preferred shell
13
+ required:
14
+ - defaultEditor
15
+ - shellPreference
16
+ description: Environment and tooling preferences
@@ -0,0 +1,77 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: Feature.yaml
3
+ type: object
4
+ properties:
5
+ name:
6
+ type: string
7
+ description: Human-readable name identifying this feature
8
+ userQuery:
9
+ type: string
10
+ description: The exact user input that initiated this feature, preserved verbatim
11
+ slug:
12
+ type: string
13
+ description: URL-friendly identifier derived from name (unique within repository)
14
+ description:
15
+ type: string
16
+ description: Detailed description explaining the feature's purpose and scope
17
+ repositoryPath:
18
+ type: string
19
+ description: Absolute file system path to the repository
20
+ branch:
21
+ type: string
22
+ description: Git branch name where this feature's work is performed
23
+ lifecycle:
24
+ $ref: SdlcLifecycle.yaml
25
+ description: Current stage in the SDLC lifecycle
26
+ messages:
27
+ type: array
28
+ items:
29
+ $ref: Message.yaml
30
+ description: Conversation history with the AI assistant
31
+ plan:
32
+ $ref: Plan.yaml
33
+ description: Implementation plan containing tasks, artifacts, and requirements (optional)
34
+ relatedArtifacts:
35
+ type: array
36
+ items:
37
+ $ref: Artifact.yaml
38
+ description: Generated documents and artifacts attached to this feature
39
+ agentRunId:
40
+ type: string
41
+ description: Associated agent run ID for process tracking (optional)
42
+ specPath:
43
+ type: string
44
+ description: Absolute path to the feature spec directory inside the worktree
45
+ push:
46
+ type: boolean
47
+ default: false
48
+ description: "Push branch to remote after implementation (default: false)"
49
+ openPr:
50
+ type: boolean
51
+ default: false
52
+ description: "Create PR after implementation (default: false)"
53
+ approvalGates:
54
+ $ref: ApprovalGates.yaml
55
+ description: Approval gates configuration (embedded value object)
56
+ worktreePath:
57
+ type: string
58
+ description: Absolute path to the git worktree for this feature
59
+ pr:
60
+ $ref: PullRequest.yaml
61
+ description: Pull request data (null until PR created)
62
+ required:
63
+ - name
64
+ - userQuery
65
+ - slug
66
+ - description
67
+ - repositoryPath
68
+ - branch
69
+ - lifecycle
70
+ - messages
71
+ - relatedArtifacts
72
+ - push
73
+ - openPr
74
+ - approvalGates
75
+ allOf:
76
+ - $ref: BaseEntity.yaml
77
+ description: Central entity tracking a piece of work through the SDLC lifecycle (Aggregate Root)