GitHub Sync now supports public repositories without requiring a GitHub App or any GitHub credentials.
If you want to seed a repository from an open-source upstream, mirror a public project into Code
Storage, or start from a public template, you can now do that with auth.authType: 'public'. Code
Storage verifies that the upstream repository is publicly readable when the repo is created and then
pulls from GitHub using the unauthenticated API.
This gives you a lightweight path into GitHub-backed workflows when you do not need webhook-driven sync or private repository access.
const repo = await store.createRepo({
id: 'my-upstream-mirror',
baseRepo: {
provider: 'github',
owner: 'octocat',
name: 'hello-world',
defaultBranch: 'main',
auth: { authType: 'public' },
},
});
await repo.pullUpstream();Once the repository exists, you can pull updates from GitHub on demand with repo.pullUpstream().
There are a few important limits:
- Public sync does not use a GitHub App
- Webhook-driven sync is not available in this mode
- If the upstream repository becomes private, sync will fail until you switch to an authenticated GitHub configuration
Public GitHub Sync is the simplest way to bring public GitHub repositories into Code Storage when you want the sync behavior without the operational setup.