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
1.5 KiB
1.5 KiB
ADDED Requirements
Requirement: OpenCode runs a web server
The system SHALL configure OpenCode containers to run a web server accessible on port 3000.
Scenario: OpenCode container starts
- GIVEN an OpenCode tool instance
- WHEN the container starts
- THEN a web server is running on port 3000 inside the container
- AND the server serves a web terminal interface
- AND the container has
tmuxinstalled - AND the container has
rangerinstalled
Requirement: OpenCode exposes web interface
The system SHALL mark OpenCode as having both terminal and web interfaces.
Scenario: OpenCode instance created
- GIVEN a new OpenCode instance
- WHEN the instance list is displayed
- THEN both "Open" and "Terminal" buttons are shown
Requirement: OpenCode web terminal uses correct port
The system SHALL use port 3000 when creating tunnels for OpenCode instances.
Scenario: Tunnel created for OpenCode
- GIVEN an OpenCode instance with
default_port: 3000 - WHEN the instance starts and creates a tunnel
- THEN the tunnel targets
http://container-name:3000
Requirement: OpenCode web terminal displays properly
The system SHALL serve a functional web terminal interface for OpenCode.
Scenario: User opens OpenCode web UI
- GIVEN a running OpenCode instance
- WHEN the user clicks the "Open" button
- THEN a new tab opens with the OpenCode web interface
- AND the interface shows a terminal connected to the OpenCode process
- AND the user can run
tmuxandrangercommands