Add two-way GitHub sync with PR support
Right now, exporting projects from VibeSDK to GitHub works great for a one-time push, but there’s no way to sync ongoing changes.
It would be super useful if we could:
- Keep the GitHub repo linked after export
- Make continuous edits in the builder and “Send PR” directly to the connected repo
- Have VibeSDK automatically create a branch and pull request for those changes
Builder.io has a similar setup with their Fusion feature - they describe it here
This would make it easy to use VibeSDK for continuous edits and GitHub for code review and merge control, instead of manual exports every time.
Basically: export once, then sync changes through PRs instead of re-exporting.
Yes that is something we understand can cause friction for end users. The reason for current setup is related to security - we don't want either us or those who are deploying the platform for themselves to store end user's tokens in any form in the database, just to make sure there is no risk in case of a compromise. But that also means we currently need to oauth everytime on github export. But we should be able to persist the github oauth token in-memory of agent DO though, so user would have to oauth only once per app edit session. I will try figuring out better ways maybe next week. However, the repo link once generated should work for subsequent exports too, and if it doesn't then thats a bug I need to have a look at. Also currently there is a bug in the commits - commits names are not exactly phase-wise - the git history isn't accurate. Will have a look at both but probably would need to redesign the relevant architecture. I am also thinking of git based repo import feature as well, but will take some more weeks though
Importing a repo would be a great addition too.
About the export bug, I’ve been able to export the same project multiple times. Recently, I exported to GitHub and it worked fine, then went back to the builder and made a small change, re-exported, and it only pushed the README file. I made a few more edits and exported again, and that time it pushed everything correctly. Might’ve just been a one-time glitch, but I’ll report back if it happens again.
Looking forward to the updates. A two-way sync would be a really strong feature to have.