Getting started

From zero to shipped, in four verbs.

sh1pt is a single CLI that fans your project out to every store, ad network, and cloud you care about. This page walks through the first install and the four-verb loop that drives everything.

1. Install the CLI

The shell installer picks the first available JS runtime it finds (bun → pnpm → aube → npm → deno) and installs the published @profullstack/sh1pt package globally.

One-liner (shell)
curl -fsSL https://sh1pt.com/install.sh | sh
bun
bun i -g @profullstack/sh1pt
pnpm
pnpm add -g @profullstack/sh1pt
npm
npm i -g @profullstack/sh1pt
deno
deno install -g -A -f -n sh1pt npm:@profullstack/sh1pt

Confirm the install with sh1pt --help. Update later with sh1pt update; remove with sh1pt remove.

2. Sign in

sh1pt login pairs the CLI with your sh1pt.com account so the cloud tier can run the build farm, store-submission polling, and credentials vault on your behalf. Self-host core works without an account; cloud features need it.

sh1pt login

3. The four verbs

Every workflow in sh1pt collapses into four commands. Run them from the root of any project — sh1pt detects the framework and reads sh1pt.config.ts if present.

build

Compile artifacts for every target your project declares — web, iOS, Android, desktop, CLI, container, npm package, browser extension, and more.

sh1pt build

promote

Publish to stores, registries, and CDNs; launch ads; trigger cold-email + Product Hunt + podcast pitches; print swag. Anything that gets users.

sh1pt promote

scale

Provision VPS / GPU, wire up DNS, run rollouts, enforce hard cost ceilings. Cloud infra on demand without leaving the terminal.

sh1pt scale

iterate

Pull metrics, hand them to an agent, review proposed fixes, ship the winners. The loop that closes idea → distribution → feedback.

sh1pt iterate

4. Drop into an existing project

Every verb accepts --from so you can point sh1pt at an existing codebase, URL, or doc and skip the scaffold. A few common entry points:

Promote from a git repo
sh1pt promote --from git@github.com:you/app.git
Build from a local path
sh1pt build --from ./apps/web
Iterate from a live URL
sh1pt iterate --from https://example.com

5. Secrets & config

sh1pt prompts for credentials the first time an adapter needs them and stores them in the encrypted vault — no .env juggling. Inspect or rotate at any time:

List stored secrets
sh1pt secret list
Set a secret manually
sh1pt secret set OPENAI_API_KEY
Print resolved manifest
sh1pt config show

Where to go next