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.1 KiB
1.1 KiB
Why
Tool instances need configuration (API keys, settings, files) that varies by user and project. Currently there's no way to manage these configs. Users need to store LLM API keys, editor preferences, and tool-specific settings that get mounted into containers at runtime.
What Changes
- Add ToolConfig model for storing key-value configs per user/project/tool
- Add category and interfaces fields to ToolType model
- Create API for managing tool configs (global and project-scoped)
- Mount configs into containers when starting instances
- Add OpenCode as built-in tool type with terminal interface
- Update frontend to show tool categories and interface-appropriate actions
Capabilities
New Capabilities
tool-config-management: Store and manage tool configurationstool-categories: Categorize tools and expose appropriate interfaces
Modified Capabilities
tool-types: Add category and interfaces fields
Impact
- Backend: New model, API endpoints, container startup changes
- Frontend: Config management UI, category display
- Database: New tool_configs table, migrations for tool_types