Skip to content

Latest commit

 

History

History
58 lines (42 loc) · 1.46 KB

CONTRIBUTING.md

File metadata and controls

58 lines (42 loc) · 1.46 KB

Contributing

Development

Use a maintained Node.js release and pnpm 11.11.0 or later.

pnpm install
pnpm lint
pnpm typecheck
pnpm test
pnpm test:types
pnpm build
pnpm publint
pnpm knip
pnpm benchmark:smoke

Run the full benchmark before documenting performance changes:

pnpm benchmark
pnpm benchmark --filter exact
pnpm benchmark --filter=wildcard

Benchmark methodology and comparison boundaries are documented in benchmarks/README.md.

Tests should cover successful behavior, invalid input, security boundaries, and type inference. Detector changes should include malformed near-matches and adversarial repeated input. Public APIs must include JSDoc and README documentation.

Changesets

Add a changeset for a user-visible change:

pnpm changeset

Choose the smallest semantic-version increment that accurately represents the public change.

Publishing

The publish.yml workflow runs for a published GitHub release or manual workflow_dispatch. It uses npm trusted publishing through GitHub Actions OIDC and does not require a long-lived npm write token.

Configure the npm package trusted publisher with:

  • Organization or user: neplextech
  • Repository: redactive
  • Workflow filename: publish.yml
  • Allowed action: npm publish
  • Environment: leave unset unless the workflow is updated to use one

The release tag must equal v followed by the package version. Manual dispatches accept an npm distribution tag and default to latest.