ShipAgent

Integrations

The six services ShipAgent connects to, the order to connect them in, and the optional trackers.

ShipAgent talks to six outside services: a Postgres database, Google (and optionally GitHub) for sign-in, Stripe for payments, Resend for email, Cloudflare R2 for file storage, and one or more AI providers. Each one has a setup skill in skills/setup-* that your agent follows, and a check script in scripts/check-*.ts that proves the connection works. An integration is done when its check prints all checks passed, never earlier.

Every page in this section has the same parts:

  • You: the accounts you create, the values you paste and where to click for them.
  • Agent: what the agent does with them. You do not type any commands.
  • What the check prints when it passes.
  • When it fails: the common failures and what fixes them.
  • Going live: what changes for production.

Order

Connect them in this order. Each step needs the ones before it.

# Page Skill You provide Check
1 Database setup-database a Postgres connection string, the owner's email pnpm tsx scripts/check-database.ts
2 Auth setup-auth a Google OAuth client ID and secret pnpm tsx scripts/check-auth.ts
3 Stripe setup-stripe the Stripe secret key, your payment methods pnpm tsx scripts/check-stripe.ts --fire <userId>
4 Email setup-email a sender address, a Resend key, 2–3 DNS records pnpm tsx scripts/check-email.ts --to <you>
5 Storage setup-storage an R2 bucket, an R2 token, public access pnpm tsx scripts/check-storage.ts
6 AI setup-ai one provider key pnpm tsx scripts/check-ai.ts --url <app>
— Analytics none IDs for the trackers you want none

Email can come before auth if you want email sign-in before Google: the owner signs in either way.

Test first, live at launch

Every setup starts in test mode: a test Stripe key, a local site URL, a development database. Each page ends with a "Going live" list of what to switch for production. The deploy skills (deploy-cloudflare, deploy-vercel) carry the production values over.

How you hand over values

When the agent reaches a step that needs a value, it stops, tells you where to click and waits. You paste the value into the chat. The agent writes it into .env.local (local) or the production env file. It never prints a secret back and never commits one.