Thanks for contributing to @putdotio/sdk.
Install dependencies with Vite+:
vp installThen install the stock VitePlus hook wiring for this clone:
vp configRun the full repo guardrail before opening or updating a pull request:
vp run verifyThat command runs formatting, linting, package build, unit tests, and coverage using the same repo-local entrypoint CI relies on.
The coverage guardrail is unit-only and counts all production files under src/**.
Live tests are intentionally separate confidence checks and do not count toward the coverage threshold.
The low-risk consumer publication-surface target is the exception and runs in CI on every push and pull request.
Live verification is opt-in and uses the real put.io API.
Start with the example env file:
cp .env.example .envRun the full live suite:
vp run test:liveRun just the publication-surface target:
vp run test:live:consumerThis is optional for normal contributions and requires real credentials. Use it when you need backend sanity checks, release confidence, or verification for stateful flows that unit tests cannot prove.
Bootstrap runtime tokens with 1Password:
export OP_SERVICE_ACCOUNT_TOKEN="<service-account-token>"
op run --env-file=.env.example -- vp run bootstrap:tokensFor single-target commands, safety rules, and fixture expectations, see Testing.
- Prefer
vpfor repo commands. - Treat
@putdotio/sdkas a new public package, not a compatibility wrapper aroundputio-js. - Keep the public surface domain-first and Effect-first.
- Put end-user usage in Overview. Put deeper contributor and architecture notes in
docs/*.
Useful references:
- Keep changes focused and explicit.
- Add or update tests when behavior changes.
- Update docs when the public surface, contributor workflow, or verification model changes.
- Prefer follow-up pull requests over mixing unrelated cleanup into one batch.