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
896 B
896 B
1. Backend - SSH Existence Check
- 1.1 Add
git ls-remotepreflight to repository creation ingit_repositories.py - 1.2 Build SSH clone URL from
ownerandrepoforgit.commumedia.org - 1.3 Return a clear error when the repository is missing or inaccessible
2. Frontend - Structured Clone Form
- 2.1 Update
RepositoryCreateDialogclone mode to acceptownerandrepo - 2.2 Keep advanced full-URL paste flow and blank repository fallback
- 2.3 Reuse the shared dialog from repository settings and repositories page
3. Validation and Docs
- 3.1 Update repository docs to explain SSH-only owner/repo input
- 3.2 Add tests for success, missing repo, and URL fallback behavior
4. Quality Gates
- 4.1 Run backend and frontend targeted tests
- 4.2 Run frontend typecheck and lint where applicable
- 4.3 Commit and push changes