
Security News
MCP Community Begins Work on Official MCP Metaregistry
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.
flagsmith-cli
Advanced tools
A CLI allowing you to fetch Flagsmith flags and output them to a file
Retrieve Flagsmith state from an API and store it in a file.
This CLI can be used to bake default flags into your application as part of CI/CD, this provides support for offline applications and is also advised as part of our Defensive Coding and Default Flags Documentation. An example of this can be seen here.
The steps to using this to provide default flags are as follows. An example of this can be found here. The main steps to achieving this are as follows:
npm i flagsmith-cli --save-dev
flagsmith.json
file:export FLAGSMITH_ENVIRONMENT=API_KEY
"postinstall": "flagsmith get"
An example of this can be seen here.
3. In your application, import the outputted JSON and initialise the client with the json flagsmith.init({state:json, environmentID: json.environmentID})
Example:
import flagsmith from 'flagsmith'
import state from './flagsmith.json'
flagsmith.init({state, environmentID: state.environmentID})
Example with React:
import state from './flagsmith.json'
ReactDOM.render(
<FlagsmithProvider options={{environmentID: state.environmentID, state}} flagsmith={flagsmith}>
<App />
</FlagsmithProvider>,
document.getElementById('root')
);
$ npm install -g flagsmith-cli
$ flagsmith COMMAND
running command...
$ flagsmith (--version)
flagsmith-cli/0.2.1 darwin-arm64 node-v18.17.1
$ flagsmith --help [COMMAND]
USAGE
$ flagsmith COMMAND
...
flagsmith get [ENVIRONMENT]
flagsmith help [COMMAND]
flagsmith plugins
flagsmith plugins:install PLUGIN...
flagsmith plugins:inspect PLUGIN...
flagsmith plugins:install PLUGIN...
flagsmith plugins:link PLUGIN
flagsmith plugins:uninstall PLUGIN...
flagsmith plugins:uninstall PLUGIN...
flagsmith plugins:uninstall PLUGIN...
flagsmith plugins update
flagsmith get [ENVIRONMENT]
Retrieve flagsmith features from the Flagsmith API and output them to a file.
USAGE
$ flagsmith get [ENVIRONMENT] [-o <value>] [-a <value>] [-t <value> -i <value>] [-p] [-e
flags|environment]
ARGUMENTS
ENVIRONMENT The flagsmith environment key to use, defaults to the environment variable FLAGSMITH_ENVIRONMENT
FLAGS
-a, --api=<value> [default: https://edge.api.flagsmith.com/api/v1/] The API URL to fetch the feature flags from
-e, --entity=<option> [default: flags] The entity to fetch, this will either be the flags or an environment document
used for [local evaluation](https://docs.flagsmith.com/clients/server-side#local-evaluation-mod
e-network-behaviour).
<options: flags|environment>
-o, --output=<value> [default: ./flagsmith.json] The file path output
-p, --pretty Prettify the output JSON
IDENTITY FLAGS
-i, --identity=<value> The identity for which to fetch feature flags
-t, --trait=<trait_key>=<trait_value>... Trait key-value pair, separated by an equals sign (=)
DESCRIPTION
Retrieve flagsmith features from the Flagsmith API and output them to a file.
EXAMPLES
$ flagsmith get <ENVIRONMENT_API_KEY>
$ FLAGSMITH_ENVIRONMENT=abc123... flagsmith get
$ FLAGSMITH_ENVIRONMENT=ser.abc123... flagsmith get -e environment
$ flagsmith get -o ./my-file.json
$ flagsmith get -a https://flagsmith.example.com/api/v1/
$ flagsmith get -i flagsmith_identity
$ flagsmith get -i flagsmith_identity -t my_trait_key=some_trait_value -t other_trait=other_value
$ flagsmith get -p
See code: dist/commands/get/index.ts
flagsmith help [COMMAND]
Display help for flagsmith.
USAGE
$ flagsmith help [COMMAND] [-n]
ARGUMENTS
COMMAND Command to show help for.
FLAGS
-n, --nested-commands Include all nested commands in the output.
DESCRIPTION
Display help for flagsmith.
See code: @oclif/plugin-help
flagsmith plugins
List installed plugins.
USAGE
$ flagsmith plugins [--core]
FLAGS
--core Show core plugins.
DESCRIPTION
List installed plugins.
EXAMPLES
$ flagsmith plugins
See code: @oclif/plugin-plugins
flagsmith plugins:install PLUGIN...
Installs a plugin into the CLI.
USAGE
$ flagsmith plugins:install PLUGIN...
ARGUMENTS
PLUGIN Plugin to install.
FLAGS
-f, --force Run yarn install with force flag.
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Installs a plugin into the CLI.
Can be installed from npm or a git url.
Installation of a user-installed plugin will override a core plugin.
e.g. If you have a core plugin that has a 'hello' command, installing a user-installed plugin with a 'hello' command
will override the core plugin implementation. This is useful if a user needs to update core plugin functionality in
the CLI without the need to patch and update the whole CLI.
ALIASES
$ flagsmith plugins add
EXAMPLES
$ flagsmith plugins:install myplugin
$ flagsmith plugins:install https://github.com/someuser/someplugin
$ flagsmith plugins:install someuser/someplugin
flagsmith plugins:inspect PLUGIN...
Displays installation properties of a plugin.
USAGE
$ flagsmith plugins:inspect PLUGIN...
ARGUMENTS
PLUGIN [default: .] Plugin to inspect.
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Displays installation properties of a plugin.
EXAMPLES
$ flagsmith plugins:inspect myplugin
flagsmith plugins:install PLUGIN...
Installs a plugin into the CLI.
USAGE
$ flagsmith plugins:install PLUGIN...
ARGUMENTS
PLUGIN Plugin to install.
FLAGS
-f, --force Run yarn install with force flag.
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Installs a plugin into the CLI.
Can be installed from npm or a git url.
Installation of a user-installed plugin will override a core plugin.
e.g. If you have a core plugin that has a 'hello' command, installing a user-installed plugin with a 'hello' command
will override the core plugin implementation. This is useful if a user needs to update core plugin functionality in
the CLI without the need to patch and update the whole CLI.
ALIASES
$ flagsmith plugins add
EXAMPLES
$ flagsmith plugins:install myplugin
$ flagsmith plugins:install https://github.com/someuser/someplugin
$ flagsmith plugins:install someuser/someplugin
flagsmith plugins:link PLUGIN
Links a plugin into the CLI for development.
USAGE
$ flagsmith plugins:link PLUGIN
ARGUMENTS
PATH [default: .] path to plugin
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Links a plugin into the CLI for development.
Installation of a linked plugin will override a user-installed or core plugin.
e.g. If you have a user-installed or core plugin that has a 'hello' command, installing a linked plugin with a 'hello'
command will override the user-installed or core plugin implementation. This is useful for development work.
EXAMPLES
$ flagsmith plugins:link myplugin
flagsmith plugins:uninstall PLUGIN...
Removes a plugin from the CLI.
USAGE
$ flagsmith plugins:uninstall PLUGIN...
ARGUMENTS
PLUGIN plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ flagsmith plugins unlink
$ flagsmith plugins remove
flagsmith plugins:uninstall PLUGIN...
Removes a plugin from the CLI.
USAGE
$ flagsmith plugins:uninstall PLUGIN...
ARGUMENTS
PLUGIN plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ flagsmith plugins unlink
$ flagsmith plugins remove
flagsmith plugins:uninstall PLUGIN...
Removes a plugin from the CLI.
USAGE
$ flagsmith plugins:uninstall PLUGIN...
ARGUMENTS
PLUGIN plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ flagsmith plugins unlink
$ flagsmith plugins remove
flagsmith plugins update
Update installed plugins.
USAGE
$ flagsmith plugins update [-h] [-v]
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Update installed plugins.
flagsmith get [ENVIRONMENT]
Retrieve flagsmith features from the Flagsmith API and output them to a file.
USAGE
$ flagsmith get [ENVIRONMENT] [-o <value>] [-a <value>] [-t
<value> -i <value>] [-p] [-e flags|environment]
ARGUMENTS
ENVIRONMENT The flagsmith environment key to use, defaults to the environment
variable FLAGSMITH_ENVIRONMENT
FLAGS
-a, --api=<value> [default: https://edge.api.flagsmith.com/api/v1/] The
API URL to fetch the feature flags from
-e, --entity=<option> [default: flags] The entity to fetch, this will either
be the flags or an environment document used for [local
evaluation](https://docs.flagsmith.com/clients/server-s
ide#local-evaluation-mode-network-behaviour).
<options: flags|environment>
-o, --output=<value> [default: ./flagsmith.json] The file path output
-p, --pretty Prettify the output JSON
IDENTITY FLAGS
-i, --identity=<value> The identity for which to fetch
feature flags
-t, --trait=<trait_key>=<trait_value>... Trait key-value pair, separated by
an equals sign (=)
DESCRIPTION
Retrieve flagsmith features from the Flagsmith API and output them to a file.
EXAMPLES
$ flagsmith get <ENVIRONMENT_API_KEY>
$ FLAGSMITH_ENVIRONMENT=abc123... flagsmith get
$ FLAGSMITH_ENVIRONMENT=ser.abc123... flagsmith get -e environment
$ flagsmith get -o ./my-file.json
$ flagsmith get -a https://flagsmith.example.com/api/v1/
$ flagsmith get -i flagsmith_identity
$ flagsmith get -i flagsmith_identity -t my_trait_key=some_trait_value -t other_trait=other_value
$ flagsmith get -p
See code: dist/commands/get/index.ts
flagsmith help [COMMANDS]
Display help for flagsmith.
USAGE
$ flagsmith help [COMMANDS] [-n]
ARGUMENTS
COMMANDS Command to show help for.
FLAGS
-n, --nested-commands Include all nested commands in the output.
DESCRIPTION
Display help for flagsmith.
FAQs
A CLI allowing you to fetch Flagsmith flags and output them to a file
The npm package flagsmith-cli receives a total of 2,165 weekly downloads. As such, flagsmith-cli popularity was classified as popular.
We found that flagsmith-cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.
Research
Security News
Socket uncovers an npm Trojan stealing crypto wallets and BullX credentials via obfuscated code and Telegram exfiltration.
Research
Security News
Malicious npm packages posing as developer tools target macOS Cursor IDE users, stealing credentials and modifying files to gain persistent backdoor access.