Ship Kit
CLI
shipkit init, shipkit deploy, and shipkit version commands.
shipkit init
Scaffolds a vite.config.ts in the current directory:
shipkit init library # for @munsonlabs/* packages
shipkit init app # for apps
Both import from @munsonlabs/shipkit/vite/vue.config:
import { mergeConfig } from 'vite-plus'
import base from '@munsonlabs/shipkit/vite/vue.config'
export default mergeConfig(base, {
// local overrides
})
shipkit deploy
Handles the full release pipeline using Changesets.
Commands
| Command | Description |
|---|---|
shipkit deploy --commit | Create a changeset |
shipkit deploy --version | Bump versions via Changesets and commit (CI only) |
shipkit deploy --publish | Publish packages via Changesets (CI only) |
shipkit deploy --beta | Target the beta prerelease flow when bumping (used with --version) |
shipkit deploy --local | Publish to local Verdaccio |
shipkit deploy --snapshot <tag> | Publish snapshot to npm |
shipkit deploy --package <name> | Target specific package (used with --local) |
shipkit deploy --scope <scope> | Filter packages by name prefix, e.g. @munsonlabs/ (used with --local and --snapshot) |
--local
Publishes to local Verdaccio with a timestamp version:
shipkit deploy --local
shipkit deploy --local --package @munsonlabs/video-player
shipkit deploy --local --scope @munsonlabs/
Version: 1.2.0-local.<timestamp>
--snapshot
Publishes temporary version to npm without consuming changesets:
shipkit deploy --snapshot my-feature
shipkit deploy --snapshot my-feature --scope @munsonlabs/
Version: 0.0.0-my-feature-<timestamp>
--version / --publish / --beta
CI only, these commands exit with error if run locally.
Versioning and publishing are separate steps — --version bumps package versions and commits/pushes the changelog, --publish only publishes whatever versions are currently committed. Neither implies the other.
shipkit deploy --commit # create changeset first
shipkit deploy --version # bump on main, or on the beta branch → 1.2.0-beta.0, 1.2.0-beta.1, etc.
shipkit deploy --publish # publish whatever is currently versioned on main or beta
Environment
| Variable | Default | Description |
|---|---|---|
VERDACCIO_URL | — | Registry URL for --local (e.g. http://localhost:4873) |
GITHUB_ACTIONS | — | Required for --version and --publish — set automatically by GitHub Actions |
shipkit version
Prints the version derived from git (branch name or tag).
shipkit version