Thanks for contributing to putio-cli.
Use the Node version required by package.json, then install dependencies:
pnpm exec vp installThen install the stock VitePlus hook wiring for this clone:
pnpm exec vp configStart the local build watcher:
pnpm exec vp run devBuild the CLI once and try the shipped entrypoint:
pnpm exec vp run build
./dist/bin.mjs describeRun the main repository gate before opening or updating a pull request:
pnpm exec vp run verifyUse the repo-local Vite+ binary for test-bearing commands so the runner and
vite-plus/test imports share one Vitest runtime.
Focused checks are listed under Commands in AGENTS.md.
See Distribution for release automation, credentials, and binary asset publishing.
verifyis the delivery gate. It enforces the production Effect runtime boundary and dead-code checks, exercises the packed CLI through success and failure paths, and writes the smoke report to.artifacts/smoke-packed-install.json.pnpm exec vp configinstalls the tracked pre-commit and pre-push hooks; pre-push runs the sameverifygate as CI.- Prefer
pnpm exec vp install,pnpm exec vp test, andpnpm exec vp checkfor day-to-day local loops. - Keep the exact Effect versions and the Effect override aligned with the pinned put.io SDK. The build bundles the SDK so installed CLIs and the SDK share one Effect runtime; if an SDK release depends on an Effect API the pinned runtime lacks, add a pnpm patch under
patches/and register it inpnpm-workspace.yaml. - Doc placement rules: Development Guidance in AGENTS.md.
- Keep changes focused and explicit.
- Add or update tests when behavior changes.
- Prefer small follow-up pull requests over mixing unrelated cleanup into one branch.