## Context The current repository creation flow already supports cloning remote repositories via `remote_url` and can normalize pasted browser URLs. However, the UI asks for a full URL, which is awkward for the fixed provider `git.commumedia.org`. The requested behavior is to enter `owner` and `repo`, check whether the repository exists, and clone only if it does. ## Goals / Non-Goals **Goals:** - Accept SSH-only `owner` and `repo` inputs for cloning from `git.commumedia.org` - Verify repository existence before clone - Preserve full URL paste as a fallback path - Preserve blank repository creation - Reuse the existing repository create endpoint and shared dialog **Non-Goals:** - Supporting multiple git providers - Adding a remote repository discovery API - Supporting HTTPS clone flow for the new structured path - Changing repository storage or clone behavior beyond preflight validation ## Decisions **1. Provider assumption** - Hardcode `git.commumedia.org` for the structured clone path - Build SSH URLs as `git@git.commumedia.org:{owner}/{repo}.git` **2. Existence check** - Use `git ls-remote` on the constructed SSH URL before cloning - If the command fails, surface a repository-not-found/inaccessible error and do not clone **3. UI structure** - Keep the shared repository creation dialog as the single entry point - In clone mode, collect `owner` and `repo` instead of asking for a full URL - Keep an advanced paste-URL fallback for existing behavior and browser URL parsing - Keep blank repository creation available in the same dialog **4. Backend behavior** - Reuse `POST /projects/{project_id}/repositories` - Add preflight logic before the existing `git clone --mirror` - Leave the database schema unchanged ## Risks / Trade-offs **[Risk] SSH auth may still fail even if the repo exists** → Mitigation: preflight error should be explicit and user-facing. **[Risk] Command availability** → Mitigation: reuse the same `git` dependency already required for cloning. **[Risk] UI complexity** → Mitigation: keep the dialog shared and minimal, with fallback URL paste.