CLI (create-shipkit-app)

A CLI tool to scaffold new ShipKit projects, sync upstream changes, and deploy.

Install

npm create shipkit-app@latest my-app
# or
bun create shipkit-app@latest my-app

Commands

shipkit create [name]

Scaffold a new project from the ShipKit template.

shipkit create my-app
shipkit create my-app --yes          # skip prompts
shipkit create my-app --no-install   # skip bun install
shipkit create --template user/repo  # custom template

What happens:

  1. Creates a new GitHub repo from the ShipKit template (falls back to git clone if gh auth fails)
  2. Sets the upstream remote to the template you chose (https://github.com/shipkit-io/bones.git by default)
  3. Grafts upstream history with --allow-unrelated-histories
  4. Installs dependencies with bun install

After creating, run the rebrand script to rename everything:

cd my-app
bunx tsx scripts/rebrand.ts --name "My App" --domain "myapp.com" --creator-name "Your Name"

shipkit sync

Pull upstream ShipKit changes into your project.

shipkit sync            # creates a PR branch with upstream changes
shipkit sync --direct   # merge directly into current branch
shipkit sync --yes      # skip prompts

shipkit deploy

Deploy to Vercel.

shipkit deploy        # interactive
shipkit deploy --open # open Vercel import page in browser

Rebrand Script

Not a CLI command, but part of the post-create workflow. See the Rebranding Guide for full details.

bunx tsx scripts/rebrand.ts --name "MyApp" --slug "my-app" --domain "myapp.com" --creator-name "Jane Smith"
bunx tsx scripts/rebrand.ts --dry-run   # preview changes

Updates src/config/site-config.ts, .env.example, and package.json with your branding.

Development

The CLI lives in its own repo: lacymorrow/shipkit-cli.

git clone https://github.com/lacymorrow/shipkit-cli.git
cd shipkit-cli
bun install
bun run build    # tsup build -> dist/
bun run dev      # watch mode

Key Files

FilePurpose
src/index.ts (shipkit-cli)Entry point, command definitions
src/create.ts (shipkit-cli)Project scaffolding logic
src/sync.ts (shipkit-cli)Upstream sync logic
src/deploy.ts (shipkit-cli)Vercel deployment logic
scripts/rebrand.ts (this repo)Post-create branding script