Quickstart
Create a client and evaluate your first flag
Create a client with createClient, wait for it to be ready, and evaluate flags in-process — no network call per evaluation.
import { createClient } from '@foredeck/sdk-js';
const foredeck = createClient({
sdkKey: process.env.FOREDECK_SDK_KEY!,
baseUrl: 'http://localhost:8000', // Foredeck experiment API
eventsUrl: 'http://localhost:5000', // Foredeck events API
service: 'checkout', // stamped on every emission (PRD-13)
env: 'prod', // environment; pairs with service
defaults: { 'checkout-button': 'control' },
});
await foredeck.ready();
const { variation, config } = foredeck.getVariation('checkout-button', userId);
if (variation === 'treatment') {
renderButton(config?.color as string);
}
const color = foredeck.getConfigValue('checkout-button', userId, 'color', 'blue');
await foredeck.close(); // flushes pending exposuresKey options
sdkKey,baseUrl,eventsUrlare required.service/envattribute every emission to a registered Foredeck service.defaultsprovides per-flag fallback variations so evaluation never throws, even before the first ruleset fetch.