@octokit/core

Extendable client for GitHub's REST and GraphQL APIs

SDK
npm
v7.0.7
1,283stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
81/100Excellent
Development Activity64
Maintenance72
Community88
Maturity60
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
80/100Excellent
Architecture85
Code Quality82
Innovation80
Learning Curve74

@octokit/core is the minimal, extendable client at the heart of the Octokit ecosystem for calling GitHub’s REST and GraphQL APIs. It bundles authentication, request signing, and hook-based middleware into a single Octokit class that can be extended with plugins and defaults, letting teams build a custom Octokit tailored to exactly the endpoints and behavior they need rather than pulling in the full, heavier octokit package.

Beyond just making requests, it standardizes how the wider Octokit family (REST plugins, GraphQL, authentication strategies, pagination) compose together, which is why it underpins most GitHub Apps, Actions, and automation tooling written in JavaScript/TypeScript.

What You Get

  • A minimal Octokit class supporting both REST (octokit.request()) and GraphQL (octokit.graphql()) calls out of the box
  • A plugin system (Octokit.plugin()) for composing additional functionality like the full REST endpoint methods, pagination, or throttling
  • Built-in authentication support via @octokit/auth-token and pluggable custom auth strategies (Apps, OAuth, installation tokens)
  • A hooks API (before, after, error, request) for intercepting and modifying every request/response
  • Runs in Node.js and browsers, with first-class TypeScript types generated from the OpenAPI-derived Octokit spec

Common Use Cases

  • Building a custom, minimal GitHub API client with only the plugins and auth strategy a project actually needs
  • Powering GitHub Apps and Actions that need authenticated REST/GraphQL access to repositories, issues, and pull requests
  • Writing CI/automation scripts that query or mutate GitHub data (labels, releases, workflow runs) via a consistent client
  • Composing custom Octokit distributions as a base for internal SDKs or tools by layering project-specific plugins on top of core

Under The Hood

Architecture - src/index.ts defines the Octokit base class: its constructor wires up hooks (via before-after-hook), an auth strategy, and default request options, then exposes request (delegating to @octokit/request) and graphql (delegating to @octokit/graphql) as bound methods; the static Octokit.plugin() method returns a new subclass with additional instance properties/methods mixed in, which is how the rest of the Octokit ecosystem (REST endpoint methods, pagination, retry, throttling) is layered on without bloating the core.

Tech Stack - Pure TypeScript, published as an ESM module ("type": "module"), depending on sibling Octokit packages (@octokit/auth-token, @octokit/graphql, @octokit/request, @octokit/request-error) rather than reimplementing HTTP/auth logic; the build pipeline uses a custom scripts/build.mjs plus tsc, and tests run under Vitest with coverage, alongside a dedicated test:typescript step that type-checks example usage under strict compiler options.

Code Quality - The core module itself is deliberately small (three files: index.ts, types.ts, version.ts), pushing complexity out to well-tested sibling packages and plugins, which keeps the surface area easy to reason about; the test:typescript validation step is a notable quality practice, catching type-level regressions in consumer-facing generics that unit tests alone would miss.

API Design - The plugin-composition pattern (Octokit.plugin(pluginA, pluginB)) is the standout ergonomic choice: it lets consumers opt into exactly the functionality they need (e.g. skip REST endpoint sugar if they only need GraphQL) while keeping a single, consistent Octokit mental model across the whole ecosystem, at the cost of needing to understand the plugin/hook system to extend behavior.

Used by 14 apps in this directory

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
Java
34%
Apache 2.0

Enso

Analytics · Data Engineering · Low Code Platforms

7,437

A visual and textual programming platform for data prep and analysis where the node graph and the underlying Enso code are always perfectly in sync, built by an Alteryx co-founder on a GraalVM engine.

View details
70
Repo Health
90
Technical
62
Dependency
Built with
Java34%
TypeScript27%
Scala26%
Updated 1 weeks ago
TypeScript
98%
MIT

GraphQL Hive

Developer Tools · Devops · Monitoring

485

Open-source GraphQL schema registry and observability platform with breaking change detection, federation support, and CI/CD integration for teams of any size.

View details
90
Repo Health
81
Technical
70
Dependency
Built with
TypeScript98%
Updated today
TypeScript
97%
Other

Infisical

Security · Devops

28,838

The open-source platform for secrets, certificates, privileged access, and AI agent security — all in one self-hostable system.

View details
91
Repo Health
84
Technical
66
Dependency
Built with
TypeScript97%
Updated today
TypeScript
96%
Other

Lightdash

Analytics · Data Engineering

6,056

The open-source Looker alternative that turns your dbt project's metrics and dimensions into governed, self-serve charts and dashboards — no license key required.

View details
93
Repo Health
84
Technical
66
Dependency
Built with
TypeScript96%
Updated today
PHP
82%
Other

Mautic

Automation · Marketing · Ecommerce

10,366

The world's largest open source marketing automation platform — own your data, run multi-channel campaigns, and escape vendor lock-in forever.

View details
98
Repo Health
76
Technical
64
Dependency
Built with
PHP82%
Updated yesterday
TypeScript
86%
MIT

medusa

Ecommerce

35,900

The most flexible open-source commerce platform — build B2C, B2B, and marketplace applications with modular, composable commerce primitives.

View details
94
Repo Health
87
Technical
65
Dependency
Built with
TypeScript86%
JavaScript14%
Updated today
TypeScript
92%
Other

n8n

Automation · No Code Platforms

201,152

Code when you need it, UI when you don't — the workflow automation platform built for technical teams who refuse to choose.

View details
95
Repo Health
87
Technical
66
Dependency
Built with
TypeScript92%
Updated today
TypeScript
100%
Apache 2.0

Nordcraft

No Code Platforms · Low Code Platforms

488

Build high-performance server-rendered web apps with a visual editor, formula engine, and self-hostable backend — all in TypeScript.

View details
84
Repo Health
81
Technical
77
Dependency
Built with
TypeScript100%
Updated today

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