Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions openspec/specs/cli-artifact-workflow/spec.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,29 @@ The system SHALL create new change directories with validation.
- **WHEN** user runs `openspec new change add-feature --description "Add new feature"`
- **THEN** the system creates the change directory with description in README.md

### Requirement: Workspace Setup Commands
The CLI artifact workflow SHALL expose workspace setup commands before change creation.

#### Scenario: Preparing workspace planning before a change
- **WHEN** a user needs to prepare workspace planning across repos or folders
- **THEN** the CLI SHALL provide commands to set up, list, link, relink, and doctor workspaces
- **AND** those commands SHALL not require an active workspace change

#### Scenario: Listing workspaces with a short command
- **WHEN** a user wants a concise workspace list command
- **THEN** the CLI SHALL support `openspec workspace ls`
- **AND** it SHALL behave the same as `openspec workspace list`

#### Scenario: Keeping setup separate from agent launch
- **WHEN** a user completes workspace setup
- **THEN** the setup workflow SHALL leave agent launch and workspace open behavior to a later workflow
- **AND** setup SHALL not require a preferred agent choice

#### Scenario: Avoiding public direct creation
- **WHEN** users create a workspace in the first workspace setup flow
- **THEN** the CLI SHALL use `openspec workspace setup`
- **AND** it SHALL not expose `openspec workspace create` as the public creation path

### Requirement: Schema Selection
The system SHALL support custom schema selection for workflow commands.

Expand Down
14 changes: 8 additions & 6 deletions openspec/specs/workspace-foundation/spec.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,18 +27,19 @@ OpenSpec SHALL give users and agents a recognizable workspace home for cross-rep
- **AND** it SHALL enter workspace mode only when the workspace identity file is present

### Requirement: Stable Workspace Name
OpenSpec SHALL use one folder-style workspace name across workspace identity, managed storage, and the local registry.
OpenSpec SHALL use one kebab-case workspace name across workspace identity, managed storage, and the local registry.

#### Scenario: Using one workspace name
- **WHEN** OpenSpec creates or registers a managed workspace
- **WHEN** OpenSpec creates or records a managed workspace
- **THEN** the workspace name SHALL be stored in `.openspec-workspace/workspace.yaml`
- **AND** the same name SHALL be used as the default managed workspace folder name
- **AND** the same name SHALL be used as the local registry name

#### Scenario: Rejecting invalid folder-style names
#### Scenario: Rejecting invalid workspace names
- **WHEN** OpenSpec accepts a workspace name
- **THEN** it SHALL reject empty names, `.` or `..`, and names containing path separators
- **AND** setup or create flows SHALL report OS-level folder creation failures clearly
- **THEN** it SHALL require kebab-case names using lowercase letters, numbers, and single hyphen separators
- **AND** it SHALL reject empty names, dot names, names with leading or trailing hyphens, names with repeated hyphens, uppercase letters, spaces, underscores, dots, and path separators
- **AND** setup flows SHALL report OS-level folder creation failures clearly

### Requirement: Dedicated Workspace Identity
OpenSpec SHALL distinguish a coordination workspace from a repo-local OpenSpec project.
Expand Down Expand Up @@ -139,7 +140,7 @@ OpenSpec SHALL keep a lightweight local registry of known workspaces on the curr
- **AND** commands that need one workspace MAY use the registry to support an interactive picker

### Requirement: Stable Link Names
OpenSpec SHALL use stable link names to refer to repos and folders in workspace planning.
OpenSpec SHALL use stable folder-style link names to refer to repos and folders in workspace planning.

#### Scenario: Referring to a repo or folder in workspace planning
- **WHEN** workspace state or later workspace planning artifacts refer to a linked repo or folder
Expand All @@ -155,6 +156,7 @@ OpenSpec SHALL use stable link names to refer to repos and folders in workspace
- **WHEN** OpenSpec accepts a workspace link name
- **THEN** it SHALL reject empty names, `.` or `..`, and names containing path separators
- **AND** link names SHALL be unique within the workspace
- **AND** link names SHALL not be required to use workspace-name kebab-case

### Requirement: Linked Repos And Folders
OpenSpec SHALL allow workspace planning to include linked repos and folders before they have repo-local OpenSpec state.
Expand Down
362 changes: 362 additions & 0 deletions openspec/specs/workspace-links/spec.md

Large diffs are not rendered by default.

Loading