OpenFlags

Quickstart

Get the monorepo running locally and understand the main developer workflow.

Quickstart

This repository is a Bun monorepo. The fastest way to understand OpenFlags is to run the main applications locally, then connect an app to the SDK.

Requirements

  • Bun
  • A local environment capable of running the server and dashboard

Install dependencies

bun install

Run the main apps

bun run dev:server

In a second terminal:

bun run dev:dashboard

If you want the docs app too:

bun run dev:docs

What you get

  • The server exposes the flag API and stores rollout data.
  • The dashboard lets you manage projects, users, and feature flags.
  • The docs site gives onboarding and product messaging in one place.

Typical flow

  1. Create or choose a project.
  2. Define a feature flag with a stable snake_case key.
  3. Enable it for a subset of users or by rollout percentage.
  4. Use the SDK in your app to check the flag locally.

First integration example

import { createClient } from "@openflagsdev/js"

const flags = await createClient({
  apiUrl: "http://localhost:4000",
  project: "my-app",
  userId: "user_123",
})

if (flags.isEnabled("new_checkout")) {
  showNewCheckout()
}

Continue with Concepts for the reasoning behind evaluation and rollout behavior.

Deploy Live

Want to skip local setup and go straight to production?

Deploy on RailwayDeploy on Zeabur

On this page