Skip to content

Latest commit

 

History

History
63 lines (41 loc) · 1.98 KB

File metadata and controls

63 lines (41 loc) · 1.98 KB

Contributing

Thanks for contributing to putio-cli.

Setup

Use the Node version required by package.json, then install dependencies:

pnpm exec vp install

Then install the stock VitePlus hook wiring for this clone:

pnpm exec vp config

Run Locally

Start the local build watcher:

pnpm exec vp run dev

Build the CLI once and try the shipped entrypoint:

pnpm exec vp run build
./dist/bin.mjs describe

Validation

Run the main repository gate before opening or updating a pull request:

pnpm exec vp run verify

Use 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.

Release Publishing

See Distribution for release automation, credentials, and binary asset publishing.

Development Notes

  • verify is 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 config installs the tracked pre-commit and pre-push hooks; pre-push runs the same verify gate as CI.
  • Prefer pnpm exec vp install, pnpm exec vp test, and pnpm exec vp check for 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 in pnpm-workspace.yaml.
  • Doc placement rules: Development Guidance in AGENTS.md.

Pull Requests

  • 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.