@speedkit/cli
v2.65.3
Published
Speed Kit CLI
Downloads
1,388
Readme
@speed-kit/cli
Quicklinks
Usage
$ npm install -g @speedkit/cli
$ sk COMMAND
running command...
$ sk (--version)
@speedkit/cli/2.65.3 linux-x64 node-v20.18.0
$ sk --help [COMMAND]
USAGE
$ sk COMMAND
...
💡 NOTE:
Set up auto-completion for the CLI by executingsk autocomplete [SHELL]
once.
Configuration
There are two different ways of configuring the CLI:
Using Config File (recommended)
On the first execution of any sk
command a config.json
will be created and stored to the current user's directory of your OS:
- Unix:
~/.config/speed-kit-cli/config.json
- Windows:
%LOCALAPPDATA%\speed-kit-cli\config.json
{
"chromePath": "", // local path to the Chrome binary
"chromeUserProfilePath": "", // local path to the Custom Chrome User Profile (use if you want to have Chrome's state saved)
"chromeExtensionPaths": "", // comma separated list of local paths to unpacked extensions for Chrome to load
"slackToken": "", // Slack token that will be injected to the deploymentDetection
"testApp": "", // name of your Test Speed Kit App
"ideaDirectory": "", // local directory path to the IntelliJ's shell binary
"diffExec": "", // path or executable of your favorite diff tool e.g. "vscode --diff", "codium --diff", "diff", "idea diff"
"diffExecTemplate": "" // defaults to "$exec $file1 $file2" resolves in "diff pathToFile1 pathToFile2"
}
Using Environment Variables
By either...
- copying .env.sample as
.env
to the directory of the cloned sk-onboarding - or by exporting the listed variables to your shell as needed before using a specific CLI command.
Commands
sk autocomplete [SHELL]
sk build-parameter-query CUSTOMERPATH
sk build-prewarm-query CUSTOMERPATH
sk config edit
sk deploy CUSTOMERPATH
sk diff-url-parameters PAGEURL
sk document-handler CUSTOMERPATH
sk find-pops APP
sk generate-customer-config
sk generate-pop-config APP
sk help [COMMAND]
sk login [APP]
sk onboarding CUSTOMERPATH
sk param-diff PAGEURL
sk prewarm APP PATH
sk pull CUSTOMERPATH
sk wpt-launcher URLS TESTID
sk autocomplete [SHELL]
Display autocomplete installation instructions.
USAGE
$ sk autocomplete [SHELL] [-r]
ARGUMENTS
SHELL (zsh|bash|powershell) Shell type
FLAGS
-r, --refresh-cache Refresh cache (ignores displaying instructions)
DESCRIPTION
Display autocomplete installation instructions.
EXAMPLES
$ sk autocomplete
$ sk autocomplete bash
$ sk autocomplete zsh
$ sk autocomplete powershell
$ sk autocomplete --refresh-cache
See code: @oclif/plugin-autocomplete
sk build-parameter-query CUSTOMERPATH
Build a parameter query that can be executed in Athena
USAGE
$ sk build-parameter-query CUSTOMERPATH [-c <value>]
ARGUMENTS
CUSTOMERPATH The customer config path
FLAGS
-c, --configName=<value> [default: production] The costumer config name
DESCRIPTION
Build a parameter query that can be executed in Athena
EXAMPLES
$ sk build-parameter-query <customerPath> -c <configName>
$ sk build-parameter-query customers/decathlon.de -c production
sk build-prewarm-query CUSTOMERPATH
Build a prewarm query that can be executed in Athena
USAGE
$ sk build-prewarm-query CUSTOMERPATH [-c <value>]
ARGUMENTS
CUSTOMERPATH The customer config path
FLAGS
-c, --configName=<value> [default: production] The costumer config name
DESCRIPTION
Build a prewarm query that can be executed in Athena
EXAMPLES
$ sk build-prewarm-query <customerPath> -c <configName>
$ sk build-prewarm-query customers/decathlon.de -c production
sk config edit
Edit cli config
USAGE
$ sk config edit
DESCRIPTION
Edit cli config
EXAMPLES
$ sk config edit
sk deploy CUSTOMERPATH
Deploys the specified customer config while comparing to the live version before
USAGE
$ sk deploy CUSTOMERPATH [-c <value>] [-a <value>] [-d] [-t <value>]
ARGUMENTS
CUSTOMERPATH The customer config path
FLAGS
-a, --artifacts=<value> Whitelist of files to deploy
-c, --configName=<value> [default: production] The costumer config name
-d, --dryRun Do not deploy changes
-t, --slackToken=<value> Slack hook found on 1Pass
DESCRIPTION
Deploys the specified customer config while comparing to the live version before
EXAMPLES
$ sk deploy <customerPath> -c <configName> -t <slackToken> -a <artifacts> -d <dryRun>
$ sk deploy customers/decathlon.de -c production -t someSlackToken -a dynamic,SpeedKit -d
sk diff-url-parameters PAGEURL
Shows difference in documents with query parameters on/off
USAGE
$ sk diff-url-parameters PAGEURL [-h]
ARGUMENTS
PAGEURL Link of the page
FLAGS
-h, --hideDiff Hide the code diff in IDE code diff window
DESCRIPTION
Shows difference in documents with query parameters on/off
ALIASES
$ sk param-diff
EXAMPLES
$ sk prewarm <pageUrl> -h
$ sk prewarm https://www.decathlon.de/ -h
sk document-handler CUSTOMERPATH
Creates testable documentHandler in folder {CUSTOMER_PATH}/test/src/
USAGE
$ sk document-handler CUSTOMERPATH [-c <value>] [-t <value>...]
ARGUMENTS
CUSTOMERPATH The customer config path
FLAGS
-c, --configName=<value> [default: production] The costumer config name
-t, --CreateTests=<value>... name of the test to create
DESCRIPTION
Creates testable documentHandler in folder {CUSTOMER_PATH}/test/src/
EXAMPLES
$ sk documentHandler <customerPath> -c <configName>
$ sk deploy customers/decathlon.de -c production
sk find-pops APP
Get IPs for all fastly PoPs
USAGE
$ sk find-pops APP [-i <value>]
ARGUMENTS
APP The customers appName
FLAGS
-i, --ips=<value> [default: 151.101.x.194]
DESCRIPTION
Get IPs for all fastly PoPs
EXAMPLES
$ sk find-pops <app> -i <ips>
$ sk find-pops appName -i ips
sk generate-customer-config
Generates a customer config guided by a wizard 🧙
USAGE
$ sk generate-customer-config [-a <value>] [-d <value>]
FLAGS
-a, --app=<value> The SK app name which is also being used the config output directory name
(kebab-case)
-d, --customersDirectory=<value> Name of the sk-onboarding directory where all customer configs are being stored
(default: "customers")
DESCRIPTION
Generates a customer config guided by a wizard 🧙
EXAMPLES
$ sk generate-customer-config -a <app> -d <customersDirectory>
$ sk generate-customer-config -a decathlon -d customers
sk generate-pop-config APP
Generate a pop config for the given app
USAGE
$ sk generate-pop-config APP [-c <value>] [-d] [-p <value>] [-t <value>] [-r] [-s]
ARGUMENTS
APP The customers appName
FLAGS
-c, --coverage=<value> [default: 95] The percentage of traffic which should be covered through prewarming.
-d, --[no-]deploy Default it diffs with the deployed config and ask for deployment. If the flag is passed
deployment will be skipped or forced.
-p, --pop-limit=<value> [default: 5] The maximal pop count which should prewarmed.
-r, --use-rum Compute the pop statistics based on RUM. Otherwise the real Speed Kit traffic is used.
-s, --force-shield Force a shield based prewarming config.
-t, --traffic-share=<value> [default: 5] The minimum traffic share in percent a pop must have to be actually
prewarmed.
DESCRIPTION
Generate a pop config for the given app
EXAMPLES
$ sk generate-pop-config <app>
$ sk generate-pop-config --use-rum <app>
$ sk generate-pop-config --coverage 95 appName
$ sk generate-pop-config --no-deploy appName
$ sk generate-pop-config --deploy appName
$ sk generate-pop-config --coverage 95 --pop-limit 6 --traffic-share 2 --deploy appName
sk help [COMMAND]
Display help for sk.
USAGE
$ sk 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 sk.
See code: @oclif/plugin-help
sk login [APP]
Login to your app
USAGE
$ sk login [APP]
ARGUMENTS
APP [default: bbq] The customers appName
DESCRIPTION
Login to your app
EXAMPLES
$ sk login <app>
$ sk login appName
sk onboarding CUSTOMERPATH
Start a local dev environment for building and testing the Speed Kit configuration
USAGE
$ sk onboarding CUSTOMERPATH [-c <value>] [-d <value>] [-l] [-v] [-s]
ARGUMENTS
CUSTOMERPATH The customer config path
FLAGS
-c, --configName=<value> [default: production] The costumer config name
-d, --domain=<value> Startup domain (optional)
-l, --local Run with local documentHandler
-s, --ignoreContentSecurityPolicy Removes header/meta "content-security-policy" for origin-responses
-v, --verboseLevel Show all messages
DESCRIPTION
Start a local dev environment for building and testing the Speed Kit configuration
EXAMPLES
$ sk onboarding <customerPath> -c <configName> -d <domain>
$ sk onboarding customers/decathlon.de -c production -d www.decathlon.de
sk param-diff PAGEURL
Shows difference in documents with query parameters on/off
USAGE
$ sk param-diff PAGEURL [-h]
ARGUMENTS
PAGEURL Link of the page
FLAGS
-h, --hideDiff Hide the code diff in IDE code diff window
DESCRIPTION
Shows difference in documents with query parameters on/off
ALIASES
$ sk param-diff
EXAMPLES
$ sk prewarm <pageUrl> -h
$ sk prewarm https://www.decathlon.de/ -h
sk prewarm APP PATH
Pre-warm Fastly
USAGE
$ sk prewarm APP PATH [-p <value> | -v <value>] [-k] [-q] [-d <value>]
ARGUMENTS
APP The customer app name
PATH path to prewarmFile.csv
FLAGS
-d, --delay=<value> Request delay in ms (deprecated)
-k, --keepParameterSorting Prevents alphabetical sorting of the URL parameters
-p, --variationPath=<value> path to variations.csv
-q, --quiet less output non interactive
-v, --variation=<value> [default: DEFAULT]
DESCRIPTION
Pre-warm Fastly
EXAMPLES
for a single variation:
$ sk prewarm <app> <path> -v <variation> -k
$ sk prewarm decathlon C:\Users\testUser\file.csv -v MOBILE -k
for a list of variations:
$ sk prewarm <app> <path> -p <variationPath> -k
$ sk prewarm decathlon C:\Users\testUser\file.csv -v MOBILE,DESKTOP -k
$ sk prewarm decathlon C:\Users\testUser\file.csv -p C:\Users\testUser\variations.csv -k
sk pull CUSTOMERPATH
Pull the specified customer config from orestes
USAGE
$ sk pull CUSTOMERPATH [-c <value>]
ARGUMENTS
CUSTOMERPATH The customer config path
FLAGS
-c, --configName=<value> [default: production] The costumer config name
DESCRIPTION
Pull the specified customer config from orestes
EXAMPLES
$ sk pull <customerPath>
$ sk pull customers/decathlon.de -c production
sk wpt-launcher URLS TESTID
Analyze the performance impact that Speed Kit has compared to the original version.
USAGE
$ sk wpt-launcher URLS TESTID [-c <value>] [-m <value>] [-g <value>]
FLAGS
-c, --cookies=<value>
-g, --group=<value> [default: A]
-m, --mobile=<value> [default: no]
DESCRIPTION
Analyze the performance impact that Speed Kit has compared to the original version.
EXAMPLES
$ sk wpt-launcher <urls> <testId> -g <group> -m <mobile> -c <cookies>
$ sk wpt-launcher url1,url2,url3 listing-50vs50 -g B -m Y -c consentCookies