Use the Node version in .node-version, then install
dependencies and the tracked Git hooks. Pre-push runs the same verify gate as
CI.
pnpm exec vp install
pnpm exec vp configWatch and rebuild:
pnpm exec vp run devBuild once and run the shipped entrypoint:
pnpm exec vp run build
./dist/bin.mjs describeRun the gate before opening or updating a pull request:
pnpm exec vp run verifyRun tests through pnpm exec vp test so the runner and vite-plus/test imports
share one Vitest runtime. Focused checks and which one proves which change are
in AGENTS.md.
Keep effect and every @effect/* package in package.json on
one exact version; Renovate's shared effect group moves them together. The
@putdotio/sdk>effect override in
pnpm-workspace.yaml
holds the SDK on that version; smoke:pack fails if the packed install
resolves more than one. The build bundles the SDK, so the
CLI and SDK share one Effect runtime. If an SDK release needs an Effect API the
pinned runtime lacks, add a pnpm patch and register it in
pnpm-workspace.yaml.
Maintainers keep these provider settings in sync with
ci.yml; the release fails without them.
- GitHub Environment
release: holds the credentialsci.ymlreads, no approval,mainonly. putio-ciGitHub App: Contents read and write onputio-cliandputdotio/homebrew-tap.- npm Trusted Publishing for
@putdotio/cli: ownerputdotio, repositoryputio-cli, workflowci.yml, environmentrelease.