Skip to main content

FDK CLI Commands

Global Options​

--version | -V​

Use this option to check the local version of your FDK CLI. Make sure you are using the latest version. You can always update the CLI by running the following command:

note

The installer clones JCPLibraries/fdk-cli over SSH, so you need an SSH key registered with Azure DevOps and read access to that repository. See Use SSH key authentication↗ to add a key. Node.js v18 or later is also required.

rm -rf /tmp/fdk-cli-install && \
git clone --depth 1 git@ssh.dev.azure.com:v3/GoFynd/JCPLibraries/fdk-cli /tmp/fdk-cli-install && \
cd /tmp/fdk-cli-install && sh scripts/remoteInstall.sh master
warning

Install the FDK CLI only from JCPLibraries/fdk-cli using the command above. The @gofynd/fdk-cli package on the public npm registry is a separate release line and is not compatible with JCP — do not install it with npm install -g @gofynd/fdk-cli.

--help | -h​

Use this option with any command or sub-command to view its syntax, available options, and sub-commands.

--debug | -d​

Use this option with any command to run it in debug mode. It generates a debug.log file in your current working directory.

tip

If you encounter any issues, please share the debug.log file when contacting our support team.


Global Commands​

login​

This command allows the user to login via partner panel.

fdk login [options]

Options

OptionRequiredDescription
--hostNoURL of the partners panel host or API host

user​

This command shows the details of the currently logged-in user.

fdk user

logout​

This command logs out the user.

fdk logout

populate​

Use this command to populate sample data into a development account to get started with theme and extension development.

fdk populate

tunnel​

This command starts a tunnel using Cloudflare, allowing you to access your local port via a public URL.

fdk tunnel [options]

Options

OptionRequiredDescription
--portYesThe port to be exposed

Theme Commands​

theme new​

This command is used to create a new theme for your application.

fdk theme new [options]

Options

OptionRequiredDescription
--name | -nYesTheme name

theme init​

This command is used to initialize an existing theme on your local system.

fdk theme init

theme context​

This command is used to add a new context.

fdk theme context [options]

Options

OptionRequiredDescription
--name | -nYesContext name
info

Context is a JSON object that holds the configurations related to the application and theme. When you initialize or create a new theme a context is created with the name provided in the commands and assigned as the active context. You can add multiple contexts if you want to use the same theme on multiple applications or environments.


theme context-list​

This command is used to get a list of available context. You can also set active context by selecting one of the options in the list.

fdk theme context-list

theme active-context​

This command is used to get currently active context.

fdk theme active-context

theme serve​

This command is used to run a theme on your local system.

fdk theme serve [options]

Options

OptionRequiredDescription
--ssrNoEnable/disable Server-side rendering. Default: true
--portNoPass custom port number to serve theme. Default: 5001

theme sync​

This command is used to sync your theme to the application. Always verify if you have set the correct context before syncing your theme. Refer context commands.

fdk theme sync

theme pull​

This command is used to pull latest theme code.

fdk theme pull

theme pull-config​

This command is used to pull latest theme config.

fdk theme pull-config

theme package​

This command is used to create a zip file of theme.

fdk theme package

theme open​

This command is used to preview the theme on browser.

fdk theme open

Extension Commands​

tip

You can use the shorthand ext instead of extension for all the extension commands.


extension init​

This command is used to create a extension's initial code with required dependency. It will also register extension for you on your partner account. Ensure that Git is installed for the init command to succeed.

fdk extension init [options]

Options

OptionRequiredDescription
--target-dirNoTarget Directory
--templateNoSpecify the template you want to use to create the extension

extension preview​

Use this command to return the preview URL, which can be used to launch or install the extension.

fdk extension preview [options]

Options

OptionRequiredDescription
--company-idNoUnique identifier of your company.
--api-keyNoExtension API key.
--access-tokenNoPartner Access Token.
--tunnel-urlNoSpecify a manual Tunnel URL to bypass automatic tunnel creation.
--no-auto-updateNoDisables auto-updating of tunnel URL as extension launch
url on partners panel.
--resetNoResets the extension's context data, prompting you to
re-enter all required details. Useful for a fresh start!

extension pull-env​

Use this command to fetch extension context details from partners panel and update current extension context.

fdk extension pull-env

extension launch-url​

This command is used to get or set the launch url of your extension.

fdk extension launch-url get [options]
fdk extension launch-url set [options]

Options

OptionRequiredDescription
--urlNoURL to be set
--api-keyNoExtension ID

Extension Binding Commands​

Extensions bindings are reusable components which are pluggable through the theme editor to improve the user interface of your application. These can be used just like theme sections.

env set​

Set the active environment before running extension commands.

fdk env set -u api.fynd.com

binding init​

This command is used to create a basic boilerplate code for extension binding with required dependencies.

fdk binding init [options]

Options

OptionRequiredDescription
--name | -nNoName of the section binding.
--interface | -iNoInterface where this binding will be used.
Currently, we only support Web Theme.
--framework | -fNoRuntime framework. Supported values are vue2 and react.

binding draft​

This command is used to register the binding with your development companies for alpha or beta testing.

fdk binding draft [options]

Options

OptionRequiredDescription
--name | -nNoName of the section binding.
--framework | -fNoRuntime framework. Supported values are vue2 and react.
--extensionId | -idNoExtension Id of the current extension.
--organisationId | -orgNoOrganisation Id of the current extension.

binding publish​

This command is used to publish the binding across all live companies.

fdk binding publish [options]

Options

OptionRequiredDescription
--name | -nNoName of the section binding.
--framework | -fNoRuntime framework. Supported values are vue2 and react.
--extensionId | -idNoExtension Id of the current extension.
--organisationId | -orgNoOrganisation Id of the current extension.

binding preview​

Use this command to locally serve the extension binding which has been added to a live storefront.

fdk binding preview [options]

Options

OptionRequiredDescription
--name | -nNoName of the section binding.
--framework | -fNoRuntime framework. Supported values are vue2 and react.
--extensionId | -idNoExtension Id of the current extension.
--organisationId | -orgNoOrganisation Id of the current extension.

binding show-context​

Use this command to see the current extension section context.

fdk binding show-context

binding clear-context​

Use this command to clear the current extension section context.

fdk binding clear-context

Partner Commands​

partner connect​

This command is used to add your partner access token to update extension details on partners panel.

fdk partner connect

Config Commands​

config get cafile​

This command is used to retrieve the current CA file path.

fdk config get cafile

config get strict-ssl​

This command is used to retrieve the current strict SSL setting.

fdk config get strict-ssl

config set cafile​

This command is used to set the Root Certificate Authority (CA) file. Ensure that the file path provided for the CA file is valid and accessible. E.g., /etc/ssl/certs/ca-certificates.pem.

fdk config set cafile <file-path>

You can also use the FDK_EXTRA_CA_CERTS environment variable to set the CA file.

FDK_EXTRA_CA_CERTS="/path/to/your/cafile" fdk login --host <HOST_URL>

config set strict-ssl​

This command is used to enable or disable strict SSL validation. The strict SSL setting should be either true or false.

fdk config set strict-ssl true|false

You can also use the FDK_SSL_NO_VERIFY environment variable to enable or disable strict SSL validation.

FDK_SSL_NO_VERIFY=true fdk login --host <HOST_URL>

config delete cafile​

This command is used to remove the current CA file configuration.

fdk config delete cafile

config delete strict-ssl​

This command is used to remove the current strict SSL configuration.

fdk config delete strict-ssl

info

You can also choose to use rm instead delete. E.g., fdk config rm strict-ssl


Was this section helpful?