@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.
- package/apis/json-schema/AcceptanceCriteria.yaml +16 -0
- package/apis/json-schema/ActionItem.yaml +32 -0
- package/apis/json-schema/AgentAuthMethod.yaml +7 -0
- package/apis/json-schema/AgentConfig.yaml +19 -0
- package/apis/json-schema/AgentDefinition.yaml +14 -0
- package/apis/json-schema/AgentFeature.yaml +10 -0
- package/apis/json-schema/AgentInstance.yaml +23 -0
- package/apis/json-schema/AgentRun.yaml +63 -0
- package/apis/json-schema/AgentRunEvent.yaml +25 -0
- package/apis/json-schema/AgentRunStatus.yaml +12 -0
- package/apis/json-schema/AgentStatus.yaml +9 -0
- package/apis/json-schema/AgentType.yaml +10 -0
- package/apis/json-schema/ApprovalGates.yaml +18 -0
- package/apis/json-schema/Artifact.yaml +36 -0
- package/apis/json-schema/ArtifactCategory.yaml +9 -0
- package/apis/json-schema/ArtifactFormat.yaml +9 -0
- package/apis/json-schema/ArtifactState.yaml +8 -0
- package/apis/json-schema/AskRequest.yaml +10 -0
- package/apis/json-schema/AskResponse.yaml +14 -0
- package/apis/json-schema/AuditableEntity.yaml +13 -0
- package/apis/json-schema/BaseEntity.yaml +20 -0
- package/apis/json-schema/CiStatus.yaml +8 -0
- package/apis/json-schema/DeployMethod.yaml +10 -0
- package/apis/json-schema/DeploySkill.yaml +29 -0
- package/apis/json-schema/DeployTarget.yaml +10 -0
- package/apis/json-schema/DeployTargetActionItem.yaml +15 -0
- package/apis/json-schema/DeployTargetTask.yaml +15 -0
- package/apis/json-schema/DeployTargetTasks.yaml +17 -0
- package/apis/json-schema/Deployment.yaml +33 -0
- package/apis/json-schema/DeploymentState.yaml +8 -0
- package/apis/json-schema/EditorType.yaml +10 -0
- package/apis/json-schema/EnvironmentConfig.yaml +16 -0
- package/apis/json-schema/Feature.yaml +77 -0
- package/apis/json-schema/FeatureAgent.yaml +29 -0
- package/apis/json-schema/FeatureAgentState.yaml +11 -0
- package/apis/json-schema/FeatureArtifact.yaml +35 -0
- package/apis/json-schema/FeatureCheckpoint.yaml +18 -0
- package/apis/json-schema/FeatureErrors.yaml +15 -0
- package/apis/json-schema/FeatureIdentity.yaml +32 -0
- package/apis/json-schema/FeatureSpec.yaml +30 -0
- package/apis/json-schema/FeatureStatus.yaml +40 -0
- package/apis/json-schema/FeatureStatusInfo.yaml +30 -0
- package/apis/json-schema/FeatureStatusProgress.yaml +24 -0
- package/apis/json-schema/FeatureTaskTracking.yaml +21 -0
- package/apis/json-schema/FeatureValidation.yaml +21 -0
- package/apis/json-schema/GanttTask.yaml +34 -0
- package/apis/json-schema/GanttViewData.yaml +22 -0
- package/apis/json-schema/InstallationSuggestion.yaml +21 -0
- package/apis/json-schema/LocalDeployAgent.yaml +18 -0
- package/apis/json-schema/Message.yaml +29 -0
- package/apis/json-schema/MessageRole.yaml +7 -0
- package/apis/json-schema/ModelConfiguration.yaml +26 -0
- package/apis/json-schema/NotificationChannelConfig.yaml +11 -0
- package/apis/json-schema/NotificationEvent.yaml +34 -0
- package/apis/json-schema/NotificationEventConfig.yaml +31 -0
- package/apis/json-schema/NotificationEventType.yaml +10 -0
- package/apis/json-schema/NotificationPreferences.yaml +22 -0
- package/apis/json-schema/NotificationSeverity.yaml +9 -0
- package/apis/json-schema/OpenQuestion.yaml +25 -0
- package/apis/json-schema/PhaseTiming.yaml +35 -0
- package/apis/json-schema/Plan.yaml +37 -0
- package/apis/json-schema/PlanPhase.yaml +26 -0
- package/apis/json-schema/PlanSpec.yaml +26 -0
- package/apis/json-schema/PlanState.yaml +8 -0
- package/apis/json-schema/PortMap.yaml +19 -0
- package/apis/json-schema/PortProtocol.yaml +7 -0
- package/apis/json-schema/PrStatus.yaml +8 -0
- package/apis/json-schema/PrdApprovalPayload.yaml +15 -0
- package/apis/json-schema/PrdFinalAction.yaml +18 -0
- package/apis/json-schema/PrdOption.yaml +24 -0
- package/apis/json-schema/PrdQuestion.yaml +25 -0
- package/apis/json-schema/PrdQuestionnaireData.yaml +24 -0
- package/apis/json-schema/PrdRejectionPayload.yaml +20 -0
- package/apis/json-schema/PrdReviewResult.yaml +19 -0
- package/apis/json-schema/PullRequest.yaml +26 -0
- package/apis/json-schema/QuestionOption.yaml +18 -0
- package/apis/json-schema/QuestionSelectionChange.yaml +14 -0
- package/apis/json-schema/RejectionFeedbackEntry.yaml +21 -0
- package/apis/json-schema/Requirement.yaml +26 -0
- package/apis/json-schema/RequirementType.yaml +7 -0
- package/apis/json-schema/Research.yaml +26 -0
- package/apis/json-schema/ResearchArtifact.yaml +14 -0
- package/apis/json-schema/ResearchSpec.yaml +14 -0
- package/apis/json-schema/ResearchState.yaml +8 -0
- package/apis/json-schema/ReviewQuestion.yaml +24 -0
- package/apis/json-schema/SdlcLifecycle.yaml +13 -0
- package/apis/json-schema/Settings.yaml +36 -0
- package/apis/json-schema/SoftDeletableEntity.yaml +11 -0
- package/apis/json-schema/SpecArtifactBase.yaml +44 -0
- package/apis/json-schema/SpecTask.yaml +45 -0
- package/apis/json-schema/SystemConfig.yaml +16 -0
- package/apis/json-schema/Task.yaml +38 -0
- package/apis/json-schema/TaskState.yaml +9 -0
- package/apis/json-schema/TasksArtifact.yaml +18 -0
- package/apis/json-schema/TasksSpec.yaml +18 -0
- package/apis/json-schema/TddCycle.yaml +24 -0
- package/apis/json-schema/TechDecision.yaml +24 -0
- package/apis/json-schema/TechnicalPlanArtifact.yaml +26 -0
- package/apis/json-schema/TimelineEvent.yaml +17 -0
- package/apis/json-schema/Tool.yaml +23 -0
- package/apis/json-schema/ToolInstallCommand.yaml +28 -0
- package/apis/json-schema/ToolInstallationStatus.yaml +28 -0
- package/apis/json-schema/ToolType.yaml +12 -0
- package/apis/json-schema/UUID.yaml +4 -0
- package/apis/json-schema/UserProfile.yaml +14 -0
- package/apis/json-schema/WorkflowConfig.yaml +31 -0
- package/apis/openapi/openapi.yaml +7 -0
- package/dist/packages/core/src/application/ports/output/services/worktree-service.interface.d.ts +8 -0
- package/dist/packages/core/src/application/ports/output/services/worktree-service.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/features/create/slug-resolver.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/features/create/slug-resolver.js +3 -2
- package/dist/packages/core/src/domain/factories/spec-yaml-parser.d.ts.map +1 -1
- package/dist/packages/core/src/domain/factories/spec-yaml-parser.js +16 -4
- package/dist/packages/core/src/infrastructure/services/git/worktree.service.d.ts +1 -0
- package/dist/packages/core/src/infrastructure/services/git/worktree.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/git/worktree.service.js +11 -0
- package/dist/src/presentation/cli/commands/repo/index.d.ts +18 -0
- package/dist/src/presentation/cli/commands/repo/index.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/repo/index.js +25 -0
- package/dist/src/presentation/cli/commands/repo/ls.command.d.ts +11 -0
- package/dist/src/presentation/cli/commands/repo/ls.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/repo/ls.command.js +64 -0
- package/dist/src/presentation/cli/commands/repo/resolve-repository.d.ts +10 -0
- package/dist/src/presentation/cli/commands/repo/resolve-repository.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/repo/resolve-repository.js +24 -0
- package/dist/src/presentation/cli/commands/repo/show.command.d.ts +11 -0
- package/dist/src/presentation/cli/commands/repo/show.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/repo/show.command.js +95 -0
- package/dist/src/presentation/cli/index.d.ts +1 -0
- package/dist/src/presentation/cli/index.d.ts.map +1 -1
- package/dist/src/presentation/cli/index.js +3 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/cache/.previewinfo +1 -1
- package/web/.next/cache/.rscinfo +1 -1
- package/web/.next/cache/.tsbuildinfo +1 -1
- package/web/.next/cache/config.json +3 -3
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +1 -1
- package/web/.next/required-server-files.json +1 -1
- package/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/page/server-reference-manifest.json +11 -11
- package/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__03a0dba7._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__03a0dba7._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__249c74f6._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__4e8ca89c._.js +2 -2
- package/web/.next/server/pages/500.html +2 -2
- package/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/server/server-reference-manifest.json +12 -12
- package/web/.next/standalone/src/presentation/web/.next/BUILD_ID +1 -1
- package/web/.next/standalone/src/presentation/web/.next/build-manifest.json +2 -2
- package/web/.next/standalone/src/presentation/web/.next/prerender-manifest.json +3 -3
- package/web/.next/standalone/src/presentation/web/.next/required-server-files.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/page/server-reference-manifest.json +11 -11
- package/web/.next/standalone/src/presentation/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__03a0dba7._.js +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__249c74f6._.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__4e8ca89c._.js +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/pages/500.html +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.json +12 -12
- package/web/.next/standalone/src/presentation/web/server.js +1 -1
- package/web/.next/static/chunks/{631933b137e91fb2.js → 22f9e39aab128063.js} +2 -2
- package/web/.next/trace +1 -1
- package/web/.next/trace-build +1 -1
- /package/web/.next/static/{aWm2zr_Js7tN6yFqI9qT- → z34pr57Jw4sBfoDeMMuGn}/_buildManifest.js +0 -0
- /package/web/.next/static/{aWm2zr_Js7tN6yFqI9qT- → z34pr57Jw4sBfoDeMMuGn}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{aWm2zr_Js7tN6yFqI9qT- → z34pr57Jw4sBfoDeMMuGn}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
$id: Plan.yaml
|
|
3
|
+
type: object
|
|
4
|
+
properties:
|
|
5
|
+
overview:
|
|
6
|
+
type: string
|
|
7
|
+
description: High-level overview describing the implementation approach
|
|
8
|
+
requirements:
|
|
9
|
+
type: array
|
|
10
|
+
items:
|
|
11
|
+
$ref: Requirement.yaml
|
|
12
|
+
description: User and inferred requirements that this plan addresses
|
|
13
|
+
artifacts:
|
|
14
|
+
type: array
|
|
15
|
+
items:
|
|
16
|
+
$ref: Artifact.yaml
|
|
17
|
+
description: Documents and artifacts to be produced as part of this plan
|
|
18
|
+
tasks:
|
|
19
|
+
type: array
|
|
20
|
+
items:
|
|
21
|
+
$ref: Task.yaml
|
|
22
|
+
description: Work items (tasks) that comprise this implementation plan
|
|
23
|
+
state:
|
|
24
|
+
$ref: PlanState.yaml
|
|
25
|
+
description: Current state of the plan execution lifecycle
|
|
26
|
+
workPlan:
|
|
27
|
+
$ref: GanttViewData.yaml
|
|
28
|
+
description: Optional Gantt chart visualization data for work scheduling
|
|
29
|
+
required:
|
|
30
|
+
- overview
|
|
31
|
+
- requirements
|
|
32
|
+
- artifacts
|
|
33
|
+
- tasks
|
|
34
|
+
- state
|
|
35
|
+
allOf:
|
|
36
|
+
- $ref: BaseEntity.yaml
|
|
37
|
+
description: Implementation plan for a feature containing tasks, artifacts, and requirements
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
$id: PlanPhase.yaml
|
|
3
|
+
type: object
|
|
4
|
+
properties:
|
|
5
|
+
id:
|
|
6
|
+
type: string
|
|
7
|
+
description: Unique identifier for this phase (e.g., 'phase-1')
|
|
8
|
+
name:
|
|
9
|
+
type: string
|
|
10
|
+
description: Display name of the phase
|
|
11
|
+
description:
|
|
12
|
+
type: string
|
|
13
|
+
description: Description of what this phase accomplishes and why it's ordered this way
|
|
14
|
+
parallel:
|
|
15
|
+
type: boolean
|
|
16
|
+
description: Whether tasks in this phase can be executed in parallel
|
|
17
|
+
taskIds:
|
|
18
|
+
type: array
|
|
19
|
+
items:
|
|
20
|
+
type: string
|
|
21
|
+
description: Task IDs belonging to this phase (e.g., ['task-1', 'task-2']). Optional — not present in plan.yaml phases.
|
|
22
|
+
required:
|
|
23
|
+
- id
|
|
24
|
+
- name
|
|
25
|
+
- parallel
|
|
26
|
+
description: Implementation phase grouping related tasks
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
$id: PlanSpec.yaml
|
|
3
|
+
type: object
|
|
4
|
+
properties:
|
|
5
|
+
phases:
|
|
6
|
+
type: array
|
|
7
|
+
items:
|
|
8
|
+
$ref: PlanPhase.yaml
|
|
9
|
+
description: Structured implementation phases with task groupings
|
|
10
|
+
filesToCreate:
|
|
11
|
+
type: array
|
|
12
|
+
items:
|
|
13
|
+
type: string
|
|
14
|
+
description: New files planned to be created
|
|
15
|
+
filesToModify:
|
|
16
|
+
type: array
|
|
17
|
+
items:
|
|
18
|
+
type: string
|
|
19
|
+
description: Existing files planned to be modified
|
|
20
|
+
required:
|
|
21
|
+
- phases
|
|
22
|
+
- filesToCreate
|
|
23
|
+
- filesToModify
|
|
24
|
+
allOf:
|
|
25
|
+
- $ref: SpecArtifactBase.yaml
|
|
26
|
+
description: Implementation plan artifact defining strategy and file changes
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
$id: PortMap.yaml
|
|
3
|
+
type: object
|
|
4
|
+
properties:
|
|
5
|
+
name:
|
|
6
|
+
type: string
|
|
7
|
+
description: Service name identifier (e.g., 'web', 'api', 'db', 'redis')
|
|
8
|
+
port:
|
|
9
|
+
type: integer
|
|
10
|
+
minimum: -2147483648
|
|
11
|
+
maximum: 2147483647
|
|
12
|
+
description: Port number to expose on the host or container network
|
|
13
|
+
protocol:
|
|
14
|
+
$ref: PortProtocol.yaml
|
|
15
|
+
description: Network protocol for the port (defaults to TCP if not specified)
|
|
16
|
+
required:
|
|
17
|
+
- name
|
|
18
|
+
- port
|
|
19
|
+
description: Port mapping configuration for exposing container services to the network
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
$id: PrdApprovalPayload.yaml
|
|
3
|
+
type: object
|
|
4
|
+
properties:
|
|
5
|
+
approved:
|
|
6
|
+
type: boolean
|
|
7
|
+
description: Always true for approval payloads
|
|
8
|
+
changedSelections:
|
|
9
|
+
type: array
|
|
10
|
+
items:
|
|
11
|
+
$ref: QuestionSelectionChange.yaml
|
|
12
|
+
description: List of selection changes the user made during review (empty if no changes)
|
|
13
|
+
required:
|
|
14
|
+
- approved
|
|
15
|
+
description: Payload sent when user approves a PRD with optional selection changes
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
$id: PrdFinalAction.yaml
|
|
3
|
+
type: object
|
|
4
|
+
properties:
|
|
5
|
+
id:
|
|
6
|
+
type: string
|
|
7
|
+
description: Unique identifier for this action
|
|
8
|
+
label:
|
|
9
|
+
type: string
|
|
10
|
+
description: Button label text
|
|
11
|
+
description:
|
|
12
|
+
type: string
|
|
13
|
+
description: Description of what this action does
|
|
14
|
+
required:
|
|
15
|
+
- id
|
|
16
|
+
- label
|
|
17
|
+
- description
|
|
18
|
+
description: Configuration for the final action button in the questionnaire
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
$id: PrdOption.yaml
|
|
3
|
+
type: object
|
|
4
|
+
properties:
|
|
5
|
+
id:
|
|
6
|
+
type: string
|
|
7
|
+
description: Unique identifier for this option
|
|
8
|
+
label:
|
|
9
|
+
type: string
|
|
10
|
+
description: Display label for this option
|
|
11
|
+
rationale:
|
|
12
|
+
type: string
|
|
13
|
+
description: Explanation of why this option is relevant
|
|
14
|
+
recommended:
|
|
15
|
+
type: boolean
|
|
16
|
+
description: Whether this option is recommended by AI analysis
|
|
17
|
+
isNew:
|
|
18
|
+
type: boolean
|
|
19
|
+
description: Whether this option was newly added after refinement
|
|
20
|
+
required:
|
|
21
|
+
- id
|
|
22
|
+
- label
|
|
23
|
+
- rationale
|
|
24
|
+
description: A selectable option within a PRD questionnaire question
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
$id: PrdQuestion.yaml
|
|
3
|
+
type: object
|
|
4
|
+
properties:
|
|
5
|
+
id:
|
|
6
|
+
type: string
|
|
7
|
+
description: Unique identifier for this question
|
|
8
|
+
question:
|
|
9
|
+
type: string
|
|
10
|
+
description: The question text displayed to the user
|
|
11
|
+
type:
|
|
12
|
+
type: string
|
|
13
|
+
const: select
|
|
14
|
+
description: Question interaction type (currently only single-select)
|
|
15
|
+
options:
|
|
16
|
+
type: array
|
|
17
|
+
items:
|
|
18
|
+
$ref: PrdOption.yaml
|
|
19
|
+
description: Available options for this question
|
|
20
|
+
required:
|
|
21
|
+
- id
|
|
22
|
+
- question
|
|
23
|
+
- type
|
|
24
|
+
- options
|
|
25
|
+
description: A single question in the PRD questionnaire with selectable options
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
$id: PrdQuestionnaireData.yaml
|
|
3
|
+
type: object
|
|
4
|
+
properties:
|
|
5
|
+
question:
|
|
6
|
+
type: string
|
|
7
|
+
description: Header title text for the questionnaire
|
|
8
|
+
context:
|
|
9
|
+
type: string
|
|
10
|
+
description: Header context/description text
|
|
11
|
+
questions:
|
|
12
|
+
type: array
|
|
13
|
+
items:
|
|
14
|
+
$ref: PrdQuestion.yaml
|
|
15
|
+
description: Array of questions to display
|
|
16
|
+
finalAction:
|
|
17
|
+
$ref: PrdFinalAction.yaml
|
|
18
|
+
description: Configuration for the finalize/approve action button
|
|
19
|
+
required:
|
|
20
|
+
- question
|
|
21
|
+
- context
|
|
22
|
+
- questions
|
|
23
|
+
- finalAction
|
|
24
|
+
description: Complete data for rendering a PRD questionnaire
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
$id: PrdRejectionPayload.yaml
|
|
3
|
+
type: object
|
|
4
|
+
properties:
|
|
5
|
+
rejected:
|
|
6
|
+
type: boolean
|
|
7
|
+
description: Always true for rejection payloads
|
|
8
|
+
feedback:
|
|
9
|
+
type: string
|
|
10
|
+
description: User's feedback explaining what needs to change
|
|
11
|
+
iteration:
|
|
12
|
+
type: integer
|
|
13
|
+
minimum: -2147483648
|
|
14
|
+
maximum: 2147483647
|
|
15
|
+
description: Iteration number (1-based, derived from PhaseTiming row count)
|
|
16
|
+
required:
|
|
17
|
+
- rejected
|
|
18
|
+
- feedback
|
|
19
|
+
- iteration
|
|
20
|
+
description: Payload sent when user rejects a PRD with feedback for iteration
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
$id: PrdReviewResult.yaml
|
|
3
|
+
type: object
|
|
4
|
+
properties:
|
|
5
|
+
questions:
|
|
6
|
+
type: array
|
|
7
|
+
items:
|
|
8
|
+
$ref: ReviewQuestion.yaml
|
|
9
|
+
description: All questions with their final selection state
|
|
10
|
+
action:
|
|
11
|
+
type: string
|
|
12
|
+
description: "User action: approve or reject"
|
|
13
|
+
feedback:
|
|
14
|
+
type: string
|
|
15
|
+
description: Rejection feedback (only present when action is 'reject')
|
|
16
|
+
required:
|
|
17
|
+
- questions
|
|
18
|
+
- action
|
|
19
|
+
description: Result of the PRD review TUI interaction
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
$id: PullRequest.yaml
|
|
3
|
+
type: object
|
|
4
|
+
properties:
|
|
5
|
+
url:
|
|
6
|
+
type: string
|
|
7
|
+
description: GitHub PR URL
|
|
8
|
+
number:
|
|
9
|
+
type: integer
|
|
10
|
+
minimum: -2147483648
|
|
11
|
+
maximum: 2147483647
|
|
12
|
+
description: GitHub PR number
|
|
13
|
+
status:
|
|
14
|
+
$ref: PrStatus.yaml
|
|
15
|
+
description: Current PR status
|
|
16
|
+
commitHash:
|
|
17
|
+
type: string
|
|
18
|
+
description: Final commit SHA after push
|
|
19
|
+
ciStatus:
|
|
20
|
+
$ref: CiStatus.yaml
|
|
21
|
+
description: CI pipeline status
|
|
22
|
+
required:
|
|
23
|
+
- url
|
|
24
|
+
- number
|
|
25
|
+
- status
|
|
26
|
+
description: Pull request tracking data for a feature
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
$id: QuestionOption.yaml
|
|
3
|
+
type: object
|
|
4
|
+
properties:
|
|
5
|
+
option:
|
|
6
|
+
type: string
|
|
7
|
+
description: The option text describing the potential approach or answer
|
|
8
|
+
description:
|
|
9
|
+
type: string
|
|
10
|
+
description: Description explaining this option's benefits and approach
|
|
11
|
+
selected:
|
|
12
|
+
type: boolean
|
|
13
|
+
description: Whether this option was the one ultimately selected
|
|
14
|
+
required:
|
|
15
|
+
- option
|
|
16
|
+
- description
|
|
17
|
+
- selected
|
|
18
|
+
description: Option for resolving an open question
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
$id: QuestionSelectionChange.yaml
|
|
3
|
+
type: object
|
|
4
|
+
properties:
|
|
5
|
+
questionId:
|
|
6
|
+
type: string
|
|
7
|
+
description: ID of the open question being changed (the question text)
|
|
8
|
+
selectedOption:
|
|
9
|
+
type: string
|
|
10
|
+
description: The option text that the user selected
|
|
11
|
+
required:
|
|
12
|
+
- questionId
|
|
13
|
+
- selectedOption
|
|
14
|
+
description: Change to a question's selected option during PRD review
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
$id: RejectionFeedbackEntry.yaml
|
|
3
|
+
type: object
|
|
4
|
+
properties:
|
|
5
|
+
iteration:
|
|
6
|
+
type: integer
|
|
7
|
+
minimum: -2147483648
|
|
8
|
+
maximum: 2147483647
|
|
9
|
+
description: Iteration number (1-based)
|
|
10
|
+
message:
|
|
11
|
+
type: string
|
|
12
|
+
description: User's feedback message explaining what needs to change
|
|
13
|
+
timestamp:
|
|
14
|
+
type: string
|
|
15
|
+
format: date-time
|
|
16
|
+
description: When the rejection occurred
|
|
17
|
+
required:
|
|
18
|
+
- iteration
|
|
19
|
+
- message
|
|
20
|
+
- timestamp
|
|
21
|
+
description: Rejection feedback entry for PRD iteration tracking
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
$id: Requirement.yaml
|
|
3
|
+
type: object
|
|
4
|
+
properties:
|
|
5
|
+
slug:
|
|
6
|
+
type: string
|
|
7
|
+
description: URL-friendly short identifier for the requirement
|
|
8
|
+
userQuery:
|
|
9
|
+
type: string
|
|
10
|
+
description: The original user query that generated this requirement
|
|
11
|
+
type:
|
|
12
|
+
$ref: RequirementType.yaml
|
|
13
|
+
description: Classification type of the requirement (Functional or NonFunctional)
|
|
14
|
+
researches:
|
|
15
|
+
type: array
|
|
16
|
+
items:
|
|
17
|
+
$ref: Research.yaml
|
|
18
|
+
description: Research activities conducted to clarify or validate this requirement
|
|
19
|
+
required:
|
|
20
|
+
- slug
|
|
21
|
+
- userQuery
|
|
22
|
+
- type
|
|
23
|
+
- researches
|
|
24
|
+
allOf:
|
|
25
|
+
- $ref: BaseEntity.yaml
|
|
26
|
+
description: A user or inferred requirement attached to a feature
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
$id: Research.yaml
|
|
3
|
+
type: object
|
|
4
|
+
properties:
|
|
5
|
+
topic:
|
|
6
|
+
type: string
|
|
7
|
+
description: The topic or subject being researched
|
|
8
|
+
state:
|
|
9
|
+
$ref: ResearchState.yaml
|
|
10
|
+
description: Current state of the research activity (NotStarted, Running, Finished)
|
|
11
|
+
summary:
|
|
12
|
+
type: string
|
|
13
|
+
description: Summary of research findings and recommendations
|
|
14
|
+
artifacts:
|
|
15
|
+
type: array
|
|
16
|
+
items:
|
|
17
|
+
$ref: Artifact.yaml
|
|
18
|
+
description: Artifacts produced during the research activity
|
|
19
|
+
required:
|
|
20
|
+
- topic
|
|
21
|
+
- state
|
|
22
|
+
- summary
|
|
23
|
+
- artifacts
|
|
24
|
+
allOf:
|
|
25
|
+
- $ref: BaseEntity.yaml
|
|
26
|
+
description: A research topic exploration for gathering technical information
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
$id: ResearchArtifact.yaml
|
|
3
|
+
type: object
|
|
4
|
+
properties:
|
|
5
|
+
decisions:
|
|
6
|
+
type: array
|
|
7
|
+
items:
|
|
8
|
+
$ref: TechDecision.yaml
|
|
9
|
+
description: Structured technology decisions with rationale
|
|
10
|
+
required:
|
|
11
|
+
- decisions
|
|
12
|
+
allOf:
|
|
13
|
+
- $ref: SpecArtifactBase.yaml
|
|
14
|
+
description: Research artifact documenting technical analysis and decisions
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
$id: ResearchSpec.yaml
|
|
3
|
+
type: object
|
|
4
|
+
properties:
|
|
5
|
+
decisions:
|
|
6
|
+
type: array
|
|
7
|
+
items:
|
|
8
|
+
$ref: TechDecision.yaml
|
|
9
|
+
description: Structured technology decisions with rationale
|
|
10
|
+
required:
|
|
11
|
+
- decisions
|
|
12
|
+
allOf:
|
|
13
|
+
- $ref: SpecArtifactBase.yaml
|
|
14
|
+
description: Research artifact documenting technical analysis and decisions
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
$id: ReviewQuestion.yaml
|
|
3
|
+
type: object
|
|
4
|
+
properties:
|
|
5
|
+
question:
|
|
6
|
+
type: string
|
|
7
|
+
description: The question text
|
|
8
|
+
options:
|
|
9
|
+
type: array
|
|
10
|
+
items:
|
|
11
|
+
$ref: QuestionOption.yaml
|
|
12
|
+
description: Available options with selection state
|
|
13
|
+
selectedOption:
|
|
14
|
+
type: string
|
|
15
|
+
description: The option text that was selected by the user
|
|
16
|
+
changed:
|
|
17
|
+
type: boolean
|
|
18
|
+
description: Whether the user changed the selection from the AI default
|
|
19
|
+
required:
|
|
20
|
+
- question
|
|
21
|
+
- options
|
|
22
|
+
- selectedOption
|
|
23
|
+
- changed
|
|
24
|
+
description: A single question with its options as presented in the review TUI
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
$id: SdlcLifecycle.yaml
|
|
3
|
+
type: string
|
|
4
|
+
enum:
|
|
5
|
+
- Started
|
|
6
|
+
- Analyze
|
|
7
|
+
- Requirements
|
|
8
|
+
- Research
|
|
9
|
+
- Planning
|
|
10
|
+
- Implementation
|
|
11
|
+
- Review
|
|
12
|
+
- Maintain
|
|
13
|
+
description: Software Development Lifecycle stages for feature progression
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
$id: Settings.yaml
|
|
3
|
+
type: object
|
|
4
|
+
properties:
|
|
5
|
+
models:
|
|
6
|
+
$ref: ModelConfiguration.yaml
|
|
7
|
+
description: AI model configuration for different agents
|
|
8
|
+
user:
|
|
9
|
+
$ref: UserProfile.yaml
|
|
10
|
+
description: User profile information
|
|
11
|
+
environment:
|
|
12
|
+
$ref: EnvironmentConfig.yaml
|
|
13
|
+
description: Environment and tooling preferences
|
|
14
|
+
system:
|
|
15
|
+
$ref: SystemConfig.yaml
|
|
16
|
+
description: System-level parameters
|
|
17
|
+
agent:
|
|
18
|
+
$ref: AgentConfig.yaml
|
|
19
|
+
description: AI coding agent selection and authentication
|
|
20
|
+
notifications:
|
|
21
|
+
$ref: NotificationPreferences.yaml
|
|
22
|
+
description: Notification preferences for agent lifecycle events
|
|
23
|
+
workflow:
|
|
24
|
+
$ref: WorkflowConfig.yaml
|
|
25
|
+
description: Global workflow configuration defaults
|
|
26
|
+
required:
|
|
27
|
+
- models
|
|
28
|
+
- user
|
|
29
|
+
- environment
|
|
30
|
+
- system
|
|
31
|
+
- agent
|
|
32
|
+
- notifications
|
|
33
|
+
- workflow
|
|
34
|
+
allOf:
|
|
35
|
+
- $ref: BaseEntity.yaml
|
|
36
|
+
description: Global Shep platform settings (singleton)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
$id: SoftDeletableEntity.yaml
|
|
3
|
+
type: object
|
|
4
|
+
properties:
|
|
5
|
+
deletedAt:
|
|
6
|
+
type: string
|
|
7
|
+
format: date-time
|
|
8
|
+
description: Timestamp when this entity was soft-deleted (null if not deleted)
|
|
9
|
+
allOf:
|
|
10
|
+
- $ref: BaseEntity.yaml
|
|
11
|
+
description: Entity that supports soft deletion with a deletedAt timestamp
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
$id: SpecArtifactBase.yaml
|
|
3
|
+
type: object
|
|
4
|
+
properties:
|
|
5
|
+
name:
|
|
6
|
+
type: string
|
|
7
|
+
description: Artifact title / feature name
|
|
8
|
+
summary:
|
|
9
|
+
type: string
|
|
10
|
+
description: Short description of the artifact's purpose
|
|
11
|
+
content:
|
|
12
|
+
type: string
|
|
13
|
+
description: Raw Markdown body containing the human-written spec content
|
|
14
|
+
technologies:
|
|
15
|
+
type: array
|
|
16
|
+
items:
|
|
17
|
+
type: string
|
|
18
|
+
description: Key technologies mentioned or evaluated in this artifact
|
|
19
|
+
relatedFeatures:
|
|
20
|
+
type: array
|
|
21
|
+
items:
|
|
22
|
+
type: string
|
|
23
|
+
description: References to other spec IDs (e.g., '008-agent-configuration')
|
|
24
|
+
relatedLinks:
|
|
25
|
+
type: array
|
|
26
|
+
items:
|
|
27
|
+
type: string
|
|
28
|
+
description: URLs to external documentation, references, or comparisons
|
|
29
|
+
openQuestions:
|
|
30
|
+
type: array
|
|
31
|
+
items:
|
|
32
|
+
$ref: OpenQuestion.yaml
|
|
33
|
+
description: Structured open questions for validation gate checks
|
|
34
|
+
required:
|
|
35
|
+
- name
|
|
36
|
+
- summary
|
|
37
|
+
- content
|
|
38
|
+
- technologies
|
|
39
|
+
- relatedFeatures
|
|
40
|
+
- relatedLinks
|
|
41
|
+
- openQuestions
|
|
42
|
+
allOf:
|
|
43
|
+
- $ref: BaseEntity.yaml
|
|
44
|
+
description: Base entity for spec artifacts with common metadata fields
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
$id: SpecTask.yaml
|
|
3
|
+
type: object
|
|
4
|
+
properties:
|
|
5
|
+
id:
|
|
6
|
+
type: string
|
|
7
|
+
description: Unique identifier for this task (e.g., 'task-1')
|
|
8
|
+
phaseId:
|
|
9
|
+
type: string
|
|
10
|
+
description: ID of the phase this task belongs to (e.g., 'phase-1')
|
|
11
|
+
title:
|
|
12
|
+
type: string
|
|
13
|
+
description: Task title or name
|
|
14
|
+
description:
|
|
15
|
+
type: string
|
|
16
|
+
description: Detailed description of what this task accomplishes
|
|
17
|
+
state:
|
|
18
|
+
$ref: TaskState.yaml
|
|
19
|
+
description: Current state of the task
|
|
20
|
+
dependencies:
|
|
21
|
+
type: array
|
|
22
|
+
items:
|
|
23
|
+
type: string
|
|
24
|
+
description: IDs of other SpecTasks that must complete before this task starts
|
|
25
|
+
acceptanceCriteria:
|
|
26
|
+
type: array
|
|
27
|
+
items:
|
|
28
|
+
type: string
|
|
29
|
+
description: List of acceptance criteria that define task completion
|
|
30
|
+
tdd:
|
|
31
|
+
$ref: TddCycle.yaml
|
|
32
|
+
description: TDD cycle definition for this task (if applicable)
|
|
33
|
+
estimatedEffort:
|
|
34
|
+
type: string
|
|
35
|
+
description: Estimated effort (e.g., '2 hours', '1 day')
|
|
36
|
+
required:
|
|
37
|
+
- id
|
|
38
|
+
- phaseId
|
|
39
|
+
- title
|
|
40
|
+
- description
|
|
41
|
+
- state
|
|
42
|
+
- dependencies
|
|
43
|
+
- acceptanceCriteria
|
|
44
|
+
- estimatedEffort
|
|
45
|
+
description: Task definition within a spec's task breakdown
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
$id: SystemConfig.yaml
|
|
3
|
+
type: object
|
|
4
|
+
properties:
|
|
5
|
+
autoUpdate:
|
|
6
|
+
type: boolean
|
|
7
|
+
default: true
|
|
8
|
+
description: CLI auto-update preference
|
|
9
|
+
logLevel:
|
|
10
|
+
type: string
|
|
11
|
+
default: info
|
|
12
|
+
description: Log level for CLI output
|
|
13
|
+
required:
|
|
14
|
+
- autoUpdate
|
|
15
|
+
- logLevel
|
|
16
|
+
description: System configuration
|