Skip to content

Latest commit

 

History

History
60 lines (43 loc) · 1.89 KB

CONTRIBUTING.md

File metadata and controls

60 lines (43 loc) · 1.89 KB

Contributing

Setup

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 config

Run Locally

Watch and rebuild:

pnpm exec vp run dev

Build once and run the shipped entrypoint:

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

Checks

Run the gate before opening or updating a pull request:

pnpm exec vp run verify

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

Effect Versions

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.

Release Setup

Maintainers keep these provider settings in sync with ci.yml; the release fails without them.

  • GitHub Environment release: holds the credentials ci.yml reads, no approval, main only.
  • putio-ci GitHub App: Contents read and write on putio-cli and putdotio/homebrew-tap.
  • npm Trusted Publishing for @putdotio/cli: owner putdotio, repository putio-cli, workflow ci.yml, environment release.