Files
OpenCode Agent 01a0ef46c9 feat: terminal startup command and container tools
- 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
2026-05-24 22:21:55 +00:00

1.0 KiB

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