Skip to content

Latest commit

 

History

History
42 lines (27 loc) · 1.47 KB

CONTRIBUTING.md

File metadata and controls

42 lines (27 loc) · 1.47 KB

Contributing

The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

Getting started

  1. Install dependencies.

    npm ci
  2. Run the “full” build which includes linting, formatting, and unit tests.

    npm run ci-build

Directory structure

The src directory contains the main and test sources.

  • main.ts represents the entry point (the CLI tool).
  • cli contains CLI-related code that is not unit tested.
  • commands represents the unit-tested commands and logic.

The fixtures directory contains files for data-file-driven unit tests.

The scripts directory contains the esbuild build script and pipeline test helper script.

Expectations

All contributions MUST adhere to the following expectations.

  1. Every change MUST have unit tests.
  2. Every change MUST have a GitHub issue linked.
  3. Any configuration option change SHOULD be discussed in a GitHub issue first.
  4. The PR build and test (see pipeline.yaml) MUST succeed.
  5. I will squash-merge the changeset into main upon approval.