Features
Everything you need to
control your releases
Feature flags, targeting, environments, remote config, and gradual rollouts — built for teams that ship fast.
Feature flags that just work
Boolean, multivariate, and value flags. Evaluate locally with sub-millisecond latency. No network call per check — rules sync in the background.
- Boolean on/off toggles
- Multivariate string variants
- Typed value flags (number, JSON)
- Sub-millisecond evaluation
const enabled = flagify.isEnabled(
'new-checkout'
);
const variant = flagify.getValue<string>(
'pricing-page'
);
// 'control' | 'variant-a' | 'variant-b' Target the right users
Define rules based on any user attribute. Combine conditions, use percentage rollouts, and create reusable segments — all without a deploy.
- Attribute-based rules
- Percentage rollouts with consistent hashing
- Reusable user segments
- AND / OR condition logic
// User context is set at init time
// Targeting rules evaluate automatically
const showBeta = flagify.isEnabled(
'beta-dashboard'
);
if (showBeta) {
renderBetaDashboard();
} Ship across environments safely
Every environment has independent flag states, targeting rules, and API keys. Test in development, validate in staging, promote to production.
- Isolated dev / staging / prod
- Per-environment API keys
- Promote config between environments
- Custom environments (canary, preview)
const flagify = new Flagify({
projectKey: 'my-project',
// Key prefix determines env: pk_prod_
publicKey: process.env.FLAGIFY_PUBLIC_KEY,
});
// Same flag, different rules per env
const enabled = flagify.isEnabled(
'new-onboarding'
); Change behavior at runtime
Store typed values as flags — numbers, strings, JSON objects. Update configuration without touching code or waiting for a deploy cycle.
- Typed values (string, number, JSON)
- Fallback defaults in code
- Real-time updates via streaming
- No deploy required
const maxRetries = flagify.getValue<number>(
'api-max-retries',
3 // fallback
);
const config = flagify.getValue<OnboardingConfig>(
'onboarding-steps',
{ steps: ['welcome', 'profile'] }
); Roll out gradually, roll back instantly
Release to 1% of users, monitor, then ramp to 100%. If something breaks, kill the flag from the dashboard — no deploy, no downtime.
- Percentage-based rollouts
- Consistent user assignment
- Instant kill switch
- Pair with metrics for data-driven decisions
// Dashboard: "new-search" → 25% of users
// Same user always gets the same result
const useNewSearch = flagify.isEnabled(
'new-search-engine'
);
const results = useNewSearch
? await elasticSearch(query)
: await legacySearch(query); First-class SDK support
TypeScript-first SDKs for Node.js and React. Clean APIs, strong types, local caching, and background sync. Integrate in minutes.
- Node.js / TypeScript SDK
- React hooks & provider
- Streaming + polling refresh
- Works with any JS runtime
// React — reactive flag evaluation
import { useFlag, useVariant } from '@flagify/react';
function Navbar() {
const showNew = useFlag('new-navbar');
return showNew
? <NewNavbar />
: <ClassicNavbar />;
} And more
Built for production
Audit log
Track every flag change — who changed what, when, and in which environment.
API-first
REST API for managing flags, environments, and targeting rules programmatically.
Streaming sync
Flags update in real time via SSE. No polling delays, no stale data.
CLI tooling
Manage flags from your terminal. List, create, toggle — fits into any CI/CD pipeline.
Type safety
Fully typed SDK with TypeScript generics. Your editor knows your flag values.
Local dev mode
Override flags locally during development without affecting other environments.
First-class AI tooling
Whether you vibe code with AI or pair-program with an agent, Flagify ships with tools, skills, and rules for the AI coding tools you already use.
Claude Code
Slash commands & skillsCustom commands to create flags, toggle environments, and manage rollouts from your terminal agent.
Cursor
.cursorrulesContext-aware rules that teach Cursor the Flagify SDK patterns, targeting conventions, and best practices.
GitHub Copilot
Instructions & promptsPrompt files and copilot-instructions that guide completions for flag checks and environment-safe patterns.
Windsurf
.windsurfrulesFlagify-aware rules for evaluating flags, managing rollouts, and shipping features with AI assistance.
# .claude/commands/flagify-create.md
Create a new feature flag "$FLAG_NAME"
in the "$ENVIRONMENT" environment.
# Uses the Flagify CLI:
npx flagify flags create $FLAG_NAME \
--env $ENVIRONMENT \
--type boolean \
--default false
# Verify:
npx flagify flags list --env $ENVIRONMENT # Generate AI tool configs for your project
npx flagify ai-setup
# Or pick a specific tool
npx flagify ai-setup --tool cursor
npx flagify ai-setup --tool claude
npx flagify ai-setup --tool copilot
npx flagify ai-setup --tool windsurf
# Include current flags in context
npx flagify ai-setup --include-flags One CLI command generates the right config files for every tool in your stack.
Read the guideSee it in action
Start with the free plan or read the docs to explore the SDK.