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.
Run focused checks when they match your change:
pnpm exec vp run check:dead-code
pnpm exec vp run smoke:pack
pnpm exec vp run build:sea
pnpm exec vp run verify:seaSee Distribution for release automation, credentials, and binary asset publishing.
verifyis the repository delivery gate.verifyenforces 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. - Keep top-level user docs in
README.mdand contributor workflow here. - Put deeper implementation detail in
docs/instead of growing the top-level docs. - Keep
AGENTS.mdas repo-development guidance andskills/*as consumer-facing agent guidance. - When the public CLI surface or agent setup flow changes, update
README.mdandskills/putio-cli/*in the same change.
- 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.