Files
headquarter/openspec/changes/archive/2026-05-22-tool-config-management/tasks.md
T
Fusion 063a839790 feat: implement repository clone mode with SSH key support
- Add clone_mode and branch fields to tool_instances
- Add ssh_key_id to git_repositories for per-repo SSH key assignment
- Implement host-side git cloning with branch selection (default: main)
- Mount SSH keys into containers for git operations in clone mode
- Add dirty state check on clone-mode instance deletion with confirmation
- Update SessionsPage with mount/clone selector, branch input, SSH key display
- Add SSH key selector to repository creation form
- Add dirty delete confirmation modal with changed files list
- Update API schemas and endpoints for new fields
- Sync delta specs to main specs (git-repo, tool-instances, repo-clone-mode)
- Archive completed OpenSpec change: repo-clone-mode-with-ssh
- Document git requirement for custom tool types

Quality gates: Frontend typecheck and build passed
OpenSpec: repo-clone-mode-with-ssh archived with all tasks complete
2026-05-22 22:56:35 +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