octokit.js

The all-batteries-included GitHub SDK for browsers, Node.js, and Deno.

SDK
npm
v5.0.5
7,829stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
75/100Good
Development Activity64
Maintenance52
Community84
Maturity60
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
86/100Excellent
Architecture90
Code Quality88
Innovation86
Learning Curve78

Octokit is the official GitHub SDK for JavaScript, bundling GitHub’s core Octokit libraries into a single, universal package. It combines a REST and GraphQL API client, a GitHub App and OAuth client, and a pre-authenticated Action client, so you can call any part of GitHub’s platform APIs from browsers, Node.js, or Deno.

Built as a thin, pre-configured composition over @octokit/core and its plugin ecosystem, Octokit ships with authentication, automatic pagination, request retries, and rate-limit throttling wired in by default, while remaining fully decomposable and extendable through plugins.

What You Get

  • A unified Octokit client exposing typed REST endpoint methods (octokit.rest.*), a raw octokit.request(), and GraphQL queries against GitHub’s APIs.
  • App and OAuthApp clients for GitHub App authentication, installation tokens, webhook handling, and OAuth flows, including a ready-made Node middleware.
  • Built-in best-practice plugins: automatic pagination (REST and GraphQL), request retries, and rate-limit/secondary-rate-limit throttling enabled by default.
  • Full TypeScript declarations and 100% test coverage across the underlying libraries, with universal ESM builds for browser, Node, and Deno.

Common Use Cases

  • Building GitHub integrations, bots, and automation that read from and write to the REST and GraphQL APIs.
  • Authenticating as a GitHub App and acting on behalf of installations to open issues, manage repos, or respond to events.
  • Handling GitHub webhooks and OAuth login flows in a Node server via the provided App SDK and middleware.
  • Scripting repository tasks inside GitHub Actions with the pre-authenticated Action client.

Under The Hood

Architecture — Octokit is a deliberately thin composition layer rather than a monolith. src/octokit.ts takes Octokit from @octokit/core and applies five plugins — restEndpointMethods, paginateRest, paginateGraphQL, retry, and throttling — then calls .defaults() to bake in a userAgent and default onRateLimit/onSecondaryRateLimit handlers. src/app.ts similarly wraps @octokit/app and @octokit/oauth-app, calling .defaults({ Octokit }) so the App and OAuthApp clients construct pre-configured Octokit instances. src/index.ts re-exports Octokit, App, OAuthApp, createNodeMiddleware, and RequestError, giving a single import surface over the whole library family.

Tech Stack — Written in TypeScript (ESM, with a type: module package and Node >= 20). Its runtime dependencies are entirely the scoped @octokit/* packages (core, app, oauth-app, the paginate/retry/throttling/rest-endpoint plugins, request-error, types, webhooks). Build uses a custom scripts/build.mjs plus tsc and esbuild; tests run on Vitest with v8 coverage; nock and mockdate provide HTTP and time mocking. Conditional exports require consumers to use node16 module resolution.

Code Quality — The library states 100% test coverage across its underlying libraries. This top-level package keeps test/ focused on integration and smoke concerns (app.test.ts, smoke.test.ts) plus a typescript-validate.ts type-level test run under strict tsc flags. The throttle callbacks are cleanly separated and annotated with v8-ignore preserve comments; naming is consistent and idiomatic. Because the real logic lives in the composed @octokit/* packages, this repo is intentionally small and readable.

API Design — Ergonomics are a core selling point. A single new Octokit({ auth }) yields typed octokit.rest.* methods, a raw octokit.request(), GraphQL queries, and automatic pagination, with retries and throttling on by default so most users need no configuration. Authentication is swappable via authStrategy, and App/OAuthApp collapse multi-step GitHub App flows into a few lines. The README is extensive with copy-paste examples for browsers, Deno, and Node, keeping the getting-started boilerplate minimal.

Used by 21 apps in this directory

TypeScript
76%
AGPL 3.0

Abby

Developer Tools · Product Management

167

Statically typed feature flags, remote config, and A/B testing with framework-native SDKs for TypeScript teams.

View details
30
Repo Health
70
Technical
63
Dependency
Built with
TypeScript76%
MDX18%
Updated 1 years ago
TypeScript
96%
Other

Amplication

Developer Tools · AI Code Assistants · Automation

16,010

Create production-ready backend services with your organization's standards baked in — generating NestJS, Prisma, and GraphQL code that you own and control.

View details
61
Repo Health
84
Technical
60
Dependency
Built with
TypeScript96%
Updated 1 months ago
TypeScript
100%
MIT

Botpress

AI Assistants · AI Development · Customer Support

14,872

The open-source hub for building and deploying LLM-powered AI agents with TypeScript-first tooling, 40+ integrations, and a revolutionary code-execution agent framework.

View details
95
Repo Health
82
Technical
66
Dependency
Built with
TypeScript100%
Updated yesterday
Rust
67%
MIT

Bun

Developer Tools

95,452

An all-in-one JavaScript and TypeScript toolkit — one Rust-and-JavaScriptCore binary that replaces Node.js, npm, a bundler, and a test runner with faster equivalents.

View details
92
Repo Health
91
Technical
66
Dependency
Built with
Rust67%
C++19%
Updated today
Java
73%
Other

ByteChef

Automation · AI Agents

990

Unified open-source platform for AI agent orchestration and workflow automation with 180+ connectors, MCP support, and durable execution.

View details
81
Repo Health
82
Technical
73
Dependency
Built with
Java73%
TypeScript26%
Updated 2 days ago
TypeScript
55%
Other

Cap

Team Chat · Video Conferencing

20,986

Open source Loom alternative with GPU-accelerated recording, instant share links, AI summaries, and full self-hosting via Docker Compose.

View details
89
Repo Health
81
Technical
65
Dependency
Built with
TypeScript55%
Rust40%
Updated yesterday
TypeScript
99%
Other

Dokploy

Devops · Hosting Control Panel · Security

36,702

Self-hosted PaaS that deploys apps and databases on your own VPS using Docker, Traefik, and multi-build-system orchestration

View details
89
Repo Health
76
Technical
65
Dependency
Built with
TypeScript99%
Updated yesterday
TypeScript
75%
Apache 2.0

Fern

Developer Tools

3,761

Fern turns a single OpenAPI, AsyncAPI, or Protobuf definition into type-safe SDKs for nine languages and a hosted API documentation site, all from one CLI and one source of truth.

View details
90
Repo Health
86
Technical
67
Dependency
Built with
TypeScript75%
Updated today
TypeScript
61%
EPL-2.0

Huly Platform

Project Management · Team Chat · Collaboration

27,384

Open-source all-in-one workspace that replaces Linear, Jira, Slack, and Notion for product and engineering teams.

View details
90
Repo Health
86
Technical
64
Dependency
Built with
TypeScript61%
Svelte34%
Updated 1 weeks ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search