feat: Add remote sync for project clones
Fetch remote changes before agents start working so they build on up-to-date code. Adds ProjectSyncManager with git fetch + ff-only merge of defaultBranch, integrated into phase dispatch to sync before branch creation. - Schema: lastFetchedAt column on projects table (migration 0029) - Events: project:synced, project:sync_failed - Phase dispatch: sync all linked projects before creating branches - tRPC: syncProject, syncAllProjects, getProjectSyncStatus - CLI: cw project sync [name] --all, cw project status [name] - Frontend: sync button + ahead/behind badge on projects settings
This commit is contained in:
@@ -162,6 +162,9 @@ Each procedure uses `require*Repository(ctx)` helpers that throw `TRPCError(INTE
|
||||
| deleteProject | mutation | Delete clone and record |
|
||||
| getInitiativeProjects | query | Projects for initiative |
|
||||
| updateInitiativeProjects | mutation | Sync junction table |
|
||||
| syncProject | mutation | `git fetch` + ff-only merge of defaultBranch, updates `lastFetchedAt` |
|
||||
| syncAllProjects | mutation | Sync all registered projects |
|
||||
| getProjectSyncStatus | query | Returns `{ ahead, behind, lastFetchedAt }` for a project |
|
||||
|
||||
### Pages
|
||||
| Procedure | Type | Description |
|
||||
|
||||
Reference in New Issue
Block a user