063a839790
- 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
1.4 KiB
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