/sfdx-falcon

A Salesforce CLI Plugin that enables and enhances implementation of the SFDX-Falcon family of projects, including the AppExchange Demo Kit (ADK) and AppExchange Package Kit (APK)

Primary LanguageTypeScript

SFDX-Falcon Plugin

Version CircleCI Codecov Greenkeeper Known Vulnerabilities Downloads/week License

A plugin for the Salesforce CLI that enables and enhances implementation of the SFDX-Falcon family of projects, including the AppExchange Demo Kit (ADK) and AppExchange Package Kit (APK).

Installation

Installing the SFDX-Falcon Plugin is easy if you have already installed the Salesforce CLI.

Open a terminal window (command prompt) and enter the following:

$ sfdx plugins:install sfdx-falcon

You should see something similar to this:

Install the CLI Plugin

Important Notes:

  1. The command sfdx plugins:install pulls the plugin source code directly from the sfdx-falcon package, hosted by NPM
  2. The SFDX-Falcon Plugin has not been digitially signed (yet), so you will need to acknowledge the warning to continue the installation

What's Included With the SFDX-Falcon Plugin?

AppExchange Demo Kit (ADK)

The AppExchange Demo Kit (ADK) allows Salesforce Developers to build and share rich, dynamic demo orgs in a source-centric manner without requiring batch files or shell scripts.

AppExchange Demo Kit (ADK) falcon:adk:install

AppExchange Package Kit (APK)

The AppExchange Package Kit (APK) builds on the SFDX-Falcon Template to provide tools and frameworks tailored specifically for developing Managed Packages in agile, continuously-building, team-based envrionments using Salesforce DX.

AppExchange Package Kit (APK) falcon:apk:create

Important Notes:

  1. The command sfdx plugins:install lets the Salesforce CLI know that you want to install a plugin
  2. The SFDX-Falcon plugin has not been digitially signed (yet), so you will need to acknowledge the warning to continue the installation

Available Commands

sfdx-falcon falcon:adk:clone [-d <directory>] [--falcondebug <array>] [--falcondebugerror] [--falcondebugsuccess] [--falcondebugdepth <number>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]

Clones an AppExchange Demo Kit (ADK) project from a remote Git repository.

USAGE
  $ sfdx-falcon falcon:adk:clone [-d <directory>] [--falcondebug <array>] [--falcondebugerror] [--falcondebugsuccess] 
  [--falcondebugdepth <number>] [--json] [--loglevel 
  trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]

ARGUMENTS
  GIT_REMOTE_URI  URI (https only) of the Git repository to clone (eg. https://github.com/GitHubUser/my-repository.git)
  GIT_CLONE_DIR   Directory name of the cloned repository (defaults to repo name if not specified)

OPTIONS
  -d, --outputdir=outputdir                                                         [default: .] Directory to clone the
                                                                                    AppExchange Demo Kit (ADK) project
                                                                                    into

  --falcondebug=falcondebug                                                         [default: ] List of debug namespaces
                                                                                    which should render output

  --falcondebugdepth=falcondebugdepth                                               [default: 2] Sets the depth of
                                                                                    object inspection when debug output
                                                                                    is displayed

  --falcondebugerror                                                                Display extended information for
                                                                                    uncaught Errors

  --falcondebugsuccess                                                              Display extended information upon
                                                                                    successful command completion

  --json                                                                            format output as json

  --loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL)  [default: warn] logging level for
                                                                                    this command invocation

EXAMPLES
  $ sfdx falcon:adk:clone https://github.com/GitHubUser/my-repository.git
  $ sfdx falcon:adk:clone https://github.com/GitHubUser/my-repository.git MyRepoDirName
  $ sfdx falcon:adk:clone https://github.com/GitHubUser/my-repository.git MyRepoDirName \
                          --outputdir ~/demos/appexchange-demo-kit-projects

See code: src/commands/falcon/adk/clone.ts

sfdx-falcon falcon:adk:create [-d <directory>] [--falcondebug <array>] [--falcondebugerror] [--falcondebugsuccess] [--falcondebugdepth <number>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]

Creates an AppExchange Demo Kit (ADK) project

USAGE
  $ sfdx-falcon falcon:adk:create [-d <directory>] [--falcondebug <array>] [--falcondebugerror] [--falcondebugsuccess] 
  [--falcondebugdepth <number>] [--json] [--loglevel 
  trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]

OPTIONS
  -d, --outputdir=outputdir                                                         [default: .] Directory where your
                                                                                    ADK project will be created

  --falcondebug=falcondebug                                                         [default: ] List of debug namespaces
                                                                                    which should render output

  --falcondebugdepth=falcondebugdepth                                               [default: 2] Sets the depth of
                                                                                    object inspection when debug output
                                                                                    is displayed

  --falcondebugerror                                                                Display extended information for
                                                                                    uncaught Errors

  --falcondebugsuccess                                                              Display extended information upon
                                                                                    successful command completion

  --json                                                                            format output as json

  --loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL)  [default: warn] logging level for
                                                                                    this command invocation

EXAMPLES
  $ sfdx falcon:adk:create
  $ sfdx falcon:adk:create --outputdir ~/ADK-Projects

See code: src/commands/falcon/adk/create.ts

sfdx-falcon falcon:adk:install [-d <directory>] [-f <string>] [-x <string>] [--falcondebug <array>] [--falcondebugerror] [--falcondebugsuccess] [--falcondebugdepth <number>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]

