npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@quonfig/cli

v0.0.2

Published

Quonfig CLI

Readme

Quonfig CLI

Usage

$ npm install -g @quonfig/cli
$ qfg COMMAND
running command...
$ qfg (--version)
@quonfig/cli/0.0.2 darwin-arm64 node-v24.4.1
$ qfg --help [COMMAND]
USAGE
  $ qfg COMMAND
...

Commands

qfg create NAME

Create a new item in Quonfig

USAGE
  $ qfg create NAME --type boolean-flag|boolean|string|double|int|string-list|json [--json] [--interactive]
    [--no-color] [--verbose] [-p <value>] [--confidential] [--env-var <value>] [--value <value>] [--secret]
    [--secret-key-name <value>]

ARGUMENTS
  NAME  name for your new item (e.g. my.new.flag)

FLAGS
  --confidential             mark the value as confidential
  --env-var=<value>          environment variable to get value from
  --secret                   encrypt the value of this item
  --secret-key-name=<value>  [default: quonfig.secrets.encryption.key] name of the secret key to use for
                             encryption/decryption
  --type=<option>            (required)
                             <options: boolean-flag|boolean|string|double|int|string-list|json>
  --value=<value>            default value for your new item

GLOBAL FLAGS
  -p, --profile=<value>   Profile to use (defaults to ENV var QUONFIG_PROFILE or "default")
      --[no-]interactive  Force interactive mode
      --json              Format output as json.
      --no-color          Do not colorize output
      --verbose           Verbose output

DESCRIPTION
  Create a new item in Quonfig

EXAMPLES
  $ qfg create my.new.flag --type boolean-flag

  $ qfg create my.new.flag --type boolean-flag --value=true

  $ qfg create my.new.string --type string --value="hello world"

  $ qfg create my.new.string --type string --value="hello world" --secret

  $ qfg create my.new.string --type string --env-var=MY_ENV_VAR_NAME

  $ qfg create my.new.string --type json --value="{\"key\": \"value\"}"

See code: src/commands/create.ts

qfg download

Download a Datafile for a given environment

USAGE
  $ qfg download [--json] [--interactive] [--no-color] [--verbose] [-p <value>] [--environment <value>]
    [--sdk-key <value>]

FLAGS
  --environment=<value>  environment to download
  --sdk-key=<value>      SDK key for authentication (uses legacy download endpoint)

GLOBAL FLAGS
  -p, --profile=<value>   Profile to use (defaults to ENV var QUONFIG_PROFILE or "default")
      --[no-]interactive  Force interactive mode
      --json              Format output as json.
      --no-color          Do not colorize output
      --verbose           Verbose output

DESCRIPTION
  Download a Datafile for a given environment

  You can serve a datafile using the `serve` command.

EXAMPLES
  $ qfg download --environment=test

  $ qfg download --environment=test --sdk-key=YOUR_SDK_KEY

See code: src/commands/download.ts

qfg generate

Generate type definitions for your Quonfig configuration

USAGE
  $ qfg generate [--json] [--interactive] [--no-color] [--verbose] [-p <value>] [-o <value>] [--targets
    <value>]

FLAGS
  -o, --output-directory=<value>  Override the output directory for generated files
      --targets=<value>           [default: react-ts] Determines for language/framework to generate code for (node-ts,
                                  react-ts)

GLOBAL FLAGS
  -p, --profile=<value>   Profile to use (defaults to ENV var QUONFIG_PROFILE or "default")
      --[no-]interactive  Force interactive mode
      --json              Format output as json.
      --no-color          Do not colorize output
      --verbose           Verbose output

