Files
headquarter/openspec/changes/archive/2026-05-22-git-repo-ssh-clone-check/proposal.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.3 KiB

Why

Repository creation already supports cloning from a remote URL, but the current UI only accepts a full URL. For the common fixed-provider case (git.commumedia.org), users should be able to enter owner and repo and have the app verify the repository exists before cloning. If the repository does not exist, the app should surface a clear error. Existing blank repository creation must remain available.

What Changes

  • Change the shared repository create dialog to support an SSH-only clone form with owner and repo
  • Build the clone target as git@git.commumedia.org:{owner}/{repo}.git
  • Preflight clone targets with git ls-remote before cloning
  • Return a clear error when the repository is missing or inaccessible
  • Keep the current full URL paste flow as an advanced fallback
  • Keep blank repository creation as a fallback option

Capabilities

Modified Capabilities

  • git-repo: Repository creation UX and clone validation reuse the existing create endpoint and clone path

Impact

  • Frontend: repository-create-dialog.tsx, git-repositories.tsx, repositories-settings-tab.tsx
  • Backend: git_repositories.py create endpoint clone preflight
  • Docs: repository creation guidance must reflect SSH-only owner/repo input
  • Tests: add coverage for SSH repo existence checks and fallback URL behavior