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
This commit is contained in:
Fusion
2026-05-22 22:56:35 +02:00
parent 952a9f3234
commit 063a839790
95 changed files with 2002 additions and 392 deletions
@@ -1,35 +0,0 @@
# UI Redesign: Home + Settings
## Problem
The current authenticated UI is functional but fragmented. Sessions, tool setup, and settings are spread across top-level pages, and the home screen does not yet provide a strong overview of open sessions and available projects.
## Solution
Redesign the authenticated frontend around two primary surfaces:
1. **Home**: an overview of open sessions and available projects
2. **Settings**: a tabbed settings hub with General, SSH Keys, Tool Types, and Tool Configs
Keep existing functionality and the Project -> Repository -> Session hierarchy intact. Reuse the current APIs and workflows.
## Scope
- Redesign the main landing page into an operational overview
- Fold the Sessions page into the home experience
- Convert SSH Keys, Tool Types, and Tool Configs into settings tabs
- Update navigation and routes to match the new IA
- Refresh visual design, typography, and spacing
## Non-Goals
- No backend behavior changes
- No new session or project APIs
- No changes to the project/repository/session data model
## Success Criteria
- Home shows open sessions and available projects clearly
- Settings contains tabs for General, SSH Keys, Tool Types, Tool Configs
- Old top-level settings-related routes redirect to the new structure
- Visual system uses Inter and a refined warm palette