01a0ef46c9
- Add startup_command field to ToolType model and API - Execute startup command before interactive shell in terminal sessions - Add tmux and ranger to OpenCode container spec - Update Tool Workshop UI with startup_command input for terminal types - Add backend tests for startup_command CRUD operations - Sync specs: tool-terminal, tool-types-definition, opencode-web-server - New spec: tool-terminal-startup-command Quality gates: Frontend typecheck/lint passed. Backend tests blocked by environment (Python/Docker not available). OpenSpec: terminal-startup-and-container-tools
29 lines
1.0 KiB
Markdown
29 lines
1.0 KiB
Markdown
## MODIFIED Requirements
|
|
|
|
### Requirement: WebSocket Terminal
|
|
|
|
The system SHALL provide terminal sessions via WebSocket.
|
|
|
|
#### Scenario: Open terminal with startup command
|
|
- GIVEN a running tool instance with a tool type that has `startup_command` set
|
|
- WHEN the user opens the terminal
|
|
- THEN a WebSocket connection is established
|
|
- AND the startup command is executed before the interactive shell
|
|
- AND the shell is spawned in the container via `docker exec`
|
|
|
|
#### Scenario: Open terminal without startup command
|
|
- GIVEN a running tool instance with a tool type that has no `startup_command`
|
|
- WHEN the user opens the terminal
|
|
- THEN a WebSocket connection is established
|
|
- AND the shell spawns directly without any startup execution
|
|
|
|
### Requirement: Session Management
|
|
|
|
The system SHALL manage terminal sessions.
|
|
|
|
#### Scenario: Reset terminal session runs startup command
|
|
- GIVEN an active terminal session
|
|
- WHEN the user resets the session
|
|
- THEN a new shell is spawned
|
|
- AND the startup command executes before the new interactive shell
|