Get the code
Clone the ShipAgent repository, install its dependencies with the pinned Node and pnpm versions, and create an empty .env.local for the agent to fill.
Outcome: the repository is on your machine, pnpm install has finished, and .env.local exists. The agent fills .env.local during setup; you do not edit it by hand.
What you need first
| Tool | Version | Why |
|---|---|---|
| Git | any recent | to clone the repository and, later, deploy |
| Node.js | 22, exactly 22.23.4 in .node-version |
the version the project and its deploy workflow are built with |
| pnpm | 12.16.1, pinned in package.json (packageManager) |
installs the exact dependency tree in pnpm-lock.yaml |
| An AI agent | Claude Code, Cursor or Codex | runs the skills; see Your first session |
| A GitHub account | the account that receives access to the repository |
The simplest way to get the right pnpm is Corepack, which ships with Node: it reads packageManager and uses that pnpm version inside this project.
corepack enable
A Node version manager that reads .node-version (for example fnm) switches to 22.23.4 when you enter the folder. With nvm, run nvm install 22.23.4 once.
Steps
1. Repository access
You: after purchase you receive access to the private repository. Use the GitHub account that received it in the next step.
2. Clone
You:
git clone <repository URL> my-saas
cd my-saas
Pick any folder name. If you prefer, open your agent in an empty folder and ask it to clone the repository; it uses your Git credentials.
3. Install
You or Agent:
pnpm install
4. Create .env.local
You or Agent:
cp .env.example .env.local
.env.example lists every setting with a comment saying what it is for. .env.local holds your keys for local development. It is ignored by Git and never committed. The agent writes each value into it when the matching skill reaches that step.
5. Your own repository (when you deploy)
Your site lives in its own private GitHub repository. The deploy skills create it for you with the GitHub CLI (gh repo create <owner>/<name> --private --source . --push) when you reach deployment. One rule: the repository name must not end in -starter. The Cloudflare workflow skips the deploy for such names, so a repository named like the starter itself never goes live.
To keep pulling ShipAgent updates into your project, keep the ShipAgent repository as a second remote before the agent sets up yours:
git remote rename origin shipagent
When it fails
| What you see | Cause | Fix |
|---|---|---|
Repository not found or Permission denied on clone |
Git is signed in with another GitHub account, or the access has not been accepted yet | sign in with the account that received access; accept the invitation if GitHub shows one |
| install or build errors that mention Node or a syntax the runtime does not know | wrong Node version | switch to Node 22.23.4 (node -v to check) |
| pnpm complains about its own version or the lockfile | a global pnpm of another version is used | corepack enable, then rerun pnpm install |
ERR_PNPM_IGNORED_BUILDS |
a dependency wants to run an install script that is not allowed | ask the agent: allowed builds are listed in pnpm-workspace.yaml (allowBuilds) |