Fingerpoint Detector
Development

Packaging and publishing

What the CLI package contains, the automatic publishing workflow, and the first-time setup of npm trusted publishing.

Packaging

bun run build:cli creates dist/fpd/. It bundles the CLI commands, the fixed sampling challenges, the shared algorithms, the reference bank worker, and the offline fitting modules in this repository. It copies the public reference bank, detector parameters, and tokenizer bank, and pins the versions of the installed runtime dependencies. Raw sampling records are not packaged. Sampling and enrollment can run outside the repository with Node or Bun. Offline retraining additionally requires uv and Python.

Automatic publishing

The Publish FPD CLI workflow runs on main. It starts automatically when the CLI, shared algorithms, reference data, dependencies, or release configuration change, and it also supports manual dispatch. Each build uses 0.0.<Unix time in milliseconds> as its version and publishes the latest tag. No manual version bump or Git tag is required. Release jobs run sequentially, verify a clean installation outside the repository, and check the npm tag after publishing.

First-time setup

The workflow uses npm trusted publishing (GitHub OIDC). The first-time setup requires an npm account with permission to publish lmfpd:

npm login
bun run build:cli
cd dist/fpd
npm publish --access public --tag latest
npm trust github lmfpd --repo Ikaleio/lm-detector \
  --file publish-cli.yml --allow-publish --yes

The trusted publisher must allow direct npm publish. After setup, GitHub Actions needs no stored npm token. Dispatch the workflow manually once to verify the authorization before you rely on automatic releases.

Website and docs

The website and docs deploy automatically through the Git integration of Cloudflare Pages. GitHub Pages is published by a manually dispatched workflow. See Deployment.

Last updated on

On this page