Meridian
Guide

Usage

Learn how to initialize and use the Meridian SDK in your applications.

IMPORTANT

Meridian requires async initialization. Always use Meridian.create(). Never use new Meridian() - the constructor is private and will fail.

Basic Initialization

Initialize Meridian with your provider configuration for local development.

index.ts
import { Meridian } from "meridianjs";

// ✅ CORRECT: Async initialization
const meridian = await Meridian.create({
  github: {
    auth: {
      token: process.env.GITHUB_TOKEN
    },
  },
  localUnsafe: true, // Required for local development without StateStorage
});

const { data, meta } = await meridian.github.get("/users/octocat");
console.log(meta.rateLimit.remaining);

Production Deployment

For distributed deployments, you must provide a StateStorage implementation for shared state management.

production.ts
import { Meridian } from "meridianjs";
import { RedisStateStorage } from "./your-redis-storage.js";

const meridian = await Meridian.create({
  mode: "distributed",
  stateStorage: new RedisStateStorage(redisClient),
  github: {
    auth: { token: process.env.GITHUB_TOKEN },
  },
});