Files
headquarter/openspec/changes/tool-config-management/tasks.md
T
Fusion 63ae706dd0 feat(tool-config): add categories, interfaces, and config management
Add support for tool categories, interface types, and per-tool configuration.

Backend:
- Add category and interfaces fields to ToolType model
- Create ToolConfig model for storing tool-specific settings
- Add tool_configs API endpoints (CRUD)
- Update built-in tool types with categories and interfaces:
  - code-server: editor, [web]
  - jupyter-notebook: notebook, [web]
  - opencode: ai-assistant, [terminal]
- Update instance API to include tool type interfaces
- Create Alembic migrations 0008 and 0009

Frontend:
- Update ToolType and Session interfaces with new fields
- Conditionally show Open/Terminal buttons based on tool interfaces
- Add API client for tool configs

OpenSpec: tool-config-management change created and implemented.
2026-05-20 11:03:09 +02:00

1.4 KiB

1. Database & Models

  • 1.1 Add category and interfaces fields to ToolType model
  • 1.2 Create ToolConfig model with user/project/tool scopes
  • 1.3 Create Alembic migrations for tool_types and tool_configs

2. Backend - Tool Config API

  • 2.1 Create GET/POST/PUT/DELETE endpoints for tool configs
  • 2.2 Support global and project-scoped configs
  • 2.3 Mount configs into containers when starting instances
  • 2.4 Update start_instance to inject env vars and write files

3. Backend - Tool Type Updates

  • 3.1 Update ToolType API to include category and interfaces
  • 3.2 Update seed data with categories and interfaces
  • 3.3 Add OpenCode as built-in tool type

4. Frontend - Tool Config UI

  • 4.1 Create tool config management page/component
  • 4.2 Support env var and file config types
  • 4.3 Show configs per tool type with global/project toggle

5. Frontend - Category & Interface Support

  • 5.1 Display tool categories in lists
  • 5.2 Show interface-appropriate actions (Open for web, Terminal for CLI)
  • 5.3 Update instance list to check interfaces

6. OpenCode Integration

  • 6.1 Create OpenCode compose template
  • 6.2 Ensure terminal access works
  • 6.3 Mount repo and configs correctly

7. Quality Gates

  • 7.1 Run ruff and mypy
  • 7.2 Run frontend typecheck and lint
  • 7.3 Test end-to-end