Skip Command-Line Interface Reference
The Skip command-line interface (CLI) is an installed tool that can be run from the terminal on macOS. It provides an interface for creating new Skip projects (both Framework and App projects), as well as running tests, validating projects, and exporting built artifacts for publication.
Installing
The skip CLI is installed using Homebrew. For complete details, see the Getting Started Guide.
Once Homebrew is set up, Skip can be installed (and updated) by running the Terminal command:
% brew install skiptools/skip/skip
==> Tapping skiptools/skip
Cloning into '/opt/homebrew/Library/Taps/skiptools/homebrew-skip'...
Tapped 1 cask (15 files, 417KB).
==> Downloading https://source.skip.tools/skip/releases/download/0.8.18/skip.zip
==> Installing dependencies: android-platform-tools
==> Downloading https://dl.google.com/android/repository/platform-tools_r34.0.5-darwin.zip
==> Installing Cask android-platform-tools
==> Linking Binary 'adb' to '/opt/homebrew/bin/adb'
🍺 android-platform-tools was successfully installed!
==> Installing Cask skip
==> Linking Binary 'skip' to '/opt/homebrew/bin/skip'
▄▄▄▄▄▄▄ ▄▄▄ ▄▄▄ ▄▄ ▄▄▄▄▄▄▄
█ ██ █ █ ██ ██ █
█ ▄▄▄▄▄██ █▄█ ██ ██ ▄ █
█ █▄▄▄▄▄██ ▄██ ██ █▄█ █
█▄▄▄▄▄ ██ █▄██ ██ ▄▄▄█
▄▄▄▄▄█ ██ ▄ ██ ██ █
█▄▄▄▄▄▄▄██▄▄▄█ █▄██▄▄██▄▄▄█
Welcome to Skip 0.8.18!
Run "skip doctor" to check system requirements.
Run "skip checkup" to perform a full system evaluation.
Start with "skip init --open-xcode --appid=bundle.id project-name HelloSkip"
Visit https://skip.tools for documentation, samples, and FAQs.
Happy Skipping!
🍺 skip was successfully installed!
This will download and install the skip
tool itself, as well as the gradle
and JDK dependencies that are necessary for building and testing the Kotlin/Android side of your apps.
Skip Commands
% skip --help
OVERVIEW: skip
USAGE: skip <subcommand>
OPTIONS:
-h, --help Show help information.
SUBCOMMANDS:
version Print the skip version
doctor Evaluate and diagnose Skip development environment
checkup Run tests to ensure Skip is in working order
upgrade Upgrade to the latest Skip version using Homebrew
init Initialize a new Skip project
verify Verify Skip project
export Export the Gradle project and built artifacts
devices List connected devices and emulators/simulators
test Run parity tests and generate reports
See 'skip help <subcommand>' for detailed help.
skip upgrade
% skip upgrade
[✓] Check Skip Updates: 0.8.18
[✓] Skip 0.8.18 is up to date.
skip init
% skip init --help
OVERVIEW: Initialize a new Skip project
USAGE: skip init [<options>] <project-name> <module-names> ...
ARGUMENTS:
<project-name> Project folder name
<module-names> The module name(s) to create
OUTPUT OPTIONS:
-o, --output <path> Send output to the given file (stdout: -)
-E, --message-errout Emit messages to the output rather than stderr
-v, --verbose Whether to display verbose messages
-q, --quiet Quiet mode: suppress output
-J, --json Emit output as formatted JSON
-j, --json-compact Emit output as compact JSON
-M, --message-plain Show console messages as plain text rather than JSON
-A, --json-array Wrap and delimit JSON output as an array
--plain/--no-plain Show no colors or progress animations (default:
--no-plain)
CREATE OPTIONS:
--id <id> Application identifier (default: net.example.MyApp)
-d, --dir <directory> Base folder for project creation
-c, --configuration <c> Configuration debug/release (default: debug)
-t, --template <id> Template name/ID for new project (default: skipapp)
-h, --template-host <host>
The host name for the template repository (default:
https://github.com)
-f, --template-file <zip>
A path to the template zip file to use
--resource-path <resource-path>
Resource folder name (default: Resources)
--chain/--no-chain Create library dependencies between modules (default:
--chain)
--zero/--no-zero Add SKIP_ZERO environment check to Package.swift
(default: --zero)
--git-repo/--no-git-repo
Create a local git repository for the app (default:
--no-git-repo)
--free Create package with free software license
--show-tree/--no-show-tree
Display a file system tree summary of the new files
(default: --no-show-tree)
--module-tests/--no-module-tests
Whether to create test modules (default:
--module-tests)
--validate-package/--no-validate-package
Validate generated Package.swift files (default:
--validate-package)
TOOL OPTIONS:
--xcodebuild <path> Xcode command path
--swift <path> Swift command path
--gradle <path> Gradle command path
--adb <path> ADB command path
--emulator <path> Android emulator path
--android-home <path> Path to the Android SDK (ANDROID_HOME)
BUILD OPTIONS:
--build/--no-build Run the project build (default: --build)
--test/--no-test Run the project tests (default: --no-test)
--verify/--no-verify Verify the project output (default: --verify)
OPTIONS:
--appid <bundleID> Embed the library as an app with the given bundle id
--icon-color <hex> RGB hexadecimal color for icon background (default:
4994EC)
--version <version> Set the initial version to the given value
--apk/--no-apk Build the Android .apk file (default: --no-apk)
--ipa/--no-ipa Build the iOS .ipa file (default: --no-ipa)
--open-xcode Open the resulting Xcode project
--open-gradle Open the resulting Gradle project
-h, --help Show help information.
skip verify
% skip verify --help
OVERVIEW: Verify Skip project
USAGE: skip verify <options>
OUTPUT OPTIONS:
-o, --output <path> Send output to the given file (stdout: -)
-E, --message-errout Emit messages to the output rather than stderr
-v, --verbose Whether to display verbose messages
-q, --quiet Quiet mode: suppress output
-J, --json Emit output as formatted JSON
-j, --json-compact Emit output as compact JSON
-M, --message-plain Show console messages as plain text rather than JSON
-A, --json-array Wrap and delimit JSON output as an array
--plain/--no-plain Show no colors or progress animations (default:
--no-plain)
TOOL OPTIONS:
--xcodebuild <path> Xcode command path
--swift <path> Swift command path
--gradle <path> Gradle command path
--adb <path> ADB command path
--emulator <path> Android emulator path
--android-home <path> Path to the Android SDK (ANDROID_HOME)
OPTIONS:
--project <dir> Project folder (default: .)
-h, --help Show help information.
skip export
% skip export --help
OVERVIEW: Export the Gradle project and built artifacts
USAGE: skip export <options>
OUTPUT OPTIONS:
-o, --output <path> Send output to the given file (stdout: -)
-E, --message-errout Emit messages to the output rather than stderr
-v, --verbose Whether to display verbose messages
-q, --quiet Quiet mode: suppress output
-J, --json Emit output as formatted JSON
-j, --json-compact Emit output as compact JSON
-M, --message-plain Show console messages as plain text rather than JSON
-A, --json-array Wrap and delimit JSON output as an array
--plain/--no-plain Show no colors or progress animations (default:
--no-plain)
TOOL OPTIONS:
--xcodebuild <path> Xcode command path
--swift <path> Swift command path
--gradle <path> Gradle command path
--adb <path> ADB command path
--emulator <path> Android emulator path
--android-home <path> Path to the Android SDK (ANDROID_HOME)
OPTIONS:
-d, --dir <directory> Export output folder
--package <package-name>
App package name
--module <ModuleName> Modules to export
--project <dir> Project folder (default: .)
--build/--no-build Build the Swift project before exporting (default:
--build)
--show-tree/--no-show-tree
Display a file system tree summary (default:
--no-show-tree)
--release/--no-release Perform release build (default: --release)
--debug/--no-debug Perform debug build (default: --debug)
-h, --help Show help information.
skip devices
% skip devices
platform: android type: device id: emulator-5554
platform: ios type: device id: A85D41ED-3647-48D2-974E-30A53F8E629A
skip test
% skip test --help
OVERVIEW: Run parity tests and generate reports
USAGE: skip test <options>
OUTPUT OPTIONS:
-o, --output <path> Send output to the given file (stdout: -)
-E, --message-errout Emit messages to the output rather than stderr
-v, --verbose Whether to display verbose messages
-q, --quiet Quiet mode: suppress output
-J, --json Emit output as formatted JSON
-j, --json-compact Emit output as compact JSON
-M, --message-plain Show console messages as plain text rather than JSON
-A, --json-array Wrap and delimit JSON output as an array
--plain/--no-plain Show no colors or progress animations (default:
--no-plain)
TOOL OPTIONS:
--xcodebuild <path> Xcode command path
--swift <path> Swift command path
--gradle <path> Gradle command path
--adb <path> ADB command path
--emulator <path> Android emulator path
--android-home <path> Path to the Android SDK (ANDROID_HOME)
OPTIONS:
--test/--no-test Run the project tests (default: --test)
--filter <Test.testFun> Test filter(s) to run
--project <dir> Project folder (default: .)
--xunit <xunit.xml> Path to xunit test report
--junit <folder> Path to junit test report
--max-column-length <n> Maximum table column length (default: 25)
-c, --configuration <c> Configuration debug/release (default: debug)
--summary-file <path> Output summary table
-h, --help Show help information.
skip doctor
% skip doctor --help
OVERVIEW: Evaluate and diagnose Skip development environment
USAGE: skip doctor <options>
OUTPUT OPTIONS:
-o, --output <path> Send output to the given file (stdout: -)
-E, --message-errout Emit messages to the output rather than stderr
-v, --verbose Whether to display verbose messages
-q, --quiet Quiet mode: suppress output
-J, --json Emit output as formatted JSON
-j, --json-compact Emit output as compact JSON
-M, --message-plain Show console messages as plain text rather than JSON
-A, --json-array Wrap and delimit JSON output as an array
--plain/--no-plain Show no colors or progress animations (default:
--no-plain)
TOOL OPTIONS:
--xcodebuild <path> Xcode command path
--swift <path> Swift command path
--gradle <path> Gradle command path
--adb <path> ADB command path
--emulator <path> Android emulator path
--android-home <path> Path to the Android SDK (ANDROID_HOME)
OPTIONS:
-h, --help Show help information.
skip checkup
% skip checkup --help
OVERVIEW: Run tests to ensure Skip is in working order
USAGE: skip checkup <options>
OUTPUT OPTIONS:
-o, --output <path> Send output to the given file (stdout: -)
-E, --message-errout Emit messages to the output rather than stderr
-v, --verbose Whether to display verbose messages
-q, --quiet Quiet mode: suppress output
-J, --json Emit output as formatted JSON
-j, --json-compact Emit output as compact JSON
-M, --message-plain Show console messages as plain text rather than JSON
-A, --json-array Wrap and delimit JSON output as an array
--plain/--no-plain Show no colors or progress animations (default:
--no-plain)
TOOL OPTIONS:
--xcodebuild <path> Xcode command path
--swift <path> Swift command path
--gradle <path> Gradle command path
--adb <path> ADB command path
--emulator <path> Android emulator path
--android-home <path> Path to the Android SDK (ANDROID_HOME)
OPTIONS:
-c, --configuration <c> Configuration debug/release (default: release)
--double-check Check twice that sample build outputs produce
identical artifacts
-h, --help Show help information.