Appearance
Install the CLI
The package is @easytrace/cli; it installs a command named easytrace. It needs Node.js 22 or later.
From npm
bash
pnpm add -D @easytrace/cli # or: npm i -D @easytrace/cli / yarn add -D @easytrace/cliOr without installing: npx @easytrace/cli <command>.
From GitHub (private preview)
Until the package is published on npm, it is installed from the release tags of the private codefilter-dev/easytrace-apps repository. This needs pnpm (npm can't install a sub-folder of a git repository) and read access to that repository.
bash
pnpm add -w --save-optional "git+ssh://git@github.com/codefilter-dev/easytrace-apps.git#packages-v0.3.1&path:/cli"package.json then contains:
json
{
"optionalDependencies": {
"@easytrace/cli": "github:codefilter-dev/easytrace-apps#packages-v0.3.1&path:/cli"
}
}- Upgrade: change the tag (
packages-v…) and runpnpm install. - Why
optionalDependencies: where the repository can't be read — a Docker image, a CI job without access — pnpm skips the CLI instead of failing the whole install. Everything else still installs; only the upload is missing. - When npm publishing starts, only this line changes to a normal version (
"@easytrace/cli": "^0.3.1"). The command and config stay the same.
Access from CI
CI has no SSH key, and another repository's default GITHUB_TOKEN can't read easytrace-apps. Create a fine-grained personal access token with Contents: Read-only on codefilter-dev/easytrace-apps, save it as a secret (e.g. EASYTRACE_REPO_TOKEN), and rewrite the SSH URLs before installing:
yaml
- run: |
git config --global url."https://x-access-token:${{ secrets.EASYTRACE_REPO_TOKEN }}@github.com/".insteadOf "git@github.com:"
git config --global --add url."https://x-access-token:${{ secrets.EASYTRACE_REPO_TOKEN }}@github.com/".insteadOf "ssh://git@github.com/"
- run: pnpm install --frozen-lockfileBoth forms are needed: the lockfile records the repository as git@github.com:….
Check the installation
bash
pnpm exec easytrace --version
pnpm exec easytrace --help