The Lore JavaScript SDK follows the Lore project contribution process. Issues and pull requests are welcome in this repository.
- Node.js 20+ and pnpm 10 — see
packageManagerinpackage.json - Python 3.10+ — required by the binding generator, with uv for dependency management
uv venv .venv && source .venv/bin/activate
uv pip install jinja2 pycparser
pnpm install --frozen-lockfile
uv run python find_lorelib.py
uv run python generator/generate.py
pnpm run buildRun the tests:
pnpm testThis runs vitest plus the CommonJS smoke test (src/cjs/smoke.cjs).
Formatting is enforced by CI and must pass before any PR is merged:
pnpm run prettier:formatFor anything beyond a trivial fix, open a GitHub Issue and wait for a
maintainer to weigh in before investing significant effort. Changes to the
wire protocol or lore-capi belong in the
Lore repository, not here.
Every commit must include a Signed-off-by: line. Add it with
git commit -s. The DCO, patent affirmation, copyright header rules, and
license compatibility policy are all defined in the canonical contributing
doc.
The full PR process, review process, AI assistance policy, legal terms, and community channels are published in the Lore repository: