bilig

New Contributor Guide

Use this guide for your first bilig pull request. The shortest path is a small docs, example, fixture, or test change with one clear validation command.

Pick A Scoped Task

Start with docs/starter-issues.md. Comment on the issue before opening a pull request so a maintainer can confirm the scope is still current.

If this is your first patch to this repository, prefer the first-timers-only filter. Those issues are reserved for tasks that should be possible from the issue body, linked docs, and one focused validation command.

A useful claim comment says:

I can take this.

Plan:

- files I expect to touch:
- validation command:
- question or assumption:

If the issue already has an assignee, ask whether help is still wanted before starting work.

Get Local Feedback Quickly

Use Node 24+, Bun, and pnpm@10.32.1.

pnpm install
pnpm wasm:build

Then run the narrowest check that matches the change:

Run pnpm run ci before asking for review when the change touches runtime behavior, generated artifacts, benchmarks, browser flows, or multiple packages.

First-Time Command Checklist

For a docs-only or example-only starter issue, run the command named in the issue first. That might be a local example command such as:

pnpm --dir examples/headless-workpaper install --ignore-workspace
pnpm --dir examples/headless-workpaper run snapshot-diff

Then run the repo checks that usually cover small documentation and example patches:

pnpm docs:discovery:check
pnpm format:check
pnpm lint

If your example changes the packaged WorkPaper example set, also run:

pnpm workpaper:smoke:external

If the patch changes package behavior, generated files, benchmarks, browser flows, or more than one package, run the narrower package test named in the issue and then pnpm run ci before asking for review.

Know Where To Look

Prefer public package exports in examples. Do not import from src/ or dist/ unless the issue is specifically about package internals.

Keep The PR Easy To Merge

The best first contribution gives a future user a clearer path to evaluate @bilig/headless or gives maintainers a small regression proof they can keep in CI.