Reads an AppExchange Demo Kit (ADK) Recipe and builds a customized org

USAGE
  $ sfdx-falcon falcon:adk:install [-d <directory>] [-f <string>] [-x <string>] [--falcondebug <array>] 
  [--falcondebugerror] [--falcondebugsuccess] [--falcondebugdepth <number>] [--json] [--loglevel 
  trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]

OPTIONS
  -d, --projectdir=projectdir                                                       [default: .] Path to a directory
                                                                                    that contains a fully-configured ADK
                                                                                    project

  -f, --recipefile=recipefile                                                       Overrides 'demoRecipes' setting from
                                                                                    sfdx-project.json to run a specific
                                                                                    Recipe

  -x, --extendedoptions=extendedoptions                                             [default: {}] Options for overriding
                                                                                    internal settings passed as a JSON
                                                                                    string

  --falcondebug=falcondebug                                                         [default: ] List of debug namespaces
                                                                                    which should render output

  --falcondebugdepth=falcondebugdepth                                               [default: 2] Sets the depth of
                                                                                    object inspection when debug output
                                                                                    is displayed

  --falcondebugerror                                                                Display extended information for
                                                                                    uncaught Errors

  --falcondebugsuccess                                                              Display extended information upon
                                                                                    successful command completion

  --json                                                                            format output as json

  --loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL)  [default: warn] logging level for
                                                                                    this command invocation

EXAMPLES
  $ sfdx falcon:adk:install
  $ sfdx falcon:adk:install --projectdir ~/demos/adk-projects/my-adk-project
  $ sfdx falcon:adk:install --projectdir ~/demos/adk-projects/my-adk-project \
                            --configfile my-alternate-demo-config.json

See code: src/commands/falcon/adk/install.ts

sfdx-falcon falcon:apk:clone [-d <directory>] [--falcondebug <array>] [--falcondebugerror] [--falcondebugsuccess] [--falcondebugdepth <number>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]

Clones an SFDX-Falcon project from a remote Git repository.

USAGE
  $ sfdx-falcon falcon:apk:clone [-d <directory>] [--falcondebug <array>] [--falcondebugerror] [--falcondebugsuccess] 
  [--falcondebugdepth <number>] [--json] [--loglevel 
  trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]

ARGUMENTS
  GIT_REMOTE_URI  URI (https only) of the Git repository to clone (eg. https://github.com/GitHubUser/my-repository.git)
  GIT_CLONE_DIR   Directory name of the cloned repository (defaults to repo name if not specified)

OPTIONS
  -d, --outputdir=outputdir                                                         [default: .] Directory to clone the
                                                                                    project into

  --falcondebug=falcondebug                                                         [default: ] List of debug namespaces
                                                                                    which should render output

  --falcondebugdepth=falcondebugdepth                                               [default: 2] Sets the depth of
                                                                                    object inspection when debug output
                                                                                    is displayed

  --falcondebugerror                                                                Display extended information for
                                                                                    uncaught Errors

  --falcondebugsuccess                                                              Display extended information upon
                                                                                    successful command completion

  --json                                                                            format output as json

  --loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL)  [default: warn] logging level for
                                                                                    this command invocation

EXAMPLES
  $ sfdx falcon:apk:clone git@github.com:GitHubUser/my-repository.git
  $ sfdx falcon:apk:clone https://github.com/GitHubUser/my-repository.git MyRepoDirName
  $ sfdx falcon:apk:clone https://github.com/GitHubUser/my-repository.git MyRepoDirName \
                         --outputdir ~/projects/appexchange-package-kit-projects

See code: src/commands/falcon/apk/clone.ts

sfdx-falcon falcon:apk:create [-d <directory>] [--falcondebug <array>] [--falcondebugerror] [--falcondebugsuccess] [--falcondebugdepth <number>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]

Creates an AppExchange Package Kit (APK) project

USAGE
  $ sfdx-falcon falcon:apk:create [-d <directory>] [--falcondebug <array>] [--falcondebugerror] [--falcondebugsuccess] 
  [--falcondebugdepth <number>] [--json] [--loglevel 
  trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]

OPTIONS
  -d, --outputdir=outputdir                                                         [default: .] Directory where your
                                                                                    APK project will be created

  --falcondebug=falcondebug                                                         [default: ] List of debug namespaces
                                                                                    which should render output

  --falcondebugdepth=falcondebugdepth                                               [default: 2] Sets the depth of
                                                                                    object inspection when debug output
                                                                                    is displayed

  --falcondebugerror                                                                Display extended information for
                                                                                    uncaught Errors

  --falcondebugsuccess                                                              Display extended information upon
                                                                                    successful command completion

  --json                                                                            format output as json

  --loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL)  [default: warn] logging level for
                                                                                    this command invocation

EXAMPLES
  $ sfdx falcon:apk:create
  $ sfdx falcon:apk:create --outputdir ~/projects/sfdx-falcon-projects

See code: src/commands/falcon/apk/create.ts

Questions/Comments

To report bugs or request new features, create an issue in this repository.

Additional help is available to Salesforce ISV Partners by visiting the SFDX-Falcon Chatter Group in the Partner Community and posting questions there.

Acknowledgements

SFDX-Falcon, the SFDX-Falcon Plugin, and the AppExchange Demo Kit were created by Vivek M. Chawla LinkedIn | Twitter.

License

The SFDX-Falcon Plugin is made available under the MIT License - see the LICENSE file for details.