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.
-
Install dependencies.
npm ci
-
Run the “full” build which includes linting, formatting, and unit tests.
npm run ci-build
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.
All contributions MUST adhere to the following expectations.
- Every change MUST have unit tests.
- Every change MUST have a GitHub issue linked.
- Any configuration option change SHOULD be discussed in a GitHub issue first.
- The PR build and test (see pipeline.yaml) MUST succeed.
- I will squash-merge the changeset into
main
upon approval.