Files
anonymizer/CONTRIBUTING.md
Mobiletic 08f84ae14a chore: point repo/badge URLs at git.mobiletic.net Gitea
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 17:09:07 +01:00

1.6 KiB

Contributing to @mobiletic/anonymizer

Thanks for your interest in improving this project! Contributions of all kinds are welcome — bug reports, new pattern presets, additional LLM providers, docs, and tests.

Getting started

git clone https://git.mobiletic.net/mobiletic/anonymizer.git
cd anonymizer
npm install
npm test           # run the test suite (vitest)
npm run test:coverage # tests + coverage report
npm run typecheck  # tsc --noEmit
npm run lint       # eslint
npm run format     # prettier --write (or `npm run format:check` to verify)
npm run build      # tsup → dist/ (ESM + CJS + types)

Guidelines

  • Tests first. Every behavior change needs a test. The anonymization core is privacy-critical — we keep coverage tight, especially around coreference, de-collision, and streaming.
  • No runtime dependencies. The core must stay dependency-free. New providers should rely only on platform APIs (e.g. fetch).
  • Keep it framework-agnostic. No framework-specific code (NestJS, Express, React, …) in the package.
  • Patterns use the global flag. Any PatternDef.re must be a global (/…/g) regex.
  • Conventional commits are appreciated (feat:, fix:, docs:, test:, chore:).

Reporting security issues

Please do not open public issues for vulnerabilities (e.g. a PII-leak path). Email security@mobiletic.com instead.

Pull requests

  1. Fork and branch from main.
  2. Add tests and update docs.
  3. Ensure npm test, npm run typecheck, and npm run build pass.
  4. Open the PR with a clear description of the change and its motivation.