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:
@@ -124,6 +124,7 @@ All adapters use nanoid() for IDs, auto-manage timestamps, and use Drizzle's `.r
|
||||
| name | text NOT NULL UNIQUE | |
|
||||
| url | text NOT NULL UNIQUE | git repo URL |
|
||||
| defaultBranch | text NOT NULL | default 'main' |
|
||||
| lastFetchedAt | integer/timestamp | nullable, updated by ProjectSyncManager |
|
||||
| createdAt, updatedAt | integer/timestamp | |
|
||||
|
||||
### initiative_projects (junction)
|
||||
|
||||
Reference in New Issue
Block a user