Review the README.md and CONTRIBUTING.md for all relevant repository information.
- Ensure you're on at least Node.js v22.18 or greater when contributing (native TypeScript stripping for
npm testrequires it; seedevEngines) - Use
npm installto install dependencies - Use
npm run buildto build the project - Do not run
npm versionornpm publish; these commands are for humans only. - When updating core code, make sure to update relevant documentation.
- Public API and usage docs are in
README.md - Internal documentation is in
CONTRIBUTING.md - If you change the public API surface in
src/index.ts, updateREADME.md#api.
- Public API and usage docs are in
- Do not edit files in
dist/; it is compiled output and gitignored.
- Use ESM and TypeScript
- Use erasable syntax only (no
enumornamespace) - There is currently no linter or formatter for this project
- Use
npm linkin this directory andnpm link @harperfast/integration-testingin other project directories to test out changes locally - Use
npm run checkto type-check the project without generating a build output - Use
npm testto run the tests (node --testovertest/**/*.test.ts). Tests live intest/, separate fromsrc/, so the build (which emits onlysrc/) never includes them.- To keep them runnable without a real Harper, internal-only helpers are exported from their modules (e.g.
runHarperCommandinharperLifecycle.ts) but intentionally NOT re-exported fromindex.ts, so they stay out of the public API.
- To keep them runnable without a real Harper, internal-only helpers are exported from their modules (e.g.