For Developers

Everything you need to ship with confidence

CLI, SDKs, git workflows, and the config format that finally makes sense.

CLI

One tool for flags, config, and agents

Structured JSON output on every command. Built for scripts, agents, and humans alike.

CommandDescription
qf flag listList all feature flags
qf flag createCreate a new flag
qf flag setUpdate a flag value
qf evalEvaluate a flag locally
qf schema flagShow flag JSON schema
qf importImport from another platform
qf mcp serveStart MCP server
~ qf flag list --output json --fields key,valueType
{
  "data": [
    { "key": "checkout-v2", "valueType": "bool" },
    { "key": "new-pricing", "valueType": "string" },
    { "key": "api-rate-limit", "valueType": "int" }
  ],
  "meta": { "count": 3 }
}

SDKs

Evaluate flags in three lines

Initialize the client, evaluate a flag, get a value. Type-safe and straightforward.

1import { QuonfigClient } from "@quonfig/sdk-node";
2
3const client = new QuonfigClient({
4 apiKey: "qf_sk_production_a8f7d3e2b1c4",
5});
6
7// Evaluate a feature flag
8const enabled = client.isEnabled("checkout-v2", {
9 user: { email: "alice@acme.com", plan: "enterprise" },
10});
11
12// Get a config value
13const price = client.get("pricing.monthly", {
14 user: { plan: "enterprise" },
15});

Config Format

JSON you can actually read

Every feature flag is a file. Every field has a purpose. No proprietary schema to learn.

feature-flags/checkout-v2.json
1{
2 "key": "checkout-v2",
3 "type": "feature_flag",
4 "valueType": "bool",
5 "sendToClientSdk": true,
6 "default": {
7 "rules": [{
8 "criteria": [{ "operator": "ALWAYS_TRUE" }],
9 "value": { "type": "bool", "value": false }
10 }]
11 },
12 "environments": [{
13 "id": "production",
14 "rules": [{
15 "criteria": [{
16 "propertyName": "user.plan",
17 "operator": "PROP_IS_ONE_OF",
18 "valueToMatch": {
19 "type": "string_list",
20 "value": ["enterprise"]
21 }
22 }],
23 "value": { "type": "bool", "value": true }
24 }]
25 }]
26}

key

Human-readable, also the filename

default.rules

Fallback when no environment matches

environments

Per-env overrides with targeting rules

criteria

26+ operators for flexible targeting

Workflow

From edit to production in a git push

Every config change follows the same path your code does. No dashboard. No separate deploy.

Edit JSON
git commit
Validation hook
Cache updates
SDKs get new config

Start building

Your config in git. Your agents in the loop. Everything you need to ship with confidence.