Workspace admins connect git remotes via settings UI; forge type is inferred from the URL, API tokens stay env-var references, and test connection fetches default branch for orchestrator/worker consumers. Co-authored-by: Cursor <cursoragent@cursor.com>
1.6 KiB
1.6 KiB
| kind | slug | title | plan_slug | status | priority | tenant_id | cursor_epic_id | updated_at |
|---|---|---|---|---|---|---|---|---|
| epic | connected-repos | Connected repos — paste remote URL, forge adapters | automation-foundation | done | P1 | global | null | 2026-07-03 |
Epic objective
Workspace admins connect git remotes (Forgejo, GitHub, GitLab, Bitbucket, future Origin) via paste URL UX. Store repo_links with forge_type, API base, and credentials reference. Provide a ForgeAdapter interface for clone metadata, open PR, and (later) webhooks.
See automation foundation discussion: Vercel/Coolify-style “show me your repo.”
In scope / out of scope
In scope
connected_repos(orrepo_links) Drizzle table, workspace-scoped.- tRPC CRUD + “test clone” (shallow fetch).
- Settings UI: connect / disconnect / list.
- Forge adapter trait + implementations:
forgejo,github(minimum two).
Out of scope
- Webhook receivers (Epic 8).
- Orchestrator clone logic (Epic 6 consumes this table).
Dependencies
- Workspace admin auth patterns (existing).
Blocks
- Epic 6 (orchestrator), Epic 7 (worker).
Acceptance criteria
- Admin pastes Forgejo URL; Echodo stores link and detects
forge_type. - Worker/orchestrator can read
git_remote_url+ default branch from API.