Skip to content

Latest commit

 

History

History
166 lines (113 loc) · 5.1 KB

README.md

File metadata and controls

166 lines (113 loc) · 5.1 KB

@checkup/cli

A CLI that provides health check information about your project.

CI Build oclif Version Downloads/week License

Usage

Install checkup CLI globally:

$ yarn global add @checkup/cli

# or

$ npm install -g @checkup/cli

First use the config generator to create a config file in your project's directory:

$ checkup generate config

The checkup CLI is now available to run. Use the run command to run Checkup against your project directory:

$ checkup
Checking up on your project...

Checkup Command (alias checkup run)

checkup PATH

A CLI that provides health check information about your project

USAGE
  $ checkup PATH

ARGUMENTS
  PATHS    The paths that checkup will operate on. If no paths are provided, checkup will run on the entire directory beginning at --cwd

OPTIONS
  -h, --help                               show CLI help
  -v, --version                            show CLI version
  -c, --config=config                      Use this configuration, overriding .checkuprc.* if present
  -d, --cwd=cwd  [default: .]              [default: .] The path referring to the root directory that Checkup will run in
  -t, --task=task
  -f, --format=stdout|json                 [default: stdout]
  -o, --outputFile=outputFile              [default: .]

See code: src/commands/run.ts

Generate Command

Checkup comes with a few generators to help generate Checkup plugins and tasks.

checkup generate plugin PLUGIN_NAME PATH

Generate a checkup plugin.

USAGE
  $ checkup generate plugin PLUGIN_NAME PATH

ARGUMENTS
  NAME  name of the plugin (kebab-case)
  PATH  [default: .] The path referring to the directory that the generator will run in

OPTIONS
  --defaults         use defaults for every setting
  --force            overwrite existing files
  --options=options  (typescript)

checkup generate task TASK_NAME PATH

Generate a task within a Checkup plugin.

USAGE
  $ checkup generate task TASK_NAME PATH

ARGUMENTS
  NAME  name of the task (kebab-case)
  PATH  [default: .] The path referring to the directory that the generator will run in

OPTIONS
  --defaults         use defaults for every setting
  --force            overwrite existing files
  --options=options  (typescript)

See code: src/commands/generate.ts

Configuration

Checkup is designed to be completely configurable via a configuration object.

Checkup uses cosmiconfig to find and load your configuration object. Starting from the current working directory, it looks for the following possible sources:

  • a .checkuprc file
  • a checkup.config.js file exporting a JS object

The search stops when one of these is found, and Checkup uses that object.

The .checkuprc file (without extension) can be in JSON or JavaScript format. You can add a filename extension to help your text editor provide syntax checking and highlighting:

  • .checkup.json
  • .checkup.js

You can also specify an explicit path to a configuration via the command line, which will override any configurations found in any .checkuprc.* files

$ checkup --config /some/path/to/my/config/.checkuprc

The configuration object has the following properties:

Plugins

Plugins are collections of Checkup tasks that are intended to be configured and run. Conceptually, they're very similar to eslint plugins, which themselves contain a collection of eslint rules to run.

Plugins can be authored by anyone, and configured to run for any codebase. Checkup comes with a plugin generator, making it easy to generate the scaffolding needed.

To generate a plugin, run:

$ checkup generate plugin checkup-plugin-foo

To configure plugins, use the plugins key in your configuration file, which contains a list of plugin names.

{
  "plugins": ["checkup-plugin-foo"]
}

Tasks

Tasks are the core primitive that Checkup uses to gather data for the Checkup report.

To generate a task, run the following in the plugin directory you want to add the task to:

$ checkup generate task example-task