DESCRIPTION
  Generate type definitions for your Quonfig configuration

  You can use the default type-generation configuration, or by provide your own via a quonfig.config.json file:

  Format:
  {
  ​  outputDirectory?: string;
  ​  targets?: {
  ​    <language key>?: {
  ​      outputDirectory?: string;
  ​      outputFileName?: string;
  ​    }
  ​  }
  };

  Example quonfig.config.json:
  ```json
  {
  ​  "outputDirectory": "path/to/your/directory",
  ​  "targets": {
  ​    "react-ts": {
  ​      "outputDirectory": "diff/path/to/your/directory",
  ​      "declarationFileName": "quonfig-client-types.d.ts",
  ​      "clientFileName": "quonfig-client.ts",
  ​    },
  ​    "node-ts": {
  ​      "declarationFileName": "quonfig-server-types.d.ts",
  ​      "clientFileName": "quonfig-server.ts",
  ​    }
  ​  }
  }

EXAMPLES $ qfg generate # react-ts only by default

$ qfg generate --targets node-ts # node-ts only

$ qfg generate --targets react-ts,node-ts # both node + react-ts

$ qfg generate -o ./src/generated # specify output directory

$ qfg generate --targets node-ts -o ./dist # combine with targets


_See code: [src/commands/generate.ts](https://github.com/quonfig/cli/blob/v0.0.2/src/commands/generate.ts)_

## `qfg generate-new-hex-key`

Generate a new hex key suitable for secrets

USAGE $ qfg generate-new-hex-key [--json] [--interactive] [--no-color] [--verbose]

GLOBAL FLAGS --[no-]interactive Force interactive mode --json Format output as json. --no-color Do not colorize output --verbose Verbose output

DESCRIPTION Generate a new hex key suitable for secrets

EXAMPLES $ qfg generate-new-hex-key


_See code: [src/commands/generate-new-hex-key.ts](https://github.com/quonfig/cli/blob/v0.0.2/src/commands/generate-new-hex-key.ts)_

## `qfg get [NAME]`

Get the value of a config/feature-flag/etc.

USAGE $ qfg get [NAME] [--json] [--interactive] [--no-color] [--verbose] [-p ] [--environment ]

ARGUMENTS NAME config/feature-flag/etc. name

FLAGS --environment= environment to evaluate in

GLOBAL FLAGS -p, --profile= Profile to use (defaults to ENV var QUONFIG_PROFILE or "default") --[no-]interactive Force interactive mode --json Format output as json. --no-color Do not colorize output --verbose Verbose output

DESCRIPTION Get the value of a config/feature-flag/etc.

EXAMPLES $ qfg get my.config.name

$ qfg get my.config.name --environment=production


_See code: [src/commands/get.ts](https://github.com/quonfig/cli/blob/v0.0.2/src/commands/get.ts)_

## `qfg info [NAME]`

Show details about the provided config/feature-flag/etc.

USAGE $ qfg info [NAME] [--json] [--interactive] [--no-color] [--verbose] [-p ] [--exclude-evaluations]

ARGUMENTS NAME config/feature-flag/etc. name

FLAGS --exclude-evaluations Exclude evaluation data

GLOBAL FLAGS -p, --profile= Profile to use (defaults to ENV var QUONFIG_PROFILE or "default") --[no-]interactive Force interactive mode --json Format output as json. --no-color Do not colorize output --verbose Verbose output

DESCRIPTION Show details about the provided config/feature-flag/etc.

EXAMPLES $ qfg info my.config.name


_See code: [src/commands/info.ts](https://github.com/quonfig/cli/blob/v0.0.2/src/commands/info.ts)_

## `qfg init [DIRECTORY]`

Initialize or update a Quonfig workspace

USAGE $ qfg init [DIRECTORY] [--json] [--interactive] [--no-color] [--verbose] [--dry-run] [--samples]

ARGUMENTS DIRECTORY [default: .] Target directory (default: current directory)

FLAGS --dry-run Show what would be done without writing anything --[no-]samples Include sample configs (default: yes on first init, no on update)

GLOBAL FLAGS --[no-]interactive Force interactive mode --json Format output as json. --no-color Do not colorize output --verbose Verbose output

DESCRIPTION Initialize or update a Quonfig workspace

EXAMPLES $ qfg init

$ qfg init ./my-workspace

$ qfg init --no-samples

$ qfg init --samples

$ qfg init --dry-run


_See code: [src/commands/init.ts](https://github.com/quonfig/cli/blob/v0.0.2/src/commands/init.ts)_

## `qfg interactive`

USAGE $ qfg interactive [--json] [--interactive] [--no-color] [--verbose]

GLOBAL FLAGS --[no-]interactive Force interactive mode --json Format output as json. --no-color Do not colorize output --verbose Verbose output

EXAMPLES $ qfg


_See code: [src/commands/interactive.ts](https://github.com/quonfig/cli/blob/v0.0.2/src/commands/interactive.ts)_

## `qfg list`

Show keys for your config/feature flags/etc.

USAGE $ qfg list [--json] [--interactive] [--no-color] [--verbose] [-p ] [--configs] [--feature-flags] [--log-levels] [--schemas] [--segments]

FLAGS --configs include configs --feature-flags include flags --log-levels include log levels --schemas include schemas --segments include segments

GLOBAL FLAGS -p, --profile= Profile to use (defaults to ENV var QUONFIG_PROFILE or "default") --[no-]interactive Force interactive mode --json Format output as json. --no-color Do not colorize output --verbose Verbose output

DESCRIPTION Show keys for your config/feature flags/etc.

All types are returned by default. If you pass one or more type flags (e.g. --configs), only those types will be returned

EXAMPLES $ qfg list

$ qfg list --feature-flags


_See code: [src/commands/list.ts](https://github.com/quonfig/cli/blob/v0.0.2/src/commands/list.ts)_

## `qfg login`

Log in to Quonfig via WorkOS device authorization

USAGE $ qfg login [--json] [--interactive] [--no-color] [--verbose] [-p ]

FLAGS -p, --profile= Profile name to create or update (defaults to "default")

GLOBAL FLAGS --[no-]interactive Force interactive mode --json Format output as json. --no-color Do not colorize output --verbose Verbose output

DESCRIPTION Log in to Quonfig via WorkOS device authorization

EXAMPLES $ qfg login

$ qfg login --profile myprofile


_See code: [src/commands/login.ts](https://github.com/quonfig/cli/blob/v0.0.2/src/commands/login.ts)_

## `qfg logout`

Log out and clear stored authentication tokens

USAGE $ qfg logout [--json] [--interactive] [--no-color] [--verbose]

GLOBAL FLAGS --[no-]interactive Force interactive mode --json Format output as json. --no-color Do not colorize output --verbose Verbose output

DESCRIPTION Log out and clear stored authentication tokens

EXAMPLES $ qfg logout


_See code: [src/commands/logout.ts](https://github.com/quonfig/cli/blob/v0.0.2/src/commands/logout.ts)_

## `qfg mcp`

Configure Quonfig MCP server for your AI assistant

USAGE $ qfg mcp [--json] [--interactive] [--no-color] [--verbose] [--editor claude-code|codeium] [--url ]

FLAGS --editor= Editor to configure (cursor, vscode, claude, windsurf) <options: claude-code|codeium> --url= Internal URL for testing (defaults to https://app.quonfig.com/api/v1/mcp)

GLOBAL FLAGS --[no-]interactive Force interactive mode --json Format output as json. --no-color Do not colorize output --verbose Verbose output

DESCRIPTION Configure Quonfig MCP server for your AI assistant

EXAMPLES $ qfg mcp

$ qfg mcp --editor cursor

$ qfg mcp --url http://local-app.goatsofquonfig.com:3003/api/v1/mcp


_See code: [src/commands/mcp.ts](https://github.com/quonfig/cli/blob/v0.0.2/src/commands/mcp.ts)_

## `qfg override [NAME]`

Override the value of an item for your user/SDK key combo

USAGE $ qfg override [NAME] [--json] [--interactive] [--no-color] [--verbose] [-p ] [--environment ] [--remove] [--value ]

ARGUMENTS NAME config/feature-flag/etc. name

FLAGS --environment= environment to override in --remove remove your override (if present) --value= value to use for your override

GLOBAL FLAGS -p, --profile= Profile to use (defaults to ENV var QUONFIG_PROFILE or "default") --[no-]interactive Force interactive mode --json Format output as json. --no-color Do not colorize output --verbose Verbose output

DESCRIPTION Override the value of an item for your user/SDK key combo

EXAMPLES $ qfg override # will prompt for name and value

$ qfg override my.flag.name --value=true

$ qfg override my.flag.name --remove

$ qfg override my.double.config --value=3.14159


_See code: [src/commands/override.ts](https://github.com/quonfig/cli/blob/v0.0.2/src/commands/override.ts)_

## `qfg profile`

Manage profiles and set default profile

USAGE $ qfg profile [--json] [--interactive] [--no-color] [--verbose]

GLOBAL FLAGS --[no-]interactive Force interactive mode --json Format output as json. --no-color Do not colorize output --verbose Verbose output

DESCRIPTION Manage profiles and set default profile

EXAMPLES $ qfg profile


_See code: [src/commands/profile.ts](https://github.com/quonfig/cli/blob/v0.0.2/src/commands/profile.ts)_

## `qfg schema NAME`

Get or update first-class schema documents

USAGE $ qfg schema NAME [--json] [--interactive] [--no-color] [--verbose] [-p ] [--get] [--protected] [--set-json-schema ] [--set-zod ]

ARGUMENTS NAME schema key

FLAGS --get get the schema document --protected store the schema in protected storage --set-json-schema= set a plain JSON Schema document (inline JSON or @file path) --set-zod= compatibility alias for --set-json-schema; now expects plain JSON Schema

GLOBAL FLAGS -p, --profile= Profile to use (defaults to ENV var QUONFIG_PROFILE or "default") --[no-]interactive Force interactive mode --json Format output as json. --no-color Do not colorize output --verbose Verbose output

DESCRIPTION Get or update first-class schema documents

EXAMPLES $ qfg schema my-schema --get

$ qfg schema my-schema --set-json-schema='{"type":"object","properties":{}}'

$ qfg schema my-schema --set-json-schema=@schemas/my-schema.json --protected


_See code: [src/commands/schema.ts](https://github.com/quonfig/cli/blob/v0.0.2/src/commands/schema.ts)_

## `qfg serve DATA-FILE`

Serve a datafile on a local port

USAGE $ qfg serve DATA-FILE [--json] [--interactive] [--no-color] [--verbose] [--port ]

ARGUMENTS DATA-FILE file to read

FLAGS --port= [default: 3099] port to serve on

GLOBAL FLAGS --[no-]interactive Force interactive mode --json Format output as json. --no-color Do not colorize output --verbose Verbose output

DESCRIPTION Serve a datafile on a local port

You can download a datafile using the download command.

You'll need to update your JavaScript (or React) client to point to this server.

e.g. endpoints: ["http://localhost:3099"],

EXAMPLES $ qfg serve ./quonfig.test.588.config.json --port=3099


_See code: [src/commands/serve.ts](https://github.com/quonfig/cli/blob/v0.0.2/src/commands/serve.ts)_

## `qfg set-default [NAME]`

Set/update the default value for an environment (other rules still apply)

USAGE $ qfg set-default [NAME] [--json] [--interactive] [--no-color] [--verbose] [-p ] [--confidential] [--env-var ] [--environment ] [--value ] [--confirm] [--secret] [--secret-key-name ]

ARGUMENTS NAME config/feature-flag/etc. name

FLAGS --confidential mark the value as confidential --confirm confirm without prompt --env-var= environment variable to use as default value --environment= environment to change --secret encrypt the value of this item --secret-key-name= [default: quonfig.secrets.encryption.key] name of the secret key to use for encryption/decryption --value= new default value

GLOBAL FLAGS -p, --profile= Profile to use (defaults to ENV var QUONFIG_PROFILE or "default") --[no-]interactive Force interactive mode --json Format output as json. --no-color Do not colorize output --verbose Verbose output

DESCRIPTION Set/update the default value for an environment (other rules still apply)

EXAMPLES $ qfg set-default my.flag.name # will prompt for value and env

$ qfg set-default my.flag.name --value=true --environment=staging

$ qfg set-default my.flag.name --value=true --secret

$ qfg set-default my.config.name --env-var=MY_ENV_VAR_NAME --environment=production


_See code: [src/commands/set-default.ts](https://github.com/quonfig/cli/blob/v0.0.2/src/commands/set-default.ts)_

## `qfg verify [PATH]`

Validate a Quonfig workspace directory

USAGE $ qfg verify [PATH] [--json] [--interactive] [--no-color] [--verbose] [--strict]

ARGUMENTS PATH [default: .] Path to workspace directory

FLAGS --strict Treat warnings as errors

GLOBAL FLAGS --[no-]interactive Force interactive mode --json Format output as json. --no-color Do not colorize output --verbose Verbose output

DESCRIPTION Validate a Quonfig workspace directory

EXAMPLES $ qfg verify

$ qfg verify ./my-workspace

$ qfg verify --json


_See code: [src/commands/verify.ts](https://github.com/quonfig/cli/blob/v0.0.2/src/commands/verify.ts)_

## `qfg whoami`

Display information about the currently logged in user

USAGE $ qfg whoami [--json] [--interactive] [--no-color] [--verbose]

GLOBAL FLAGS --[no-]interactive Force interactive mode --json Format output as json. --no-color Do not colorize output --verbose Verbose output

DESCRIPTION Display information about the currently logged in user

EXAMPLES $ qfg whoami


_See code: [src/commands/whoami.ts](https://github.com/quonfig/cli/blob/v0.0.2/src/commands/whoami.ts)_

## `qfg workspace`

Display current workspace. To switch workspaces, run `qfg login --profile <name>`.

USAGE $ qfg workspace [--json] [--interactive] [--no-color] [--verbose]

GLOBAL FLAGS --[no-]interactive Force interactive mode --json Format output as json. --no-color Do not colorize output --verbose Verbose output

DESCRIPTION Display current workspace. To switch workspaces, run qfg login --profile <name>.

EXAMPLES $ qfg workspace


_See code: [src/commands/workspace.ts](https://github.com/quonfig/cli/blob/v0.0.2/src/commands/workspace.ts)_
<!-- commandsstop -->

## Local Development

mise install git submodule init git submodule update yarn install yarn build bin/dev.js fish -c "cd ../../quonfig/cli;bin/dev.js"


## Releasing

yarn version npm publish --access public


## Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and
create. Any contributions you make are **greatly appreciated**. For detailed contributing
guidelines, please see [CONTRIBUTING.md](CONTRIBUTING.md)