Repository navigation
Releases: acus9345/shipkit
Releases · acus9345/shipkit
Release list
v0.3.0
Added
ship login gh|npm|cargo|pypi: opens the tool's official login in a visible window and waits for you to finish it there. ship never sees what you enter, and skips tools already logged in.ship install-tool gh|git|node|uv(gated): installs a missing tool with winget on Windows or Homebrew on macOS.
Fixed
ship publishto npm with 2FA: when npm asks for approval, the publish re-runs in a window where you approve it in the browser, instead of failing.- PyPI terminal publish now finds a
uv auth logincredential, and uploads with twine when the credential is in.pypircorTWINE_PASSWORD, whichuv publishdoes not read.
v0.2.0
Added
- npm support: package.json projects,
npmchecks and dry runs, trusted publishing with provenance in the release workflow, andverifyfor both libraries and CLIs. - PyPI support through
uv: pyproject.toml projects (hatchling),uv buildanduv publish --dry-run, a pending trusted publisher so even the first release can publish from CI, andverifyin a fresh virtual environment. --registry crates.io|npm|pypion every step. The registry is detected from the manifest when it is left out.
Changed
- The release workflows of all registries share one GitHub-release job.
add-workflowsreportsexecutablein place ofattach_binary.
v0.1.0
Added
shipCLI with 15 steps, frompreflighttopublish. Every step prints one JSON object with stable error codes, supports--dry-run, and logs locally with secrets redacted.- Gating:
create-repo,releaseandpublishare refused without--confirm, refuse a dirty working tree, and run the secret scan and the registry dry run first. - crates.io support behind a
Registrytrait. Generated release workflows publish through trusted publishing (OIDC) with no stored tokens. - A 24-hour publish cooldown after a crates.io rate limit (HTTP 429).
- Claude Code plugin: the
shipskill, a PreToolUse hook that blocks gated commands without--confirm, and/ship-setup. ship self-testfor an offline check of the safety machinery.