GitHub
Code hosting: repositories, issues, pull requests, Actions and releases through the REST API.
Repositories, issues, pull requests and releases. Use a token for your own repositories; let people connect their accounts for theirs.
Used by: RepoLens reads traffic, stars and downloads with a token.
API key
- Open Settings → Developer settings → Fine-grained tokens → Generate new token.
- Name it after your Gateway and pick an expiry. Under Resource owner, pick the account or organization whose repositories the app reads.
- Under Repository access, choose only the repositories the app needs.
- Under Permissions, give the least the app needs (for example Contents: Read and Metadata: Read).
- Select Generate token and copy it. It's shown once.
Add it to your Gateway. It asks for the key:
everyapp provider add githubUse it in an app
In the app's everyapp.config.ts:
capabilities: {
github: { access: "read", why: "What the app does with it." },
},The app calls GitHub's API with integrationFetch(), and the Gateway adds the key. Use "write" if the app changes things. More in API providers.
Check it worked: everyapp provider show github shows the key as set.
Rate limits: 5,000 requests an hour per token; at most 100 concurrent requests and 900 points a minute across REST endpoints.
Connect accounts
Each person connects their own GitHub account in the Gateway, once, and every app that asks uses it. Apps never see the tokens. How connecting works
The redirect URI to register, with your Gateway's address (like apps.example.com):
https://<your gateway>/connect/github-oauth/callback- Open Settings → Developer settings → OAuth Apps and select New OAuth App. Make an OAuth App, not a GitHub App.
- Enter a name, your Gateway's address as the homepage, and the redirect URI above as the Authorization callback URL.
- Select Register application, then Generate a new client secret.
- Copy the Client ID and the client secret. The secret is shown once.
Add it to your Gateway. It asks for the client ID and secret:
everyapp provider add github-oauthOr add it in Manage workspace → Providers.
Use it in an app
capabilities: {
"github-oauth": { access: "read", scopes: ["repo.read"], why: "What the app does with it." },
},Apps ask for these scope sets:
| Set | Allows | Provider scopes |
|---|---|---|
identity | GitHub account (who you are) | read:user, user:email |
repo.read | Repositories (read, private ones included) | repo |
repo.write | Repositories (read and write) | repo |
org.read | Organizations and teams (read) | read:org |
Check it worked: everyapp provider show github-oauth shows the client as set. Then open the account menu → Connected accounts → Connect GitHub.
Sign in with GitHub
Adds Continue with GitHub to your Gateway's sign-in page, for people you've invited. Sign-in
- Open github.com and create an OAuth App.
- Add the redirect URL
https://<your gateway>/api/auth/callback/github. - Copy:
GITHUB_SIGNIN_CLIENT_ID: The OAuth App's Client ID.GITHUB_SIGNIN_CLIENT_SECRET: A client secret generated on the OAuth App.
- GitHub Apps are something else: make an OAuth App (Settings → Developer settings → OAuth Apps).
Turn it on. It asks for each value:
everyapp signin add githubCheck it worked: everyapp signin show github shows each setting as set. Then sign out and select the button.
More help
Ask your coding agent to set GitHub up: the everyapp skill has the full guide (setup/signin-github.md).
Something wrong or missing? Open an issue.