Outline CLI
The command line tool for Outline.

Features
The @phase2/outline-cli handles a multitude (1 presently) of common day to day tasks when using Outline.
- Scaffold new design system project(s) using the CLI.
- @todo: Scaffold new components using the CLI.
- @todo: Scaffold new controllers using the CLI.
- @debug: Do some things.
- @review: Do some things.
- @note: Do some things.
- @hack: Do some things.
- @todo: Do some things.
Usage
Using NPX (Recommended)
Using npx will ensure you are always using the latest version of the CLI without having to ensure your global dependencies are up to date.
npx @phase2/outline-cli COMMAND
Checking the version being used via NPX
You will want this version to match up with the latest version at npmjs
.
npx @phase2/outline-cli --version
Updating Version used by NPX
Ensure cache is cleared if local environment is not looking for the latest version. Uses the clear-npx-cache package.
npx clear-npx-cache
Check the version with the cli again
npx @phase2/outline-cli --version
Global NPM Installation
npm install -g @phase2/outline-cli
If you install @phase2/outline-cli locally, rather than running the commands with npx @phase2/outline-cli, you'd preface those commands with outline COMMAND instead.
outline --version
outline help init
outline init
Commands
outline init
Scaffolds a new Outline project based on prompts or automated via arguments.
Scaffolds a new Outline Project
USAGE
$ outline init [-a] [-n <value>] [-s <value>] [-p <value>] [-d <value>] [-t <value>]
FLAGS
-a, --automated Enable/disable interactive mode.
-d, --description=<value> Project description.
-n, --name=<value> Project name.
-p, --packageName=<value> Project package name.
-s, --slug=<value> Project slug.
-t, --template=<value> Project template.
DESCRIPTION
Scaffolds a new Outline Project
EXAMPLES
$ outline init
$ npx @phase2/outline-cli init
Interactive
The following is the simplest method that will prompt you step by step through providing the name, slug, packageName, description, and template that will be sent to the init functionality.
npx @phase2/outline-cli init
Automated
This method enables you to scaffold a design system by a set of provided values. The required automated flag must be provided in order to "disable" the default inquirer prompts.
When providing flags to the init command, it should be assumed that ALL prompts are provided through flags, and not just one. Using the --automated flag turns off the inquirer functionality and would otherwise provide default values for all missing flags.
Sample 1
npx @phase2/outline-cli init \
--automated \
--name="Design System: 1" \
--slug="design-system-one" \
--packageName="@phase2/design-system-one" \
--description="Web component library powered by OutlineJS." \
--template="default"
Sample 2
npx @phase2/outline-cli init \
--automated \
--name="Design System: 2" \
--slug="design-system-two" \
--packageName="@phase2/design-system-two" \
--description="Web component library powered by OutlineJS." \
--template="default"
Sample 3
npx @phase2/outline-cli init \
--automated \
--name="Design System: 3" \
--slug="design-system-three" \
--packageName="@phase2/design-system-three" \
--description="Web component library powered by OutlineJS." \
--template="default"