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, the Effect override, and the pnpm SDK compatibility patch aligned. The build bundles the patched SDK so installed CLIs and the SDK share one Effect runtime.
- 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.