[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-vercel-labs-github":3,"mdc-bmsfiw-key":35,"related-repo-vercel-labs-github":6990,"related-org-vercel-labs-github":7087},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":24,"repoUrl":25,"updatedAt":26,"license":27,"forks":28,"topics":29,"repo":30,"sourceUrl":33,"mdContent":34},"github","emulate GitHub API for local development","Emulated GitHub REST API for local development and testing. Use when the user needs to interact with GitHub API endpoints locally, test GitHub integrations, emulate repos\u002Fissues\u002FPRs, set up GitHub OAuth flows, configure GitHub Apps, test webhooks, or work with actions\u002Fchecks without hitting the real GitHub API. Triggers include \"GitHub API\", \"emulate GitHub\", \"mock GitHub\", \"test GitHub OAuth\", \"GitHub App JWT\", \"local GitHub\", or any task requiring a local GitHub API.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"vercel-labs","Vercel Labs","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fvercel-labs.png",[12,15,18,21],{"name":13,"slug":4,"type":14},"GitHub","tag",{"name":16,"slug":17,"type":14},"Local Development","local-development",{"name":19,"slug":20,"type":14},"API Development","api-development",{"name":22,"slug":23,"type":14},"Testing","testing",1511,"https:\u002F\u002Fgithub.com\u002Fvercel-labs\u002Femulate","2026-07-17T06:05:55.104585",null,95,[],{"repoUrl":25,"stars":24,"forks":28,"topics":31,"description":32},[],"Local API emulation for CI and no-network sandboxes","https:\u002F\u002Fgithub.com\u002Fvercel-labs\u002Femulate\u002Ftree\u002FHEAD\u002Fskills\u002Fgithub","---\nname: github\ndescription: Emulated GitHub REST API for local development and testing. Use when the user needs to interact with GitHub API endpoints locally, test GitHub integrations, emulate repos\u002Fissues\u002FPRs, set up GitHub OAuth flows, configure GitHub Apps, test webhooks, or work with actions\u002Fchecks without hitting the real GitHub API. Triggers include \"GitHub API\", \"emulate GitHub\", \"mock GitHub\", \"test GitHub OAuth\", \"GitHub App JWT\", \"local GitHub\", or any task requiring a local GitHub API.\nallowed-tools: Bash(npx emulate:*), Bash(emulate:*), Bash(curl:*)\n---\n\n# GitHub API Emulator\n\nFully stateful GitHub REST API emulation. Creates, updates, and deletes persist in memory and affect related entities.\n\n## Start\n\n```bash\n# GitHub only\nnpx emulate --service github\n\n# Default port\n# http:\u002F\u002Flocalhost:4001\n```\n\nOr programmatically:\n\n```typescript\nimport { createEmulator } from 'emulate'\n\nconst github = await createEmulator({ service: 'github', port: 4001 })\n\u002F\u002F github.url === 'http:\u002F\u002Flocalhost:4001'\n```\n\n## Auth\n\nPass tokens as `Authorization: Bearer \u003Ctoken>` or `Authorization: token \u003Ctoken>`.\n\n```bash\ncurl http:\u002F\u002Flocalhost:4001\u002Fuser \\\n  -H \"Authorization: Bearer test_token_admin\"\n```\n\nPublic repo endpoints work without auth. Private repos and write operations require a valid token. When no token is provided, requests fall back to the first seeded user.\n\n### GitHub App JWT\n\nConfigure apps in the seed config with a private key. Sign a JWT with `{ iss: \"\u003Capp_id>\" }` using RS256. The emulator verifies the signature and resolves the app.\n\n```yaml\ngithub:\n  apps:\n    - app_id: 12345\n      slug: my-github-app\n      name: My GitHub App\n      private_key: |\n        -----BEGIN RSA PRIVATE KEY-----\n        ...\n        -----END RSA PRIVATE KEY-----\n      permissions:\n        contents: read\n        issues: write\n      events: [push, pull_request]\n      webhook_url: http:\u002F\u002Flocalhost:8080\u002Fgithub\u002Fwebhook\n      webhook_secret: my-webhook-secret\n      description: My CI\u002FCD bot\n      installations:\n        - installation_id: 100\n          account: my-org\n          repository_selection: all\n          permissions:\n            contents: read\n          events: [push]\n          repositories: [my-org\u002Forg-repo]\n```\n\n## Pointing Your App at the Emulator\n\n### Environment Variable\n\n```bash\nGITHUB_EMULATOR_URL=http:\u002F\u002Flocalhost:4001\n```\n\n### Octokit\n\n```typescript\nimport { Octokit } from '@octokit\u002Frest'\n\nconst octokit = new Octokit({\n  baseUrl: process.env.GITHUB_EMULATOR_URL ?? 'https:\u002F\u002Fapi.github.com',\n  auth: 'test_token_admin',\n})\n```\n\n### OAuth URL Mapping\n\n| Real GitHub URL | Emulator URL |\n|-----------------|-------------|\n| `https:\u002F\u002Fgithub.com\u002Flogin\u002Foauth\u002Fauthorize` | `$GITHUB_EMULATOR_URL\u002Flogin\u002Foauth\u002Fauthorize` |\n| `https:\u002F\u002Fgithub.com\u002Flogin\u002Foauth\u002Faccess_token` | `$GITHUB_EMULATOR_URL\u002Flogin\u002Foauth\u002Faccess_token` |\n| `https:\u002F\u002Fapi.github.com\u002Fuser` | `$GITHUB_EMULATOR_URL\u002Fuser` |\n\n### Auth.js \u002F NextAuth.js\n\n```typescript\nimport GitHub from '@auth\u002Fcore\u002Fproviders\u002Fgithub'\n\nGitHub({\n  clientId: process.env.GITHUB_CLIENT_ID,\n  clientSecret: process.env.GITHUB_CLIENT_SECRET,\n  authorization: {\n    url: `${process.env.GITHUB_EMULATOR_URL}\u002Flogin\u002Foauth\u002Fauthorize`,\n  },\n  token: {\n    url: `${process.env.GITHUB_EMULATOR_URL}\u002Flogin\u002Foauth\u002Faccess_token`,\n  },\n  userinfo: {\n    url: `${process.env.GITHUB_EMULATOR_URL}\u002Fuser`,\n  },\n})\n```\n\n## Seed Config\n\n```yaml\ntokens:\n  test_token_admin:\n    login: admin\n    scopes: [repo, user, admin:org, admin:repo_hook]\n\ngithub:\n  users:\n    - login: octocat\n      name: The Octocat\n      email: octocat@github.com\n      bio: I am the Octocat\n      company: GitHub\n      location: San Francisco\n      blog: https:\u002F\u002Fgithub.blog\n      twitter_username: github\n      site_admin: false\n  orgs:\n    - login: my-org\n      name: My Organization\n      description: A test organization\n      email: org@example.com\n  repos:\n    - owner: octocat\n      name: hello-world\n      description: My first repository\n      language: JavaScript\n      topics: [hello, world]\n      default_branch: main\n      private: false\n    - owner: my-org\n      name: org-repo\n      description: An organization repository\n      language: TypeScript\n  oauth_apps:\n    - client_id: Iv1.abc123\n      client_secret: secret_abc123\n      name: My Web App\n      redirect_uris:\n        - http:\u002F\u002Flocalhost:3000\u002Fapi\u002Fauth\u002Fcallback\u002Fgithub\n```\n\nRepos are auto-initialized with a commit, branch, and README unless `auto_init: false` is set.\n\n## Pagination\n\nAll list endpoints support `page` and `per_page` query params with `Link` headers:\n\n```bash\ncurl \"http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fissues?page=1&per_page=10\" \\\n  -H \"Authorization: Bearer $TOKEN\"\n```\n\n## API Endpoints\n\n### Users\n\n```bash\n# Authenticated user\ncurl http:\u002F\u002Flocalhost:4001\u002Fuser -H \"Authorization: Bearer $TOKEN\"\n\n# Update profile\ncurl -X PATCH http:\u002F\u002Flocalhost:4001\u002Fuser \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"bio\": \"Hello!\"}'\n\n# Get user by username\ncurl http:\u002F\u002Flocalhost:4001\u002Fusers\u002Foctocat\n\n# List users\ncurl http:\u002F\u002Flocalhost:4001\u002Fusers\n\n# User repos \u002F orgs \u002F followers \u002F following\ncurl http:\u002F\u002Flocalhost:4001\u002Fusers\u002Foctocat\u002Frepos\ncurl http:\u002F\u002Flocalhost:4001\u002Fusers\u002Foctocat\u002Forgs\ncurl http:\u002F\u002Flocalhost:4001\u002Fusers\u002Foctocat\u002Ffollowers\ncurl http:\u002F\u002Flocalhost:4001\u002Fusers\u002Foctocat\u002Ffollowing\n\n# User hovercard\ncurl http:\u002F\u002Flocalhost:4001\u002Fusers\u002Foctocat\u002Fhovercard\n\n# User emails\ncurl http:\u002F\u002Flocalhost:4001\u002Fuser\u002Femails -H \"Authorization: Bearer $TOKEN\"\n```\n\n### Repositories\n\n```bash\n# Get repo\ncurl http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\n\n# Create user repo\ncurl -X POST http:\u002F\u002Flocalhost:4001\u002Fuser\u002Frepos \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"name\": \"new-repo\", \"private\": false}'\n\n# Create org repo\ncurl -X POST http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Frepos \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"name\": \"org-project\"}'\n\n# Update repo\ncurl -X PATCH http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"description\": \"Updated description\"}'\n\n# Delete repo (cascades issues, PRs, etc.)\ncurl -X DELETE http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world \\\n  -H \"Authorization: Bearer $TOKEN\"\n\n# Topics, languages, contributors, forks, collaborators, tags, transfer\n```\n\n### Issues\n\n```bash\n# List issues (filter by state, labels, assignee, milestone, creator, since)\ncurl \"http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fissues?state=open&labels=bug\"\n\n# Create issue\ncurl -X POST http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fissues \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"title\": \"Bug report\", \"body\": \"Details here\", \"labels\": [\"bug\"]}'\n\n# Get \u002F update \u002F lock \u002F unlock \u002F timeline \u002F events \u002F assignees\n```\n\n### Pull Requests\n\n```bash\n# List PRs\ncurl \"http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fpulls?state=open\"\n\n# Create PR\ncurl -X POST http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fpulls \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"title\": \"Feature\", \"head\": \"feature-branch\", \"base\": \"main\"}'\n\n# Merge PR (enforces branch protection)\ncurl -X PUT http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fpulls\u002F1\u002Fmerge \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"merge_method\": \"squash\"}'\n\n# Commits, files, requested reviewers, update branch\n```\n\n### Comments\n\n```bash\n# Issue comments: full CRUD\ncurl http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fissues\u002F1\u002Fcomments\ncurl -X POST http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fissues\u002F1\u002Fcomments \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"body\": \"Looks good!\"}'\n\n# Comment by ID (cross-resource)\ncurl http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fissues\u002Fcomments\u002F1\n\n# PR review comments\ncurl http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fpulls\u002F1\u002Fcomments\n\n# Commit comments\ncurl http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fcommits\u002Fabc123\u002Fcomments\n\n# Repo-wide comment listings\ncurl http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fissues\u002Fcomments\ncurl http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fpulls\u002Fcomments\ncurl http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fcomments\n```\n\n### Reviews\n\n```bash\n# List \u002F create \u002F get \u002F update \u002F submit \u002F dismiss reviews\ncurl http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fpulls\u002F1\u002Freviews\ncurl -X POST http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fpulls\u002F1\u002Freviews \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"event\": \"APPROVE\", \"body\": \"LGTM\"}'\n```\n\n### Labels & Milestones\n\nFull CRUD for labels and milestones. Add\u002Fremove labels from issues, replace all labels. List labels for a milestone.\n\n### Branches & Git Data\n\n```bash\n# List branches\ncurl http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fbranches\n\n# Branch protection CRUD (status checks, PR reviews, enforce admins)\ncurl -X PUT http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fbranches\u002Fmain\u002Fprotection \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"required_status_checks\": {\"strict\": true, \"contexts\": [\"ci\"]}}'\n\n# Refs, commits, trees (recursive), blobs, tags, matching-refs\n```\n\n### Organizations & Teams\n\n```bash\n# List all orgs \u002F user's orgs \u002F get org \u002F update org\ncurl http:\u002F\u002Flocalhost:4001\u002Forganizations\ncurl http:\u002F\u002Flocalhost:4001\u002Fuser\u002Forgs -H \"Authorization: Bearer $TOKEN\"\ncurl http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\ncurl -X PATCH http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"description\": \"Updated org\"}'\n\n# Org members: list, get, remove\ncurl http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Fmembers\ncurl http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Fmembers\u002Foctocat\ncurl -X DELETE http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Fmembers\u002Foctocat \\\n  -H \"Authorization: Bearer $TOKEN\"\n\n# Org memberships: get, set (invite\u002Fupdate role)\ncurl http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Fmemberships\u002Foctocat -H \"Authorization: Bearer $TOKEN\"\ncurl -X PUT http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Fmemberships\u002Foctocat \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"role\": \"admin\"}'\n\n# Teams: CRUD\ncurl http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Fteams\ncurl -X POST http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Fteams \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"name\": \"engineering\", \"privacy\": \"closed\"}'\n\n# Team members and memberships\ncurl http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Fteams\u002Fengineering\u002Fmembers\ncurl -X PUT http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Fteams\u002Fengineering\u002Fmemberships\u002Foctocat \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"role\": \"maintainer\"}'\n\n# Team repos: list, add, remove\ncurl http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Fteams\u002Fengineering\u002Frepos\ncurl -X PUT http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Fteams\u002Fengineering\u002Frepos\u002Fmy-org\u002Forg-repo \\\n  -H \"Authorization: Bearer $TOKEN\"\n\n# Legacy team endpoints by ID\ncurl http:\u002F\u002Flocalhost:4001\u002Fteams\u002F1\ncurl http:\u002F\u002Flocalhost:4001\u002Fteams\u002F1\u002Fmembers\n```\n\n### GitHub Apps\n\n```bash\n# Get authenticated app (requires JWT auth)\ncurl http:\u002F\u002Flocalhost:4001\u002Fapp \\\n  -H \"Authorization: Bearer \u003Cjwt>\"\n\n# List app installations\ncurl http:\u002F\u002Flocalhost:4001\u002Fapp\u002Finstallations \\\n  -H \"Authorization: Bearer \u003Cjwt>\"\n\n# Get installation\ncurl http:\u002F\u002Flocalhost:4001\u002Fapp\u002Finstallations\u002F100 \\\n  -H \"Authorization: Bearer \u003Cjwt>\"\n\n# Create installation access token (mints ghs_... token)\ncurl -X POST http:\u002F\u002Flocalhost:4001\u002Fapp\u002Finstallations\u002F100\u002Faccess_tokens \\\n  -H \"Authorization: Bearer \u003Cjwt>\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"permissions\": {\"contents\": \"read\"}}'\n\n# Find installation for repo \u002F org \u002F user\ncurl http:\u002F\u002Flocalhost:4001\u002Frepos\u002Fmy-org\u002Forg-repo\u002Finstallation\ncurl http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Finstallation\ncurl http:\u002F\u002Flocalhost:4001\u002Fusers\u002Foctocat\u002Finstallation\n```\n\nApp webhook delivery: when events occur, the emulator POSTs `event_callback` payloads to configured `webhook_url` with `X-GitHub-Event` and `X-Hub-Signature-256` headers.\n\n### Releases\n\n```bash\n# Create release\ncurl -X POST http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Freleases \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"tag_name\": \"v1.0.0\", \"name\": \"v1.0.0\"}'\n\n# List, get, latest, by tag, generate notes\n\n# Release assets: list, upload\ncurl http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Freleases\u002F1\u002Fassets\ncurl -X POST http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Freleases\u002F1\u002Fassets \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Foctet-stream\" \\\n  -H \"name: binary.zip\" \\\n  --data-binary @binary.zip\n```\n\n### Webhooks\n\n```bash\n# Create webhook (real HTTP delivery on state changes)\ncurl -X POST http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fhooks \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"config\": {\"url\": \"http:\u002F\u002Flocalhost:8080\u002Fwebhook\"}, \"events\": [\"push\", \"pull_request\"]}'\n\n# Full CRUD, ping, test, deliveries\n# Org webhooks also supported\n```\n\n### Search\n\n```bash\n# Search repositories\ncurl \"http:\u002F\u002Flocalhost:4001\u002Fsearch\u002Frepositories?q=language:JavaScript+user:octocat\"\n\n# Search issues and PRs\ncurl \"http:\u002F\u002Flocalhost:4001\u002Fsearch\u002Fissues?q=repo:octocat\u002Fhello-world+is:open\"\n\n# Search users, code, commits, topics, labels\n```\n\n### Actions\n\n```bash\n# Workflows: list, get, enable\u002Fdisable, dispatch\n# Workflow runs: list, get, cancel, rerun, delete, logs\n# Jobs: list, get, logs\n# Artifacts: list, get, delete\n# Secrets: repo + org CRUD\n```\n\n### Checks\n\n```bash\n# Create check run\ncurl -X POST http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fcheck-runs \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"name\": \"CI\", \"head_sha\": \"abc123\", \"status\": \"completed\", \"conclusion\": \"success\"}'\n\n# Check suites: create, get, rerequest, preferences, list by ref\n# Check runs: list for suite, annotations\n# Automatic suite status rollup from check run results\n```\n\n### OAuth\n\n```bash\n# Authorize (browser flow, shows user picker)\n# GET \u002Flogin\u002Foauth\u002Fauthorize?client_id=...&redirect_uri=...&scope=...&state=...\n\n# Token exchange\ncurl -X POST http:\u002F\u002Flocalhost:4001\u002Flogin\u002Foauth\u002Faccess_token \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -H \"Accept: application\u002Fjson\" \\\n  -d '{\"client_id\": \"Iv1.abc123\", \"client_secret\": \"secret_abc123\", \"code\": \"\u003Ccode>\"}'\n\n# User emails\ncurl http:\u002F\u002Flocalhost:4001\u002Fuser\u002Femails -H \"Authorization: Bearer $TOKEN\"\n\n# OAuth app management (settings)\ncurl http:\u002F\u002Flocalhost:4001\u002Fsettings\u002Fapplications -H \"Authorization: Bearer $TOKEN\"\ncurl http:\u002F\u002Flocalhost:4001\u002Fsettings\u002Fconnections\u002Fapplications\u002FIv1.abc123 -H \"Authorization: Bearer $TOKEN\"\n\n# Revoke OAuth app\ncurl -X POST http:\u002F\u002Flocalhost:4001\u002Fsettings\u002Fconnections\u002Fapplications\u002FIv1.abc123\u002Frevoke \\\n  -H \"Authorization: Bearer $TOKEN\"\n```\n\n### Misc\n\n```bash\ncurl http:\u002F\u002Flocalhost:4001\u002Frate_limit\ncurl http:\u002F\u002Flocalhost:4001\u002Fmeta\ncurl http:\u002F\u002Flocalhost:4001\u002Femojis\ncurl http:\u002F\u002Flocalhost:4001\u002Fversions\ncurl http:\u002F\u002Flocalhost:4001\u002Foctocat\ncurl http:\u002F\u002Flocalhost:4001\u002Fzen\n```\n\n## Common Patterns\n\n### Create Repo, Issue, and PR\n\n```bash\nTOKEN=\"test_token_admin\"\nBASE=\"http:\u002F\u002Flocalhost:4001\"\n\n# Create repo\ncurl -X POST $BASE\u002Fuser\u002Frepos \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"name\": \"my-project\"}'\n\n# Create issue\ncurl -X POST $BASE\u002Frepos\u002Fadmin\u002Fmy-project\u002Fissues \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"title\": \"First issue\"}'\n\n# Create PR\ncurl -X POST $BASE\u002Frepos\u002Fadmin\u002Fmy-project\u002Fpulls \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"title\": \"First PR\", \"head\": \"feature\", \"base\": \"main\"}'\n```\n\n### GitHub App Installation Token Flow\n\n```bash\n# 1. Sign a JWT with { iss: \"12345\" } using the app's private key (RS256)\n# 2. Create an installation access token\ncurl -X POST $BASE\u002Fapp\u002Finstallations\u002F100\u002Faccess_tokens \\\n  -H \"Authorization: Bearer \u003Cjwt>\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"permissions\": {\"contents\": \"read\", \"issues\": \"write\"}}'\n# Returns { \"token\": \"ghs_...\", ... }\n\n# 3. Use the installation token to call API endpoints\ncurl $BASE\u002Frepos\u002Fmy-org\u002Forg-repo \\\n  -H \"Authorization: Bearer ghs_...\"\n```\n\n### OAuth Flow\n\n1. Redirect user to `$GITHUB_EMULATOR_URL\u002Flogin\u002Foauth\u002Fauthorize?client_id=...&redirect_uri=...&scope=user+repo&state=...`\n2. User picks a seeded user on the emulator's UI\n3. Emulator redirects back with `?code=...&state=...`\n4. Exchange code for token via `POST \u002Flogin\u002Foauth\u002Faccess_token`\n5. Use token to call API endpoints\n",{"data":36,"body":38},{"name":4,"description":6,"allowed-tools":37},"Bash(npx emulate:*), Bash(emulate:*), Bash(curl:*)",{"type":39,"children":40},"root",[41,50,56,63,141,146,308,314,335,383,388,395,408,835,841,847,871,877,1061,1067,1158,1164,1539,1545,2230,2243,2249,2278,2335,2341,2347,2697,2703,3135,3141,3300,3306,3575,3581,3834,3840,3961,3967,3972,3978,4129,4135,4886,4892,5199,5235,5241,5504,5510,5642,5648,5733,5739,5786,5792,5932,5938,6253,6259,6338,6344,6350,6744,6750,6930,6936,6984],{"type":42,"tag":43,"props":44,"children":46},"element","h1",{"id":45},"github-api-emulator",[47],{"type":48,"value":49},"text","GitHub API Emulator",{"type":42,"tag":51,"props":52,"children":53},"p",{},[54],{"type":48,"value":55},"Fully stateful GitHub REST API emulation. Creates, updates, and deletes persist in memory and affect related entities.",{"type":42,"tag":57,"props":58,"children":60},"h2",{"id":59},"start",[61],{"type":48,"value":62},"Start",{"type":42,"tag":64,"props":65,"children":70},"pre",{"className":66,"code":67,"language":68,"meta":69,"style":69},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# GitHub only\nnpx emulate --service github\n\n# Default port\n# http:\u002F\u002Flocalhost:4001\n","bash","",[71],{"type":42,"tag":72,"props":73,"children":74},"code",{"__ignoreMap":69},[75,87,113,123,132],{"type":42,"tag":76,"props":77,"children":80},"span",{"class":78,"line":79},"line",1,[81],{"type":42,"tag":76,"props":82,"children":84},{"style":83},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[85],{"type":48,"value":86},"# GitHub only\n",{"type":42,"tag":76,"props":88,"children":90},{"class":78,"line":89},2,[91,97,103,108],{"type":42,"tag":76,"props":92,"children":94},{"style":93},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[95],{"type":48,"value":96},"npx",{"type":42,"tag":76,"props":98,"children":100},{"style":99},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[101],{"type":48,"value":102}," emulate",{"type":42,"tag":76,"props":104,"children":105},{"style":99},[106],{"type":48,"value":107}," --service",{"type":42,"tag":76,"props":109,"children":110},{"style":99},[111],{"type":48,"value":112}," github\n",{"type":42,"tag":76,"props":114,"children":116},{"class":78,"line":115},3,[117],{"type":42,"tag":76,"props":118,"children":120},{"emptyLinePlaceholder":119},true,[121],{"type":48,"value":122},"\n",{"type":42,"tag":76,"props":124,"children":126},{"class":78,"line":125},4,[127],{"type":42,"tag":76,"props":128,"children":129},{"style":83},[130],{"type":48,"value":131},"# Default port\n",{"type":42,"tag":76,"props":133,"children":135},{"class":78,"line":134},5,[136],{"type":42,"tag":76,"props":137,"children":138},{"style":83},[139],{"type":48,"value":140},"# http:\u002F\u002Flocalhost:4001\n",{"type":42,"tag":51,"props":142,"children":143},{},[144],{"type":48,"value":145},"Or programmatically:",{"type":42,"tag":64,"props":147,"children":151},{"className":148,"code":149,"language":150,"meta":69,"style":69},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { createEmulator } from 'emulate'\n\nconst github = await createEmulator({ service: 'github', port: 4001 })\n\u002F\u002F github.url === 'http:\u002F\u002Flocalhost:4001'\n","typescript",[152],{"type":42,"tag":72,"props":153,"children":154},{"__ignoreMap":69},[155,201,208,300],{"type":42,"tag":76,"props":156,"children":157},{"class":78,"line":79},[158,164,170,176,181,186,191,196],{"type":42,"tag":76,"props":159,"children":161},{"style":160},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[162],{"type":48,"value":163},"import",{"type":42,"tag":76,"props":165,"children":167},{"style":166},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[168],{"type":48,"value":169}," {",{"type":42,"tag":76,"props":171,"children":173},{"style":172},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[174],{"type":48,"value":175}," createEmulator",{"type":42,"tag":76,"props":177,"children":178},{"style":166},[179],{"type":48,"value":180}," }",{"type":42,"tag":76,"props":182,"children":183},{"style":160},[184],{"type":48,"value":185}," from",{"type":42,"tag":76,"props":187,"children":188},{"style":166},[189],{"type":48,"value":190}," '",{"type":42,"tag":76,"props":192,"children":193},{"style":99},[194],{"type":48,"value":195},"emulate",{"type":42,"tag":76,"props":197,"children":198},{"style":166},[199],{"type":48,"value":200},"'\n",{"type":42,"tag":76,"props":202,"children":203},{"class":78,"line":89},[204],{"type":42,"tag":76,"props":205,"children":206},{"emptyLinePlaceholder":119},[207],{"type":48,"value":122},{"type":42,"tag":76,"props":209,"children":210},{"class":78,"line":115},[211,217,222,227,232,237,242,247,253,258,262,266,271,276,281,285,291,295],{"type":42,"tag":76,"props":212,"children":214},{"style":213},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[215],{"type":48,"value":216},"const",{"type":42,"tag":76,"props":218,"children":219},{"style":172},[220],{"type":48,"value":221}," github ",{"type":42,"tag":76,"props":223,"children":224},{"style":166},[225],{"type":48,"value":226},"=",{"type":42,"tag":76,"props":228,"children":229},{"style":160},[230],{"type":48,"value":231}," await",{"type":42,"tag":76,"props":233,"children":235},{"style":234},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[236],{"type":48,"value":175},{"type":42,"tag":76,"props":238,"children":239},{"style":172},[240],{"type":48,"value":241},"(",{"type":42,"tag":76,"props":243,"children":244},{"style":166},[245],{"type":48,"value":246},"{",{"type":42,"tag":76,"props":248,"children":250},{"style":249},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[251],{"type":48,"value":252}," service",{"type":42,"tag":76,"props":254,"children":255},{"style":166},[256],{"type":48,"value":257},":",{"type":42,"tag":76,"props":259,"children":260},{"style":166},[261],{"type":48,"value":190},{"type":42,"tag":76,"props":263,"children":264},{"style":99},[265],{"type":48,"value":4},{"type":42,"tag":76,"props":267,"children":268},{"style":166},[269],{"type":48,"value":270},"'",{"type":42,"tag":76,"props":272,"children":273},{"style":166},[274],{"type":48,"value":275},",",{"type":42,"tag":76,"props":277,"children":278},{"style":249},[279],{"type":48,"value":280}," port",{"type":42,"tag":76,"props":282,"children":283},{"style":166},[284],{"type":48,"value":257},{"type":42,"tag":76,"props":286,"children":288},{"style":287},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[289],{"type":48,"value":290}," 4001",{"type":42,"tag":76,"props":292,"children":293},{"style":166},[294],{"type":48,"value":180},{"type":42,"tag":76,"props":296,"children":297},{"style":172},[298],{"type":48,"value":299},")\n",{"type":42,"tag":76,"props":301,"children":302},{"class":78,"line":125},[303],{"type":42,"tag":76,"props":304,"children":305},{"style":83},[306],{"type":48,"value":307},"\u002F\u002F github.url === 'http:\u002F\u002Flocalhost:4001'\n",{"type":42,"tag":57,"props":309,"children":311},{"id":310},"auth",[312],{"type":48,"value":313},"Auth",{"type":42,"tag":51,"props":315,"children":316},{},[317,319,325,327,333],{"type":48,"value":318},"Pass tokens as ",{"type":42,"tag":72,"props":320,"children":322},{"className":321},[],[323],{"type":48,"value":324},"Authorization: Bearer \u003Ctoken>",{"type":48,"value":326}," or ",{"type":42,"tag":72,"props":328,"children":330},{"className":329},[],[331],{"type":48,"value":332},"Authorization: token \u003Ctoken>",{"type":48,"value":334},".",{"type":42,"tag":64,"props":336,"children":338},{"className":66,"code":337,"language":68,"meta":69,"style":69},"curl http:\u002F\u002Flocalhost:4001\u002Fuser \\\n  -H \"Authorization: Bearer test_token_admin\"\n",[339],{"type":42,"tag":72,"props":340,"children":341},{"__ignoreMap":69},[342,360],{"type":42,"tag":76,"props":343,"children":344},{"class":78,"line":79},[345,350,355],{"type":42,"tag":76,"props":346,"children":347},{"style":93},[348],{"type":48,"value":349},"curl",{"type":42,"tag":76,"props":351,"children":352},{"style":99},[353],{"type":48,"value":354}," http:\u002F\u002Flocalhost:4001\u002Fuser",{"type":42,"tag":76,"props":356,"children":357},{"style":172},[358],{"type":48,"value":359}," \\\n",{"type":42,"tag":76,"props":361,"children":362},{"class":78,"line":89},[363,368,373,378],{"type":42,"tag":76,"props":364,"children":365},{"style":99},[366],{"type":48,"value":367},"  -H",{"type":42,"tag":76,"props":369,"children":370},{"style":166},[371],{"type":48,"value":372}," \"",{"type":42,"tag":76,"props":374,"children":375},{"style":99},[376],{"type":48,"value":377},"Authorization: Bearer test_token_admin",{"type":42,"tag":76,"props":379,"children":380},{"style":166},[381],{"type":48,"value":382},"\"\n",{"type":42,"tag":51,"props":384,"children":385},{},[386],{"type":48,"value":387},"Public repo endpoints work without auth. Private repos and write operations require a valid token. When no token is provided, requests fall back to the first seeded user.",{"type":42,"tag":389,"props":390,"children":392},"h3",{"id":391},"github-app-jwt",[393],{"type":48,"value":394},"GitHub App JWT",{"type":42,"tag":51,"props":396,"children":397},{},[398,400,406],{"type":48,"value":399},"Configure apps in the seed config with a private key. Sign a JWT with ",{"type":42,"tag":72,"props":401,"children":403},{"className":402},[],[404],{"type":48,"value":405},"{ iss: \"\u003Capp_id>\" }",{"type":48,"value":407}," using RS256. The emulator verifies the signature and resolves the app.",{"type":42,"tag":64,"props":409,"children":413},{"className":410,"code":411,"language":412,"meta":69,"style":69},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","github:\n  apps:\n    - app_id: 12345\n      slug: my-github-app\n      name: My GitHub App\n      private_key: |\n        -----BEGIN RSA PRIVATE KEY-----\n        ...\n        -----END RSA PRIVATE KEY-----\n      permissions:\n        contents: read\n        issues: write\n      events: [push, pull_request]\n      webhook_url: http:\u002F\u002Flocalhost:8080\u002Fgithub\u002Fwebhook\n      webhook_secret: my-webhook-secret\n      description: My CI\u002FCD bot\n      installations:\n        - installation_id: 100\n          account: my-org\n          repository_selection: all\n          permissions:\n            contents: read\n          events: [push]\n          repositories: [my-org\u002Forg-repo]\n","yaml",[414],{"type":42,"tag":72,"props":415,"children":416},{"__ignoreMap":69},[417,429,441,463,480,497,515,524,533,542,555,573,591,628,646,664,682,695,718,736,754,767,784,809],{"type":42,"tag":76,"props":418,"children":419},{"class":78,"line":79},[420,424],{"type":42,"tag":76,"props":421,"children":422},{"style":249},[423],{"type":48,"value":4},{"type":42,"tag":76,"props":425,"children":426},{"style":166},[427],{"type":48,"value":428},":\n",{"type":42,"tag":76,"props":430,"children":431},{"class":78,"line":89},[432,437],{"type":42,"tag":76,"props":433,"children":434},{"style":249},[435],{"type":48,"value":436},"  apps",{"type":42,"tag":76,"props":438,"children":439},{"style":166},[440],{"type":48,"value":428},{"type":42,"tag":76,"props":442,"children":443},{"class":78,"line":115},[444,449,454,458],{"type":42,"tag":76,"props":445,"children":446},{"style":166},[447],{"type":48,"value":448},"    -",{"type":42,"tag":76,"props":450,"children":451},{"style":249},[452],{"type":48,"value":453}," app_id",{"type":42,"tag":76,"props":455,"children":456},{"style":166},[457],{"type":48,"value":257},{"type":42,"tag":76,"props":459,"children":460},{"style":287},[461],{"type":48,"value":462}," 12345\n",{"type":42,"tag":76,"props":464,"children":465},{"class":78,"line":125},[466,471,475],{"type":42,"tag":76,"props":467,"children":468},{"style":249},[469],{"type":48,"value":470},"      slug",{"type":42,"tag":76,"props":472,"children":473},{"style":166},[474],{"type":48,"value":257},{"type":42,"tag":76,"props":476,"children":477},{"style":99},[478],{"type":48,"value":479}," my-github-app\n",{"type":42,"tag":76,"props":481,"children":482},{"class":78,"line":134},[483,488,492],{"type":42,"tag":76,"props":484,"children":485},{"style":249},[486],{"type":48,"value":487},"      name",{"type":42,"tag":76,"props":489,"children":490},{"style":166},[491],{"type":48,"value":257},{"type":42,"tag":76,"props":493,"children":494},{"style":99},[495],{"type":48,"value":496}," My GitHub App\n",{"type":42,"tag":76,"props":498,"children":500},{"class":78,"line":499},6,[501,506,510],{"type":42,"tag":76,"props":502,"children":503},{"style":249},[504],{"type":48,"value":505},"      private_key",{"type":42,"tag":76,"props":507,"children":508},{"style":166},[509],{"type":48,"value":257},{"type":42,"tag":76,"props":511,"children":512},{"style":160},[513],{"type":48,"value":514}," |\n",{"type":42,"tag":76,"props":516,"children":518},{"class":78,"line":517},7,[519],{"type":42,"tag":76,"props":520,"children":521},{"style":99},[522],{"type":48,"value":523},"        -----BEGIN RSA PRIVATE KEY-----\n",{"type":42,"tag":76,"props":525,"children":527},{"class":78,"line":526},8,[528],{"type":42,"tag":76,"props":529,"children":530},{"style":99},[531],{"type":48,"value":532},"        ...\n",{"type":42,"tag":76,"props":534,"children":536},{"class":78,"line":535},9,[537],{"type":42,"tag":76,"props":538,"children":539},{"style":99},[540],{"type":48,"value":541},"        -----END RSA PRIVATE KEY-----\n",{"type":42,"tag":76,"props":543,"children":545},{"class":78,"line":544},10,[546,551],{"type":42,"tag":76,"props":547,"children":548},{"style":249},[549],{"type":48,"value":550},"      permissions",{"type":42,"tag":76,"props":552,"children":553},{"style":166},[554],{"type":48,"value":428},{"type":42,"tag":76,"props":556,"children":558},{"class":78,"line":557},11,[559,564,568],{"type":42,"tag":76,"props":560,"children":561},{"style":249},[562],{"type":48,"value":563},"        contents",{"type":42,"tag":76,"props":565,"children":566},{"style":166},[567],{"type":48,"value":257},{"type":42,"tag":76,"props":569,"children":570},{"style":99},[571],{"type":48,"value":572}," read\n",{"type":42,"tag":76,"props":574,"children":576},{"class":78,"line":575},12,[577,582,586],{"type":42,"tag":76,"props":578,"children":579},{"style":249},[580],{"type":48,"value":581},"        issues",{"type":42,"tag":76,"props":583,"children":584},{"style":166},[585],{"type":48,"value":257},{"type":42,"tag":76,"props":587,"children":588},{"style":99},[589],{"type":48,"value":590}," write\n",{"type":42,"tag":76,"props":592,"children":594},{"class":78,"line":593},13,[595,600,604,609,614,618,623],{"type":42,"tag":76,"props":596,"children":597},{"style":249},[598],{"type":48,"value":599},"      events",{"type":42,"tag":76,"props":601,"children":602},{"style":166},[603],{"type":48,"value":257},{"type":42,"tag":76,"props":605,"children":606},{"style":166},[607],{"type":48,"value":608}," [",{"type":42,"tag":76,"props":610,"children":611},{"style":99},[612],{"type":48,"value":613},"push",{"type":42,"tag":76,"props":615,"children":616},{"style":166},[617],{"type":48,"value":275},{"type":42,"tag":76,"props":619,"children":620},{"style":99},[621],{"type":48,"value":622}," pull_request",{"type":42,"tag":76,"props":624,"children":625},{"style":166},[626],{"type":48,"value":627},"]\n",{"type":42,"tag":76,"props":629,"children":631},{"class":78,"line":630},14,[632,637,641],{"type":42,"tag":76,"props":633,"children":634},{"style":249},[635],{"type":48,"value":636},"      webhook_url",{"type":42,"tag":76,"props":638,"children":639},{"style":166},[640],{"type":48,"value":257},{"type":42,"tag":76,"props":642,"children":643},{"style":99},[644],{"type":48,"value":645}," http:\u002F\u002Flocalhost:8080\u002Fgithub\u002Fwebhook\n",{"type":42,"tag":76,"props":647,"children":649},{"class":78,"line":648},15,[650,655,659],{"type":42,"tag":76,"props":651,"children":652},{"style":249},[653],{"type":48,"value":654},"      webhook_secret",{"type":42,"tag":76,"props":656,"children":657},{"style":166},[658],{"type":48,"value":257},{"type":42,"tag":76,"props":660,"children":661},{"style":99},[662],{"type":48,"value":663}," my-webhook-secret\n",{"type":42,"tag":76,"props":665,"children":667},{"class":78,"line":666},16,[668,673,677],{"type":42,"tag":76,"props":669,"children":670},{"style":249},[671],{"type":48,"value":672},"      description",{"type":42,"tag":76,"props":674,"children":675},{"style":166},[676],{"type":48,"value":257},{"type":42,"tag":76,"props":678,"children":679},{"style":99},[680],{"type":48,"value":681}," My CI\u002FCD bot\n",{"type":42,"tag":76,"props":683,"children":685},{"class":78,"line":684},17,[686,691],{"type":42,"tag":76,"props":687,"children":688},{"style":249},[689],{"type":48,"value":690},"      installations",{"type":42,"tag":76,"props":692,"children":693},{"style":166},[694],{"type":48,"value":428},{"type":42,"tag":76,"props":696,"children":698},{"class":78,"line":697},18,[699,704,709,713],{"type":42,"tag":76,"props":700,"children":701},{"style":166},[702],{"type":48,"value":703},"        -",{"type":42,"tag":76,"props":705,"children":706},{"style":249},[707],{"type":48,"value":708}," installation_id",{"type":42,"tag":76,"props":710,"children":711},{"style":166},[712],{"type":48,"value":257},{"type":42,"tag":76,"props":714,"children":715},{"style":287},[716],{"type":48,"value":717}," 100\n",{"type":42,"tag":76,"props":719,"children":721},{"class":78,"line":720},19,[722,727,731],{"type":42,"tag":76,"props":723,"children":724},{"style":249},[725],{"type":48,"value":726},"          account",{"type":42,"tag":76,"props":728,"children":729},{"style":166},[730],{"type":48,"value":257},{"type":42,"tag":76,"props":732,"children":733},{"style":99},[734],{"type":48,"value":735}," my-org\n",{"type":42,"tag":76,"props":737,"children":739},{"class":78,"line":738},20,[740,745,749],{"type":42,"tag":76,"props":741,"children":742},{"style":249},[743],{"type":48,"value":744},"          repository_selection",{"type":42,"tag":76,"props":746,"children":747},{"style":166},[748],{"type":48,"value":257},{"type":42,"tag":76,"props":750,"children":751},{"style":99},[752],{"type":48,"value":753}," all\n",{"type":42,"tag":76,"props":755,"children":757},{"class":78,"line":756},21,[758,763],{"type":42,"tag":76,"props":759,"children":760},{"style":249},[761],{"type":48,"value":762},"          permissions",{"type":42,"tag":76,"props":764,"children":765},{"style":166},[766],{"type":48,"value":428},{"type":42,"tag":76,"props":768,"children":770},{"class":78,"line":769},22,[771,776,780],{"type":42,"tag":76,"props":772,"children":773},{"style":249},[774],{"type":48,"value":775},"            contents",{"type":42,"tag":76,"props":777,"children":778},{"style":166},[779],{"type":48,"value":257},{"type":42,"tag":76,"props":781,"children":782},{"style":99},[783],{"type":48,"value":572},{"type":42,"tag":76,"props":785,"children":787},{"class":78,"line":786},23,[788,793,797,801,805],{"type":42,"tag":76,"props":789,"children":790},{"style":249},[791],{"type":48,"value":792},"          events",{"type":42,"tag":76,"props":794,"children":795},{"style":166},[796],{"type":48,"value":257},{"type":42,"tag":76,"props":798,"children":799},{"style":166},[800],{"type":48,"value":608},{"type":42,"tag":76,"props":802,"children":803},{"style":99},[804],{"type":48,"value":613},{"type":42,"tag":76,"props":806,"children":807},{"style":166},[808],{"type":48,"value":627},{"type":42,"tag":76,"props":810,"children":812},{"class":78,"line":811},24,[813,818,822,826,831],{"type":42,"tag":76,"props":814,"children":815},{"style":249},[816],{"type":48,"value":817},"          repositories",{"type":42,"tag":76,"props":819,"children":820},{"style":166},[821],{"type":48,"value":257},{"type":42,"tag":76,"props":823,"children":824},{"style":166},[825],{"type":48,"value":608},{"type":42,"tag":76,"props":827,"children":828},{"style":99},[829],{"type":48,"value":830},"my-org\u002Forg-repo",{"type":42,"tag":76,"props":832,"children":833},{"style":166},[834],{"type":48,"value":627},{"type":42,"tag":57,"props":836,"children":838},{"id":837},"pointing-your-app-at-the-emulator",[839],{"type":48,"value":840},"Pointing Your App at the Emulator",{"type":42,"tag":389,"props":842,"children":844},{"id":843},"environment-variable",[845],{"type":48,"value":846},"Environment Variable",{"type":42,"tag":64,"props":848,"children":850},{"className":66,"code":849,"language":68,"meta":69,"style":69},"GITHUB_EMULATOR_URL=http:\u002F\u002Flocalhost:4001\n",[851],{"type":42,"tag":72,"props":852,"children":853},{"__ignoreMap":69},[854],{"type":42,"tag":76,"props":855,"children":856},{"class":78,"line":79},[857,862,866],{"type":42,"tag":76,"props":858,"children":859},{"style":172},[860],{"type":48,"value":861},"GITHUB_EMULATOR_URL",{"type":42,"tag":76,"props":863,"children":864},{"style":166},[865],{"type":48,"value":226},{"type":42,"tag":76,"props":867,"children":868},{"style":99},[869],{"type":48,"value":870},"http:\u002F\u002Flocalhost:4001\n",{"type":42,"tag":389,"props":872,"children":874},{"id":873},"octokit",[875],{"type":48,"value":876},"Octokit",{"type":42,"tag":64,"props":878,"children":880},{"className":148,"code":879,"language":150,"meta":69,"style":69},"import { Octokit } from '@octokit\u002Frest'\n\nconst octokit = new Octokit({\n  baseUrl: process.env.GITHUB_EMULATOR_URL ?? 'https:\u002F\u002Fapi.github.com',\n  auth: 'test_token_admin',\n})\n",[881],{"type":42,"tag":72,"props":882,"children":883},{"__ignoreMap":69},[884,921,928,962,1020,1049],{"type":42,"tag":76,"props":885,"children":886},{"class":78,"line":79},[887,891,895,900,904,908,912,917],{"type":42,"tag":76,"props":888,"children":889},{"style":160},[890],{"type":48,"value":163},{"type":42,"tag":76,"props":892,"children":893},{"style":166},[894],{"type":48,"value":169},{"type":42,"tag":76,"props":896,"children":897},{"style":172},[898],{"type":48,"value":899}," Octokit",{"type":42,"tag":76,"props":901,"children":902},{"style":166},[903],{"type":48,"value":180},{"type":42,"tag":76,"props":905,"children":906},{"style":160},[907],{"type":48,"value":185},{"type":42,"tag":76,"props":909,"children":910},{"style":166},[911],{"type":48,"value":190},{"type":42,"tag":76,"props":913,"children":914},{"style":99},[915],{"type":48,"value":916},"@octokit\u002Frest",{"type":42,"tag":76,"props":918,"children":919},{"style":166},[920],{"type":48,"value":200},{"type":42,"tag":76,"props":922,"children":923},{"class":78,"line":89},[924],{"type":42,"tag":76,"props":925,"children":926},{"emptyLinePlaceholder":119},[927],{"type":48,"value":122},{"type":42,"tag":76,"props":929,"children":930},{"class":78,"line":115},[931,935,940,944,949,953,957],{"type":42,"tag":76,"props":932,"children":933},{"style":213},[934],{"type":48,"value":216},{"type":42,"tag":76,"props":936,"children":937},{"style":172},[938],{"type":48,"value":939}," octokit ",{"type":42,"tag":76,"props":941,"children":942},{"style":166},[943],{"type":48,"value":226},{"type":42,"tag":76,"props":945,"children":946},{"style":166},[947],{"type":48,"value":948}," new",{"type":42,"tag":76,"props":950,"children":951},{"style":234},[952],{"type":48,"value":899},{"type":42,"tag":76,"props":954,"children":955},{"style":172},[956],{"type":48,"value":241},{"type":42,"tag":76,"props":958,"children":959},{"style":166},[960],{"type":48,"value":961},"{\n",{"type":42,"tag":76,"props":963,"children":964},{"class":78,"line":125},[965,970,974,979,983,988,992,997,1002,1006,1011,1015],{"type":42,"tag":76,"props":966,"children":967},{"style":249},[968],{"type":48,"value":969},"  baseUrl",{"type":42,"tag":76,"props":971,"children":972},{"style":166},[973],{"type":48,"value":257},{"type":42,"tag":76,"props":975,"children":976},{"style":172},[977],{"type":48,"value":978}," process",{"type":42,"tag":76,"props":980,"children":981},{"style":166},[982],{"type":48,"value":334},{"type":42,"tag":76,"props":984,"children":985},{"style":172},[986],{"type":48,"value":987},"env",{"type":42,"tag":76,"props":989,"children":990},{"style":166},[991],{"type":48,"value":334},{"type":42,"tag":76,"props":993,"children":994},{"style":172},[995],{"type":48,"value":996},"GITHUB_EMULATOR_URL ",{"type":42,"tag":76,"props":998,"children":999},{"style":166},[1000],{"type":48,"value":1001},"??",{"type":42,"tag":76,"props":1003,"children":1004},{"style":166},[1005],{"type":48,"value":190},{"type":42,"tag":76,"props":1007,"children":1008},{"style":99},[1009],{"type":48,"value":1010},"https:\u002F\u002Fapi.github.com",{"type":42,"tag":76,"props":1012,"children":1013},{"style":166},[1014],{"type":48,"value":270},{"type":42,"tag":76,"props":1016,"children":1017},{"style":166},[1018],{"type":48,"value":1019},",\n",{"type":42,"tag":76,"props":1021,"children":1022},{"class":78,"line":134},[1023,1028,1032,1036,1041,1045],{"type":42,"tag":76,"props":1024,"children":1025},{"style":249},[1026],{"type":48,"value":1027},"  auth",{"type":42,"tag":76,"props":1029,"children":1030},{"style":166},[1031],{"type":48,"value":257},{"type":42,"tag":76,"props":1033,"children":1034},{"style":166},[1035],{"type":48,"value":190},{"type":42,"tag":76,"props":1037,"children":1038},{"style":99},[1039],{"type":48,"value":1040},"test_token_admin",{"type":42,"tag":76,"props":1042,"children":1043},{"style":166},[1044],{"type":48,"value":270},{"type":42,"tag":76,"props":1046,"children":1047},{"style":166},[1048],{"type":48,"value":1019},{"type":42,"tag":76,"props":1050,"children":1051},{"class":78,"line":499},[1052,1057],{"type":42,"tag":76,"props":1053,"children":1054},{"style":166},[1055],{"type":48,"value":1056},"}",{"type":42,"tag":76,"props":1058,"children":1059},{"style":172},[1060],{"type":48,"value":299},{"type":42,"tag":389,"props":1062,"children":1064},{"id":1063},"oauth-url-mapping",[1065],{"type":48,"value":1066},"OAuth URL Mapping",{"type":42,"tag":1068,"props":1069,"children":1070},"table",{},[1071,1090],{"type":42,"tag":1072,"props":1073,"children":1074},"thead",{},[1075],{"type":42,"tag":1076,"props":1077,"children":1078},"tr",{},[1079,1085],{"type":42,"tag":1080,"props":1081,"children":1082},"th",{},[1083],{"type":48,"value":1084},"Real GitHub URL",{"type":42,"tag":1080,"props":1086,"children":1087},{},[1088],{"type":48,"value":1089},"Emulator URL",{"type":42,"tag":1091,"props":1092,"children":1093},"tbody",{},[1094,1116,1137],{"type":42,"tag":1076,"props":1095,"children":1096},{},[1097,1107],{"type":42,"tag":1098,"props":1099,"children":1100},"td",{},[1101],{"type":42,"tag":72,"props":1102,"children":1104},{"className":1103},[],[1105],{"type":48,"value":1106},"https:\u002F\u002Fgithub.com\u002Flogin\u002Foauth\u002Fauthorize",{"type":42,"tag":1098,"props":1108,"children":1109},{},[1110],{"type":42,"tag":72,"props":1111,"children":1113},{"className":1112},[],[1114],{"type":48,"value":1115},"$GITHUB_EMULATOR_URL\u002Flogin\u002Foauth\u002Fauthorize",{"type":42,"tag":1076,"props":1117,"children":1118},{},[1119,1128],{"type":42,"tag":1098,"props":1120,"children":1121},{},[1122],{"type":42,"tag":72,"props":1123,"children":1125},{"className":1124},[],[1126],{"type":48,"value":1127},"https:\u002F\u002Fgithub.com\u002Flogin\u002Foauth\u002Faccess_token",{"type":42,"tag":1098,"props":1129,"children":1130},{},[1131],{"type":42,"tag":72,"props":1132,"children":1134},{"className":1133},[],[1135],{"type":48,"value":1136},"$GITHUB_EMULATOR_URL\u002Flogin\u002Foauth\u002Faccess_token",{"type":42,"tag":1076,"props":1138,"children":1139},{},[1140,1149],{"type":42,"tag":1098,"props":1141,"children":1142},{},[1143],{"type":42,"tag":72,"props":1144,"children":1146},{"className":1145},[],[1147],{"type":48,"value":1148},"https:\u002F\u002Fapi.github.com\u002Fuser",{"type":42,"tag":1098,"props":1150,"children":1151},{},[1152],{"type":42,"tag":72,"props":1153,"children":1155},{"className":1154},[],[1156],{"type":48,"value":1157},"$GITHUB_EMULATOR_URL\u002Fuser",{"type":42,"tag":389,"props":1159,"children":1161},{"id":1160},"authjs-nextauthjs",[1162],{"type":48,"value":1163},"Auth.js \u002F NextAuth.js",{"type":42,"tag":64,"props":1165,"children":1167},{"className":148,"code":1166,"language":150,"meta":69,"style":69},"import GitHub from '@auth\u002Fcore\u002Fproviders\u002Fgithub'\n\nGitHub({\n  clientId: process.env.GITHUB_CLIENT_ID,\n  clientSecret: process.env.GITHUB_CLIENT_SECRET,\n  authorization: {\n    url: `${process.env.GITHUB_EMULATOR_URL}\u002Flogin\u002Foauth\u002Fauthorize`,\n  },\n  token: {\n    url: `${process.env.GITHUB_EMULATOR_URL}\u002Flogin\u002Foauth\u002Faccess_token`,\n  },\n  userinfo: {\n    url: `${process.env.GITHUB_EMULATOR_URL}\u002Fuser`,\n  },\n})\n",[1168],{"type":42,"tag":72,"props":1169,"children":1170},{"__ignoreMap":69},[1171,1201,1208,1223,1260,1297,1314,1370,1378,1394,1446,1453,1469,1521,1528],{"type":42,"tag":76,"props":1172,"children":1173},{"class":78,"line":79},[1174,1178,1183,1188,1192,1197],{"type":42,"tag":76,"props":1175,"children":1176},{"style":160},[1177],{"type":48,"value":163},{"type":42,"tag":76,"props":1179,"children":1180},{"style":172},[1181],{"type":48,"value":1182}," GitHub ",{"type":42,"tag":76,"props":1184,"children":1185},{"style":160},[1186],{"type":48,"value":1187},"from",{"type":42,"tag":76,"props":1189,"children":1190},{"style":166},[1191],{"type":48,"value":190},{"type":42,"tag":76,"props":1193,"children":1194},{"style":99},[1195],{"type":48,"value":1196},"@auth\u002Fcore\u002Fproviders\u002Fgithub",{"type":42,"tag":76,"props":1198,"children":1199},{"style":166},[1200],{"type":48,"value":200},{"type":42,"tag":76,"props":1202,"children":1203},{"class":78,"line":89},[1204],{"type":42,"tag":76,"props":1205,"children":1206},{"emptyLinePlaceholder":119},[1207],{"type":48,"value":122},{"type":42,"tag":76,"props":1209,"children":1210},{"class":78,"line":115},[1211,1215,1219],{"type":42,"tag":76,"props":1212,"children":1213},{"style":234},[1214],{"type":48,"value":13},{"type":42,"tag":76,"props":1216,"children":1217},{"style":172},[1218],{"type":48,"value":241},{"type":42,"tag":76,"props":1220,"children":1221},{"style":166},[1222],{"type":48,"value":961},{"type":42,"tag":76,"props":1224,"children":1225},{"class":78,"line":125},[1226,1231,1235,1239,1243,1247,1251,1256],{"type":42,"tag":76,"props":1227,"children":1228},{"style":249},[1229],{"type":48,"value":1230},"  clientId",{"type":42,"tag":76,"props":1232,"children":1233},{"style":166},[1234],{"type":48,"value":257},{"type":42,"tag":76,"props":1236,"children":1237},{"style":172},[1238],{"type":48,"value":978},{"type":42,"tag":76,"props":1240,"children":1241},{"style":166},[1242],{"type":48,"value":334},{"type":42,"tag":76,"props":1244,"children":1245},{"style":172},[1246],{"type":48,"value":987},{"type":42,"tag":76,"props":1248,"children":1249},{"style":166},[1250],{"type":48,"value":334},{"type":42,"tag":76,"props":1252,"children":1253},{"style":172},[1254],{"type":48,"value":1255},"GITHUB_CLIENT_ID",{"type":42,"tag":76,"props":1257,"children":1258},{"style":166},[1259],{"type":48,"value":1019},{"type":42,"tag":76,"props":1261,"children":1262},{"class":78,"line":134},[1263,1268,1272,1276,1280,1284,1288,1293],{"type":42,"tag":76,"props":1264,"children":1265},{"style":249},[1266],{"type":48,"value":1267},"  clientSecret",{"type":42,"tag":76,"props":1269,"children":1270},{"style":166},[1271],{"type":48,"value":257},{"type":42,"tag":76,"props":1273,"children":1274},{"style":172},[1275],{"type":48,"value":978},{"type":42,"tag":76,"props":1277,"children":1278},{"style":166},[1279],{"type":48,"value":334},{"type":42,"tag":76,"props":1281,"children":1282},{"style":172},[1283],{"type":48,"value":987},{"type":42,"tag":76,"props":1285,"children":1286},{"style":166},[1287],{"type":48,"value":334},{"type":42,"tag":76,"props":1289,"children":1290},{"style":172},[1291],{"type":48,"value":1292},"GITHUB_CLIENT_SECRET",{"type":42,"tag":76,"props":1294,"children":1295},{"style":166},[1296],{"type":48,"value":1019},{"type":42,"tag":76,"props":1298,"children":1299},{"class":78,"line":499},[1300,1305,1309],{"type":42,"tag":76,"props":1301,"children":1302},{"style":249},[1303],{"type":48,"value":1304},"  authorization",{"type":42,"tag":76,"props":1306,"children":1307},{"style":166},[1308],{"type":48,"value":257},{"type":42,"tag":76,"props":1310,"children":1311},{"style":166},[1312],{"type":48,"value":1313}," {\n",{"type":42,"tag":76,"props":1315,"children":1316},{"class":78,"line":517},[1317,1322,1326,1331,1336,1340,1344,1348,1352,1356,1361,1366],{"type":42,"tag":76,"props":1318,"children":1319},{"style":249},[1320],{"type":48,"value":1321},"    url",{"type":42,"tag":76,"props":1323,"children":1324},{"style":166},[1325],{"type":48,"value":257},{"type":42,"tag":76,"props":1327,"children":1328},{"style":166},[1329],{"type":48,"value":1330}," `${",{"type":42,"tag":76,"props":1332,"children":1333},{"style":172},[1334],{"type":48,"value":1335},"process",{"type":42,"tag":76,"props":1337,"children":1338},{"style":166},[1339],{"type":48,"value":334},{"type":42,"tag":76,"props":1341,"children":1342},{"style":172},[1343],{"type":48,"value":987},{"type":42,"tag":76,"props":1345,"children":1346},{"style":166},[1347],{"type":48,"value":334},{"type":42,"tag":76,"props":1349,"children":1350},{"style":172},[1351],{"type":48,"value":861},{"type":42,"tag":76,"props":1353,"children":1354},{"style":166},[1355],{"type":48,"value":1056},{"type":42,"tag":76,"props":1357,"children":1358},{"style":99},[1359],{"type":48,"value":1360},"\u002Flogin\u002Foauth\u002Fauthorize",{"type":42,"tag":76,"props":1362,"children":1363},{"style":166},[1364],{"type":48,"value":1365},"`",{"type":42,"tag":76,"props":1367,"children":1368},{"style":166},[1369],{"type":48,"value":1019},{"type":42,"tag":76,"props":1371,"children":1372},{"class":78,"line":526},[1373],{"type":42,"tag":76,"props":1374,"children":1375},{"style":166},[1376],{"type":48,"value":1377},"  },\n",{"type":42,"tag":76,"props":1379,"children":1380},{"class":78,"line":535},[1381,1386,1390],{"type":42,"tag":76,"props":1382,"children":1383},{"style":249},[1384],{"type":48,"value":1385},"  token",{"type":42,"tag":76,"props":1387,"children":1388},{"style":166},[1389],{"type":48,"value":257},{"type":42,"tag":76,"props":1391,"children":1392},{"style":166},[1393],{"type":48,"value":1313},{"type":42,"tag":76,"props":1395,"children":1396},{"class":78,"line":544},[1397,1401,1405,1409,1413,1417,1421,1425,1429,1433,1438,1442],{"type":42,"tag":76,"props":1398,"children":1399},{"style":249},[1400],{"type":48,"value":1321},{"type":42,"tag":76,"props":1402,"children":1403},{"style":166},[1404],{"type":48,"value":257},{"type":42,"tag":76,"props":1406,"children":1407},{"style":166},[1408],{"type":48,"value":1330},{"type":42,"tag":76,"props":1410,"children":1411},{"style":172},[1412],{"type":48,"value":1335},{"type":42,"tag":76,"props":1414,"children":1415},{"style":166},[1416],{"type":48,"value":334},{"type":42,"tag":76,"props":1418,"children":1419},{"style":172},[1420],{"type":48,"value":987},{"type":42,"tag":76,"props":1422,"children":1423},{"style":166},[1424],{"type":48,"value":334},{"type":42,"tag":76,"props":1426,"children":1427},{"style":172},[1428],{"type":48,"value":861},{"type":42,"tag":76,"props":1430,"children":1431},{"style":166},[1432],{"type":48,"value":1056},{"type":42,"tag":76,"props":1434,"children":1435},{"style":99},[1436],{"type":48,"value":1437},"\u002Flogin\u002Foauth\u002Faccess_token",{"type":42,"tag":76,"props":1439,"children":1440},{"style":166},[1441],{"type":48,"value":1365},{"type":42,"tag":76,"props":1443,"children":1444},{"style":166},[1445],{"type":48,"value":1019},{"type":42,"tag":76,"props":1447,"children":1448},{"class":78,"line":557},[1449],{"type":42,"tag":76,"props":1450,"children":1451},{"style":166},[1452],{"type":48,"value":1377},{"type":42,"tag":76,"props":1454,"children":1455},{"class":78,"line":575},[1456,1461,1465],{"type":42,"tag":76,"props":1457,"children":1458},{"style":249},[1459],{"type":48,"value":1460},"  userinfo",{"type":42,"tag":76,"props":1462,"children":1463},{"style":166},[1464],{"type":48,"value":257},{"type":42,"tag":76,"props":1466,"children":1467},{"style":166},[1468],{"type":48,"value":1313},{"type":42,"tag":76,"props":1470,"children":1471},{"class":78,"line":593},[1472,1476,1480,1484,1488,1492,1496,1500,1504,1508,1513,1517],{"type":42,"tag":76,"props":1473,"children":1474},{"style":249},[1475],{"type":48,"value":1321},{"type":42,"tag":76,"props":1477,"children":1478},{"style":166},[1479],{"type":48,"value":257},{"type":42,"tag":76,"props":1481,"children":1482},{"style":166},[1483],{"type":48,"value":1330},{"type":42,"tag":76,"props":1485,"children":1486},{"style":172},[1487],{"type":48,"value":1335},{"type":42,"tag":76,"props":1489,"children":1490},{"style":166},[1491],{"type":48,"value":334},{"type":42,"tag":76,"props":1493,"children":1494},{"style":172},[1495],{"type":48,"value":987},{"type":42,"tag":76,"props":1497,"children":1498},{"style":166},[1499],{"type":48,"value":334},{"type":42,"tag":76,"props":1501,"children":1502},{"style":172},[1503],{"type":48,"value":861},{"type":42,"tag":76,"props":1505,"children":1506},{"style":166},[1507],{"type":48,"value":1056},{"type":42,"tag":76,"props":1509,"children":1510},{"style":99},[1511],{"type":48,"value":1512},"\u002Fuser",{"type":42,"tag":76,"props":1514,"children":1515},{"style":166},[1516],{"type":48,"value":1365},{"type":42,"tag":76,"props":1518,"children":1519},{"style":166},[1520],{"type":48,"value":1019},{"type":42,"tag":76,"props":1522,"children":1523},{"class":78,"line":630},[1524],{"type":42,"tag":76,"props":1525,"children":1526},{"style":166},[1527],{"type":48,"value":1377},{"type":42,"tag":76,"props":1529,"children":1530},{"class":78,"line":648},[1531,1535],{"type":42,"tag":76,"props":1532,"children":1533},{"style":166},[1534],{"type":48,"value":1056},{"type":42,"tag":76,"props":1536,"children":1537},{"style":172},[1538],{"type":48,"value":299},{"type":42,"tag":57,"props":1540,"children":1542},{"id":1541},"seed-config",[1543],{"type":48,"value":1544},"Seed Config",{"type":42,"tag":64,"props":1546,"children":1548},{"className":410,"code":1547,"language":412,"meta":69,"style":69},"tokens:\n  test_token_admin:\n    login: admin\n    scopes: [repo, user, admin:org, admin:repo_hook]\n\ngithub:\n  users:\n    - login: octocat\n      name: The Octocat\n      email: octocat@github.com\n      bio: I am the Octocat\n      company: GitHub\n      location: San Francisco\n      blog: https:\u002F\u002Fgithub.blog\n      twitter_username: github\n      site_admin: false\n  orgs:\n    - login: my-org\n      name: My Organization\n      description: A test organization\n      email: org@example.com\n  repos:\n    - owner: octocat\n      name: hello-world\n      description: My first repository\n      language: JavaScript\n      topics: [hello, world]\n      default_branch: main\n      private: false\n    - owner: my-org\n      name: org-repo\n      description: An organization repository\n      language: TypeScript\n  oauth_apps:\n    - client_id: Iv1.abc123\n      client_secret: secret_abc123\n      name: My Web App\n      redirect_uris:\n        - http:\u002F\u002Flocalhost:3000\u002Fapi\u002Fauth\u002Fcallback\u002Fgithub\n",[1549],{"type":42,"tag":72,"props":1550,"children":1551},{"__ignoreMap":69},[1552,1564,1576,1593,1645,1652,1663,1675,1696,1712,1729,1746,1763,1780,1797,1813,1831,1843,1862,1878,1894,1910,1922,1942,1958,1975,1993,2028,2046,2063,2083,2100,2117,2134,2147,2169,2187,2204,2217],{"type":42,"tag":76,"props":1553,"children":1554},{"class":78,"line":79},[1555,1560],{"type":42,"tag":76,"props":1556,"children":1557},{"style":249},[1558],{"type":48,"value":1559},"tokens",{"type":42,"tag":76,"props":1561,"children":1562},{"style":166},[1563],{"type":48,"value":428},{"type":42,"tag":76,"props":1565,"children":1566},{"class":78,"line":89},[1567,1572],{"type":42,"tag":76,"props":1568,"children":1569},{"style":249},[1570],{"type":48,"value":1571},"  test_token_admin",{"type":42,"tag":76,"props":1573,"children":1574},{"style":166},[1575],{"type":48,"value":428},{"type":42,"tag":76,"props":1577,"children":1578},{"class":78,"line":115},[1579,1584,1588],{"type":42,"tag":76,"props":1580,"children":1581},{"style":249},[1582],{"type":48,"value":1583},"    login",{"type":42,"tag":76,"props":1585,"children":1586},{"style":166},[1587],{"type":48,"value":257},{"type":42,"tag":76,"props":1589,"children":1590},{"style":99},[1591],{"type":48,"value":1592}," admin\n",{"type":42,"tag":76,"props":1594,"children":1595},{"class":78,"line":125},[1596,1601,1605,1609,1614,1618,1623,1627,1632,1636,1641],{"type":42,"tag":76,"props":1597,"children":1598},{"style":249},[1599],{"type":48,"value":1600},"    scopes",{"type":42,"tag":76,"props":1602,"children":1603},{"style":166},[1604],{"type":48,"value":257},{"type":42,"tag":76,"props":1606,"children":1607},{"style":166},[1608],{"type":48,"value":608},{"type":42,"tag":76,"props":1610,"children":1611},{"style":99},[1612],{"type":48,"value":1613},"repo",{"type":42,"tag":76,"props":1615,"children":1616},{"style":166},[1617],{"type":48,"value":275},{"type":42,"tag":76,"props":1619,"children":1620},{"style":99},[1621],{"type":48,"value":1622}," user",{"type":42,"tag":76,"props":1624,"children":1625},{"style":166},[1626],{"type":48,"value":275},{"type":42,"tag":76,"props":1628,"children":1629},{"style":99},[1630],{"type":48,"value":1631}," admin:org",{"type":42,"tag":76,"props":1633,"children":1634},{"style":166},[1635],{"type":48,"value":275},{"type":42,"tag":76,"props":1637,"children":1638},{"style":99},[1639],{"type":48,"value":1640}," admin:repo_hook",{"type":42,"tag":76,"props":1642,"children":1643},{"style":166},[1644],{"type":48,"value":627},{"type":42,"tag":76,"props":1646,"children":1647},{"class":78,"line":134},[1648],{"type":42,"tag":76,"props":1649,"children":1650},{"emptyLinePlaceholder":119},[1651],{"type":48,"value":122},{"type":42,"tag":76,"props":1653,"children":1654},{"class":78,"line":499},[1655,1659],{"type":42,"tag":76,"props":1656,"children":1657},{"style":249},[1658],{"type":48,"value":4},{"type":42,"tag":76,"props":1660,"children":1661},{"style":166},[1662],{"type":48,"value":428},{"type":42,"tag":76,"props":1664,"children":1665},{"class":78,"line":517},[1666,1671],{"type":42,"tag":76,"props":1667,"children":1668},{"style":249},[1669],{"type":48,"value":1670},"  users",{"type":42,"tag":76,"props":1672,"children":1673},{"style":166},[1674],{"type":48,"value":428},{"type":42,"tag":76,"props":1676,"children":1677},{"class":78,"line":526},[1678,1682,1687,1691],{"type":42,"tag":76,"props":1679,"children":1680},{"style":166},[1681],{"type":48,"value":448},{"type":42,"tag":76,"props":1683,"children":1684},{"style":249},[1685],{"type":48,"value":1686}," login",{"type":42,"tag":76,"props":1688,"children":1689},{"style":166},[1690],{"type":48,"value":257},{"type":42,"tag":76,"props":1692,"children":1693},{"style":99},[1694],{"type":48,"value":1695}," octocat\n",{"type":42,"tag":76,"props":1697,"children":1698},{"class":78,"line":535},[1699,1703,1707],{"type":42,"tag":76,"props":1700,"children":1701},{"style":249},[1702],{"type":48,"value":487},{"type":42,"tag":76,"props":1704,"children":1705},{"style":166},[1706],{"type":48,"value":257},{"type":42,"tag":76,"props":1708,"children":1709},{"style":99},[1710],{"type":48,"value":1711}," The Octocat\n",{"type":42,"tag":76,"props":1713,"children":1714},{"class":78,"line":544},[1715,1720,1724],{"type":42,"tag":76,"props":1716,"children":1717},{"style":249},[1718],{"type":48,"value":1719},"      email",{"type":42,"tag":76,"props":1721,"children":1722},{"style":166},[1723],{"type":48,"value":257},{"type":42,"tag":76,"props":1725,"children":1726},{"style":99},[1727],{"type":48,"value":1728}," octocat@github.com\n",{"type":42,"tag":76,"props":1730,"children":1731},{"class":78,"line":557},[1732,1737,1741],{"type":42,"tag":76,"props":1733,"children":1734},{"style":249},[1735],{"type":48,"value":1736},"      bio",{"type":42,"tag":76,"props":1738,"children":1739},{"style":166},[1740],{"type":48,"value":257},{"type":42,"tag":76,"props":1742,"children":1743},{"style":99},[1744],{"type":48,"value":1745}," I am the Octocat\n",{"type":42,"tag":76,"props":1747,"children":1748},{"class":78,"line":575},[1749,1754,1758],{"type":42,"tag":76,"props":1750,"children":1751},{"style":249},[1752],{"type":48,"value":1753},"      company",{"type":42,"tag":76,"props":1755,"children":1756},{"style":166},[1757],{"type":48,"value":257},{"type":42,"tag":76,"props":1759,"children":1760},{"style":99},[1761],{"type":48,"value":1762}," GitHub\n",{"type":42,"tag":76,"props":1764,"children":1765},{"class":78,"line":593},[1766,1771,1775],{"type":42,"tag":76,"props":1767,"children":1768},{"style":249},[1769],{"type":48,"value":1770},"      location",{"type":42,"tag":76,"props":1772,"children":1773},{"style":166},[1774],{"type":48,"value":257},{"type":42,"tag":76,"props":1776,"children":1777},{"style":99},[1778],{"type":48,"value":1779}," San Francisco\n",{"type":42,"tag":76,"props":1781,"children":1782},{"class":78,"line":630},[1783,1788,1792],{"type":42,"tag":76,"props":1784,"children":1785},{"style":249},[1786],{"type":48,"value":1787},"      blog",{"type":42,"tag":76,"props":1789,"children":1790},{"style":166},[1791],{"type":48,"value":257},{"type":42,"tag":76,"props":1793,"children":1794},{"style":99},[1795],{"type":48,"value":1796}," https:\u002F\u002Fgithub.blog\n",{"type":42,"tag":76,"props":1798,"children":1799},{"class":78,"line":648},[1800,1805,1809],{"type":42,"tag":76,"props":1801,"children":1802},{"style":249},[1803],{"type":48,"value":1804},"      twitter_username",{"type":42,"tag":76,"props":1806,"children":1807},{"style":166},[1808],{"type":48,"value":257},{"type":42,"tag":76,"props":1810,"children":1811},{"style":99},[1812],{"type":48,"value":112},{"type":42,"tag":76,"props":1814,"children":1815},{"class":78,"line":666},[1816,1821,1825],{"type":42,"tag":76,"props":1817,"children":1818},{"style":249},[1819],{"type":48,"value":1820},"      site_admin",{"type":42,"tag":76,"props":1822,"children":1823},{"style":166},[1824],{"type":48,"value":257},{"type":42,"tag":76,"props":1826,"children":1828},{"style":1827},"--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC",[1829],{"type":48,"value":1830}," false\n",{"type":42,"tag":76,"props":1832,"children":1833},{"class":78,"line":684},[1834,1839],{"type":42,"tag":76,"props":1835,"children":1836},{"style":249},[1837],{"type":48,"value":1838},"  orgs",{"type":42,"tag":76,"props":1840,"children":1841},{"style":166},[1842],{"type":48,"value":428},{"type":42,"tag":76,"props":1844,"children":1845},{"class":78,"line":697},[1846,1850,1854,1858],{"type":42,"tag":76,"props":1847,"children":1848},{"style":166},[1849],{"type":48,"value":448},{"type":42,"tag":76,"props":1851,"children":1852},{"style":249},[1853],{"type":48,"value":1686},{"type":42,"tag":76,"props":1855,"children":1856},{"style":166},[1857],{"type":48,"value":257},{"type":42,"tag":76,"props":1859,"children":1860},{"style":99},[1861],{"type":48,"value":735},{"type":42,"tag":76,"props":1863,"children":1864},{"class":78,"line":720},[1865,1869,1873],{"type":42,"tag":76,"props":1866,"children":1867},{"style":249},[1868],{"type":48,"value":487},{"type":42,"tag":76,"props":1870,"children":1871},{"style":166},[1872],{"type":48,"value":257},{"type":42,"tag":76,"props":1874,"children":1875},{"style":99},[1876],{"type":48,"value":1877}," My Organization\n",{"type":42,"tag":76,"props":1879,"children":1880},{"class":78,"line":738},[1881,1885,1889],{"type":42,"tag":76,"props":1882,"children":1883},{"style":249},[1884],{"type":48,"value":672},{"type":42,"tag":76,"props":1886,"children":1887},{"style":166},[1888],{"type":48,"value":257},{"type":42,"tag":76,"props":1890,"children":1891},{"style":99},[1892],{"type":48,"value":1893}," A test organization\n",{"type":42,"tag":76,"props":1895,"children":1896},{"class":78,"line":756},[1897,1901,1905],{"type":42,"tag":76,"props":1898,"children":1899},{"style":249},[1900],{"type":48,"value":1719},{"type":42,"tag":76,"props":1902,"children":1903},{"style":166},[1904],{"type":48,"value":257},{"type":42,"tag":76,"props":1906,"children":1907},{"style":99},[1908],{"type":48,"value":1909}," org@example.com\n",{"type":42,"tag":76,"props":1911,"children":1912},{"class":78,"line":769},[1913,1918],{"type":42,"tag":76,"props":1914,"children":1915},{"style":249},[1916],{"type":48,"value":1917},"  repos",{"type":42,"tag":76,"props":1919,"children":1920},{"style":166},[1921],{"type":48,"value":428},{"type":42,"tag":76,"props":1923,"children":1924},{"class":78,"line":786},[1925,1929,1934,1938],{"type":42,"tag":76,"props":1926,"children":1927},{"style":166},[1928],{"type":48,"value":448},{"type":42,"tag":76,"props":1930,"children":1931},{"style":249},[1932],{"type":48,"value":1933}," owner",{"type":42,"tag":76,"props":1935,"children":1936},{"style":166},[1937],{"type":48,"value":257},{"type":42,"tag":76,"props":1939,"children":1940},{"style":99},[1941],{"type":48,"value":1695},{"type":42,"tag":76,"props":1943,"children":1944},{"class":78,"line":811},[1945,1949,1953],{"type":42,"tag":76,"props":1946,"children":1947},{"style":249},[1948],{"type":48,"value":487},{"type":42,"tag":76,"props":1950,"children":1951},{"style":166},[1952],{"type":48,"value":257},{"type":42,"tag":76,"props":1954,"children":1955},{"style":99},[1956],{"type":48,"value":1957}," hello-world\n",{"type":42,"tag":76,"props":1959,"children":1961},{"class":78,"line":1960},25,[1962,1966,1970],{"type":42,"tag":76,"props":1963,"children":1964},{"style":249},[1965],{"type":48,"value":672},{"type":42,"tag":76,"props":1967,"children":1968},{"style":166},[1969],{"type":48,"value":257},{"type":42,"tag":76,"props":1971,"children":1972},{"style":99},[1973],{"type":48,"value":1974}," My first repository\n",{"type":42,"tag":76,"props":1976,"children":1978},{"class":78,"line":1977},26,[1979,1984,1988],{"type":42,"tag":76,"props":1980,"children":1981},{"style":249},[1982],{"type":48,"value":1983},"      language",{"type":42,"tag":76,"props":1985,"children":1986},{"style":166},[1987],{"type":48,"value":257},{"type":42,"tag":76,"props":1989,"children":1990},{"style":99},[1991],{"type":48,"value":1992}," JavaScript\n",{"type":42,"tag":76,"props":1994,"children":1996},{"class":78,"line":1995},27,[1997,2002,2006,2010,2015,2019,2024],{"type":42,"tag":76,"props":1998,"children":1999},{"style":249},[2000],{"type":48,"value":2001},"      topics",{"type":42,"tag":76,"props":2003,"children":2004},{"style":166},[2005],{"type":48,"value":257},{"type":42,"tag":76,"props":2007,"children":2008},{"style":166},[2009],{"type":48,"value":608},{"type":42,"tag":76,"props":2011,"children":2012},{"style":99},[2013],{"type":48,"value":2014},"hello",{"type":42,"tag":76,"props":2016,"children":2017},{"style":166},[2018],{"type":48,"value":275},{"type":42,"tag":76,"props":2020,"children":2021},{"style":99},[2022],{"type":48,"value":2023}," world",{"type":42,"tag":76,"props":2025,"children":2026},{"style":166},[2027],{"type":48,"value":627},{"type":42,"tag":76,"props":2029,"children":2031},{"class":78,"line":2030},28,[2032,2037,2041],{"type":42,"tag":76,"props":2033,"children":2034},{"style":249},[2035],{"type":48,"value":2036},"      default_branch",{"type":42,"tag":76,"props":2038,"children":2039},{"style":166},[2040],{"type":48,"value":257},{"type":42,"tag":76,"props":2042,"children":2043},{"style":99},[2044],{"type":48,"value":2045}," main\n",{"type":42,"tag":76,"props":2047,"children":2049},{"class":78,"line":2048},29,[2050,2055,2059],{"type":42,"tag":76,"props":2051,"children":2052},{"style":249},[2053],{"type":48,"value":2054},"      private",{"type":42,"tag":76,"props":2056,"children":2057},{"style":166},[2058],{"type":48,"value":257},{"type":42,"tag":76,"props":2060,"children":2061},{"style":1827},[2062],{"type":48,"value":1830},{"type":42,"tag":76,"props":2064,"children":2066},{"class":78,"line":2065},30,[2067,2071,2075,2079],{"type":42,"tag":76,"props":2068,"children":2069},{"style":166},[2070],{"type":48,"value":448},{"type":42,"tag":76,"props":2072,"children":2073},{"style":249},[2074],{"type":48,"value":1933},{"type":42,"tag":76,"props":2076,"children":2077},{"style":166},[2078],{"type":48,"value":257},{"type":42,"tag":76,"props":2080,"children":2081},{"style":99},[2082],{"type":48,"value":735},{"type":42,"tag":76,"props":2084,"children":2086},{"class":78,"line":2085},31,[2087,2091,2095],{"type":42,"tag":76,"props":2088,"children":2089},{"style":249},[2090],{"type":48,"value":487},{"type":42,"tag":76,"props":2092,"children":2093},{"style":166},[2094],{"type":48,"value":257},{"type":42,"tag":76,"props":2096,"children":2097},{"style":99},[2098],{"type":48,"value":2099}," org-repo\n",{"type":42,"tag":76,"props":2101,"children":2103},{"class":78,"line":2102},32,[2104,2108,2112],{"type":42,"tag":76,"props":2105,"children":2106},{"style":249},[2107],{"type":48,"value":672},{"type":42,"tag":76,"props":2109,"children":2110},{"style":166},[2111],{"type":48,"value":257},{"type":42,"tag":76,"props":2113,"children":2114},{"style":99},[2115],{"type":48,"value":2116}," An organization repository\n",{"type":42,"tag":76,"props":2118,"children":2120},{"class":78,"line":2119},33,[2121,2125,2129],{"type":42,"tag":76,"props":2122,"children":2123},{"style":249},[2124],{"type":48,"value":1983},{"type":42,"tag":76,"props":2126,"children":2127},{"style":166},[2128],{"type":48,"value":257},{"type":42,"tag":76,"props":2130,"children":2131},{"style":99},[2132],{"type":48,"value":2133}," TypeScript\n",{"type":42,"tag":76,"props":2135,"children":2137},{"class":78,"line":2136},34,[2138,2143],{"type":42,"tag":76,"props":2139,"children":2140},{"style":249},[2141],{"type":48,"value":2142},"  oauth_apps",{"type":42,"tag":76,"props":2144,"children":2145},{"style":166},[2146],{"type":48,"value":428},{"type":42,"tag":76,"props":2148,"children":2150},{"class":78,"line":2149},35,[2151,2155,2160,2164],{"type":42,"tag":76,"props":2152,"children":2153},{"style":166},[2154],{"type":48,"value":448},{"type":42,"tag":76,"props":2156,"children":2157},{"style":249},[2158],{"type":48,"value":2159}," client_id",{"type":42,"tag":76,"props":2161,"children":2162},{"style":166},[2163],{"type":48,"value":257},{"type":42,"tag":76,"props":2165,"children":2166},{"style":99},[2167],{"type":48,"value":2168}," Iv1.abc123\n",{"type":42,"tag":76,"props":2170,"children":2172},{"class":78,"line":2171},36,[2173,2178,2182],{"type":42,"tag":76,"props":2174,"children":2175},{"style":249},[2176],{"type":48,"value":2177},"      client_secret",{"type":42,"tag":76,"props":2179,"children":2180},{"style":166},[2181],{"type":48,"value":257},{"type":42,"tag":76,"props":2183,"children":2184},{"style":99},[2185],{"type":48,"value":2186}," secret_abc123\n",{"type":42,"tag":76,"props":2188,"children":2190},{"class":78,"line":2189},37,[2191,2195,2199],{"type":42,"tag":76,"props":2192,"children":2193},{"style":249},[2194],{"type":48,"value":487},{"type":42,"tag":76,"props":2196,"children":2197},{"style":166},[2198],{"type":48,"value":257},{"type":42,"tag":76,"props":2200,"children":2201},{"style":99},[2202],{"type":48,"value":2203}," My Web App\n",{"type":42,"tag":76,"props":2205,"children":2207},{"class":78,"line":2206},38,[2208,2213],{"type":42,"tag":76,"props":2209,"children":2210},{"style":249},[2211],{"type":48,"value":2212},"      redirect_uris",{"type":42,"tag":76,"props":2214,"children":2215},{"style":166},[2216],{"type":48,"value":428},{"type":42,"tag":76,"props":2218,"children":2220},{"class":78,"line":2219},39,[2221,2225],{"type":42,"tag":76,"props":2222,"children":2223},{"style":166},[2224],{"type":48,"value":703},{"type":42,"tag":76,"props":2226,"children":2227},{"style":99},[2228],{"type":48,"value":2229}," http:\u002F\u002Flocalhost:3000\u002Fapi\u002Fauth\u002Fcallback\u002Fgithub\n",{"type":42,"tag":51,"props":2231,"children":2232},{},[2233,2235,2241],{"type":48,"value":2234},"Repos are auto-initialized with a commit, branch, and README unless ",{"type":42,"tag":72,"props":2236,"children":2238},{"className":2237},[],[2239],{"type":48,"value":2240},"auto_init: false",{"type":48,"value":2242}," is set.",{"type":42,"tag":57,"props":2244,"children":2246},{"id":2245},"pagination",[2247],{"type":48,"value":2248},"Pagination",{"type":42,"tag":51,"props":2250,"children":2251},{},[2252,2254,2260,2262,2268,2270,2276],{"type":48,"value":2253},"All list endpoints support ",{"type":42,"tag":72,"props":2255,"children":2257},{"className":2256},[],[2258],{"type":48,"value":2259},"page",{"type":48,"value":2261}," and ",{"type":42,"tag":72,"props":2263,"children":2265},{"className":2264},[],[2266],{"type":48,"value":2267},"per_page",{"type":48,"value":2269}," query params with ",{"type":42,"tag":72,"props":2271,"children":2273},{"className":2272},[],[2274],{"type":48,"value":2275},"Link",{"type":48,"value":2277}," headers:",{"type":42,"tag":64,"props":2279,"children":2281},{"className":66,"code":2280,"language":68,"meta":69,"style":69},"curl \"http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fissues?page=1&per_page=10\" \\\n  -H \"Authorization: Bearer $TOKEN\"\n",[2282],{"type":42,"tag":72,"props":2283,"children":2284},{"__ignoreMap":69},[2285,2310],{"type":42,"tag":76,"props":2286,"children":2287},{"class":78,"line":79},[2288,2292,2296,2301,2306],{"type":42,"tag":76,"props":2289,"children":2290},{"style":93},[2291],{"type":48,"value":349},{"type":42,"tag":76,"props":2293,"children":2294},{"style":166},[2295],{"type":48,"value":372},{"type":42,"tag":76,"props":2297,"children":2298},{"style":99},[2299],{"type":48,"value":2300},"http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fissues?page=1&per_page=10",{"type":42,"tag":76,"props":2302,"children":2303},{"style":166},[2304],{"type":48,"value":2305},"\"",{"type":42,"tag":76,"props":2307,"children":2308},{"style":172},[2309],{"type":48,"value":359},{"type":42,"tag":76,"props":2311,"children":2312},{"class":78,"line":89},[2313,2317,2321,2326,2331],{"type":42,"tag":76,"props":2314,"children":2315},{"style":99},[2316],{"type":48,"value":367},{"type":42,"tag":76,"props":2318,"children":2319},{"style":166},[2320],{"type":48,"value":372},{"type":42,"tag":76,"props":2322,"children":2323},{"style":99},[2324],{"type":48,"value":2325},"Authorization: Bearer ",{"type":42,"tag":76,"props":2327,"children":2328},{"style":172},[2329],{"type":48,"value":2330},"$TOKEN",{"type":42,"tag":76,"props":2332,"children":2333},{"style":166},[2334],{"type":48,"value":382},{"type":42,"tag":57,"props":2336,"children":2338},{"id":2337},"api-endpoints",[2339],{"type":48,"value":2340},"API Endpoints",{"type":42,"tag":389,"props":2342,"children":2344},{"id":2343},"users",[2345],{"type":48,"value":2346},"Users",{"type":42,"tag":64,"props":2348,"children":2350},{"className":66,"code":2349,"language":68,"meta":69,"style":69},"# Authenticated user\ncurl http:\u002F\u002Flocalhost:4001\u002Fuser -H \"Authorization: Bearer $TOKEN\"\n\n# Update profile\ncurl -X PATCH http:\u002F\u002Flocalhost:4001\u002Fuser \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"bio\": \"Hello!\"}'\n\n# Get user by username\ncurl http:\u002F\u002Flocalhost:4001\u002Fusers\u002Foctocat\n\n# List users\ncurl http:\u002F\u002Flocalhost:4001\u002Fusers\n\n# User repos \u002F orgs \u002F followers \u002F following\ncurl http:\u002F\u002Flocalhost:4001\u002Fusers\u002Foctocat\u002Frepos\ncurl http:\u002F\u002Flocalhost:4001\u002Fusers\u002Foctocat\u002Forgs\ncurl http:\u002F\u002Flocalhost:4001\u002Fusers\u002Foctocat\u002Ffollowers\ncurl http:\u002F\u002Flocalhost:4001\u002Fusers\u002Foctocat\u002Ffollowing\n\n# User hovercard\ncurl http:\u002F\u002Flocalhost:4001\u002Fusers\u002Foctocat\u002Fhovercard\n\n# User emails\ncurl http:\u002F\u002Flocalhost:4001\u002Fuser\u002Femails -H \"Authorization: Bearer $TOKEN\"\n",[2351],{"type":42,"tag":72,"props":2352,"children":2353},{"__ignoreMap":69},[2354,2362,2394,2401,2409,2434,2461,2485,2506,2513,2521,2533,2540,2548,2560,2567,2575,2587,2599,2611,2623,2630,2638,2650,2657,2665],{"type":42,"tag":76,"props":2355,"children":2356},{"class":78,"line":79},[2357],{"type":42,"tag":76,"props":2358,"children":2359},{"style":83},[2360],{"type":48,"value":2361},"# Authenticated user\n",{"type":42,"tag":76,"props":2363,"children":2364},{"class":78,"line":89},[2365,2369,2373,2378,2382,2386,2390],{"type":42,"tag":76,"props":2366,"children":2367},{"style":93},[2368],{"type":48,"value":349},{"type":42,"tag":76,"props":2370,"children":2371},{"style":99},[2372],{"type":48,"value":354},{"type":42,"tag":76,"props":2374,"children":2375},{"style":99},[2376],{"type":48,"value":2377}," -H",{"type":42,"tag":76,"props":2379,"children":2380},{"style":166},[2381],{"type":48,"value":372},{"type":42,"tag":76,"props":2383,"children":2384},{"style":99},[2385],{"type":48,"value":2325},{"type":42,"tag":76,"props":2387,"children":2388},{"style":172},[2389],{"type":48,"value":2330},{"type":42,"tag":76,"props":2391,"children":2392},{"style":166},[2393],{"type":48,"value":382},{"type":42,"tag":76,"props":2395,"children":2396},{"class":78,"line":115},[2397],{"type":42,"tag":76,"props":2398,"children":2399},{"emptyLinePlaceholder":119},[2400],{"type":48,"value":122},{"type":42,"tag":76,"props":2402,"children":2403},{"class":78,"line":125},[2404],{"type":42,"tag":76,"props":2405,"children":2406},{"style":83},[2407],{"type":48,"value":2408},"# Update profile\n",{"type":42,"tag":76,"props":2410,"children":2411},{"class":78,"line":134},[2412,2416,2421,2426,2430],{"type":42,"tag":76,"props":2413,"children":2414},{"style":93},[2415],{"type":48,"value":349},{"type":42,"tag":76,"props":2417,"children":2418},{"style":99},[2419],{"type":48,"value":2420}," -X",{"type":42,"tag":76,"props":2422,"children":2423},{"style":99},[2424],{"type":48,"value":2425}," PATCH",{"type":42,"tag":76,"props":2427,"children":2428},{"style":99},[2429],{"type":48,"value":354},{"type":42,"tag":76,"props":2431,"children":2432},{"style":172},[2433],{"type":48,"value":359},{"type":42,"tag":76,"props":2435,"children":2436},{"class":78,"line":499},[2437,2441,2445,2449,2453,2457],{"type":42,"tag":76,"props":2438,"children":2439},{"style":99},[2440],{"type":48,"value":367},{"type":42,"tag":76,"props":2442,"children":2443},{"style":166},[2444],{"type":48,"value":372},{"type":42,"tag":76,"props":2446,"children":2447},{"style":99},[2448],{"type":48,"value":2325},{"type":42,"tag":76,"props":2450,"children":2451},{"style":172},[2452],{"type":48,"value":2330},{"type":42,"tag":76,"props":2454,"children":2455},{"style":166},[2456],{"type":48,"value":2305},{"type":42,"tag":76,"props":2458,"children":2459},{"style":172},[2460],{"type":48,"value":359},{"type":42,"tag":76,"props":2462,"children":2463},{"class":78,"line":517},[2464,2468,2472,2477,2481],{"type":42,"tag":76,"props":2465,"children":2466},{"style":99},[2467],{"type":48,"value":367},{"type":42,"tag":76,"props":2469,"children":2470},{"style":166},[2471],{"type":48,"value":372},{"type":42,"tag":76,"props":2473,"children":2474},{"style":99},[2475],{"type":48,"value":2476},"Content-Type: application\u002Fjson",{"type":42,"tag":76,"props":2478,"children":2479},{"style":166},[2480],{"type":48,"value":2305},{"type":42,"tag":76,"props":2482,"children":2483},{"style":172},[2484],{"type":48,"value":359},{"type":42,"tag":76,"props":2486,"children":2487},{"class":78,"line":526},[2488,2493,2497,2502],{"type":42,"tag":76,"props":2489,"children":2490},{"style":99},[2491],{"type":48,"value":2492},"  -d",{"type":42,"tag":76,"props":2494,"children":2495},{"style":166},[2496],{"type":48,"value":190},{"type":42,"tag":76,"props":2498,"children":2499},{"style":99},[2500],{"type":48,"value":2501},"{\"bio\": \"Hello!\"}",{"type":42,"tag":76,"props":2503,"children":2504},{"style":166},[2505],{"type":48,"value":200},{"type":42,"tag":76,"props":2507,"children":2508},{"class":78,"line":535},[2509],{"type":42,"tag":76,"props":2510,"children":2511},{"emptyLinePlaceholder":119},[2512],{"type":48,"value":122},{"type":42,"tag":76,"props":2514,"children":2515},{"class":78,"line":544},[2516],{"type":42,"tag":76,"props":2517,"children":2518},{"style":83},[2519],{"type":48,"value":2520},"# Get user by username\n",{"type":42,"tag":76,"props":2522,"children":2523},{"class":78,"line":557},[2524,2528],{"type":42,"tag":76,"props":2525,"children":2526},{"style":93},[2527],{"type":48,"value":349},{"type":42,"tag":76,"props":2529,"children":2530},{"style":99},[2531],{"type":48,"value":2532}," http:\u002F\u002Flocalhost:4001\u002Fusers\u002Foctocat\n",{"type":42,"tag":76,"props":2534,"children":2535},{"class":78,"line":575},[2536],{"type":42,"tag":76,"props":2537,"children":2538},{"emptyLinePlaceholder":119},[2539],{"type":48,"value":122},{"type":42,"tag":76,"props":2541,"children":2542},{"class":78,"line":593},[2543],{"type":42,"tag":76,"props":2544,"children":2545},{"style":83},[2546],{"type":48,"value":2547},"# List users\n",{"type":42,"tag":76,"props":2549,"children":2550},{"class":78,"line":630},[2551,2555],{"type":42,"tag":76,"props":2552,"children":2553},{"style":93},[2554],{"type":48,"value":349},{"type":42,"tag":76,"props":2556,"children":2557},{"style":99},[2558],{"type":48,"value":2559}," http:\u002F\u002Flocalhost:4001\u002Fusers\n",{"type":42,"tag":76,"props":2561,"children":2562},{"class":78,"line":648},[2563],{"type":42,"tag":76,"props":2564,"children":2565},{"emptyLinePlaceholder":119},[2566],{"type":48,"value":122},{"type":42,"tag":76,"props":2568,"children":2569},{"class":78,"line":666},[2570],{"type":42,"tag":76,"props":2571,"children":2572},{"style":83},[2573],{"type":48,"value":2574},"# User repos \u002F orgs \u002F followers \u002F following\n",{"type":42,"tag":76,"props":2576,"children":2577},{"class":78,"line":684},[2578,2582],{"type":42,"tag":76,"props":2579,"children":2580},{"style":93},[2581],{"type":48,"value":349},{"type":42,"tag":76,"props":2583,"children":2584},{"style":99},[2585],{"type":48,"value":2586}," http:\u002F\u002Flocalhost:4001\u002Fusers\u002Foctocat\u002Frepos\n",{"type":42,"tag":76,"props":2588,"children":2589},{"class":78,"line":697},[2590,2594],{"type":42,"tag":76,"props":2591,"children":2592},{"style":93},[2593],{"type":48,"value":349},{"type":42,"tag":76,"props":2595,"children":2596},{"style":99},[2597],{"type":48,"value":2598}," http:\u002F\u002Flocalhost:4001\u002Fusers\u002Foctocat\u002Forgs\n",{"type":42,"tag":76,"props":2600,"children":2601},{"class":78,"line":720},[2602,2606],{"type":42,"tag":76,"props":2603,"children":2604},{"style":93},[2605],{"type":48,"value":349},{"type":42,"tag":76,"props":2607,"children":2608},{"style":99},[2609],{"type":48,"value":2610}," http:\u002F\u002Flocalhost:4001\u002Fusers\u002Foctocat\u002Ffollowers\n",{"type":42,"tag":76,"props":2612,"children":2613},{"class":78,"line":738},[2614,2618],{"type":42,"tag":76,"props":2615,"children":2616},{"style":93},[2617],{"type":48,"value":349},{"type":42,"tag":76,"props":2619,"children":2620},{"style":99},[2621],{"type":48,"value":2622}," http:\u002F\u002Flocalhost:4001\u002Fusers\u002Foctocat\u002Ffollowing\n",{"type":42,"tag":76,"props":2624,"children":2625},{"class":78,"line":756},[2626],{"type":42,"tag":76,"props":2627,"children":2628},{"emptyLinePlaceholder":119},[2629],{"type":48,"value":122},{"type":42,"tag":76,"props":2631,"children":2632},{"class":78,"line":769},[2633],{"type":42,"tag":76,"props":2634,"children":2635},{"style":83},[2636],{"type":48,"value":2637},"# User hovercard\n",{"type":42,"tag":76,"props":2639,"children":2640},{"class":78,"line":786},[2641,2645],{"type":42,"tag":76,"props":2642,"children":2643},{"style":93},[2644],{"type":48,"value":349},{"type":42,"tag":76,"props":2646,"children":2647},{"style":99},[2648],{"type":48,"value":2649}," http:\u002F\u002Flocalhost:4001\u002Fusers\u002Foctocat\u002Fhovercard\n",{"type":42,"tag":76,"props":2651,"children":2652},{"class":78,"line":811},[2653],{"type":42,"tag":76,"props":2654,"children":2655},{"emptyLinePlaceholder":119},[2656],{"type":48,"value":122},{"type":42,"tag":76,"props":2658,"children":2659},{"class":78,"line":1960},[2660],{"type":42,"tag":76,"props":2661,"children":2662},{"style":83},[2663],{"type":48,"value":2664},"# User emails\n",{"type":42,"tag":76,"props":2666,"children":2667},{"class":78,"line":1977},[2668,2672,2677,2681,2685,2689,2693],{"type":42,"tag":76,"props":2669,"children":2670},{"style":93},[2671],{"type":48,"value":349},{"type":42,"tag":76,"props":2673,"children":2674},{"style":99},[2675],{"type":48,"value":2676}," http:\u002F\u002Flocalhost:4001\u002Fuser\u002Femails",{"type":42,"tag":76,"props":2678,"children":2679},{"style":99},[2680],{"type":48,"value":2377},{"type":42,"tag":76,"props":2682,"children":2683},{"style":166},[2684],{"type":48,"value":372},{"type":42,"tag":76,"props":2686,"children":2687},{"style":99},[2688],{"type":48,"value":2325},{"type":42,"tag":76,"props":2690,"children":2691},{"style":172},[2692],{"type":48,"value":2330},{"type":42,"tag":76,"props":2694,"children":2695},{"style":166},[2696],{"type":48,"value":382},{"type":42,"tag":389,"props":2698,"children":2700},{"id":2699},"repositories",[2701],{"type":48,"value":2702},"Repositories",{"type":42,"tag":64,"props":2704,"children":2706},{"className":66,"code":2705,"language":68,"meta":69,"style":69},"# Get repo\ncurl http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\n\n# Create user repo\ncurl -X POST http:\u002F\u002Flocalhost:4001\u002Fuser\u002Frepos \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"name\": \"new-repo\", \"private\": false}'\n\n# Create org repo\ncurl -X POST http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Frepos \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"name\": \"org-project\"}'\n\n# Update repo\ncurl -X PATCH http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"description\": \"Updated description\"}'\n\n# Delete repo (cascades issues, PRs, etc.)\ncurl -X DELETE http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world \\\n  -H \"Authorization: Bearer $TOKEN\"\n\n# Topics, languages, contributors, forks, collaborators, tags, transfer\n",[2707],{"type":42,"tag":72,"props":2708,"children":2709},{"__ignoreMap":69},[2710,2718,2730,2737,2745,2770,2797,2820,2840,2847,2855,2879,2906,2929,2949,2956,2964,2988,3015,3038,3058,3065,3073,3097,3120,3127],{"type":42,"tag":76,"props":2711,"children":2712},{"class":78,"line":79},[2713],{"type":42,"tag":76,"props":2714,"children":2715},{"style":83},[2716],{"type":48,"value":2717},"# Get repo\n",{"type":42,"tag":76,"props":2719,"children":2720},{"class":78,"line":89},[2721,2725],{"type":42,"tag":76,"props":2722,"children":2723},{"style":93},[2724],{"type":48,"value":349},{"type":42,"tag":76,"props":2726,"children":2727},{"style":99},[2728],{"type":48,"value":2729}," http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\n",{"type":42,"tag":76,"props":2731,"children":2732},{"class":78,"line":115},[2733],{"type":42,"tag":76,"props":2734,"children":2735},{"emptyLinePlaceholder":119},[2736],{"type":48,"value":122},{"type":42,"tag":76,"props":2738,"children":2739},{"class":78,"line":125},[2740],{"type":42,"tag":76,"props":2741,"children":2742},{"style":83},[2743],{"type":48,"value":2744},"# Create user repo\n",{"type":42,"tag":76,"props":2746,"children":2747},{"class":78,"line":134},[2748,2752,2756,2761,2766],{"type":42,"tag":76,"props":2749,"children":2750},{"style":93},[2751],{"type":48,"value":349},{"type":42,"tag":76,"props":2753,"children":2754},{"style":99},[2755],{"type":48,"value":2420},{"type":42,"tag":76,"props":2757,"children":2758},{"style":99},[2759],{"type":48,"value":2760}," POST",{"type":42,"tag":76,"props":2762,"children":2763},{"style":99},[2764],{"type":48,"value":2765}," http:\u002F\u002Flocalhost:4001\u002Fuser\u002Frepos",{"type":42,"tag":76,"props":2767,"children":2768},{"style":172},[2769],{"type":48,"value":359},{"type":42,"tag":76,"props":2771,"children":2772},{"class":78,"line":499},[2773,2777,2781,2785,2789,2793],{"type":42,"tag":76,"props":2774,"children":2775},{"style":99},[2776],{"type":48,"value":367},{"type":42,"tag":76,"props":2778,"children":2779},{"style":166},[2780],{"type":48,"value":372},{"type":42,"tag":76,"props":2782,"children":2783},{"style":99},[2784],{"type":48,"value":2325},{"type":42,"tag":76,"props":2786,"children":2787},{"style":172},[2788],{"type":48,"value":2330},{"type":42,"tag":76,"props":2790,"children":2791},{"style":166},[2792],{"type":48,"value":2305},{"type":42,"tag":76,"props":2794,"children":2795},{"style":172},[2796],{"type":48,"value":359},{"type":42,"tag":76,"props":2798,"children":2799},{"class":78,"line":517},[2800,2804,2808,2812,2816],{"type":42,"tag":76,"props":2801,"children":2802},{"style":99},[2803],{"type":48,"value":367},{"type":42,"tag":76,"props":2805,"children":2806},{"style":166},[2807],{"type":48,"value":372},{"type":42,"tag":76,"props":2809,"children":2810},{"style":99},[2811],{"type":48,"value":2476},{"type":42,"tag":76,"props":2813,"children":2814},{"style":166},[2815],{"type":48,"value":2305},{"type":42,"tag":76,"props":2817,"children":2818},{"style":172},[2819],{"type":48,"value":359},{"type":42,"tag":76,"props":2821,"children":2822},{"class":78,"line":526},[2823,2827,2831,2836],{"type":42,"tag":76,"props":2824,"children":2825},{"style":99},[2826],{"type":48,"value":2492},{"type":42,"tag":76,"props":2828,"children":2829},{"style":166},[2830],{"type":48,"value":190},{"type":42,"tag":76,"props":2832,"children":2833},{"style":99},[2834],{"type":48,"value":2835},"{\"name\": \"new-repo\", \"private\": false}",{"type":42,"tag":76,"props":2837,"children":2838},{"style":166},[2839],{"type":48,"value":200},{"type":42,"tag":76,"props":2841,"children":2842},{"class":78,"line":535},[2843],{"type":42,"tag":76,"props":2844,"children":2845},{"emptyLinePlaceholder":119},[2846],{"type":48,"value":122},{"type":42,"tag":76,"props":2848,"children":2849},{"class":78,"line":544},[2850],{"type":42,"tag":76,"props":2851,"children":2852},{"style":83},[2853],{"type":48,"value":2854},"# Create org repo\n",{"type":42,"tag":76,"props":2856,"children":2857},{"class":78,"line":557},[2858,2862,2866,2870,2875],{"type":42,"tag":76,"props":2859,"children":2860},{"style":93},[2861],{"type":48,"value":349},{"type":42,"tag":76,"props":2863,"children":2864},{"style":99},[2865],{"type":48,"value":2420},{"type":42,"tag":76,"props":2867,"children":2868},{"style":99},[2869],{"type":48,"value":2760},{"type":42,"tag":76,"props":2871,"children":2872},{"style":99},[2873],{"type":48,"value":2874}," http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Frepos",{"type":42,"tag":76,"props":2876,"children":2877},{"style":172},[2878],{"type":48,"value":359},{"type":42,"tag":76,"props":2880,"children":2881},{"class":78,"line":575},[2882,2886,2890,2894,2898,2902],{"type":42,"tag":76,"props":2883,"children":2884},{"style":99},[2885],{"type":48,"value":367},{"type":42,"tag":76,"props":2887,"children":2888},{"style":166},[2889],{"type":48,"value":372},{"type":42,"tag":76,"props":2891,"children":2892},{"style":99},[2893],{"type":48,"value":2325},{"type":42,"tag":76,"props":2895,"children":2896},{"style":172},[2897],{"type":48,"value":2330},{"type":42,"tag":76,"props":2899,"children":2900},{"style":166},[2901],{"type":48,"value":2305},{"type":42,"tag":76,"props":2903,"children":2904},{"style":172},[2905],{"type":48,"value":359},{"type":42,"tag":76,"props":2907,"children":2908},{"class":78,"line":593},[2909,2913,2917,2921,2925],{"type":42,"tag":76,"props":2910,"children":2911},{"style":99},[2912],{"type":48,"value":367},{"type":42,"tag":76,"props":2914,"children":2915},{"style":166},[2916],{"type":48,"value":372},{"type":42,"tag":76,"props":2918,"children":2919},{"style":99},[2920],{"type":48,"value":2476},{"type":42,"tag":76,"props":2922,"children":2923},{"style":166},[2924],{"type":48,"value":2305},{"type":42,"tag":76,"props":2926,"children":2927},{"style":172},[2928],{"type":48,"value":359},{"type":42,"tag":76,"props":2930,"children":2931},{"class":78,"line":630},[2932,2936,2940,2945],{"type":42,"tag":76,"props":2933,"children":2934},{"style":99},[2935],{"type":48,"value":2492},{"type":42,"tag":76,"props":2937,"children":2938},{"style":166},[2939],{"type":48,"value":190},{"type":42,"tag":76,"props":2941,"children":2942},{"style":99},[2943],{"type":48,"value":2944},"{\"name\": \"org-project\"}",{"type":42,"tag":76,"props":2946,"children":2947},{"style":166},[2948],{"type":48,"value":200},{"type":42,"tag":76,"props":2950,"children":2951},{"class":78,"line":648},[2952],{"type":42,"tag":76,"props":2953,"children":2954},{"emptyLinePlaceholder":119},[2955],{"type":48,"value":122},{"type":42,"tag":76,"props":2957,"children":2958},{"class":78,"line":666},[2959],{"type":42,"tag":76,"props":2960,"children":2961},{"style":83},[2962],{"type":48,"value":2963},"# Update repo\n",{"type":42,"tag":76,"props":2965,"children":2966},{"class":78,"line":684},[2967,2971,2975,2979,2984],{"type":42,"tag":76,"props":2968,"children":2969},{"style":93},[2970],{"type":48,"value":349},{"type":42,"tag":76,"props":2972,"children":2973},{"style":99},[2974],{"type":48,"value":2420},{"type":42,"tag":76,"props":2976,"children":2977},{"style":99},[2978],{"type":48,"value":2425},{"type":42,"tag":76,"props":2980,"children":2981},{"style":99},[2982],{"type":48,"value":2983}," http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world",{"type":42,"tag":76,"props":2985,"children":2986},{"style":172},[2987],{"type":48,"value":359},{"type":42,"tag":76,"props":2989,"children":2990},{"class":78,"line":697},[2991,2995,2999,3003,3007,3011],{"type":42,"tag":76,"props":2992,"children":2993},{"style":99},[2994],{"type":48,"value":367},{"type":42,"tag":76,"props":2996,"children":2997},{"style":166},[2998],{"type":48,"value":372},{"type":42,"tag":76,"props":3000,"children":3001},{"style":99},[3002],{"type":48,"value":2325},{"type":42,"tag":76,"props":3004,"children":3005},{"style":172},[3006],{"type":48,"value":2330},{"type":42,"tag":76,"props":3008,"children":3009},{"style":166},[3010],{"type":48,"value":2305},{"type":42,"tag":76,"props":3012,"children":3013},{"style":172},[3014],{"type":48,"value":359},{"type":42,"tag":76,"props":3016,"children":3017},{"class":78,"line":720},[3018,3022,3026,3030,3034],{"type":42,"tag":76,"props":3019,"children":3020},{"style":99},[3021],{"type":48,"value":367},{"type":42,"tag":76,"props":3023,"children":3024},{"style":166},[3025],{"type":48,"value":372},{"type":42,"tag":76,"props":3027,"children":3028},{"style":99},[3029],{"type":48,"value":2476},{"type":42,"tag":76,"props":3031,"children":3032},{"style":166},[3033],{"type":48,"value":2305},{"type":42,"tag":76,"props":3035,"children":3036},{"style":172},[3037],{"type":48,"value":359},{"type":42,"tag":76,"props":3039,"children":3040},{"class":78,"line":738},[3041,3045,3049,3054],{"type":42,"tag":76,"props":3042,"children":3043},{"style":99},[3044],{"type":48,"value":2492},{"type":42,"tag":76,"props":3046,"children":3047},{"style":166},[3048],{"type":48,"value":190},{"type":42,"tag":76,"props":3050,"children":3051},{"style":99},[3052],{"type":48,"value":3053},"{\"description\": \"Updated description\"}",{"type":42,"tag":76,"props":3055,"children":3056},{"style":166},[3057],{"type":48,"value":200},{"type":42,"tag":76,"props":3059,"children":3060},{"class":78,"line":756},[3061],{"type":42,"tag":76,"props":3062,"children":3063},{"emptyLinePlaceholder":119},[3064],{"type":48,"value":122},{"type":42,"tag":76,"props":3066,"children":3067},{"class":78,"line":769},[3068],{"type":42,"tag":76,"props":3069,"children":3070},{"style":83},[3071],{"type":48,"value":3072},"# Delete repo (cascades issues, PRs, etc.)\n",{"type":42,"tag":76,"props":3074,"children":3075},{"class":78,"line":786},[3076,3080,3084,3089,3093],{"type":42,"tag":76,"props":3077,"children":3078},{"style":93},[3079],{"type":48,"value":349},{"type":42,"tag":76,"props":3081,"children":3082},{"style":99},[3083],{"type":48,"value":2420},{"type":42,"tag":76,"props":3085,"children":3086},{"style":99},[3087],{"type":48,"value":3088}," DELETE",{"type":42,"tag":76,"props":3090,"children":3091},{"style":99},[3092],{"type":48,"value":2983},{"type":42,"tag":76,"props":3094,"children":3095},{"style":172},[3096],{"type":48,"value":359},{"type":42,"tag":76,"props":3098,"children":3099},{"class":78,"line":811},[3100,3104,3108,3112,3116],{"type":42,"tag":76,"props":3101,"children":3102},{"style":99},[3103],{"type":48,"value":367},{"type":42,"tag":76,"props":3105,"children":3106},{"style":166},[3107],{"type":48,"value":372},{"type":42,"tag":76,"props":3109,"children":3110},{"style":99},[3111],{"type":48,"value":2325},{"type":42,"tag":76,"props":3113,"children":3114},{"style":172},[3115],{"type":48,"value":2330},{"type":42,"tag":76,"props":3117,"children":3118},{"style":166},[3119],{"type":48,"value":382},{"type":42,"tag":76,"props":3121,"children":3122},{"class":78,"line":1960},[3123],{"type":42,"tag":76,"props":3124,"children":3125},{"emptyLinePlaceholder":119},[3126],{"type":48,"value":122},{"type":42,"tag":76,"props":3128,"children":3129},{"class":78,"line":1977},[3130],{"type":42,"tag":76,"props":3131,"children":3132},{"style":83},[3133],{"type":48,"value":3134},"# Topics, languages, contributors, forks, collaborators, tags, transfer\n",{"type":42,"tag":389,"props":3136,"children":3138},{"id":3137},"issues",[3139],{"type":48,"value":3140},"Issues",{"type":42,"tag":64,"props":3142,"children":3144},{"className":66,"code":3143,"language":68,"meta":69,"style":69},"# List issues (filter by state, labels, assignee, milestone, creator, since)\ncurl \"http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fissues?state=open&labels=bug\"\n\n# Create issue\ncurl -X POST http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fissues \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"title\": \"Bug report\", \"body\": \"Details here\", \"labels\": [\"bug\"]}'\n\n# Get \u002F update \u002F lock \u002F unlock \u002F timeline \u002F events \u002F assignees\n",[3145],{"type":42,"tag":72,"props":3146,"children":3147},{"__ignoreMap":69},[3148,3156,3176,3183,3191,3215,3242,3265,3285,3292],{"type":42,"tag":76,"props":3149,"children":3150},{"class":78,"line":79},[3151],{"type":42,"tag":76,"props":3152,"children":3153},{"style":83},[3154],{"type":48,"value":3155},"# List issues (filter by state, labels, assignee, milestone, creator, since)\n",{"type":42,"tag":76,"props":3157,"children":3158},{"class":78,"line":89},[3159,3163,3167,3172],{"type":42,"tag":76,"props":3160,"children":3161},{"style":93},[3162],{"type":48,"value":349},{"type":42,"tag":76,"props":3164,"children":3165},{"style":166},[3166],{"type":48,"value":372},{"type":42,"tag":76,"props":3168,"children":3169},{"style":99},[3170],{"type":48,"value":3171},"http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fissues?state=open&labels=bug",{"type":42,"tag":76,"props":3173,"children":3174},{"style":166},[3175],{"type":48,"value":382},{"type":42,"tag":76,"props":3177,"children":3178},{"class":78,"line":115},[3179],{"type":42,"tag":76,"props":3180,"children":3181},{"emptyLinePlaceholder":119},[3182],{"type":48,"value":122},{"type":42,"tag":76,"props":3184,"children":3185},{"class":78,"line":125},[3186],{"type":42,"tag":76,"props":3187,"children":3188},{"style":83},[3189],{"type":48,"value":3190},"# Create issue\n",{"type":42,"tag":76,"props":3192,"children":3193},{"class":78,"line":134},[3194,3198,3202,3206,3211],{"type":42,"tag":76,"props":3195,"children":3196},{"style":93},[3197],{"type":48,"value":349},{"type":42,"tag":76,"props":3199,"children":3200},{"style":99},[3201],{"type":48,"value":2420},{"type":42,"tag":76,"props":3203,"children":3204},{"style":99},[3205],{"type":48,"value":2760},{"type":42,"tag":76,"props":3207,"children":3208},{"style":99},[3209],{"type":48,"value":3210}," http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fissues",{"type":42,"tag":76,"props":3212,"children":3213},{"style":172},[3214],{"type":48,"value":359},{"type":42,"tag":76,"props":3216,"children":3217},{"class":78,"line":499},[3218,3222,3226,3230,3234,3238],{"type":42,"tag":76,"props":3219,"children":3220},{"style":99},[3221],{"type":48,"value":367},{"type":42,"tag":76,"props":3223,"children":3224},{"style":166},[3225],{"type":48,"value":372},{"type":42,"tag":76,"props":3227,"children":3228},{"style":99},[3229],{"type":48,"value":2325},{"type":42,"tag":76,"props":3231,"children":3232},{"style":172},[3233],{"type":48,"value":2330},{"type":42,"tag":76,"props":3235,"children":3236},{"style":166},[3237],{"type":48,"value":2305},{"type":42,"tag":76,"props":3239,"children":3240},{"style":172},[3241],{"type":48,"value":359},{"type":42,"tag":76,"props":3243,"children":3244},{"class":78,"line":517},[3245,3249,3253,3257,3261],{"type":42,"tag":76,"props":3246,"children":3247},{"style":99},[3248],{"type":48,"value":367},{"type":42,"tag":76,"props":3250,"children":3251},{"style":166},[3252],{"type":48,"value":372},{"type":42,"tag":76,"props":3254,"children":3255},{"style":99},[3256],{"type":48,"value":2476},{"type":42,"tag":76,"props":3258,"children":3259},{"style":166},[3260],{"type":48,"value":2305},{"type":42,"tag":76,"props":3262,"children":3263},{"style":172},[3264],{"type":48,"value":359},{"type":42,"tag":76,"props":3266,"children":3267},{"class":78,"line":526},[3268,3272,3276,3281],{"type":42,"tag":76,"props":3269,"children":3270},{"style":99},[3271],{"type":48,"value":2492},{"type":42,"tag":76,"props":3273,"children":3274},{"style":166},[3275],{"type":48,"value":190},{"type":42,"tag":76,"props":3277,"children":3278},{"style":99},[3279],{"type":48,"value":3280},"{\"title\": \"Bug report\", \"body\": \"Details here\", \"labels\": [\"bug\"]}",{"type":42,"tag":76,"props":3282,"children":3283},{"style":166},[3284],{"type":48,"value":200},{"type":42,"tag":76,"props":3286,"children":3287},{"class":78,"line":535},[3288],{"type":42,"tag":76,"props":3289,"children":3290},{"emptyLinePlaceholder":119},[3291],{"type":48,"value":122},{"type":42,"tag":76,"props":3293,"children":3294},{"class":78,"line":544},[3295],{"type":42,"tag":76,"props":3296,"children":3297},{"style":83},[3298],{"type":48,"value":3299},"# Get \u002F update \u002F lock \u002F unlock \u002F timeline \u002F events \u002F assignees\n",{"type":42,"tag":389,"props":3301,"children":3303},{"id":3302},"pull-requests",[3304],{"type":48,"value":3305},"Pull Requests",{"type":42,"tag":64,"props":3307,"children":3309},{"className":66,"code":3308,"language":68,"meta":69,"style":69},"# List PRs\ncurl \"http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fpulls?state=open\"\n\n# Create PR\ncurl -X POST http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fpulls \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"title\": \"Feature\", \"head\": \"feature-branch\", \"base\": \"main\"}'\n\n# Merge PR (enforces branch protection)\ncurl -X PUT http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fpulls\u002F1\u002Fmerge \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"merge_method\": \"squash\"}'\n\n# Commits, files, requested reviewers, update branch\n",[3310],{"type":42,"tag":72,"props":3311,"children":3312},{"__ignoreMap":69},[3313,3321,3341,3348,3356,3380,3407,3430,3450,3457,3465,3490,3517,3540,3560,3567],{"type":42,"tag":76,"props":3314,"children":3315},{"class":78,"line":79},[3316],{"type":42,"tag":76,"props":3317,"children":3318},{"style":83},[3319],{"type":48,"value":3320},"# List PRs\n",{"type":42,"tag":76,"props":3322,"children":3323},{"class":78,"line":89},[3324,3328,3332,3337],{"type":42,"tag":76,"props":3325,"children":3326},{"style":93},[3327],{"type":48,"value":349},{"type":42,"tag":76,"props":3329,"children":3330},{"style":166},[3331],{"type":48,"value":372},{"type":42,"tag":76,"props":3333,"children":3334},{"style":99},[3335],{"type":48,"value":3336},"http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fpulls?state=open",{"type":42,"tag":76,"props":3338,"children":3339},{"style":166},[3340],{"type":48,"value":382},{"type":42,"tag":76,"props":3342,"children":3343},{"class":78,"line":115},[3344],{"type":42,"tag":76,"props":3345,"children":3346},{"emptyLinePlaceholder":119},[3347],{"type":48,"value":122},{"type":42,"tag":76,"props":3349,"children":3350},{"class":78,"line":125},[3351],{"type":42,"tag":76,"props":3352,"children":3353},{"style":83},[3354],{"type":48,"value":3355},"# Create PR\n",{"type":42,"tag":76,"props":3357,"children":3358},{"class":78,"line":134},[3359,3363,3367,3371,3376],{"type":42,"tag":76,"props":3360,"children":3361},{"style":93},[3362],{"type":48,"value":349},{"type":42,"tag":76,"props":3364,"children":3365},{"style":99},[3366],{"type":48,"value":2420},{"type":42,"tag":76,"props":3368,"children":3369},{"style":99},[3370],{"type":48,"value":2760},{"type":42,"tag":76,"props":3372,"children":3373},{"style":99},[3374],{"type":48,"value":3375}," http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fpulls",{"type":42,"tag":76,"props":3377,"children":3378},{"style":172},[3379],{"type":48,"value":359},{"type":42,"tag":76,"props":3381,"children":3382},{"class":78,"line":499},[3383,3387,3391,3395,3399,3403],{"type":42,"tag":76,"props":3384,"children":3385},{"style":99},[3386],{"type":48,"value":367},{"type":42,"tag":76,"props":3388,"children":3389},{"style":166},[3390],{"type":48,"value":372},{"type":42,"tag":76,"props":3392,"children":3393},{"style":99},[3394],{"type":48,"value":2325},{"type":42,"tag":76,"props":3396,"children":3397},{"style":172},[3398],{"type":48,"value":2330},{"type":42,"tag":76,"props":3400,"children":3401},{"style":166},[3402],{"type":48,"value":2305},{"type":42,"tag":76,"props":3404,"children":3405},{"style":172},[3406],{"type":48,"value":359},{"type":42,"tag":76,"props":3408,"children":3409},{"class":78,"line":517},[3410,3414,3418,3422,3426],{"type":42,"tag":76,"props":3411,"children":3412},{"style":99},[3413],{"type":48,"value":367},{"type":42,"tag":76,"props":3415,"children":3416},{"style":166},[3417],{"type":48,"value":372},{"type":42,"tag":76,"props":3419,"children":3420},{"style":99},[3421],{"type":48,"value":2476},{"type":42,"tag":76,"props":3423,"children":3424},{"style":166},[3425],{"type":48,"value":2305},{"type":42,"tag":76,"props":3427,"children":3428},{"style":172},[3429],{"type":48,"value":359},{"type":42,"tag":76,"props":3431,"children":3432},{"class":78,"line":526},[3433,3437,3441,3446],{"type":42,"tag":76,"props":3434,"children":3435},{"style":99},[3436],{"type":48,"value":2492},{"type":42,"tag":76,"props":3438,"children":3439},{"style":166},[3440],{"type":48,"value":190},{"type":42,"tag":76,"props":3442,"children":3443},{"style":99},[3444],{"type":48,"value":3445},"{\"title\": \"Feature\", \"head\": \"feature-branch\", \"base\": \"main\"}",{"type":42,"tag":76,"props":3447,"children":3448},{"style":166},[3449],{"type":48,"value":200},{"type":42,"tag":76,"props":3451,"children":3452},{"class":78,"line":535},[3453],{"type":42,"tag":76,"props":3454,"children":3455},{"emptyLinePlaceholder":119},[3456],{"type":48,"value":122},{"type":42,"tag":76,"props":3458,"children":3459},{"class":78,"line":544},[3460],{"type":42,"tag":76,"props":3461,"children":3462},{"style":83},[3463],{"type":48,"value":3464},"# Merge PR (enforces branch protection)\n",{"type":42,"tag":76,"props":3466,"children":3467},{"class":78,"line":557},[3468,3472,3476,3481,3486],{"type":42,"tag":76,"props":3469,"children":3470},{"style":93},[3471],{"type":48,"value":349},{"type":42,"tag":76,"props":3473,"children":3474},{"style":99},[3475],{"type":48,"value":2420},{"type":42,"tag":76,"props":3477,"children":3478},{"style":99},[3479],{"type":48,"value":3480}," PUT",{"type":42,"tag":76,"props":3482,"children":3483},{"style":99},[3484],{"type":48,"value":3485}," http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fpulls\u002F1\u002Fmerge",{"type":42,"tag":76,"props":3487,"children":3488},{"style":172},[3489],{"type":48,"value":359},{"type":42,"tag":76,"props":3491,"children":3492},{"class":78,"line":575},[3493,3497,3501,3505,3509,3513],{"type":42,"tag":76,"props":3494,"children":3495},{"style":99},[3496],{"type":48,"value":367},{"type":42,"tag":76,"props":3498,"children":3499},{"style":166},[3500],{"type":48,"value":372},{"type":42,"tag":76,"props":3502,"children":3503},{"style":99},[3504],{"type":48,"value":2325},{"type":42,"tag":76,"props":3506,"children":3507},{"style":172},[3508],{"type":48,"value":2330},{"type":42,"tag":76,"props":3510,"children":3511},{"style":166},[3512],{"type":48,"value":2305},{"type":42,"tag":76,"props":3514,"children":3515},{"style":172},[3516],{"type":48,"value":359},{"type":42,"tag":76,"props":3518,"children":3519},{"class":78,"line":593},[3520,3524,3528,3532,3536],{"type":42,"tag":76,"props":3521,"children":3522},{"style":99},[3523],{"type":48,"value":367},{"type":42,"tag":76,"props":3525,"children":3526},{"style":166},[3527],{"type":48,"value":372},{"type":42,"tag":76,"props":3529,"children":3530},{"style":99},[3531],{"type":48,"value":2476},{"type":42,"tag":76,"props":3533,"children":3534},{"style":166},[3535],{"type":48,"value":2305},{"type":42,"tag":76,"props":3537,"children":3538},{"style":172},[3539],{"type":48,"value":359},{"type":42,"tag":76,"props":3541,"children":3542},{"class":78,"line":630},[3543,3547,3551,3556],{"type":42,"tag":76,"props":3544,"children":3545},{"style":99},[3546],{"type":48,"value":2492},{"type":42,"tag":76,"props":3548,"children":3549},{"style":166},[3550],{"type":48,"value":190},{"type":42,"tag":76,"props":3552,"children":3553},{"style":99},[3554],{"type":48,"value":3555},"{\"merge_method\": \"squash\"}",{"type":42,"tag":76,"props":3557,"children":3558},{"style":166},[3559],{"type":48,"value":200},{"type":42,"tag":76,"props":3561,"children":3562},{"class":78,"line":648},[3563],{"type":42,"tag":76,"props":3564,"children":3565},{"emptyLinePlaceholder":119},[3566],{"type":48,"value":122},{"type":42,"tag":76,"props":3568,"children":3569},{"class":78,"line":666},[3570],{"type":42,"tag":76,"props":3571,"children":3572},{"style":83},[3573],{"type":48,"value":3574},"# Commits, files, requested reviewers, update branch\n",{"type":42,"tag":389,"props":3576,"children":3578},{"id":3577},"comments",[3579],{"type":48,"value":3580},"Comments",{"type":42,"tag":64,"props":3582,"children":3584},{"className":66,"code":3583,"language":68,"meta":69,"style":69},"# Issue comments: full CRUD\ncurl http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fissues\u002F1\u002Fcomments\ncurl -X POST http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fissues\u002F1\u002Fcomments \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"body\": \"Looks good!\"}'\n\n# Comment by ID (cross-resource)\ncurl http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fissues\u002Fcomments\u002F1\n\n# PR review comments\ncurl http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fpulls\u002F1\u002Fcomments\n\n# Commit comments\ncurl http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fcommits\u002Fabc123\u002Fcomments\n\n# Repo-wide comment listings\ncurl http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fissues\u002Fcomments\ncurl http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fpulls\u002Fcomments\ncurl http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fcomments\n",[3585],{"type":42,"tag":72,"props":3586,"children":3587},{"__ignoreMap":69},[3588,3596,3608,3632,3659,3682,3702,3709,3717,3729,3736,3744,3756,3763,3771,3783,3790,3798,3810,3822],{"type":42,"tag":76,"props":3589,"children":3590},{"class":78,"line":79},[3591],{"type":42,"tag":76,"props":3592,"children":3593},{"style":83},[3594],{"type":48,"value":3595},"# Issue comments: full CRUD\n",{"type":42,"tag":76,"props":3597,"children":3598},{"class":78,"line":89},[3599,3603],{"type":42,"tag":76,"props":3600,"children":3601},{"style":93},[3602],{"type":48,"value":349},{"type":42,"tag":76,"props":3604,"children":3605},{"style":99},[3606],{"type":48,"value":3607}," http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fissues\u002F1\u002Fcomments\n",{"type":42,"tag":76,"props":3609,"children":3610},{"class":78,"line":115},[3611,3615,3619,3623,3628],{"type":42,"tag":76,"props":3612,"children":3613},{"style":93},[3614],{"type":48,"value":349},{"type":42,"tag":76,"props":3616,"children":3617},{"style":99},[3618],{"type":48,"value":2420},{"type":42,"tag":76,"props":3620,"children":3621},{"style":99},[3622],{"type":48,"value":2760},{"type":42,"tag":76,"props":3624,"children":3625},{"style":99},[3626],{"type":48,"value":3627}," http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fissues\u002F1\u002Fcomments",{"type":42,"tag":76,"props":3629,"children":3630},{"style":172},[3631],{"type":48,"value":359},{"type":42,"tag":76,"props":3633,"children":3634},{"class":78,"line":125},[3635,3639,3643,3647,3651,3655],{"type":42,"tag":76,"props":3636,"children":3637},{"style":99},[3638],{"type":48,"value":367},{"type":42,"tag":76,"props":3640,"children":3641},{"style":166},[3642],{"type":48,"value":372},{"type":42,"tag":76,"props":3644,"children":3645},{"style":99},[3646],{"type":48,"value":2325},{"type":42,"tag":76,"props":3648,"children":3649},{"style":172},[3650],{"type":48,"value":2330},{"type":42,"tag":76,"props":3652,"children":3653},{"style":166},[3654],{"type":48,"value":2305},{"type":42,"tag":76,"props":3656,"children":3657},{"style":172},[3658],{"type":48,"value":359},{"type":42,"tag":76,"props":3660,"children":3661},{"class":78,"line":134},[3662,3666,3670,3674,3678],{"type":42,"tag":76,"props":3663,"children":3664},{"style":99},[3665],{"type":48,"value":367},{"type":42,"tag":76,"props":3667,"children":3668},{"style":166},[3669],{"type":48,"value":372},{"type":42,"tag":76,"props":3671,"children":3672},{"style":99},[3673],{"type":48,"value":2476},{"type":42,"tag":76,"props":3675,"children":3676},{"style":166},[3677],{"type":48,"value":2305},{"type":42,"tag":76,"props":3679,"children":3680},{"style":172},[3681],{"type":48,"value":359},{"type":42,"tag":76,"props":3683,"children":3684},{"class":78,"line":499},[3685,3689,3693,3698],{"type":42,"tag":76,"props":3686,"children":3687},{"style":99},[3688],{"type":48,"value":2492},{"type":42,"tag":76,"props":3690,"children":3691},{"style":166},[3692],{"type":48,"value":190},{"type":42,"tag":76,"props":3694,"children":3695},{"style":99},[3696],{"type":48,"value":3697},"{\"body\": \"Looks good!\"}",{"type":42,"tag":76,"props":3699,"children":3700},{"style":166},[3701],{"type":48,"value":200},{"type":42,"tag":76,"props":3703,"children":3704},{"class":78,"line":517},[3705],{"type":42,"tag":76,"props":3706,"children":3707},{"emptyLinePlaceholder":119},[3708],{"type":48,"value":122},{"type":42,"tag":76,"props":3710,"children":3711},{"class":78,"line":526},[3712],{"type":42,"tag":76,"props":3713,"children":3714},{"style":83},[3715],{"type":48,"value":3716},"# Comment by ID (cross-resource)\n",{"type":42,"tag":76,"props":3718,"children":3719},{"class":78,"line":535},[3720,3724],{"type":42,"tag":76,"props":3721,"children":3722},{"style":93},[3723],{"type":48,"value":349},{"type":42,"tag":76,"props":3725,"children":3726},{"style":99},[3727],{"type":48,"value":3728}," http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fissues\u002Fcomments\u002F1\n",{"type":42,"tag":76,"props":3730,"children":3731},{"class":78,"line":544},[3732],{"type":42,"tag":76,"props":3733,"children":3734},{"emptyLinePlaceholder":119},[3735],{"type":48,"value":122},{"type":42,"tag":76,"props":3737,"children":3738},{"class":78,"line":557},[3739],{"type":42,"tag":76,"props":3740,"children":3741},{"style":83},[3742],{"type":48,"value":3743},"# PR review comments\n",{"type":42,"tag":76,"props":3745,"children":3746},{"class":78,"line":575},[3747,3751],{"type":42,"tag":76,"props":3748,"children":3749},{"style":93},[3750],{"type":48,"value":349},{"type":42,"tag":76,"props":3752,"children":3753},{"style":99},[3754],{"type":48,"value":3755}," http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fpulls\u002F1\u002Fcomments\n",{"type":42,"tag":76,"props":3757,"children":3758},{"class":78,"line":593},[3759],{"type":42,"tag":76,"props":3760,"children":3761},{"emptyLinePlaceholder":119},[3762],{"type":48,"value":122},{"type":42,"tag":76,"props":3764,"children":3765},{"class":78,"line":630},[3766],{"type":42,"tag":76,"props":3767,"children":3768},{"style":83},[3769],{"type":48,"value":3770},"# Commit comments\n",{"type":42,"tag":76,"props":3772,"children":3773},{"class":78,"line":648},[3774,3778],{"type":42,"tag":76,"props":3775,"children":3776},{"style":93},[3777],{"type":48,"value":349},{"type":42,"tag":76,"props":3779,"children":3780},{"style":99},[3781],{"type":48,"value":3782}," http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fcommits\u002Fabc123\u002Fcomments\n",{"type":42,"tag":76,"props":3784,"children":3785},{"class":78,"line":666},[3786],{"type":42,"tag":76,"props":3787,"children":3788},{"emptyLinePlaceholder":119},[3789],{"type":48,"value":122},{"type":42,"tag":76,"props":3791,"children":3792},{"class":78,"line":684},[3793],{"type":42,"tag":76,"props":3794,"children":3795},{"style":83},[3796],{"type":48,"value":3797},"# Repo-wide comment listings\n",{"type":42,"tag":76,"props":3799,"children":3800},{"class":78,"line":697},[3801,3805],{"type":42,"tag":76,"props":3802,"children":3803},{"style":93},[3804],{"type":48,"value":349},{"type":42,"tag":76,"props":3806,"children":3807},{"style":99},[3808],{"type":48,"value":3809}," http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fissues\u002Fcomments\n",{"type":42,"tag":76,"props":3811,"children":3812},{"class":78,"line":720},[3813,3817],{"type":42,"tag":76,"props":3814,"children":3815},{"style":93},[3816],{"type":48,"value":349},{"type":42,"tag":76,"props":3818,"children":3819},{"style":99},[3820],{"type":48,"value":3821}," http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fpulls\u002Fcomments\n",{"type":42,"tag":76,"props":3823,"children":3824},{"class":78,"line":738},[3825,3829],{"type":42,"tag":76,"props":3826,"children":3827},{"style":93},[3828],{"type":48,"value":349},{"type":42,"tag":76,"props":3830,"children":3831},{"style":99},[3832],{"type":48,"value":3833}," http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fcomments\n",{"type":42,"tag":389,"props":3835,"children":3837},{"id":3836},"reviews",[3838],{"type":48,"value":3839},"Reviews",{"type":42,"tag":64,"props":3841,"children":3843},{"className":66,"code":3842,"language":68,"meta":69,"style":69},"# List \u002F create \u002F get \u002F update \u002F submit \u002F dismiss reviews\ncurl http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fpulls\u002F1\u002Freviews\ncurl -X POST http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fpulls\u002F1\u002Freviews \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"event\": \"APPROVE\", \"body\": \"LGTM\"}'\n",[3844],{"type":42,"tag":72,"props":3845,"children":3846},{"__ignoreMap":69},[3847,3855,3867,3891,3918,3941],{"type":42,"tag":76,"props":3848,"children":3849},{"class":78,"line":79},[3850],{"type":42,"tag":76,"props":3851,"children":3852},{"style":83},[3853],{"type":48,"value":3854},"# List \u002F create \u002F get \u002F update \u002F submit \u002F dismiss reviews\n",{"type":42,"tag":76,"props":3856,"children":3857},{"class":78,"line":89},[3858,3862],{"type":42,"tag":76,"props":3859,"children":3860},{"style":93},[3861],{"type":48,"value":349},{"type":42,"tag":76,"props":3863,"children":3864},{"style":99},[3865],{"type":48,"value":3866}," http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fpulls\u002F1\u002Freviews\n",{"type":42,"tag":76,"props":3868,"children":3869},{"class":78,"line":115},[3870,3874,3878,3882,3887],{"type":42,"tag":76,"props":3871,"children":3872},{"style":93},[3873],{"type":48,"value":349},{"type":42,"tag":76,"props":3875,"children":3876},{"style":99},[3877],{"type":48,"value":2420},{"type":42,"tag":76,"props":3879,"children":3880},{"style":99},[3881],{"type":48,"value":2760},{"type":42,"tag":76,"props":3883,"children":3884},{"style":99},[3885],{"type":48,"value":3886}," http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fpulls\u002F1\u002Freviews",{"type":42,"tag":76,"props":3888,"children":3889},{"style":172},[3890],{"type":48,"value":359},{"type":42,"tag":76,"props":3892,"children":3893},{"class":78,"line":125},[3894,3898,3902,3906,3910,3914],{"type":42,"tag":76,"props":3895,"children":3896},{"style":99},[3897],{"type":48,"value":367},{"type":42,"tag":76,"props":3899,"children":3900},{"style":166},[3901],{"type":48,"value":372},{"type":42,"tag":76,"props":3903,"children":3904},{"style":99},[3905],{"type":48,"value":2325},{"type":42,"tag":76,"props":3907,"children":3908},{"style":172},[3909],{"type":48,"value":2330},{"type":42,"tag":76,"props":3911,"children":3912},{"style":166},[3913],{"type":48,"value":2305},{"type":42,"tag":76,"props":3915,"children":3916},{"style":172},[3917],{"type":48,"value":359},{"type":42,"tag":76,"props":3919,"children":3920},{"class":78,"line":134},[3921,3925,3929,3933,3937],{"type":42,"tag":76,"props":3922,"children":3923},{"style":99},[3924],{"type":48,"value":367},{"type":42,"tag":76,"props":3926,"children":3927},{"style":166},[3928],{"type":48,"value":372},{"type":42,"tag":76,"props":3930,"children":3931},{"style":99},[3932],{"type":48,"value":2476},{"type":42,"tag":76,"props":3934,"children":3935},{"style":166},[3936],{"type":48,"value":2305},{"type":42,"tag":76,"props":3938,"children":3939},{"style":172},[3940],{"type":48,"value":359},{"type":42,"tag":76,"props":3942,"children":3943},{"class":78,"line":499},[3944,3948,3952,3957],{"type":42,"tag":76,"props":3945,"children":3946},{"style":99},[3947],{"type":48,"value":2492},{"type":42,"tag":76,"props":3949,"children":3950},{"style":166},[3951],{"type":48,"value":190},{"type":42,"tag":76,"props":3953,"children":3954},{"style":99},[3955],{"type":48,"value":3956},"{\"event\": \"APPROVE\", \"body\": \"LGTM\"}",{"type":42,"tag":76,"props":3958,"children":3959},{"style":166},[3960],{"type":48,"value":200},{"type":42,"tag":389,"props":3962,"children":3964},{"id":3963},"labels-milestones",[3965],{"type":48,"value":3966},"Labels & Milestones",{"type":42,"tag":51,"props":3968,"children":3969},{},[3970],{"type":48,"value":3971},"Full CRUD for labels and milestones. Add\u002Fremove labels from issues, replace all labels. List labels for a milestone.",{"type":42,"tag":389,"props":3973,"children":3975},{"id":3974},"branches-git-data",[3976],{"type":48,"value":3977},"Branches & Git Data",{"type":42,"tag":64,"props":3979,"children":3981},{"className":66,"code":3980,"language":68,"meta":69,"style":69},"# List branches\ncurl http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fbranches\n\n# Branch protection CRUD (status checks, PR reviews, enforce admins)\ncurl -X PUT http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fbranches\u002Fmain\u002Fprotection \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"required_status_checks\": {\"strict\": true, \"contexts\": [\"ci\"]}}'\n\n# Refs, commits, trees (recursive), blobs, tags, matching-refs\n",[3982],{"type":42,"tag":72,"props":3983,"children":3984},{"__ignoreMap":69},[3985,3993,4005,4012,4020,4044,4071,4094,4114,4121],{"type":42,"tag":76,"props":3986,"children":3987},{"class":78,"line":79},[3988],{"type":42,"tag":76,"props":3989,"children":3990},{"style":83},[3991],{"type":48,"value":3992},"# List branches\n",{"type":42,"tag":76,"props":3994,"children":3995},{"class":78,"line":89},[3996,4000],{"type":42,"tag":76,"props":3997,"children":3998},{"style":93},[3999],{"type":48,"value":349},{"type":42,"tag":76,"props":4001,"children":4002},{"style":99},[4003],{"type":48,"value":4004}," http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fbranches\n",{"type":42,"tag":76,"props":4006,"children":4007},{"class":78,"line":115},[4008],{"type":42,"tag":76,"props":4009,"children":4010},{"emptyLinePlaceholder":119},[4011],{"type":48,"value":122},{"type":42,"tag":76,"props":4013,"children":4014},{"class":78,"line":125},[4015],{"type":42,"tag":76,"props":4016,"children":4017},{"style":83},[4018],{"type":48,"value":4019},"# Branch protection CRUD (status checks, PR reviews, enforce admins)\n",{"type":42,"tag":76,"props":4021,"children":4022},{"class":78,"line":134},[4023,4027,4031,4035,4040],{"type":42,"tag":76,"props":4024,"children":4025},{"style":93},[4026],{"type":48,"value":349},{"type":42,"tag":76,"props":4028,"children":4029},{"style":99},[4030],{"type":48,"value":2420},{"type":42,"tag":76,"props":4032,"children":4033},{"style":99},[4034],{"type":48,"value":3480},{"type":42,"tag":76,"props":4036,"children":4037},{"style":99},[4038],{"type":48,"value":4039}," http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fbranches\u002Fmain\u002Fprotection",{"type":42,"tag":76,"props":4041,"children":4042},{"style":172},[4043],{"type":48,"value":359},{"type":42,"tag":76,"props":4045,"children":4046},{"class":78,"line":499},[4047,4051,4055,4059,4063,4067],{"type":42,"tag":76,"props":4048,"children":4049},{"style":99},[4050],{"type":48,"value":367},{"type":42,"tag":76,"props":4052,"children":4053},{"style":166},[4054],{"type":48,"value":372},{"type":42,"tag":76,"props":4056,"children":4057},{"style":99},[4058],{"type":48,"value":2325},{"type":42,"tag":76,"props":4060,"children":4061},{"style":172},[4062],{"type":48,"value":2330},{"type":42,"tag":76,"props":4064,"children":4065},{"style":166},[4066],{"type":48,"value":2305},{"type":42,"tag":76,"props":4068,"children":4069},{"style":172},[4070],{"type":48,"value":359},{"type":42,"tag":76,"props":4072,"children":4073},{"class":78,"line":517},[4074,4078,4082,4086,4090],{"type":42,"tag":76,"props":4075,"children":4076},{"style":99},[4077],{"type":48,"value":367},{"type":42,"tag":76,"props":4079,"children":4080},{"style":166},[4081],{"type":48,"value":372},{"type":42,"tag":76,"props":4083,"children":4084},{"style":99},[4085],{"type":48,"value":2476},{"type":42,"tag":76,"props":4087,"children":4088},{"style":166},[4089],{"type":48,"value":2305},{"type":42,"tag":76,"props":4091,"children":4092},{"style":172},[4093],{"type":48,"value":359},{"type":42,"tag":76,"props":4095,"children":4096},{"class":78,"line":526},[4097,4101,4105,4110],{"type":42,"tag":76,"props":4098,"children":4099},{"style":99},[4100],{"type":48,"value":2492},{"type":42,"tag":76,"props":4102,"children":4103},{"style":166},[4104],{"type":48,"value":190},{"type":42,"tag":76,"props":4106,"children":4107},{"style":99},[4108],{"type":48,"value":4109},"{\"required_status_checks\": {\"strict\": true, \"contexts\": [\"ci\"]}}",{"type":42,"tag":76,"props":4111,"children":4112},{"style":166},[4113],{"type":48,"value":200},{"type":42,"tag":76,"props":4115,"children":4116},{"class":78,"line":535},[4117],{"type":42,"tag":76,"props":4118,"children":4119},{"emptyLinePlaceholder":119},[4120],{"type":48,"value":122},{"type":42,"tag":76,"props":4122,"children":4123},{"class":78,"line":544},[4124],{"type":42,"tag":76,"props":4125,"children":4126},{"style":83},[4127],{"type":48,"value":4128},"# Refs, commits, trees (recursive), blobs, tags, matching-refs\n",{"type":42,"tag":389,"props":4130,"children":4132},{"id":4131},"organizations-teams",[4133],{"type":48,"value":4134},"Organizations & Teams",{"type":42,"tag":64,"props":4136,"children":4138},{"className":66,"code":4137,"language":68,"meta":69,"style":69},"# List all orgs \u002F user's orgs \u002F get org \u002F update org\ncurl http:\u002F\u002Flocalhost:4001\u002Forganizations\ncurl http:\u002F\u002Flocalhost:4001\u002Fuser\u002Forgs -H \"Authorization: Bearer $TOKEN\"\ncurl http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\ncurl -X PATCH http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"description\": \"Updated org\"}'\n\n# Org members: list, get, remove\ncurl http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Fmembers\ncurl http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Fmembers\u002Foctocat\ncurl -X DELETE http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Fmembers\u002Foctocat \\\n  -H \"Authorization: Bearer $TOKEN\"\n\n# Org memberships: get, set (invite\u002Fupdate role)\ncurl http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Fmemberships\u002Foctocat -H \"Authorization: Bearer $TOKEN\"\ncurl -X PUT http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Fmemberships\u002Foctocat \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"role\": \"admin\"}'\n\n# Teams: CRUD\ncurl http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Fteams\ncurl -X POST http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Fteams \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"name\": \"engineering\", \"privacy\": \"closed\"}'\n\n# Team members and memberships\ncurl http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Fteams\u002Fengineering\u002Fmembers\ncurl -X PUT http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Fteams\u002Fengineering\u002Fmemberships\u002Foctocat \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"role\": \"maintainer\"}'\n\n# Team repos: list, add, remove\ncurl http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Fteams\u002Fengineering\u002Frepos\ncurl -X PUT http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Fteams\u002Fengineering\u002Frepos\u002Fmy-org\u002Forg-repo \\\n  -H \"Authorization: Bearer $TOKEN\"\n\n# Legacy team endpoints by ID\ncurl http:\u002F\u002Flocalhost:4001\u002Fteams\u002F1\ncurl http:\u002F\u002Flocalhost:4001\u002Fteams\u002F1\u002Fmembers\n",[4139],{"type":42,"tag":72,"props":4140,"children":4141},{"__ignoreMap":69},[4142,4150,4162,4194,4206,4230,4257,4280,4300,4307,4315,4327,4339,4363,4386,4393,4401,4433,4456,4483,4506,4526,4533,4541,4553,4577,4604,4627,4647,4654,4662,4674,4698,4725,4748,4768,4775,4783,4795,4819,4843,4851,4860,4873],{"type":42,"tag":76,"props":4143,"children":4144},{"class":78,"line":79},[4145],{"type":42,"tag":76,"props":4146,"children":4147},{"style":83},[4148],{"type":48,"value":4149},"# List all orgs \u002F user's orgs \u002F get org \u002F update org\n",{"type":42,"tag":76,"props":4151,"children":4152},{"class":78,"line":89},[4153,4157],{"type":42,"tag":76,"props":4154,"children":4155},{"style":93},[4156],{"type":48,"value":349},{"type":42,"tag":76,"props":4158,"children":4159},{"style":99},[4160],{"type":48,"value":4161}," http:\u002F\u002Flocalhost:4001\u002Forganizations\n",{"type":42,"tag":76,"props":4163,"children":4164},{"class":78,"line":115},[4165,4169,4174,4178,4182,4186,4190],{"type":42,"tag":76,"props":4166,"children":4167},{"style":93},[4168],{"type":48,"value":349},{"type":42,"tag":76,"props":4170,"children":4171},{"style":99},[4172],{"type":48,"value":4173}," http:\u002F\u002Flocalhost:4001\u002Fuser\u002Forgs",{"type":42,"tag":76,"props":4175,"children":4176},{"style":99},[4177],{"type":48,"value":2377},{"type":42,"tag":76,"props":4179,"children":4180},{"style":166},[4181],{"type":48,"value":372},{"type":42,"tag":76,"props":4183,"children":4184},{"style":99},[4185],{"type":48,"value":2325},{"type":42,"tag":76,"props":4187,"children":4188},{"style":172},[4189],{"type":48,"value":2330},{"type":42,"tag":76,"props":4191,"children":4192},{"style":166},[4193],{"type":48,"value":382},{"type":42,"tag":76,"props":4195,"children":4196},{"class":78,"line":125},[4197,4201],{"type":42,"tag":76,"props":4198,"children":4199},{"style":93},[4200],{"type":48,"value":349},{"type":42,"tag":76,"props":4202,"children":4203},{"style":99},[4204],{"type":48,"value":4205}," http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\n",{"type":42,"tag":76,"props":4207,"children":4208},{"class":78,"line":134},[4209,4213,4217,4221,4226],{"type":42,"tag":76,"props":4210,"children":4211},{"style":93},[4212],{"type":48,"value":349},{"type":42,"tag":76,"props":4214,"children":4215},{"style":99},[4216],{"type":48,"value":2420},{"type":42,"tag":76,"props":4218,"children":4219},{"style":99},[4220],{"type":48,"value":2425},{"type":42,"tag":76,"props":4222,"children":4223},{"style":99},[4224],{"type":48,"value":4225}," http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org",{"type":42,"tag":76,"props":4227,"children":4228},{"style":172},[4229],{"type":48,"value":359},{"type":42,"tag":76,"props":4231,"children":4232},{"class":78,"line":499},[4233,4237,4241,4245,4249,4253],{"type":42,"tag":76,"props":4234,"children":4235},{"style":99},[4236],{"type":48,"value":367},{"type":42,"tag":76,"props":4238,"children":4239},{"style":166},[4240],{"type":48,"value":372},{"type":42,"tag":76,"props":4242,"children":4243},{"style":99},[4244],{"type":48,"value":2325},{"type":42,"tag":76,"props":4246,"children":4247},{"style":172},[4248],{"type":48,"value":2330},{"type":42,"tag":76,"props":4250,"children":4251},{"style":166},[4252],{"type":48,"value":2305},{"type":42,"tag":76,"props":4254,"children":4255},{"style":172},[4256],{"type":48,"value":359},{"type":42,"tag":76,"props":4258,"children":4259},{"class":78,"line":517},[4260,4264,4268,4272,4276],{"type":42,"tag":76,"props":4261,"children":4262},{"style":99},[4263],{"type":48,"value":367},{"type":42,"tag":76,"props":4265,"children":4266},{"style":166},[4267],{"type":48,"value":372},{"type":42,"tag":76,"props":4269,"children":4270},{"style":99},[4271],{"type":48,"value":2476},{"type":42,"tag":76,"props":4273,"children":4274},{"style":166},[4275],{"type":48,"value":2305},{"type":42,"tag":76,"props":4277,"children":4278},{"style":172},[4279],{"type":48,"value":359},{"type":42,"tag":76,"props":4281,"children":4282},{"class":78,"line":526},[4283,4287,4291,4296],{"type":42,"tag":76,"props":4284,"children":4285},{"style":99},[4286],{"type":48,"value":2492},{"type":42,"tag":76,"props":4288,"children":4289},{"style":166},[4290],{"type":48,"value":190},{"type":42,"tag":76,"props":4292,"children":4293},{"style":99},[4294],{"type":48,"value":4295},"{\"description\": \"Updated org\"}",{"type":42,"tag":76,"props":4297,"children":4298},{"style":166},[4299],{"type":48,"value":200},{"type":42,"tag":76,"props":4301,"children":4302},{"class":78,"line":535},[4303],{"type":42,"tag":76,"props":4304,"children":4305},{"emptyLinePlaceholder":119},[4306],{"type":48,"value":122},{"type":42,"tag":76,"props":4308,"children":4309},{"class":78,"line":544},[4310],{"type":42,"tag":76,"props":4311,"children":4312},{"style":83},[4313],{"type":48,"value":4314},"# Org members: list, get, remove\n",{"type":42,"tag":76,"props":4316,"children":4317},{"class":78,"line":557},[4318,4322],{"type":42,"tag":76,"props":4319,"children":4320},{"style":93},[4321],{"type":48,"value":349},{"type":42,"tag":76,"props":4323,"children":4324},{"style":99},[4325],{"type":48,"value":4326}," http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Fmembers\n",{"type":42,"tag":76,"props":4328,"children":4329},{"class":78,"line":575},[4330,4334],{"type":42,"tag":76,"props":4331,"children":4332},{"style":93},[4333],{"type":48,"value":349},{"type":42,"tag":76,"props":4335,"children":4336},{"style":99},[4337],{"type":48,"value":4338}," http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Fmembers\u002Foctocat\n",{"type":42,"tag":76,"props":4340,"children":4341},{"class":78,"line":593},[4342,4346,4350,4354,4359],{"type":42,"tag":76,"props":4343,"children":4344},{"style":93},[4345],{"type":48,"value":349},{"type":42,"tag":76,"props":4347,"children":4348},{"style":99},[4349],{"type":48,"value":2420},{"type":42,"tag":76,"props":4351,"children":4352},{"style":99},[4353],{"type":48,"value":3088},{"type":42,"tag":76,"props":4355,"children":4356},{"style":99},[4357],{"type":48,"value":4358}," http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Fmembers\u002Foctocat",{"type":42,"tag":76,"props":4360,"children":4361},{"style":172},[4362],{"type":48,"value":359},{"type":42,"tag":76,"props":4364,"children":4365},{"class":78,"line":630},[4366,4370,4374,4378,4382],{"type":42,"tag":76,"props":4367,"children":4368},{"style":99},[4369],{"type":48,"value":367},{"type":42,"tag":76,"props":4371,"children":4372},{"style":166},[4373],{"type":48,"value":372},{"type":42,"tag":76,"props":4375,"children":4376},{"style":99},[4377],{"type":48,"value":2325},{"type":42,"tag":76,"props":4379,"children":4380},{"style":172},[4381],{"type":48,"value":2330},{"type":42,"tag":76,"props":4383,"children":4384},{"style":166},[4385],{"type":48,"value":382},{"type":42,"tag":76,"props":4387,"children":4388},{"class":78,"line":648},[4389],{"type":42,"tag":76,"props":4390,"children":4391},{"emptyLinePlaceholder":119},[4392],{"type":48,"value":122},{"type":42,"tag":76,"props":4394,"children":4395},{"class":78,"line":666},[4396],{"type":42,"tag":76,"props":4397,"children":4398},{"style":83},[4399],{"type":48,"value":4400},"# Org memberships: get, set (invite\u002Fupdate role)\n",{"type":42,"tag":76,"props":4402,"children":4403},{"class":78,"line":684},[4404,4408,4413,4417,4421,4425,4429],{"type":42,"tag":76,"props":4405,"children":4406},{"style":93},[4407],{"type":48,"value":349},{"type":42,"tag":76,"props":4409,"children":4410},{"style":99},[4411],{"type":48,"value":4412}," http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Fmemberships\u002Foctocat",{"type":42,"tag":76,"props":4414,"children":4415},{"style":99},[4416],{"type":48,"value":2377},{"type":42,"tag":76,"props":4418,"children":4419},{"style":166},[4420],{"type":48,"value":372},{"type":42,"tag":76,"props":4422,"children":4423},{"style":99},[4424],{"type":48,"value":2325},{"type":42,"tag":76,"props":4426,"children":4427},{"style":172},[4428],{"type":48,"value":2330},{"type":42,"tag":76,"props":4430,"children":4431},{"style":166},[4432],{"type":48,"value":382},{"type":42,"tag":76,"props":4434,"children":4435},{"class":78,"line":697},[4436,4440,4444,4448,4452],{"type":42,"tag":76,"props":4437,"children":4438},{"style":93},[4439],{"type":48,"value":349},{"type":42,"tag":76,"props":4441,"children":4442},{"style":99},[4443],{"type":48,"value":2420},{"type":42,"tag":76,"props":4445,"children":4446},{"style":99},[4447],{"type":48,"value":3480},{"type":42,"tag":76,"props":4449,"children":4450},{"style":99},[4451],{"type":48,"value":4412},{"type":42,"tag":76,"props":4453,"children":4454},{"style":172},[4455],{"type":48,"value":359},{"type":42,"tag":76,"props":4457,"children":4458},{"class":78,"line":720},[4459,4463,4467,4471,4475,4479],{"type":42,"tag":76,"props":4460,"children":4461},{"style":99},[4462],{"type":48,"value":367},{"type":42,"tag":76,"props":4464,"children":4465},{"style":166},[4466],{"type":48,"value":372},{"type":42,"tag":76,"props":4468,"children":4469},{"style":99},[4470],{"type":48,"value":2325},{"type":42,"tag":76,"props":4472,"children":4473},{"style":172},[4474],{"type":48,"value":2330},{"type":42,"tag":76,"props":4476,"children":4477},{"style":166},[4478],{"type":48,"value":2305},{"type":42,"tag":76,"props":4480,"children":4481},{"style":172},[4482],{"type":48,"value":359},{"type":42,"tag":76,"props":4484,"children":4485},{"class":78,"line":738},[4486,4490,4494,4498,4502],{"type":42,"tag":76,"props":4487,"children":4488},{"style":99},[4489],{"type":48,"value":367},{"type":42,"tag":76,"props":4491,"children":4492},{"style":166},[4493],{"type":48,"value":372},{"type":42,"tag":76,"props":4495,"children":4496},{"style":99},[4497],{"type":48,"value":2476},{"type":42,"tag":76,"props":4499,"children":4500},{"style":166},[4501],{"type":48,"value":2305},{"type":42,"tag":76,"props":4503,"children":4504},{"style":172},[4505],{"type":48,"value":359},{"type":42,"tag":76,"props":4507,"children":4508},{"class":78,"line":756},[4509,4513,4517,4522],{"type":42,"tag":76,"props":4510,"children":4511},{"style":99},[4512],{"type":48,"value":2492},{"type":42,"tag":76,"props":4514,"children":4515},{"style":166},[4516],{"type":48,"value":190},{"type":42,"tag":76,"props":4518,"children":4519},{"style":99},[4520],{"type":48,"value":4521},"{\"role\": \"admin\"}",{"type":42,"tag":76,"props":4523,"children":4524},{"style":166},[4525],{"type":48,"value":200},{"type":42,"tag":76,"props":4527,"children":4528},{"class":78,"line":769},[4529],{"type":42,"tag":76,"props":4530,"children":4531},{"emptyLinePlaceholder":119},[4532],{"type":48,"value":122},{"type":42,"tag":76,"props":4534,"children":4535},{"class":78,"line":786},[4536],{"type":42,"tag":76,"props":4537,"children":4538},{"style":83},[4539],{"type":48,"value":4540},"# Teams: CRUD\n",{"type":42,"tag":76,"props":4542,"children":4543},{"class":78,"line":811},[4544,4548],{"type":42,"tag":76,"props":4545,"children":4546},{"style":93},[4547],{"type":48,"value":349},{"type":42,"tag":76,"props":4549,"children":4550},{"style":99},[4551],{"type":48,"value":4552}," http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Fteams\n",{"type":42,"tag":76,"props":4554,"children":4555},{"class":78,"line":1960},[4556,4560,4564,4568,4573],{"type":42,"tag":76,"props":4557,"children":4558},{"style":93},[4559],{"type":48,"value":349},{"type":42,"tag":76,"props":4561,"children":4562},{"style":99},[4563],{"type":48,"value":2420},{"type":42,"tag":76,"props":4565,"children":4566},{"style":99},[4567],{"type":48,"value":2760},{"type":42,"tag":76,"props":4569,"children":4570},{"style":99},[4571],{"type":48,"value":4572}," http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Fteams",{"type":42,"tag":76,"props":4574,"children":4575},{"style":172},[4576],{"type":48,"value":359},{"type":42,"tag":76,"props":4578,"children":4579},{"class":78,"line":1977},[4580,4584,4588,4592,4596,4600],{"type":42,"tag":76,"props":4581,"children":4582},{"style":99},[4583],{"type":48,"value":367},{"type":42,"tag":76,"props":4585,"children":4586},{"style":166},[4587],{"type":48,"value":372},{"type":42,"tag":76,"props":4589,"children":4590},{"style":99},[4591],{"type":48,"value":2325},{"type":42,"tag":76,"props":4593,"children":4594},{"style":172},[4595],{"type":48,"value":2330},{"type":42,"tag":76,"props":4597,"children":4598},{"style":166},[4599],{"type":48,"value":2305},{"type":42,"tag":76,"props":4601,"children":4602},{"style":172},[4603],{"type":48,"value":359},{"type":42,"tag":76,"props":4605,"children":4606},{"class":78,"line":1995},[4607,4611,4615,4619,4623],{"type":42,"tag":76,"props":4608,"children":4609},{"style":99},[4610],{"type":48,"value":367},{"type":42,"tag":76,"props":4612,"children":4613},{"style":166},[4614],{"type":48,"value":372},{"type":42,"tag":76,"props":4616,"children":4617},{"style":99},[4618],{"type":48,"value":2476},{"type":42,"tag":76,"props":4620,"children":4621},{"style":166},[4622],{"type":48,"value":2305},{"type":42,"tag":76,"props":4624,"children":4625},{"style":172},[4626],{"type":48,"value":359},{"type":42,"tag":76,"props":4628,"children":4629},{"class":78,"line":2030},[4630,4634,4638,4643],{"type":42,"tag":76,"props":4631,"children":4632},{"style":99},[4633],{"type":48,"value":2492},{"type":42,"tag":76,"props":4635,"children":4636},{"style":166},[4637],{"type":48,"value":190},{"type":42,"tag":76,"props":4639,"children":4640},{"style":99},[4641],{"type":48,"value":4642},"{\"name\": \"engineering\", \"privacy\": \"closed\"}",{"type":42,"tag":76,"props":4644,"children":4645},{"style":166},[4646],{"type":48,"value":200},{"type":42,"tag":76,"props":4648,"children":4649},{"class":78,"line":2048},[4650],{"type":42,"tag":76,"props":4651,"children":4652},{"emptyLinePlaceholder":119},[4653],{"type":48,"value":122},{"type":42,"tag":76,"props":4655,"children":4656},{"class":78,"line":2065},[4657],{"type":42,"tag":76,"props":4658,"children":4659},{"style":83},[4660],{"type":48,"value":4661},"# Team members and memberships\n",{"type":42,"tag":76,"props":4663,"children":4664},{"class":78,"line":2085},[4665,4669],{"type":42,"tag":76,"props":4666,"children":4667},{"style":93},[4668],{"type":48,"value":349},{"type":42,"tag":76,"props":4670,"children":4671},{"style":99},[4672],{"type":48,"value":4673}," http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Fteams\u002Fengineering\u002Fmembers\n",{"type":42,"tag":76,"props":4675,"children":4676},{"class":78,"line":2102},[4677,4681,4685,4689,4694],{"type":42,"tag":76,"props":4678,"children":4679},{"style":93},[4680],{"type":48,"value":349},{"type":42,"tag":76,"props":4682,"children":4683},{"style":99},[4684],{"type":48,"value":2420},{"type":42,"tag":76,"props":4686,"children":4687},{"style":99},[4688],{"type":48,"value":3480},{"type":42,"tag":76,"props":4690,"children":4691},{"style":99},[4692],{"type":48,"value":4693}," http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Fteams\u002Fengineering\u002Fmemberships\u002Foctocat",{"type":42,"tag":76,"props":4695,"children":4696},{"style":172},[4697],{"type":48,"value":359},{"type":42,"tag":76,"props":4699,"children":4700},{"class":78,"line":2119},[4701,4705,4709,4713,4717,4721],{"type":42,"tag":76,"props":4702,"children":4703},{"style":99},[4704],{"type":48,"value":367},{"type":42,"tag":76,"props":4706,"children":4707},{"style":166},[4708],{"type":48,"value":372},{"type":42,"tag":76,"props":4710,"children":4711},{"style":99},[4712],{"type":48,"value":2325},{"type":42,"tag":76,"props":4714,"children":4715},{"style":172},[4716],{"type":48,"value":2330},{"type":42,"tag":76,"props":4718,"children":4719},{"style":166},[4720],{"type":48,"value":2305},{"type":42,"tag":76,"props":4722,"children":4723},{"style":172},[4724],{"type":48,"value":359},{"type":42,"tag":76,"props":4726,"children":4727},{"class":78,"line":2136},[4728,4732,4736,4740,4744],{"type":42,"tag":76,"props":4729,"children":4730},{"style":99},[4731],{"type":48,"value":367},{"type":42,"tag":76,"props":4733,"children":4734},{"style":166},[4735],{"type":48,"value":372},{"type":42,"tag":76,"props":4737,"children":4738},{"style":99},[4739],{"type":48,"value":2476},{"type":42,"tag":76,"props":4741,"children":4742},{"style":166},[4743],{"type":48,"value":2305},{"type":42,"tag":76,"props":4745,"children":4746},{"style":172},[4747],{"type":48,"value":359},{"type":42,"tag":76,"props":4749,"children":4750},{"class":78,"line":2149},[4751,4755,4759,4764],{"type":42,"tag":76,"props":4752,"children":4753},{"style":99},[4754],{"type":48,"value":2492},{"type":42,"tag":76,"props":4756,"children":4757},{"style":166},[4758],{"type":48,"value":190},{"type":42,"tag":76,"props":4760,"children":4761},{"style":99},[4762],{"type":48,"value":4763},"{\"role\": \"maintainer\"}",{"type":42,"tag":76,"props":4765,"children":4766},{"style":166},[4767],{"type":48,"value":200},{"type":42,"tag":76,"props":4769,"children":4770},{"class":78,"line":2171},[4771],{"type":42,"tag":76,"props":4772,"children":4773},{"emptyLinePlaceholder":119},[4774],{"type":48,"value":122},{"type":42,"tag":76,"props":4776,"children":4777},{"class":78,"line":2189},[4778],{"type":42,"tag":76,"props":4779,"children":4780},{"style":83},[4781],{"type":48,"value":4782},"# Team repos: list, add, remove\n",{"type":42,"tag":76,"props":4784,"children":4785},{"class":78,"line":2206},[4786,4790],{"type":42,"tag":76,"props":4787,"children":4788},{"style":93},[4789],{"type":48,"value":349},{"type":42,"tag":76,"props":4791,"children":4792},{"style":99},[4793],{"type":48,"value":4794}," http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Fteams\u002Fengineering\u002Frepos\n",{"type":42,"tag":76,"props":4796,"children":4797},{"class":78,"line":2219},[4798,4802,4806,4810,4815],{"type":42,"tag":76,"props":4799,"children":4800},{"style":93},[4801],{"type":48,"value":349},{"type":42,"tag":76,"props":4803,"children":4804},{"style":99},[4805],{"type":48,"value":2420},{"type":42,"tag":76,"props":4807,"children":4808},{"style":99},[4809],{"type":48,"value":3480},{"type":42,"tag":76,"props":4811,"children":4812},{"style":99},[4813],{"type":48,"value":4814}," http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Fteams\u002Fengineering\u002Frepos\u002Fmy-org\u002Forg-repo",{"type":42,"tag":76,"props":4816,"children":4817},{"style":172},[4818],{"type":48,"value":359},{"type":42,"tag":76,"props":4820,"children":4822},{"class":78,"line":4821},40,[4823,4827,4831,4835,4839],{"type":42,"tag":76,"props":4824,"children":4825},{"style":99},[4826],{"type":48,"value":367},{"type":42,"tag":76,"props":4828,"children":4829},{"style":166},[4830],{"type":48,"value":372},{"type":42,"tag":76,"props":4832,"children":4833},{"style":99},[4834],{"type":48,"value":2325},{"type":42,"tag":76,"props":4836,"children":4837},{"style":172},[4838],{"type":48,"value":2330},{"type":42,"tag":76,"props":4840,"children":4841},{"style":166},[4842],{"type":48,"value":382},{"type":42,"tag":76,"props":4844,"children":4846},{"class":78,"line":4845},41,[4847],{"type":42,"tag":76,"props":4848,"children":4849},{"emptyLinePlaceholder":119},[4850],{"type":48,"value":122},{"type":42,"tag":76,"props":4852,"children":4854},{"class":78,"line":4853},42,[4855],{"type":42,"tag":76,"props":4856,"children":4857},{"style":83},[4858],{"type":48,"value":4859},"# Legacy team endpoints by ID\n",{"type":42,"tag":76,"props":4861,"children":4863},{"class":78,"line":4862},43,[4864,4868],{"type":42,"tag":76,"props":4865,"children":4866},{"style":93},[4867],{"type":48,"value":349},{"type":42,"tag":76,"props":4869,"children":4870},{"style":99},[4871],{"type":48,"value":4872}," http:\u002F\u002Flocalhost:4001\u002Fteams\u002F1\n",{"type":42,"tag":76,"props":4874,"children":4876},{"class":78,"line":4875},44,[4877,4881],{"type":42,"tag":76,"props":4878,"children":4879},{"style":93},[4880],{"type":48,"value":349},{"type":42,"tag":76,"props":4882,"children":4883},{"style":99},[4884],{"type":48,"value":4885}," http:\u002F\u002Flocalhost:4001\u002Fteams\u002F1\u002Fmembers\n",{"type":42,"tag":389,"props":4887,"children":4889},{"id":4888},"github-apps",[4890],{"type":48,"value":4891},"GitHub Apps",{"type":42,"tag":64,"props":4893,"children":4895},{"className":66,"code":4894,"language":68,"meta":69,"style":69},"# Get authenticated app (requires JWT auth)\ncurl http:\u002F\u002Flocalhost:4001\u002Fapp \\\n  -H \"Authorization: Bearer \u003Cjwt>\"\n\n# List app installations\ncurl http:\u002F\u002Flocalhost:4001\u002Fapp\u002Finstallations \\\n  -H \"Authorization: Bearer \u003Cjwt>\"\n\n# Get installation\ncurl http:\u002F\u002Flocalhost:4001\u002Fapp\u002Finstallations\u002F100 \\\n  -H \"Authorization: Bearer \u003Cjwt>\"\n\n# Create installation access token (mints ghs_... token)\ncurl -X POST http:\u002F\u002Flocalhost:4001\u002Fapp\u002Finstallations\u002F100\u002Faccess_tokens \\\n  -H \"Authorization: Bearer \u003Cjwt>\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"permissions\": {\"contents\": \"read\"}}'\n\n# Find installation for repo \u002F org \u002F user\ncurl http:\u002F\u002Flocalhost:4001\u002Frepos\u002Fmy-org\u002Forg-repo\u002Finstallation\ncurl http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Finstallation\ncurl http:\u002F\u002Flocalhost:4001\u002Fusers\u002Foctocat\u002Finstallation\n",[4896],{"type":42,"tag":72,"props":4897,"children":4898},{"__ignoreMap":69},[4899,4907,4923,4943,4950,4958,4974,4993,5000,5008,5024,5043,5050,5058,5082,5105,5128,5148,5155,5163,5175,5187],{"type":42,"tag":76,"props":4900,"children":4901},{"class":78,"line":79},[4902],{"type":42,"tag":76,"props":4903,"children":4904},{"style":83},[4905],{"type":48,"value":4906},"# Get authenticated app (requires JWT auth)\n",{"type":42,"tag":76,"props":4908,"children":4909},{"class":78,"line":89},[4910,4914,4919],{"type":42,"tag":76,"props":4911,"children":4912},{"style":93},[4913],{"type":48,"value":349},{"type":42,"tag":76,"props":4915,"children":4916},{"style":99},[4917],{"type":48,"value":4918}," http:\u002F\u002Flocalhost:4001\u002Fapp",{"type":42,"tag":76,"props":4920,"children":4921},{"style":172},[4922],{"type":48,"value":359},{"type":42,"tag":76,"props":4924,"children":4925},{"class":78,"line":115},[4926,4930,4934,4939],{"type":42,"tag":76,"props":4927,"children":4928},{"style":99},[4929],{"type":48,"value":367},{"type":42,"tag":76,"props":4931,"children":4932},{"style":166},[4933],{"type":48,"value":372},{"type":42,"tag":76,"props":4935,"children":4936},{"style":99},[4937],{"type":48,"value":4938},"Authorization: Bearer \u003Cjwt>",{"type":42,"tag":76,"props":4940,"children":4941},{"style":166},[4942],{"type":48,"value":382},{"type":42,"tag":76,"props":4944,"children":4945},{"class":78,"line":125},[4946],{"type":42,"tag":76,"props":4947,"children":4948},{"emptyLinePlaceholder":119},[4949],{"type":48,"value":122},{"type":42,"tag":76,"props":4951,"children":4952},{"class":78,"line":134},[4953],{"type":42,"tag":76,"props":4954,"children":4955},{"style":83},[4956],{"type":48,"value":4957},"# List app installations\n",{"type":42,"tag":76,"props":4959,"children":4960},{"class":78,"line":499},[4961,4965,4970],{"type":42,"tag":76,"props":4962,"children":4963},{"style":93},[4964],{"type":48,"value":349},{"type":42,"tag":76,"props":4966,"children":4967},{"style":99},[4968],{"type":48,"value":4969}," http:\u002F\u002Flocalhost:4001\u002Fapp\u002Finstallations",{"type":42,"tag":76,"props":4971,"children":4972},{"style":172},[4973],{"type":48,"value":359},{"type":42,"tag":76,"props":4975,"children":4976},{"class":78,"line":517},[4977,4981,4985,4989],{"type":42,"tag":76,"props":4978,"children":4979},{"style":99},[4980],{"type":48,"value":367},{"type":42,"tag":76,"props":4982,"children":4983},{"style":166},[4984],{"type":48,"value":372},{"type":42,"tag":76,"props":4986,"children":4987},{"style":99},[4988],{"type":48,"value":4938},{"type":42,"tag":76,"props":4990,"children":4991},{"style":166},[4992],{"type":48,"value":382},{"type":42,"tag":76,"props":4994,"children":4995},{"class":78,"line":526},[4996],{"type":42,"tag":76,"props":4997,"children":4998},{"emptyLinePlaceholder":119},[4999],{"type":48,"value":122},{"type":42,"tag":76,"props":5001,"children":5002},{"class":78,"line":535},[5003],{"type":42,"tag":76,"props":5004,"children":5005},{"style":83},[5006],{"type":48,"value":5007},"# Get installation\n",{"type":42,"tag":76,"props":5009,"children":5010},{"class":78,"line":544},[5011,5015,5020],{"type":42,"tag":76,"props":5012,"children":5013},{"style":93},[5014],{"type":48,"value":349},{"type":42,"tag":76,"props":5016,"children":5017},{"style":99},[5018],{"type":48,"value":5019}," http:\u002F\u002Flocalhost:4001\u002Fapp\u002Finstallations\u002F100",{"type":42,"tag":76,"props":5021,"children":5022},{"style":172},[5023],{"type":48,"value":359},{"type":42,"tag":76,"props":5025,"children":5026},{"class":78,"line":557},[5027,5031,5035,5039],{"type":42,"tag":76,"props":5028,"children":5029},{"style":99},[5030],{"type":48,"value":367},{"type":42,"tag":76,"props":5032,"children":5033},{"style":166},[5034],{"type":48,"value":372},{"type":42,"tag":76,"props":5036,"children":5037},{"style":99},[5038],{"type":48,"value":4938},{"type":42,"tag":76,"props":5040,"children":5041},{"style":166},[5042],{"type":48,"value":382},{"type":42,"tag":76,"props":5044,"children":5045},{"class":78,"line":575},[5046],{"type":42,"tag":76,"props":5047,"children":5048},{"emptyLinePlaceholder":119},[5049],{"type":48,"value":122},{"type":42,"tag":76,"props":5051,"children":5052},{"class":78,"line":593},[5053],{"type":42,"tag":76,"props":5054,"children":5055},{"style":83},[5056],{"type":48,"value":5057},"# Create installation access token (mints ghs_... token)\n",{"type":42,"tag":76,"props":5059,"children":5060},{"class":78,"line":630},[5061,5065,5069,5073,5078],{"type":42,"tag":76,"props":5062,"children":5063},{"style":93},[5064],{"type":48,"value":349},{"type":42,"tag":76,"props":5066,"children":5067},{"style":99},[5068],{"type":48,"value":2420},{"type":42,"tag":76,"props":5070,"children":5071},{"style":99},[5072],{"type":48,"value":2760},{"type":42,"tag":76,"props":5074,"children":5075},{"style":99},[5076],{"type":48,"value":5077}," http:\u002F\u002Flocalhost:4001\u002Fapp\u002Finstallations\u002F100\u002Faccess_tokens",{"type":42,"tag":76,"props":5079,"children":5080},{"style":172},[5081],{"type":48,"value":359},{"type":42,"tag":76,"props":5083,"children":5084},{"class":78,"line":648},[5085,5089,5093,5097,5101],{"type":42,"tag":76,"props":5086,"children":5087},{"style":99},[5088],{"type":48,"value":367},{"type":42,"tag":76,"props":5090,"children":5091},{"style":166},[5092],{"type":48,"value":372},{"type":42,"tag":76,"props":5094,"children":5095},{"style":99},[5096],{"type":48,"value":4938},{"type":42,"tag":76,"props":5098,"children":5099},{"style":166},[5100],{"type":48,"value":2305},{"type":42,"tag":76,"props":5102,"children":5103},{"style":172},[5104],{"type":48,"value":359},{"type":42,"tag":76,"props":5106,"children":5107},{"class":78,"line":666},[5108,5112,5116,5120,5124],{"type":42,"tag":76,"props":5109,"children":5110},{"style":99},[5111],{"type":48,"value":367},{"type":42,"tag":76,"props":5113,"children":5114},{"style":166},[5115],{"type":48,"value":372},{"type":42,"tag":76,"props":5117,"children":5118},{"style":99},[5119],{"type":48,"value":2476},{"type":42,"tag":76,"props":5121,"children":5122},{"style":166},[5123],{"type":48,"value":2305},{"type":42,"tag":76,"props":5125,"children":5126},{"style":172},[5127],{"type":48,"value":359},{"type":42,"tag":76,"props":5129,"children":5130},{"class":78,"line":684},[5131,5135,5139,5144],{"type":42,"tag":76,"props":5132,"children":5133},{"style":99},[5134],{"type":48,"value":2492},{"type":42,"tag":76,"props":5136,"children":5137},{"style":166},[5138],{"type":48,"value":190},{"type":42,"tag":76,"props":5140,"children":5141},{"style":99},[5142],{"type":48,"value":5143},"{\"permissions\": {\"contents\": \"read\"}}",{"type":42,"tag":76,"props":5145,"children":5146},{"style":166},[5147],{"type":48,"value":200},{"type":42,"tag":76,"props":5149,"children":5150},{"class":78,"line":697},[5151],{"type":42,"tag":76,"props":5152,"children":5153},{"emptyLinePlaceholder":119},[5154],{"type":48,"value":122},{"type":42,"tag":76,"props":5156,"children":5157},{"class":78,"line":720},[5158],{"type":42,"tag":76,"props":5159,"children":5160},{"style":83},[5161],{"type":48,"value":5162},"# Find installation for repo \u002F org \u002F user\n",{"type":42,"tag":76,"props":5164,"children":5165},{"class":78,"line":738},[5166,5170],{"type":42,"tag":76,"props":5167,"children":5168},{"style":93},[5169],{"type":48,"value":349},{"type":42,"tag":76,"props":5171,"children":5172},{"style":99},[5173],{"type":48,"value":5174}," http:\u002F\u002Flocalhost:4001\u002Frepos\u002Fmy-org\u002Forg-repo\u002Finstallation\n",{"type":42,"tag":76,"props":5176,"children":5177},{"class":78,"line":756},[5178,5182],{"type":42,"tag":76,"props":5179,"children":5180},{"style":93},[5181],{"type":48,"value":349},{"type":42,"tag":76,"props":5183,"children":5184},{"style":99},[5185],{"type":48,"value":5186}," http:\u002F\u002Flocalhost:4001\u002Forgs\u002Fmy-org\u002Finstallation\n",{"type":42,"tag":76,"props":5188,"children":5189},{"class":78,"line":769},[5190,5194],{"type":42,"tag":76,"props":5191,"children":5192},{"style":93},[5193],{"type":48,"value":349},{"type":42,"tag":76,"props":5195,"children":5196},{"style":99},[5197],{"type":48,"value":5198}," http:\u002F\u002Flocalhost:4001\u002Fusers\u002Foctocat\u002Finstallation\n",{"type":42,"tag":51,"props":5200,"children":5201},{},[5202,5204,5210,5212,5218,5220,5226,5227,5233],{"type":48,"value":5203},"App webhook delivery: when events occur, the emulator POSTs ",{"type":42,"tag":72,"props":5205,"children":5207},{"className":5206},[],[5208],{"type":48,"value":5209},"event_callback",{"type":48,"value":5211}," payloads to configured ",{"type":42,"tag":72,"props":5213,"children":5215},{"className":5214},[],[5216],{"type":48,"value":5217},"webhook_url",{"type":48,"value":5219}," with ",{"type":42,"tag":72,"props":5221,"children":5223},{"className":5222},[],[5224],{"type":48,"value":5225},"X-GitHub-Event",{"type":48,"value":2261},{"type":42,"tag":72,"props":5228,"children":5230},{"className":5229},[],[5231],{"type":48,"value":5232},"X-Hub-Signature-256",{"type":48,"value":5234}," headers.",{"type":42,"tag":389,"props":5236,"children":5238},{"id":5237},"releases",[5239],{"type":48,"value":5240},"Releases",{"type":42,"tag":64,"props":5242,"children":5244},{"className":66,"code":5243,"language":68,"meta":69,"style":69},"# Create release\ncurl -X POST http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Freleases \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"tag_name\": \"v1.0.0\", \"name\": \"v1.0.0\"}'\n\n# List, get, latest, by tag, generate notes\n\n# Release assets: list, upload\ncurl http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Freleases\u002F1\u002Fassets\ncurl -X POST http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Freleases\u002F1\u002Fassets \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Foctet-stream\" \\\n  -H \"name: binary.zip\" \\\n  --data-binary @binary.zip\n",[5245],{"type":42,"tag":72,"props":5246,"children":5247},{"__ignoreMap":69},[5248,5256,5280,5307,5330,5350,5357,5365,5372,5380,5392,5416,5443,5467,5491],{"type":42,"tag":76,"props":5249,"children":5250},{"class":78,"line":79},[5251],{"type":42,"tag":76,"props":5252,"children":5253},{"style":83},[5254],{"type":48,"value":5255},"# Create release\n",{"type":42,"tag":76,"props":5257,"children":5258},{"class":78,"line":89},[5259,5263,5267,5271,5276],{"type":42,"tag":76,"props":5260,"children":5261},{"style":93},[5262],{"type":48,"value":349},{"type":42,"tag":76,"props":5264,"children":5265},{"style":99},[5266],{"type":48,"value":2420},{"type":42,"tag":76,"props":5268,"children":5269},{"style":99},[5270],{"type":48,"value":2760},{"type":42,"tag":76,"props":5272,"children":5273},{"style":99},[5274],{"type":48,"value":5275}," http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Freleases",{"type":42,"tag":76,"props":5277,"children":5278},{"style":172},[5279],{"type":48,"value":359},{"type":42,"tag":76,"props":5281,"children":5282},{"class":78,"line":115},[5283,5287,5291,5295,5299,5303],{"type":42,"tag":76,"props":5284,"children":5285},{"style":99},[5286],{"type":48,"value":367},{"type":42,"tag":76,"props":5288,"children":5289},{"style":166},[5290],{"type":48,"value":372},{"type":42,"tag":76,"props":5292,"children":5293},{"style":99},[5294],{"type":48,"value":2325},{"type":42,"tag":76,"props":5296,"children":5297},{"style":172},[5298],{"type":48,"value":2330},{"type":42,"tag":76,"props":5300,"children":5301},{"style":166},[5302],{"type":48,"value":2305},{"type":42,"tag":76,"props":5304,"children":5305},{"style":172},[5306],{"type":48,"value":359},{"type":42,"tag":76,"props":5308,"children":5309},{"class":78,"line":125},[5310,5314,5318,5322,5326],{"type":42,"tag":76,"props":5311,"children":5312},{"style":99},[5313],{"type":48,"value":367},{"type":42,"tag":76,"props":5315,"children":5316},{"style":166},[5317],{"type":48,"value":372},{"type":42,"tag":76,"props":5319,"children":5320},{"style":99},[5321],{"type":48,"value":2476},{"type":42,"tag":76,"props":5323,"children":5324},{"style":166},[5325],{"type":48,"value":2305},{"type":42,"tag":76,"props":5327,"children":5328},{"style":172},[5329],{"type":48,"value":359},{"type":42,"tag":76,"props":5331,"children":5332},{"class":78,"line":134},[5333,5337,5341,5346],{"type":42,"tag":76,"props":5334,"children":5335},{"style":99},[5336],{"type":48,"value":2492},{"type":42,"tag":76,"props":5338,"children":5339},{"style":166},[5340],{"type":48,"value":190},{"type":42,"tag":76,"props":5342,"children":5343},{"style":99},[5344],{"type":48,"value":5345},"{\"tag_name\": \"v1.0.0\", \"name\": \"v1.0.0\"}",{"type":42,"tag":76,"props":5347,"children":5348},{"style":166},[5349],{"type":48,"value":200},{"type":42,"tag":76,"props":5351,"children":5352},{"class":78,"line":499},[5353],{"type":42,"tag":76,"props":5354,"children":5355},{"emptyLinePlaceholder":119},[5356],{"type":48,"value":122},{"type":42,"tag":76,"props":5358,"children":5359},{"class":78,"line":517},[5360],{"type":42,"tag":76,"props":5361,"children":5362},{"style":83},[5363],{"type":48,"value":5364},"# List, get, latest, by tag, generate notes\n",{"type":42,"tag":76,"props":5366,"children":5367},{"class":78,"line":526},[5368],{"type":42,"tag":76,"props":5369,"children":5370},{"emptyLinePlaceholder":119},[5371],{"type":48,"value":122},{"type":42,"tag":76,"props":5373,"children":5374},{"class":78,"line":535},[5375],{"type":42,"tag":76,"props":5376,"children":5377},{"style":83},[5378],{"type":48,"value":5379},"# Release assets: list, upload\n",{"type":42,"tag":76,"props":5381,"children":5382},{"class":78,"line":544},[5383,5387],{"type":42,"tag":76,"props":5384,"children":5385},{"style":93},[5386],{"type":48,"value":349},{"type":42,"tag":76,"props":5388,"children":5389},{"style":99},[5390],{"type":48,"value":5391}," http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Freleases\u002F1\u002Fassets\n",{"type":42,"tag":76,"props":5393,"children":5394},{"class":78,"line":557},[5395,5399,5403,5407,5412],{"type":42,"tag":76,"props":5396,"children":5397},{"style":93},[5398],{"type":48,"value":349},{"type":42,"tag":76,"props":5400,"children":5401},{"style":99},[5402],{"type":48,"value":2420},{"type":42,"tag":76,"props":5404,"children":5405},{"style":99},[5406],{"type":48,"value":2760},{"type":42,"tag":76,"props":5408,"children":5409},{"style":99},[5410],{"type":48,"value":5411}," http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Freleases\u002F1\u002Fassets",{"type":42,"tag":76,"props":5413,"children":5414},{"style":172},[5415],{"type":48,"value":359},{"type":42,"tag":76,"props":5417,"children":5418},{"class":78,"line":575},[5419,5423,5427,5431,5435,5439],{"type":42,"tag":76,"props":5420,"children":5421},{"style":99},[5422],{"type":48,"value":367},{"type":42,"tag":76,"props":5424,"children":5425},{"style":166},[5426],{"type":48,"value":372},{"type":42,"tag":76,"props":5428,"children":5429},{"style":99},[5430],{"type":48,"value":2325},{"type":42,"tag":76,"props":5432,"children":5433},{"style":172},[5434],{"type":48,"value":2330},{"type":42,"tag":76,"props":5436,"children":5437},{"style":166},[5438],{"type":48,"value":2305},{"type":42,"tag":76,"props":5440,"children":5441},{"style":172},[5442],{"type":48,"value":359},{"type":42,"tag":76,"props":5444,"children":5445},{"class":78,"line":593},[5446,5450,5454,5459,5463],{"type":42,"tag":76,"props":5447,"children":5448},{"style":99},[5449],{"type":48,"value":367},{"type":42,"tag":76,"props":5451,"children":5452},{"style":166},[5453],{"type":48,"value":372},{"type":42,"tag":76,"props":5455,"children":5456},{"style":99},[5457],{"type":48,"value":5458},"Content-Type: application\u002Foctet-stream",{"type":42,"tag":76,"props":5460,"children":5461},{"style":166},[5462],{"type":48,"value":2305},{"type":42,"tag":76,"props":5464,"children":5465},{"style":172},[5466],{"type":48,"value":359},{"type":42,"tag":76,"props":5468,"children":5469},{"class":78,"line":630},[5470,5474,5478,5483,5487],{"type":42,"tag":76,"props":5471,"children":5472},{"style":99},[5473],{"type":48,"value":367},{"type":42,"tag":76,"props":5475,"children":5476},{"style":166},[5477],{"type":48,"value":372},{"type":42,"tag":76,"props":5479,"children":5480},{"style":99},[5481],{"type":48,"value":5482},"name: binary.zip",{"type":42,"tag":76,"props":5484,"children":5485},{"style":166},[5486],{"type":48,"value":2305},{"type":42,"tag":76,"props":5488,"children":5489},{"style":172},[5490],{"type":48,"value":359},{"type":42,"tag":76,"props":5492,"children":5493},{"class":78,"line":648},[5494,5499],{"type":42,"tag":76,"props":5495,"children":5496},{"style":99},[5497],{"type":48,"value":5498},"  --data-binary",{"type":42,"tag":76,"props":5500,"children":5501},{"style":99},[5502],{"type":48,"value":5503}," @binary.zip\n",{"type":42,"tag":389,"props":5505,"children":5507},{"id":5506},"webhooks",[5508],{"type":48,"value":5509},"Webhooks",{"type":42,"tag":64,"props":5511,"children":5513},{"className":66,"code":5512,"language":68,"meta":69,"style":69},"# Create webhook (real HTTP delivery on state changes)\ncurl -X POST http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fhooks \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"config\": {\"url\": \"http:\u002F\u002Flocalhost:8080\u002Fwebhook\"}, \"events\": [\"push\", \"pull_request\"]}'\n\n# Full CRUD, ping, test, deliveries\n# Org webhooks also supported\n",[5514],{"type":42,"tag":72,"props":5515,"children":5516},{"__ignoreMap":69},[5517,5525,5549,5576,5599,5619,5626,5634],{"type":42,"tag":76,"props":5518,"children":5519},{"class":78,"line":79},[5520],{"type":42,"tag":76,"props":5521,"children":5522},{"style":83},[5523],{"type":48,"value":5524},"# Create webhook (real HTTP delivery on state changes)\n",{"type":42,"tag":76,"props":5526,"children":5527},{"class":78,"line":89},[5528,5532,5536,5540,5545],{"type":42,"tag":76,"props":5529,"children":5530},{"style":93},[5531],{"type":48,"value":349},{"type":42,"tag":76,"props":5533,"children":5534},{"style":99},[5535],{"type":48,"value":2420},{"type":42,"tag":76,"props":5537,"children":5538},{"style":99},[5539],{"type":48,"value":2760},{"type":42,"tag":76,"props":5541,"children":5542},{"style":99},[5543],{"type":48,"value":5544}," http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fhooks",{"type":42,"tag":76,"props":5546,"children":5547},{"style":172},[5548],{"type":48,"value":359},{"type":42,"tag":76,"props":5550,"children":5551},{"class":78,"line":115},[5552,5556,5560,5564,5568,5572],{"type":42,"tag":76,"props":5553,"children":5554},{"style":99},[5555],{"type":48,"value":367},{"type":42,"tag":76,"props":5557,"children":5558},{"style":166},[5559],{"type":48,"value":372},{"type":42,"tag":76,"props":5561,"children":5562},{"style":99},[5563],{"type":48,"value":2325},{"type":42,"tag":76,"props":5565,"children":5566},{"style":172},[5567],{"type":48,"value":2330},{"type":42,"tag":76,"props":5569,"children":5570},{"style":166},[5571],{"type":48,"value":2305},{"type":42,"tag":76,"props":5573,"children":5574},{"style":172},[5575],{"type":48,"value":359},{"type":42,"tag":76,"props":5577,"children":5578},{"class":78,"line":125},[5579,5583,5587,5591,5595],{"type":42,"tag":76,"props":5580,"children":5581},{"style":99},[5582],{"type":48,"value":367},{"type":42,"tag":76,"props":5584,"children":5585},{"style":166},[5586],{"type":48,"value":372},{"type":42,"tag":76,"props":5588,"children":5589},{"style":99},[5590],{"type":48,"value":2476},{"type":42,"tag":76,"props":5592,"children":5593},{"style":166},[5594],{"type":48,"value":2305},{"type":42,"tag":76,"props":5596,"children":5597},{"style":172},[5598],{"type":48,"value":359},{"type":42,"tag":76,"props":5600,"children":5601},{"class":78,"line":134},[5602,5606,5610,5615],{"type":42,"tag":76,"props":5603,"children":5604},{"style":99},[5605],{"type":48,"value":2492},{"type":42,"tag":76,"props":5607,"children":5608},{"style":166},[5609],{"type":48,"value":190},{"type":42,"tag":76,"props":5611,"children":5612},{"style":99},[5613],{"type":48,"value":5614},"{\"config\": {\"url\": \"http:\u002F\u002Flocalhost:8080\u002Fwebhook\"}, \"events\": [\"push\", \"pull_request\"]}",{"type":42,"tag":76,"props":5616,"children":5617},{"style":166},[5618],{"type":48,"value":200},{"type":42,"tag":76,"props":5620,"children":5621},{"class":78,"line":499},[5622],{"type":42,"tag":76,"props":5623,"children":5624},{"emptyLinePlaceholder":119},[5625],{"type":48,"value":122},{"type":42,"tag":76,"props":5627,"children":5628},{"class":78,"line":517},[5629],{"type":42,"tag":76,"props":5630,"children":5631},{"style":83},[5632],{"type":48,"value":5633},"# Full CRUD, ping, test, deliveries\n",{"type":42,"tag":76,"props":5635,"children":5636},{"class":78,"line":526},[5637],{"type":42,"tag":76,"props":5638,"children":5639},{"style":83},[5640],{"type":48,"value":5641},"# Org webhooks also supported\n",{"type":42,"tag":389,"props":5643,"children":5645},{"id":5644},"search",[5646],{"type":48,"value":5647},"Search",{"type":42,"tag":64,"props":5649,"children":5651},{"className":66,"code":5650,"language":68,"meta":69,"style":69},"# Search repositories\ncurl \"http:\u002F\u002Flocalhost:4001\u002Fsearch\u002Frepositories?q=language:JavaScript+user:octocat\"\n\n# Search issues and PRs\ncurl \"http:\u002F\u002Flocalhost:4001\u002Fsearch\u002Fissues?q=repo:octocat\u002Fhello-world+is:open\"\n\n# Search users, code, commits, topics, labels\n",[5652],{"type":42,"tag":72,"props":5653,"children":5654},{"__ignoreMap":69},[5655,5663,5683,5690,5698,5718,5725],{"type":42,"tag":76,"props":5656,"children":5657},{"class":78,"line":79},[5658],{"type":42,"tag":76,"props":5659,"children":5660},{"style":83},[5661],{"type":48,"value":5662},"# Search repositories\n",{"type":42,"tag":76,"props":5664,"children":5665},{"class":78,"line":89},[5666,5670,5674,5679],{"type":42,"tag":76,"props":5667,"children":5668},{"style":93},[5669],{"type":48,"value":349},{"type":42,"tag":76,"props":5671,"children":5672},{"style":166},[5673],{"type":48,"value":372},{"type":42,"tag":76,"props":5675,"children":5676},{"style":99},[5677],{"type":48,"value":5678},"http:\u002F\u002Flocalhost:4001\u002Fsearch\u002Frepositories?q=language:JavaScript+user:octocat",{"type":42,"tag":76,"props":5680,"children":5681},{"style":166},[5682],{"type":48,"value":382},{"type":42,"tag":76,"props":5684,"children":5685},{"class":78,"line":115},[5686],{"type":42,"tag":76,"props":5687,"children":5688},{"emptyLinePlaceholder":119},[5689],{"type":48,"value":122},{"type":42,"tag":76,"props":5691,"children":5692},{"class":78,"line":125},[5693],{"type":42,"tag":76,"props":5694,"children":5695},{"style":83},[5696],{"type":48,"value":5697},"# Search issues and PRs\n",{"type":42,"tag":76,"props":5699,"children":5700},{"class":78,"line":134},[5701,5705,5709,5714],{"type":42,"tag":76,"props":5702,"children":5703},{"style":93},[5704],{"type":48,"value":349},{"type":42,"tag":76,"props":5706,"children":5707},{"style":166},[5708],{"type":48,"value":372},{"type":42,"tag":76,"props":5710,"children":5711},{"style":99},[5712],{"type":48,"value":5713},"http:\u002F\u002Flocalhost:4001\u002Fsearch\u002Fissues?q=repo:octocat\u002Fhello-world+is:open",{"type":42,"tag":76,"props":5715,"children":5716},{"style":166},[5717],{"type":48,"value":382},{"type":42,"tag":76,"props":5719,"children":5720},{"class":78,"line":499},[5721],{"type":42,"tag":76,"props":5722,"children":5723},{"emptyLinePlaceholder":119},[5724],{"type":48,"value":122},{"type":42,"tag":76,"props":5726,"children":5727},{"class":78,"line":517},[5728],{"type":42,"tag":76,"props":5729,"children":5730},{"style":83},[5731],{"type":48,"value":5732},"# Search users, code, commits, topics, labels\n",{"type":42,"tag":389,"props":5734,"children":5736},{"id":5735},"actions",[5737],{"type":48,"value":5738},"Actions",{"type":42,"tag":64,"props":5740,"children":5742},{"className":66,"code":5741,"language":68,"meta":69,"style":69},"# Workflows: list, get, enable\u002Fdisable, dispatch\n# Workflow runs: list, get, cancel, rerun, delete, logs\n# Jobs: list, get, logs\n# Artifacts: list, get, delete\n# Secrets: repo + org CRUD\n",[5743],{"type":42,"tag":72,"props":5744,"children":5745},{"__ignoreMap":69},[5746,5754,5762,5770,5778],{"type":42,"tag":76,"props":5747,"children":5748},{"class":78,"line":79},[5749],{"type":42,"tag":76,"props":5750,"children":5751},{"style":83},[5752],{"type":48,"value":5753},"# Workflows: list, get, enable\u002Fdisable, dispatch\n",{"type":42,"tag":76,"props":5755,"children":5756},{"class":78,"line":89},[5757],{"type":42,"tag":76,"props":5758,"children":5759},{"style":83},[5760],{"type":48,"value":5761},"# Workflow runs: list, get, cancel, rerun, delete, logs\n",{"type":42,"tag":76,"props":5763,"children":5764},{"class":78,"line":115},[5765],{"type":42,"tag":76,"props":5766,"children":5767},{"style":83},[5768],{"type":48,"value":5769},"# Jobs: list, get, logs\n",{"type":42,"tag":76,"props":5771,"children":5772},{"class":78,"line":125},[5773],{"type":42,"tag":76,"props":5774,"children":5775},{"style":83},[5776],{"type":48,"value":5777},"# Artifacts: list, get, delete\n",{"type":42,"tag":76,"props":5779,"children":5780},{"class":78,"line":134},[5781],{"type":42,"tag":76,"props":5782,"children":5783},{"style":83},[5784],{"type":48,"value":5785},"# Secrets: repo + org CRUD\n",{"type":42,"tag":389,"props":5787,"children":5789},{"id":5788},"checks",[5790],{"type":48,"value":5791},"Checks",{"type":42,"tag":64,"props":5793,"children":5795},{"className":66,"code":5794,"language":68,"meta":69,"style":69},"# Create check run\ncurl -X POST http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fcheck-runs \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"name\": \"CI\", \"head_sha\": \"abc123\", \"status\": \"completed\", \"conclusion\": \"success\"}'\n\n# Check suites: create, get, rerequest, preferences, list by ref\n# Check runs: list for suite, annotations\n# Automatic suite status rollup from check run results\n",[5796],{"type":42,"tag":72,"props":5797,"children":5798},{"__ignoreMap":69},[5799,5807,5831,5858,5881,5901,5908,5916,5924],{"type":42,"tag":76,"props":5800,"children":5801},{"class":78,"line":79},[5802],{"type":42,"tag":76,"props":5803,"children":5804},{"style":83},[5805],{"type":48,"value":5806},"# Create check run\n",{"type":42,"tag":76,"props":5808,"children":5809},{"class":78,"line":89},[5810,5814,5818,5822,5827],{"type":42,"tag":76,"props":5811,"children":5812},{"style":93},[5813],{"type":48,"value":349},{"type":42,"tag":76,"props":5815,"children":5816},{"style":99},[5817],{"type":48,"value":2420},{"type":42,"tag":76,"props":5819,"children":5820},{"style":99},[5821],{"type":48,"value":2760},{"type":42,"tag":76,"props":5823,"children":5824},{"style":99},[5825],{"type":48,"value":5826}," http:\u002F\u002Flocalhost:4001\u002Frepos\u002Foctocat\u002Fhello-world\u002Fcheck-runs",{"type":42,"tag":76,"props":5828,"children":5829},{"style":172},[5830],{"type":48,"value":359},{"type":42,"tag":76,"props":5832,"children":5833},{"class":78,"line":115},[5834,5838,5842,5846,5850,5854],{"type":42,"tag":76,"props":5835,"children":5836},{"style":99},[5837],{"type":48,"value":367},{"type":42,"tag":76,"props":5839,"children":5840},{"style":166},[5841],{"type":48,"value":372},{"type":42,"tag":76,"props":5843,"children":5844},{"style":99},[5845],{"type":48,"value":2325},{"type":42,"tag":76,"props":5847,"children":5848},{"style":172},[5849],{"type":48,"value":2330},{"type":42,"tag":76,"props":5851,"children":5852},{"style":166},[5853],{"type":48,"value":2305},{"type":42,"tag":76,"props":5855,"children":5856},{"style":172},[5857],{"type":48,"value":359},{"type":42,"tag":76,"props":5859,"children":5860},{"class":78,"line":125},[5861,5865,5869,5873,5877],{"type":42,"tag":76,"props":5862,"children":5863},{"style":99},[5864],{"type":48,"value":367},{"type":42,"tag":76,"props":5866,"children":5867},{"style":166},[5868],{"type":48,"value":372},{"type":42,"tag":76,"props":5870,"children":5871},{"style":99},[5872],{"type":48,"value":2476},{"type":42,"tag":76,"props":5874,"children":5875},{"style":166},[5876],{"type":48,"value":2305},{"type":42,"tag":76,"props":5878,"children":5879},{"style":172},[5880],{"type":48,"value":359},{"type":42,"tag":76,"props":5882,"children":5883},{"class":78,"line":134},[5884,5888,5892,5897],{"type":42,"tag":76,"props":5885,"children":5886},{"style":99},[5887],{"type":48,"value":2492},{"type":42,"tag":76,"props":5889,"children":5890},{"style":166},[5891],{"type":48,"value":190},{"type":42,"tag":76,"props":5893,"children":5894},{"style":99},[5895],{"type":48,"value":5896},"{\"name\": \"CI\", \"head_sha\": \"abc123\", \"status\": \"completed\", \"conclusion\": \"success\"}",{"type":42,"tag":76,"props":5898,"children":5899},{"style":166},[5900],{"type":48,"value":200},{"type":42,"tag":76,"props":5902,"children":5903},{"class":78,"line":499},[5904],{"type":42,"tag":76,"props":5905,"children":5906},{"emptyLinePlaceholder":119},[5907],{"type":48,"value":122},{"type":42,"tag":76,"props":5909,"children":5910},{"class":78,"line":517},[5911],{"type":42,"tag":76,"props":5912,"children":5913},{"style":83},[5914],{"type":48,"value":5915},"# Check suites: create, get, rerequest, preferences, list by ref\n",{"type":42,"tag":76,"props":5917,"children":5918},{"class":78,"line":526},[5919],{"type":42,"tag":76,"props":5920,"children":5921},{"style":83},[5922],{"type":48,"value":5923},"# Check runs: list for suite, annotations\n",{"type":42,"tag":76,"props":5925,"children":5926},{"class":78,"line":535},[5927],{"type":42,"tag":76,"props":5928,"children":5929},{"style":83},[5930],{"type":48,"value":5931},"# Automatic suite status rollup from check run results\n",{"type":42,"tag":389,"props":5933,"children":5935},{"id":5934},"oauth",[5936],{"type":48,"value":5937},"OAuth",{"type":42,"tag":64,"props":5939,"children":5941},{"className":66,"code":5940,"language":68,"meta":69,"style":69},"# Authorize (browser flow, shows user picker)\n# GET \u002Flogin\u002Foauth\u002Fauthorize?client_id=...&redirect_uri=...&scope=...&state=...\n\n# Token exchange\ncurl -X POST http:\u002F\u002Flocalhost:4001\u002Flogin\u002Foauth\u002Faccess_token \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -H \"Accept: application\u002Fjson\" \\\n  -d '{\"client_id\": \"Iv1.abc123\", \"client_secret\": \"secret_abc123\", \"code\": \"\u003Ccode>\"}'\n\n# User emails\ncurl http:\u002F\u002Flocalhost:4001\u002Fuser\u002Femails -H \"Authorization: Bearer $TOKEN\"\n\n# OAuth app management (settings)\ncurl http:\u002F\u002Flocalhost:4001\u002Fsettings\u002Fapplications -H \"Authorization: Bearer $TOKEN\"\ncurl http:\u002F\u002Flocalhost:4001\u002Fsettings\u002Fconnections\u002Fapplications\u002FIv1.abc123 -H \"Authorization: Bearer $TOKEN\"\n\n# Revoke OAuth app\ncurl -X POST http:\u002F\u002Flocalhost:4001\u002Fsettings\u002Fconnections\u002Fapplications\u002FIv1.abc123\u002Frevoke \\\n  -H \"Authorization: Bearer $TOKEN\"\n",[5942],{"type":42,"tag":72,"props":5943,"children":5944},{"__ignoreMap":69},[5945,5953,5961,5968,5976,6000,6023,6047,6067,6074,6081,6112,6119,6127,6159,6191,6198,6206,6230],{"type":42,"tag":76,"props":5946,"children":5947},{"class":78,"line":79},[5948],{"type":42,"tag":76,"props":5949,"children":5950},{"style":83},[5951],{"type":48,"value":5952},"# Authorize (browser flow, shows user picker)\n",{"type":42,"tag":76,"props":5954,"children":5955},{"class":78,"line":89},[5956],{"type":42,"tag":76,"props":5957,"children":5958},{"style":83},[5959],{"type":48,"value":5960},"# GET \u002Flogin\u002Foauth\u002Fauthorize?client_id=...&redirect_uri=...&scope=...&state=...\n",{"type":42,"tag":76,"props":5962,"children":5963},{"class":78,"line":115},[5964],{"type":42,"tag":76,"props":5965,"children":5966},{"emptyLinePlaceholder":119},[5967],{"type":48,"value":122},{"type":42,"tag":76,"props":5969,"children":5970},{"class":78,"line":125},[5971],{"type":42,"tag":76,"props":5972,"children":5973},{"style":83},[5974],{"type":48,"value":5975},"# Token exchange\n",{"type":42,"tag":76,"props":5977,"children":5978},{"class":78,"line":134},[5979,5983,5987,5991,5996],{"type":42,"tag":76,"props":5980,"children":5981},{"style":93},[5982],{"type":48,"value":349},{"type":42,"tag":76,"props":5984,"children":5985},{"style":99},[5986],{"type":48,"value":2420},{"type":42,"tag":76,"props":5988,"children":5989},{"style":99},[5990],{"type":48,"value":2760},{"type":42,"tag":76,"props":5992,"children":5993},{"style":99},[5994],{"type":48,"value":5995}," http:\u002F\u002Flocalhost:4001\u002Flogin\u002Foauth\u002Faccess_token",{"type":42,"tag":76,"props":5997,"children":5998},{"style":172},[5999],{"type":48,"value":359},{"type":42,"tag":76,"props":6001,"children":6002},{"class":78,"line":499},[6003,6007,6011,6015,6019],{"type":42,"tag":76,"props":6004,"children":6005},{"style":99},[6006],{"type":48,"value":367},{"type":42,"tag":76,"props":6008,"children":6009},{"style":166},[6010],{"type":48,"value":372},{"type":42,"tag":76,"props":6012,"children":6013},{"style":99},[6014],{"type":48,"value":2476},{"type":42,"tag":76,"props":6016,"children":6017},{"style":166},[6018],{"type":48,"value":2305},{"type":42,"tag":76,"props":6020,"children":6021},{"style":172},[6022],{"type":48,"value":359},{"type":42,"tag":76,"props":6024,"children":6025},{"class":78,"line":517},[6026,6030,6034,6039,6043],{"type":42,"tag":76,"props":6027,"children":6028},{"style":99},[6029],{"type":48,"value":367},{"type":42,"tag":76,"props":6031,"children":6032},{"style":166},[6033],{"type":48,"value":372},{"type":42,"tag":76,"props":6035,"children":6036},{"style":99},[6037],{"type":48,"value":6038},"Accept: application\u002Fjson",{"type":42,"tag":76,"props":6040,"children":6041},{"style":166},[6042],{"type":48,"value":2305},{"type":42,"tag":76,"props":6044,"children":6045},{"style":172},[6046],{"type":48,"value":359},{"type":42,"tag":76,"props":6048,"children":6049},{"class":78,"line":526},[6050,6054,6058,6063],{"type":42,"tag":76,"props":6051,"children":6052},{"style":99},[6053],{"type":48,"value":2492},{"type":42,"tag":76,"props":6055,"children":6056},{"style":166},[6057],{"type":48,"value":190},{"type":42,"tag":76,"props":6059,"children":6060},{"style":99},[6061],{"type":48,"value":6062},"{\"client_id\": \"Iv1.abc123\", \"client_secret\": \"secret_abc123\", \"code\": \"\u003Ccode>\"}",{"type":42,"tag":76,"props":6064,"children":6065},{"style":166},[6066],{"type":48,"value":200},{"type":42,"tag":76,"props":6068,"children":6069},{"class":78,"line":535},[6070],{"type":42,"tag":76,"props":6071,"children":6072},{"emptyLinePlaceholder":119},[6073],{"type":48,"value":122},{"type":42,"tag":76,"props":6075,"children":6076},{"class":78,"line":544},[6077],{"type":42,"tag":76,"props":6078,"children":6079},{"style":83},[6080],{"type":48,"value":2664},{"type":42,"tag":76,"props":6082,"children":6083},{"class":78,"line":557},[6084,6088,6092,6096,6100,6104,6108],{"type":42,"tag":76,"props":6085,"children":6086},{"style":93},[6087],{"type":48,"value":349},{"type":42,"tag":76,"props":6089,"children":6090},{"style":99},[6091],{"type":48,"value":2676},{"type":42,"tag":76,"props":6093,"children":6094},{"style":99},[6095],{"type":48,"value":2377},{"type":42,"tag":76,"props":6097,"children":6098},{"style":166},[6099],{"type":48,"value":372},{"type":42,"tag":76,"props":6101,"children":6102},{"style":99},[6103],{"type":48,"value":2325},{"type":42,"tag":76,"props":6105,"children":6106},{"style":172},[6107],{"type":48,"value":2330},{"type":42,"tag":76,"props":6109,"children":6110},{"style":166},[6111],{"type":48,"value":382},{"type":42,"tag":76,"props":6113,"children":6114},{"class":78,"line":575},[6115],{"type":42,"tag":76,"props":6116,"children":6117},{"emptyLinePlaceholder":119},[6118],{"type":48,"value":122},{"type":42,"tag":76,"props":6120,"children":6121},{"class":78,"line":593},[6122],{"type":42,"tag":76,"props":6123,"children":6124},{"style":83},[6125],{"type":48,"value":6126},"# OAuth app management (settings)\n",{"type":42,"tag":76,"props":6128,"children":6129},{"class":78,"line":630},[6130,6134,6139,6143,6147,6151,6155],{"type":42,"tag":76,"props":6131,"children":6132},{"style":93},[6133],{"type":48,"value":349},{"type":42,"tag":76,"props":6135,"children":6136},{"style":99},[6137],{"type":48,"value":6138}," http:\u002F\u002Flocalhost:4001\u002Fsettings\u002Fapplications",{"type":42,"tag":76,"props":6140,"children":6141},{"style":99},[6142],{"type":48,"value":2377},{"type":42,"tag":76,"props":6144,"children":6145},{"style":166},[6146],{"type":48,"value":372},{"type":42,"tag":76,"props":6148,"children":6149},{"style":99},[6150],{"type":48,"value":2325},{"type":42,"tag":76,"props":6152,"children":6153},{"style":172},[6154],{"type":48,"value":2330},{"type":42,"tag":76,"props":6156,"children":6157},{"style":166},[6158],{"type":48,"value":382},{"type":42,"tag":76,"props":6160,"children":6161},{"class":78,"line":648},[6162,6166,6171,6175,6179,6183,6187],{"type":42,"tag":76,"props":6163,"children":6164},{"style":93},[6165],{"type":48,"value":349},{"type":42,"tag":76,"props":6167,"children":6168},{"style":99},[6169],{"type":48,"value":6170}," http:\u002F\u002Flocalhost:4001\u002Fsettings\u002Fconnections\u002Fapplications\u002FIv1.abc123",{"type":42,"tag":76,"props":6172,"children":6173},{"style":99},[6174],{"type":48,"value":2377},{"type":42,"tag":76,"props":6176,"children":6177},{"style":166},[6178],{"type":48,"value":372},{"type":42,"tag":76,"props":6180,"children":6181},{"style":99},[6182],{"type":48,"value":2325},{"type":42,"tag":76,"props":6184,"children":6185},{"style":172},[6186],{"type":48,"value":2330},{"type":42,"tag":76,"props":6188,"children":6189},{"style":166},[6190],{"type":48,"value":382},{"type":42,"tag":76,"props":6192,"children":6193},{"class":78,"line":666},[6194],{"type":42,"tag":76,"props":6195,"children":6196},{"emptyLinePlaceholder":119},[6197],{"type":48,"value":122},{"type":42,"tag":76,"props":6199,"children":6200},{"class":78,"line":684},[6201],{"type":42,"tag":76,"props":6202,"children":6203},{"style":83},[6204],{"type":48,"value":6205},"# Revoke OAuth app\n",{"type":42,"tag":76,"props":6207,"children":6208},{"class":78,"line":697},[6209,6213,6217,6221,6226],{"type":42,"tag":76,"props":6210,"children":6211},{"style":93},[6212],{"type":48,"value":349},{"type":42,"tag":76,"props":6214,"children":6215},{"style":99},[6216],{"type":48,"value":2420},{"type":42,"tag":76,"props":6218,"children":6219},{"style":99},[6220],{"type":48,"value":2760},{"type":42,"tag":76,"props":6222,"children":6223},{"style":99},[6224],{"type":48,"value":6225}," http:\u002F\u002Flocalhost:4001\u002Fsettings\u002Fconnections\u002Fapplications\u002FIv1.abc123\u002Frevoke",{"type":42,"tag":76,"props":6227,"children":6228},{"style":172},[6229],{"type":48,"value":359},{"type":42,"tag":76,"props":6231,"children":6232},{"class":78,"line":720},[6233,6237,6241,6245,6249],{"type":42,"tag":76,"props":6234,"children":6235},{"style":99},[6236],{"type":48,"value":367},{"type":42,"tag":76,"props":6238,"children":6239},{"style":166},[6240],{"type":48,"value":372},{"type":42,"tag":76,"props":6242,"children":6243},{"style":99},[6244],{"type":48,"value":2325},{"type":42,"tag":76,"props":6246,"children":6247},{"style":172},[6248],{"type":48,"value":2330},{"type":42,"tag":76,"props":6250,"children":6251},{"style":166},[6252],{"type":48,"value":382},{"type":42,"tag":389,"props":6254,"children":6256},{"id":6255},"misc",[6257],{"type":48,"value":6258},"Misc",{"type":42,"tag":64,"props":6260,"children":6262},{"className":66,"code":6261,"language":68,"meta":69,"style":69},"curl http:\u002F\u002Flocalhost:4001\u002Frate_limit\ncurl http:\u002F\u002Flocalhost:4001\u002Fmeta\ncurl http:\u002F\u002Flocalhost:4001\u002Femojis\ncurl http:\u002F\u002Flocalhost:4001\u002Fversions\ncurl http:\u002F\u002Flocalhost:4001\u002Foctocat\ncurl http:\u002F\u002Flocalhost:4001\u002Fzen\n",[6263],{"type":42,"tag":72,"props":6264,"children":6265},{"__ignoreMap":69},[6266,6278,6290,6302,6314,6326],{"type":42,"tag":76,"props":6267,"children":6268},{"class":78,"line":79},[6269,6273],{"type":42,"tag":76,"props":6270,"children":6271},{"style":93},[6272],{"type":48,"value":349},{"type":42,"tag":76,"props":6274,"children":6275},{"style":99},[6276],{"type":48,"value":6277}," http:\u002F\u002Flocalhost:4001\u002Frate_limit\n",{"type":42,"tag":76,"props":6279,"children":6280},{"class":78,"line":89},[6281,6285],{"type":42,"tag":76,"props":6282,"children":6283},{"style":93},[6284],{"type":48,"value":349},{"type":42,"tag":76,"props":6286,"children":6287},{"style":99},[6288],{"type":48,"value":6289}," http:\u002F\u002Flocalhost:4001\u002Fmeta\n",{"type":42,"tag":76,"props":6291,"children":6292},{"class":78,"line":115},[6293,6297],{"type":42,"tag":76,"props":6294,"children":6295},{"style":93},[6296],{"type":48,"value":349},{"type":42,"tag":76,"props":6298,"children":6299},{"style":99},[6300],{"type":48,"value":6301}," http:\u002F\u002Flocalhost:4001\u002Femojis\n",{"type":42,"tag":76,"props":6303,"children":6304},{"class":78,"line":125},[6305,6309],{"type":42,"tag":76,"props":6306,"children":6307},{"style":93},[6308],{"type":48,"value":349},{"type":42,"tag":76,"props":6310,"children":6311},{"style":99},[6312],{"type":48,"value":6313}," http:\u002F\u002Flocalhost:4001\u002Fversions\n",{"type":42,"tag":76,"props":6315,"children":6316},{"class":78,"line":134},[6317,6321],{"type":42,"tag":76,"props":6318,"children":6319},{"style":93},[6320],{"type":48,"value":349},{"type":42,"tag":76,"props":6322,"children":6323},{"style":99},[6324],{"type":48,"value":6325}," http:\u002F\u002Flocalhost:4001\u002Foctocat\n",{"type":42,"tag":76,"props":6327,"children":6328},{"class":78,"line":499},[6329,6333],{"type":42,"tag":76,"props":6330,"children":6331},{"style":93},[6332],{"type":48,"value":349},{"type":42,"tag":76,"props":6334,"children":6335},{"style":99},[6336],{"type":48,"value":6337}," http:\u002F\u002Flocalhost:4001\u002Fzen\n",{"type":42,"tag":57,"props":6339,"children":6341},{"id":6340},"common-patterns",[6342],{"type":48,"value":6343},"Common Patterns",{"type":42,"tag":389,"props":6345,"children":6347},{"id":6346},"create-repo-issue-and-pr",[6348],{"type":48,"value":6349},"Create Repo, Issue, and PR",{"type":42,"tag":64,"props":6351,"children":6353},{"className":66,"code":6352,"language":68,"meta":69,"style":69},"TOKEN=\"test_token_admin\"\nBASE=\"http:\u002F\u002Flocalhost:4001\"\n\n# Create repo\ncurl -X POST $BASE\u002Fuser\u002Frepos \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"name\": \"my-project\"}'\n\n# Create issue\ncurl -X POST $BASE\u002Frepos\u002Fadmin\u002Fmy-project\u002Fissues \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"title\": \"First issue\"}'\n\n# Create PR\ncurl -X POST $BASE\u002Frepos\u002Fadmin\u002Fmy-project\u002Fpulls \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"title\": \"First PR\", \"head\": \"feature\", \"base\": \"main\"}'\n",[6354],{"type":42,"tag":72,"props":6355,"children":6356},{"__ignoreMap":69},[6357,6381,6406,6413,6421,6450,6477,6500,6520,6527,6534,6562,6589,6612,6632,6639,6646,6674,6701,6724],{"type":42,"tag":76,"props":6358,"children":6359},{"class":78,"line":79},[6360,6365,6369,6373,6377],{"type":42,"tag":76,"props":6361,"children":6362},{"style":172},[6363],{"type":48,"value":6364},"TOKEN",{"type":42,"tag":76,"props":6366,"children":6367},{"style":166},[6368],{"type":48,"value":226},{"type":42,"tag":76,"props":6370,"children":6371},{"style":166},[6372],{"type":48,"value":2305},{"type":42,"tag":76,"props":6374,"children":6375},{"style":99},[6376],{"type":48,"value":1040},{"type":42,"tag":76,"props":6378,"children":6379},{"style":166},[6380],{"type":48,"value":382},{"type":42,"tag":76,"props":6382,"children":6383},{"class":78,"line":89},[6384,6389,6393,6397,6402],{"type":42,"tag":76,"props":6385,"children":6386},{"style":172},[6387],{"type":48,"value":6388},"BASE",{"type":42,"tag":76,"props":6390,"children":6391},{"style":166},[6392],{"type":48,"value":226},{"type":42,"tag":76,"props":6394,"children":6395},{"style":166},[6396],{"type":48,"value":2305},{"type":42,"tag":76,"props":6398,"children":6399},{"style":99},[6400],{"type":48,"value":6401},"http:\u002F\u002Flocalhost:4001",{"type":42,"tag":76,"props":6403,"children":6404},{"style":166},[6405],{"type":48,"value":382},{"type":42,"tag":76,"props":6407,"children":6408},{"class":78,"line":115},[6409],{"type":42,"tag":76,"props":6410,"children":6411},{"emptyLinePlaceholder":119},[6412],{"type":48,"value":122},{"type":42,"tag":76,"props":6414,"children":6415},{"class":78,"line":125},[6416],{"type":42,"tag":76,"props":6417,"children":6418},{"style":83},[6419],{"type":48,"value":6420},"# Create repo\n",{"type":42,"tag":76,"props":6422,"children":6423},{"class":78,"line":134},[6424,6428,6432,6436,6441,6446],{"type":42,"tag":76,"props":6425,"children":6426},{"style":93},[6427],{"type":48,"value":349},{"type":42,"tag":76,"props":6429,"children":6430},{"style":99},[6431],{"type":48,"value":2420},{"type":42,"tag":76,"props":6433,"children":6434},{"style":99},[6435],{"type":48,"value":2760},{"type":42,"tag":76,"props":6437,"children":6438},{"style":172},[6439],{"type":48,"value":6440}," $BASE",{"type":42,"tag":76,"props":6442,"children":6443},{"style":99},[6444],{"type":48,"value":6445},"\u002Fuser\u002Frepos",{"type":42,"tag":76,"props":6447,"children":6448},{"style":172},[6449],{"type":48,"value":359},{"type":42,"tag":76,"props":6451,"children":6452},{"class":78,"line":499},[6453,6457,6461,6465,6469,6473],{"type":42,"tag":76,"props":6454,"children":6455},{"style":99},[6456],{"type":48,"value":367},{"type":42,"tag":76,"props":6458,"children":6459},{"style":166},[6460],{"type":48,"value":372},{"type":42,"tag":76,"props":6462,"children":6463},{"style":99},[6464],{"type":48,"value":2325},{"type":42,"tag":76,"props":6466,"children":6467},{"style":172},[6468],{"type":48,"value":2330},{"type":42,"tag":76,"props":6470,"children":6471},{"style":166},[6472],{"type":48,"value":2305},{"type":42,"tag":76,"props":6474,"children":6475},{"style":172},[6476],{"type":48,"value":359},{"type":42,"tag":76,"props":6478,"children":6479},{"class":78,"line":517},[6480,6484,6488,6492,6496],{"type":42,"tag":76,"props":6481,"children":6482},{"style":99},[6483],{"type":48,"value":367},{"type":42,"tag":76,"props":6485,"children":6486},{"style":166},[6487],{"type":48,"value":372},{"type":42,"tag":76,"props":6489,"children":6490},{"style":99},[6491],{"type":48,"value":2476},{"type":42,"tag":76,"props":6493,"children":6494},{"style":166},[6495],{"type":48,"value":2305},{"type":42,"tag":76,"props":6497,"children":6498},{"style":172},[6499],{"type":48,"value":359},{"type":42,"tag":76,"props":6501,"children":6502},{"class":78,"line":526},[6503,6507,6511,6516],{"type":42,"tag":76,"props":6504,"children":6505},{"style":99},[6506],{"type":48,"value":2492},{"type":42,"tag":76,"props":6508,"children":6509},{"style":166},[6510],{"type":48,"value":190},{"type":42,"tag":76,"props":6512,"children":6513},{"style":99},[6514],{"type":48,"value":6515},"{\"name\": \"my-project\"}",{"type":42,"tag":76,"props":6517,"children":6518},{"style":166},[6519],{"type":48,"value":200},{"type":42,"tag":76,"props":6521,"children":6522},{"class":78,"line":535},[6523],{"type":42,"tag":76,"props":6524,"children":6525},{"emptyLinePlaceholder":119},[6526],{"type":48,"value":122},{"type":42,"tag":76,"props":6528,"children":6529},{"class":78,"line":544},[6530],{"type":42,"tag":76,"props":6531,"children":6532},{"style":83},[6533],{"type":48,"value":3190},{"type":42,"tag":76,"props":6535,"children":6536},{"class":78,"line":557},[6537,6541,6545,6549,6553,6558],{"type":42,"tag":76,"props":6538,"children":6539},{"style":93},[6540],{"type":48,"value":349},{"type":42,"tag":76,"props":6542,"children":6543},{"style":99},[6544],{"type":48,"value":2420},{"type":42,"tag":76,"props":6546,"children":6547},{"style":99},[6548],{"type":48,"value":2760},{"type":42,"tag":76,"props":6550,"children":6551},{"style":172},[6552],{"type":48,"value":6440},{"type":42,"tag":76,"props":6554,"children":6555},{"style":99},[6556],{"type":48,"value":6557},"\u002Frepos\u002Fadmin\u002Fmy-project\u002Fissues",{"type":42,"tag":76,"props":6559,"children":6560},{"style":172},[6561],{"type":48,"value":359},{"type":42,"tag":76,"props":6563,"children":6564},{"class":78,"line":575},[6565,6569,6573,6577,6581,6585],{"type":42,"tag":76,"props":6566,"children":6567},{"style":99},[6568],{"type":48,"value":367},{"type":42,"tag":76,"props":6570,"children":6571},{"style":166},[6572],{"type":48,"value":372},{"type":42,"tag":76,"props":6574,"children":6575},{"style":99},[6576],{"type":48,"value":2325},{"type":42,"tag":76,"props":6578,"children":6579},{"style":172},[6580],{"type":48,"value":2330},{"type":42,"tag":76,"props":6582,"children":6583},{"style":166},[6584],{"type":48,"value":2305},{"type":42,"tag":76,"props":6586,"children":6587},{"style":172},[6588],{"type":48,"value":359},{"type":42,"tag":76,"props":6590,"children":6591},{"class":78,"line":593},[6592,6596,6600,6604,6608],{"type":42,"tag":76,"props":6593,"children":6594},{"style":99},[6595],{"type":48,"value":367},{"type":42,"tag":76,"props":6597,"children":6598},{"style":166},[6599],{"type":48,"value":372},{"type":42,"tag":76,"props":6601,"children":6602},{"style":99},[6603],{"type":48,"value":2476},{"type":42,"tag":76,"props":6605,"children":6606},{"style":166},[6607],{"type":48,"value":2305},{"type":42,"tag":76,"props":6609,"children":6610},{"style":172},[6611],{"type":48,"value":359},{"type":42,"tag":76,"props":6613,"children":6614},{"class":78,"line":630},[6615,6619,6623,6628],{"type":42,"tag":76,"props":6616,"children":6617},{"style":99},[6618],{"type":48,"value":2492},{"type":42,"tag":76,"props":6620,"children":6621},{"style":166},[6622],{"type":48,"value":190},{"type":42,"tag":76,"props":6624,"children":6625},{"style":99},[6626],{"type":48,"value":6627},"{\"title\": \"First issue\"}",{"type":42,"tag":76,"props":6629,"children":6630},{"style":166},[6631],{"type":48,"value":200},{"type":42,"tag":76,"props":6633,"children":6634},{"class":78,"line":648},[6635],{"type":42,"tag":76,"props":6636,"children":6637},{"emptyLinePlaceholder":119},[6638],{"type":48,"value":122},{"type":42,"tag":76,"props":6640,"children":6641},{"class":78,"line":666},[6642],{"type":42,"tag":76,"props":6643,"children":6644},{"style":83},[6645],{"type":48,"value":3355},{"type":42,"tag":76,"props":6647,"children":6648},{"class":78,"line":684},[6649,6653,6657,6661,6665,6670],{"type":42,"tag":76,"props":6650,"children":6651},{"style":93},[6652],{"type":48,"value":349},{"type":42,"tag":76,"props":6654,"children":6655},{"style":99},[6656],{"type":48,"value":2420},{"type":42,"tag":76,"props":6658,"children":6659},{"style":99},[6660],{"type":48,"value":2760},{"type":42,"tag":76,"props":6662,"children":6663},{"style":172},[6664],{"type":48,"value":6440},{"type":42,"tag":76,"props":6666,"children":6667},{"style":99},[6668],{"type":48,"value":6669},"\u002Frepos\u002Fadmin\u002Fmy-project\u002Fpulls",{"type":42,"tag":76,"props":6671,"children":6672},{"style":172},[6673],{"type":48,"value":359},{"type":42,"tag":76,"props":6675,"children":6676},{"class":78,"line":697},[6677,6681,6685,6689,6693,6697],{"type":42,"tag":76,"props":6678,"children":6679},{"style":99},[6680],{"type":48,"value":367},{"type":42,"tag":76,"props":6682,"children":6683},{"style":166},[6684],{"type":48,"value":372},{"type":42,"tag":76,"props":6686,"children":6687},{"style":99},[6688],{"type":48,"value":2325},{"type":42,"tag":76,"props":6690,"children":6691},{"style":172},[6692],{"type":48,"value":2330},{"type":42,"tag":76,"props":6694,"children":6695},{"style":166},[6696],{"type":48,"value":2305},{"type":42,"tag":76,"props":6698,"children":6699},{"style":172},[6700],{"type":48,"value":359},{"type":42,"tag":76,"props":6702,"children":6703},{"class":78,"line":720},[6704,6708,6712,6716,6720],{"type":42,"tag":76,"props":6705,"children":6706},{"style":99},[6707],{"type":48,"value":367},{"type":42,"tag":76,"props":6709,"children":6710},{"style":166},[6711],{"type":48,"value":372},{"type":42,"tag":76,"props":6713,"children":6714},{"style":99},[6715],{"type":48,"value":2476},{"type":42,"tag":76,"props":6717,"children":6718},{"style":166},[6719],{"type":48,"value":2305},{"type":42,"tag":76,"props":6721,"children":6722},{"style":172},[6723],{"type":48,"value":359},{"type":42,"tag":76,"props":6725,"children":6726},{"class":78,"line":738},[6727,6731,6735,6740],{"type":42,"tag":76,"props":6728,"children":6729},{"style":99},[6730],{"type":48,"value":2492},{"type":42,"tag":76,"props":6732,"children":6733},{"style":166},[6734],{"type":48,"value":190},{"type":42,"tag":76,"props":6736,"children":6737},{"style":99},[6738],{"type":48,"value":6739},"{\"title\": \"First PR\", \"head\": \"feature\", \"base\": \"main\"}",{"type":42,"tag":76,"props":6741,"children":6742},{"style":166},[6743],{"type":48,"value":200},{"type":42,"tag":389,"props":6745,"children":6747},{"id":6746},"github-app-installation-token-flow",[6748],{"type":48,"value":6749},"GitHub App Installation Token Flow",{"type":42,"tag":64,"props":6751,"children":6753},{"className":66,"code":6752,"language":68,"meta":69,"style":69},"# 1. Sign a JWT with { iss: \"12345\" } using the app's private key (RS256)\n# 2. Create an installation access token\ncurl -X POST $BASE\u002Fapp\u002Finstallations\u002F100\u002Faccess_tokens \\\n  -H \"Authorization: Bearer \u003Cjwt>\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"permissions\": {\"contents\": \"read\", \"issues\": \"write\"}}'\n# Returns { \"token\": \"ghs_...\", ... }\n\n# 3. Use the installation token to call API endpoints\ncurl $BASE\u002Frepos\u002Fmy-org\u002Forg-repo \\\n  -H \"Authorization: Bearer ghs_...\"\n",[6754],{"type":42,"tag":72,"props":6755,"children":6756},{"__ignoreMap":69},[6757,6765,6773,6801,6824,6847,6867,6875,6882,6890,6910],{"type":42,"tag":76,"props":6758,"children":6759},{"class":78,"line":79},[6760],{"type":42,"tag":76,"props":6761,"children":6762},{"style":83},[6763],{"type":48,"value":6764},"# 1. Sign a JWT with { iss: \"12345\" } using the app's private key (RS256)\n",{"type":42,"tag":76,"props":6766,"children":6767},{"class":78,"line":89},[6768],{"type":42,"tag":76,"props":6769,"children":6770},{"style":83},[6771],{"type":48,"value":6772},"# 2. Create an installation access token\n",{"type":42,"tag":76,"props":6774,"children":6775},{"class":78,"line":115},[6776,6780,6784,6788,6792,6797],{"type":42,"tag":76,"props":6777,"children":6778},{"style":93},[6779],{"type":48,"value":349},{"type":42,"tag":76,"props":6781,"children":6782},{"style":99},[6783],{"type":48,"value":2420},{"type":42,"tag":76,"props":6785,"children":6786},{"style":99},[6787],{"type":48,"value":2760},{"type":42,"tag":76,"props":6789,"children":6790},{"style":172},[6791],{"type":48,"value":6440},{"type":42,"tag":76,"props":6793,"children":6794},{"style":99},[6795],{"type":48,"value":6796},"\u002Fapp\u002Finstallations\u002F100\u002Faccess_tokens",{"type":42,"tag":76,"props":6798,"children":6799},{"style":172},[6800],{"type":48,"value":359},{"type":42,"tag":76,"props":6802,"children":6803},{"class":78,"line":125},[6804,6808,6812,6816,6820],{"type":42,"tag":76,"props":6805,"children":6806},{"style":99},[6807],{"type":48,"value":367},{"type":42,"tag":76,"props":6809,"children":6810},{"style":166},[6811],{"type":48,"value":372},{"type":42,"tag":76,"props":6813,"children":6814},{"style":99},[6815],{"type":48,"value":4938},{"type":42,"tag":76,"props":6817,"children":6818},{"style":166},[6819],{"type":48,"value":2305},{"type":42,"tag":76,"props":6821,"children":6822},{"style":172},[6823],{"type":48,"value":359},{"type":42,"tag":76,"props":6825,"children":6826},{"class":78,"line":134},[6827,6831,6835,6839,6843],{"type":42,"tag":76,"props":6828,"children":6829},{"style":99},[6830],{"type":48,"value":367},{"type":42,"tag":76,"props":6832,"children":6833},{"style":166},[6834],{"type":48,"value":372},{"type":42,"tag":76,"props":6836,"children":6837},{"style":99},[6838],{"type":48,"value":2476},{"type":42,"tag":76,"props":6840,"children":6841},{"style":166},[6842],{"type":48,"value":2305},{"type":42,"tag":76,"props":6844,"children":6845},{"style":172},[6846],{"type":48,"value":359},{"type":42,"tag":76,"props":6848,"children":6849},{"class":78,"line":499},[6850,6854,6858,6863],{"type":42,"tag":76,"props":6851,"children":6852},{"style":99},[6853],{"type":48,"value":2492},{"type":42,"tag":76,"props":6855,"children":6856},{"style":166},[6857],{"type":48,"value":190},{"type":42,"tag":76,"props":6859,"children":6860},{"style":99},[6861],{"type":48,"value":6862},"{\"permissions\": {\"contents\": \"read\", \"issues\": \"write\"}}",{"type":42,"tag":76,"props":6864,"children":6865},{"style":166},[6866],{"type":48,"value":200},{"type":42,"tag":76,"props":6868,"children":6869},{"class":78,"line":517},[6870],{"type":42,"tag":76,"props":6871,"children":6872},{"style":83},[6873],{"type":48,"value":6874},"# Returns { \"token\": \"ghs_...\", ... }\n",{"type":42,"tag":76,"props":6876,"children":6877},{"class":78,"line":526},[6878],{"type":42,"tag":76,"props":6879,"children":6880},{"emptyLinePlaceholder":119},[6881],{"type":48,"value":122},{"type":42,"tag":76,"props":6883,"children":6884},{"class":78,"line":535},[6885],{"type":42,"tag":76,"props":6886,"children":6887},{"style":83},[6888],{"type":48,"value":6889},"# 3. Use the installation token to call API endpoints\n",{"type":42,"tag":76,"props":6891,"children":6892},{"class":78,"line":544},[6893,6897,6901,6906],{"type":42,"tag":76,"props":6894,"children":6895},{"style":93},[6896],{"type":48,"value":349},{"type":42,"tag":76,"props":6898,"children":6899},{"style":172},[6900],{"type":48,"value":6440},{"type":42,"tag":76,"props":6902,"children":6903},{"style":99},[6904],{"type":48,"value":6905},"\u002Frepos\u002Fmy-org\u002Forg-repo",{"type":42,"tag":76,"props":6907,"children":6908},{"style":172},[6909],{"type":48,"value":359},{"type":42,"tag":76,"props":6911,"children":6912},{"class":78,"line":557},[6913,6917,6921,6926],{"type":42,"tag":76,"props":6914,"children":6915},{"style":99},[6916],{"type":48,"value":367},{"type":42,"tag":76,"props":6918,"children":6919},{"style":166},[6920],{"type":48,"value":372},{"type":42,"tag":76,"props":6922,"children":6923},{"style":99},[6924],{"type":48,"value":6925},"Authorization: Bearer ghs_...",{"type":42,"tag":76,"props":6927,"children":6928},{"style":166},[6929],{"type":48,"value":382},{"type":42,"tag":389,"props":6931,"children":6933},{"id":6932},"oauth-flow",[6934],{"type":48,"value":6935},"OAuth Flow",{"type":42,"tag":6937,"props":6938,"children":6939},"ol",{},[6940,6952,6957,6968,6979],{"type":42,"tag":6941,"props":6942,"children":6943},"li",{},[6944,6946],{"type":48,"value":6945},"Redirect user to ",{"type":42,"tag":72,"props":6947,"children":6949},{"className":6948},[],[6950],{"type":48,"value":6951},"$GITHUB_EMULATOR_URL\u002Flogin\u002Foauth\u002Fauthorize?client_id=...&redirect_uri=...&scope=user+repo&state=...",{"type":42,"tag":6941,"props":6953,"children":6954},{},[6955],{"type":48,"value":6956},"User picks a seeded user on the emulator's UI",{"type":42,"tag":6941,"props":6958,"children":6959},{},[6960,6962],{"type":48,"value":6961},"Emulator redirects back with ",{"type":42,"tag":72,"props":6963,"children":6965},{"className":6964},[],[6966],{"type":48,"value":6967},"?code=...&state=...",{"type":42,"tag":6941,"props":6969,"children":6970},{},[6971,6973],{"type":48,"value":6972},"Exchange code for token via ",{"type":42,"tag":72,"props":6974,"children":6976},{"className":6975},[],[6977],{"type":48,"value":6978},"POST \u002Flogin\u002Foauth\u002Faccess_token",{"type":42,"tag":6941,"props":6980,"children":6981},{},[6982],{"type":48,"value":6983},"Use token to call API endpoints",{"type":42,"tag":6985,"props":6986,"children":6987},"style",{},[6988],{"type":48,"value":6989},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":6991,"total":575},[6992,7004,7018,7039,7046,7067,7077],{"slug":6993,"name":6993,"fn":6994,"description":6995,"org":6996,"tags":6997,"stars":24,"repoUrl":25,"updatedAt":7003},"apple","emulate Apple Sign-in for local development","Emulated Sign in with Apple \u002F Apple OIDC for local development and testing. Use when the user needs to test Apple sign-in locally, emulate Apple OIDC discovery, handle Apple token exchange, configure Apple OAuth clients, or work with Apple userinfo without hitting real Apple APIs. Triggers include \"Apple OAuth\", \"emulate Apple\", \"mock Apple login\", \"test Apple sign-in\", \"Sign in with Apple\", \"Apple OIDC\", \"local Apple auth\", or any task requiring a local Apple OAuth\u002FOIDC provider.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6998,7000,7001,7002],{"name":6999,"slug":6993,"type":14},"Apple",{"name":313,"slug":310,"type":14},{"name":16,"slug":17,"type":14},{"name":22,"slug":23,"type":14},"2026-07-17T06:08:52.141606",{"slug":7005,"name":7005,"fn":7006,"description":7007,"org":7008,"tags":7009,"stars":24,"repoUrl":25,"updatedAt":7017},"aws","emulate AWS cloud services locally","Emulated AWS cloud services (S3, SQS, IAM, STS) for local development and testing. Use when the user needs to interact with AWS API endpoints locally, test S3 bucket and object operations, emulate SQS queues and messages, manage IAM users\u002Froles\u002Faccess keys, test STS assume role, or work without hitting real AWS APIs. Triggers include \"AWS emulator\", \"emulate AWS\", \"mock S3\", \"local SQS\", \"test IAM\", \"emulate S3\", \"AWS locally\", \"STS assume role\", or any task requiring local AWS service emulation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[7010,7012,7015,7016],{"name":7011,"slug":7005,"type":14},"AWS",{"name":7013,"slug":7014,"type":14},"Cloud","cloud",{"name":16,"slug":17,"type":14},{"name":22,"slug":23,"type":14},"2026-07-17T06:08:52.818809",{"slug":195,"name":195,"fn":7019,"description":7020,"org":7021,"tags":7022,"stars":24,"repoUrl":25,"updatedAt":7038},"emulate developer APIs for local testing","Local drop-in API emulator for Vercel, GitHub, Google, Slack, Apple, Microsoft, AWS, Linear, and other developer APIs. Use when the user needs to start emulated services, configure seed data, write tests against local APIs, set up CI without network access, or work with the emulate CLI or programmatic API. Triggers include \"start the emulator\", \"emulate services\", \"mock API locally\", \"create emulator config\", \"test against local API\", \"npx emulate\", or any task requiring local service emulation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[7023,7024,7025,7026,7027,7030,7031,7034,7037],{"name":19,"slug":20,"type":14},{"name":6999,"slug":6993,"type":14},{"name":7011,"slug":7005,"type":14},{"name":13,"slug":4,"type":14},{"name":7028,"slug":7029,"type":14},"Linear","linear",{"name":16,"slug":17,"type":14},{"name":7032,"slug":7033,"type":14},"Microsoft","microsoft",{"name":7035,"slug":7036,"type":14},"Slack","slack",{"name":22,"slug":23,"type":14},"2026-07-17T06:08:59.816303",{"slug":4,"name":4,"fn":5,"description":6,"org":7040,"tags":7041,"stars":24,"repoUrl":25,"updatedAt":26},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[7042,7043,7044,7045],{"name":19,"slug":20,"type":14},{"name":13,"slug":4,"type":14},{"name":16,"slug":17,"type":14},{"name":22,"slug":23,"type":14},{"slug":7047,"name":7047,"fn":7048,"description":7049,"org":7050,"tags":7051,"stars":24,"repoUrl":25,"updatedAt":7066},"google","emulate Google services for local development","Emulated Google OAuth 2.0, OpenID Connect, Gmail, Calendar, and Drive for local development and testing. Use when the user needs to test Google sign-in locally, emulate OIDC discovery, handle Google token exchange, configure Google OAuth clients, work with Gmail messages\u002Fdrafts\u002Fthreads\u002Flabels, manage Calendar events, upload or list Drive files, or work with Google userinfo without hitting real Google APIs. Triggers include \"Google OAuth\", \"emulate Google\", \"mock Google login\", \"test Google sign-in\", \"OIDC emulator\", \"Google OIDC\", \"Gmail API\", \"Google Calendar\", \"Google Drive\", \"local Google auth\", or any task requiring a local Google API.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[7052,7053,7056,7058,7061,7064,7065],{"name":313,"slug":310,"type":14},{"name":7054,"slug":7055,"type":14},"Gmail","gmail",{"name":7057,"slug":7047,"type":14},"Google",{"name":7059,"slug":7060,"type":14},"Google Calendar","google-calendar",{"name":7062,"slug":7063,"type":14},"Google Drive","google-drive",{"name":16,"slug":17,"type":14},{"name":5937,"slug":5934,"type":14},"2026-07-17T06:08:59.475325",{"slug":7029,"name":7029,"fn":7068,"description":7069,"org":7070,"tags":7071,"stars":24,"repoUrl":25,"updatedAt":7076},"emulate Linear API for local development","Emulated Linear GraphQL API for local development and testing. Use when the user needs to test Linear integrations locally, emulate Linear issues, comments, teams, workflow states, OAuth apps, webhooks, agent sessions, or work with the Linear API without hitting the real Linear service. Triggers include \"Linear API\", \"emulate Linear\", \"mock Linear\", \"test Linear OAuth\", \"Linear webhook\", \"Linear agent\", \"local Linear\", or any task requiring a local Linear API.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[7072,7073,7074,7075],{"name":19,"slug":20,"type":14},{"name":7028,"slug":7029,"type":14},{"name":16,"slug":17,"type":14},{"name":22,"slug":23,"type":14},"2026-07-17T06:04:11.495374",{"slug":7033,"name":7033,"fn":7078,"description":7079,"org":7080,"tags":7081,"stars":24,"repoUrl":25,"updatedAt":7086},"emulate Microsoft Entra ID for local development","Emulated Microsoft Entra ID (Azure AD) OAuth 2.0 \u002F OpenID Connect for local development and testing. Use when the user needs to test Microsoft sign-in locally, emulate Entra ID OIDC discovery, handle Microsoft token exchange, configure Azure AD OAuth clients, work with Microsoft Graph \u002Fme, or test PKCE\u002Fclient credentials flows without hitting real Microsoft APIs. Triggers include \"Microsoft OAuth\", \"Entra ID\", \"Azure AD\", \"emulate Microsoft\", \"mock Microsoft login\", \"test Microsoft sign-in\", \"Microsoft OIDC\", \"local Microsoft auth\", or any task requiring a local Microsoft OAuth\u002FOIDC provider.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[7082,7083,7084,7085],{"name":313,"slug":310,"type":14},{"name":16,"slug":17,"type":14},{"name":7032,"slug":7033,"type":14},{"name":5937,"slug":5934,"type":14},"2026-07-17T06:08:55.822349",{"items":7088,"total":7252},[7089,7107,7117,7129,7142,7157,7169,7180,7193,7206,7218,7237],{"slug":7090,"name":7090,"fn":7091,"description":7092,"org":7093,"tags":7094,"stars":7104,"repoUrl":7105,"updatedAt":7106},"agent-browser","automate browser interactions for AI agents","Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to \"open a website\", \"fill out a form\", \"click a button\", \"take a screenshot\", \"scrape data from a page\", \"test this web app\", \"login to a site\", \"automate browser actions\", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[7095,7098,7101],{"name":7096,"slug":7097,"type":14},"Agents","agents",{"name":7099,"slug":7100,"type":14},"Automation","automation",{"name":7102,"slug":7103,"type":14},"Browser Automation","browser-automation",38346,"https:\u002F\u002Fgithub.com\u002Fvercel-labs\u002Fagent-browser","2026-07-20T05:55:17.314329",{"slug":7108,"name":7108,"fn":7109,"description":7110,"org":7111,"tags":7112,"stars":7104,"repoUrl":7105,"updatedAt":7116},"agentcore","run browser automation on AWS Bedrock","Run agent-browser on AWS Bedrock AgentCore cloud browsers. Use when the user wants to use AgentCore, run browser automation on AWS, use a cloud browser with AWS credentials, or needs a managed browser session backed by AWS infrastructure. Triggers include \"use agentcore\", \"run on AWS\", \"cloud browser with AWS\", \"bedrock browser\", \"agentcore session\", or any task requiring AWS-hosted browser automation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[7113,7114,7115],{"name":7099,"slug":7100,"type":14},{"name":7011,"slug":7005,"type":14},{"name":7102,"slug":7103,"type":14},"2026-07-17T06:08:33.665276",{"slug":7118,"name":7118,"fn":7119,"description":7120,"org":7121,"tags":7122,"stars":7104,"repoUrl":7105,"updatedAt":7128},"core","navigate and interact with web pages","Core agent-browser usage guide. Read this before running any agent-browser commands. Covers the snapshot-and-ref workflow, navigating pages, interacting with elements (click, fill, type, select), extracting text and data, taking screenshots, managing tabs, handling forms and auth, waiting for content, running multiple browser sessions in parallel, and troubleshooting common failures. Use when the user asks to interact with a website, fill a form, click something, extract data, take a screenshot, log into a site, test a web app, or automate any browser task.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[7123,7124,7125],{"name":7096,"slug":7097,"type":14},{"name":7102,"slug":7103,"type":14},{"name":7126,"slug":7127,"type":14},"Navigation","navigation","2026-07-26T05:47:42.378419",{"slug":7130,"name":7130,"fn":7131,"description":7132,"org":7133,"tags":7134,"stars":7104,"repoUrl":7105,"updatedAt":7141},"derive-client","reverse engineer internal APIs from browser traffic","Reverse-engineer a website's internal API by recording browser traffic into a HAR file, then generate a standalone client or CLI that calls the endpoints directly, with no browser needed after the first recording. Use when asked to \"derive a client\", \"build a CLI for \u003Csite>\", \"reverse engineer this site's API\", \"record network requests\", \"turn this site into an API\", or when the same site will be automated repeatedly and direct HTTP calls would beat driving the browser every time.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[7135,7136,7137,7138],{"name":19,"slug":20,"type":14},{"name":7099,"slug":7100,"type":14},{"name":7102,"slug":7103,"type":14},{"name":7139,"slug":7140,"type":14},"Web Scraping","web-scraping","2026-07-20T06:24:11.928835",{"slug":7143,"name":7143,"fn":7144,"description":7145,"org":7146,"tags":7147,"stars":7104,"repoUrl":7105,"updatedAt":7156},"dogfood","perform exploratory testing on web applications","Systematically explore and test a web application to find bugs, UX issues, and other problems. Use when asked to \"dogfood\", \"QA\", \"exploratory test\", \"find issues\", \"bug hunt\", \"test this app\u002Fsite\u002Fplatform\", or review the quality of a web application. Produces a structured report with full reproduction evidence -- step-by-step screenshots, repro videos, and detailed repro steps for every issue -- so findings can be handed directly to the responsible teams.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[7148,7149,7152,7155],{"name":7102,"slug":7103,"type":14},{"name":7150,"slug":7151,"type":14},"Debugging","debugging",{"name":7153,"slug":7154,"type":14},"QA","qa",{"name":22,"slug":23,"type":14},"2026-07-17T06:07:41.421482",{"slug":7158,"name":7158,"fn":7159,"description":7160,"org":7161,"tags":7162,"stars":7104,"repoUrl":7105,"updatedAt":7168},"electron","automate Electron desktop applications","Automate Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify, etc.) using agent-browser via Chrome DevTools Protocol. Use when the user needs to interact with an Electron app, automate a desktop app, connect to a running app, control a native app, or test an Electron application. Triggers include \"automate Slack app\", \"control VS Code\", \"interact with Discord app\", \"test this Electron app\", \"connect to desktop app\", or any task requiring automation of a native Electron application.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[7163,7164,7165],{"name":7096,"slug":7097,"type":14},{"name":7102,"slug":7103,"type":14},{"name":7166,"slug":7167,"type":14},"Desktop","desktop","2026-07-17T06:08:28.007783",{"slug":7036,"name":7036,"fn":7170,"description":7171,"org":7172,"tags":7173,"stars":7104,"repoUrl":7105,"updatedAt":7179},"interact with Slack workspaces","Interact with Slack workspaces using browser automation. Use when the user needs to check unread channels, navigate Slack, send messages, extract data, find information, search conversations, or automate any Slack task. Triggers include \"check my Slack\", \"what channels have unreads\", \"send a message to\", \"search Slack for\", \"extract from Slack\", \"find who said\", or any task requiring programmatic Slack interaction.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[7174,7175,7178],{"name":7102,"slug":7103,"type":14},{"name":7176,"slug":7177,"type":14},"Messaging","messaging",{"name":7035,"slug":7036,"type":14},"2026-07-17T06:08:27.679015",{"slug":7181,"name":7181,"fn":7182,"description":7183,"org":7184,"tags":7185,"stars":7104,"repoUrl":7105,"updatedAt":7192},"vercel-sandbox","run browser automation in Vercel Sandbox","Run agent-browser + Chrome inside Vercel Sandbox microVMs for browser automation from any Vercel-deployed app. Use when the user needs browser automation in a Vercel app (Next.js, SvelteKit, Nuxt, Remix, Astro, etc.), wants to run headless Chrome without binary size limits, needs persistent browser sessions across commands, or wants ephemeral isolated browser environments. Triggers include \"Vercel Sandbox browser\", \"microVM Chrome\", \"agent-browser in sandbox\", \"browser automation on Vercel\", or any task requiring Chrome in a Vercel Sandbox.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[7186,7187,7188,7189],{"name":7099,"slug":7100,"type":14},{"name":7102,"slug":7103,"type":14},{"name":22,"slug":23,"type":14},{"name":7190,"slug":7191,"type":14},"Vercel","vercel","2026-07-17T06:08:28.349899",{"slug":7194,"name":7194,"fn":7195,"description":7196,"org":7197,"tags":7198,"stars":7203,"repoUrl":7204,"updatedAt":7205},"deploy-to-vercel","deploy applications to Vercel","Deploy applications and websites to Vercel. Use when the user requests deployment actions like \"deploy my app\", \"deploy and give me the link\", \"push this live\", or \"create a preview deployment\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[7199,7202],{"name":7200,"slug":7201,"type":14},"Deployment","deployment",{"name":7190,"slug":7191,"type":14},28993,"https:\u002F\u002Fgithub.com\u002Fvercel-labs\u002Fagent-skills","2026-07-17T06:08:41.18374",{"slug":7207,"name":7207,"fn":7208,"description":7209,"org":7210,"tags":7211,"stars":7203,"repoUrl":7204,"updatedAt":7217},"vercel-cli-with-tokens","manage Vercel projects via CLI","Deploy and manage projects on Vercel using token-based authentication. Use when working with Vercel CLI using access tokens rather than interactive login — e.g. \"deploy to vercel\", \"set up vercel\", \"add environment variables to vercel\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[7212,7215,7216],{"name":7213,"slug":7214,"type":14},"CLI","cli",{"name":7200,"slug":7201,"type":14},{"name":7190,"slug":7191,"type":14},"2026-07-17T06:08:41.84179",{"slug":7219,"name":7219,"fn":7220,"description":7221,"org":7222,"tags":7223,"stars":7203,"repoUrl":7204,"updatedAt":7236},"vercel-composition-patterns","implement scalable React composition patterns","React composition patterns that scale. Use when refactoring components with boolean prop proliferation, building flexible component libraries, or designing reusable APIs. Triggers on tasks involving compound components, render props, context providers, or component architecture. Includes React 19 API changes.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[7224,7227,7230,7233],{"name":7225,"slug":7226,"type":14},"Best Practices","best-practices",{"name":7228,"slug":7229,"type":14},"Frontend","frontend",{"name":7231,"slug":7232,"type":14},"React","react",{"name":7234,"slug":7235,"type":14},"UI Components","ui-components","2026-07-17T06:05:40.576913",{"slug":7238,"name":7238,"fn":7239,"description":7240,"org":7241,"tags":7242,"stars":7203,"repoUrl":7204,"updatedAt":7251},"vercel-optimize","optimize Vercel project performance and costs","Use for Vercel cost and performance optimization on deployed projects, especially Next.js, SvelteKit, Nuxt, and limited Astro apps. Collect Vercel metrics, usage, project config, and code scan results first; investigate only metric-backed candidates; produce ranked recommendations grounded in verified files and version-aware Vercel\u002Fframework docs. Trigger for Vercel bill reduction, slow or expensive routes, caching opportunities, Function Invocations, Build Minutes, Fast Data Transfer, Core Web Vitals, Bot Management, Fluid compute, or cost breakdown requests.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[7243,7246,7247,7250],{"name":7244,"slug":7245,"type":14},"Cost Optimization","cost-optimization",{"name":7200,"slug":7201,"type":14},{"name":7248,"slug":7249,"type":14},"Performance","performance",{"name":7190,"slug":7191,"type":14},"2026-07-17T06:04:08.327515",100]