v260903.06 8:38p
AlpacApps — AI-powered platform with alpacas
Optional pre-setup homework

Create your core accounts first

This is optional. The setup wizard can walk you through these accounts later, but creating them beforehand makes the AlpacApps Infra setup smoother and avoids context switching while Claude is configuring your project.

15–30 minutes before setup

What to prepare

Create or confirm access to the services AlpacApps uses for the basic clone: repository hosting, DNS/infrastructure, database/auth/storage, email, and Google Sign-In.

GitHubSource code, repo access, and static deploy workflow.
CloudflareDNS, Pages, D1 session logging, and R2 storage.
Custom domainCloudflare HTTPS for public DOMAIN and Google-authenticated in.DOMAIN intranet.
SupabasePostgres database, auth, storage, and edge functions.
ResendTransactional email and optional inbound email webhooks.
Google CloudOAuth app for Google Sign-In through Supabase Auth.
BitwardenThe default credential manager — passwords, recovery codes, and API keys. An existing CLI-capable manager may substitute.
OpenRouterDelegated coding and review with Ox Alpha and DeepSeek v4 Flash.

Keep setup flexible: You do not need to create every project, token, or API key today. Account creation is enough. The wizard will create project-specific resources when it knows your app name, domain, and Supabase project ref.

Save credentials safely first

Bitwarden is the standard vault for this project and the source of truth for secrets — setup installs its command-line tool (bw) alongside git, Node, and the Supabase CLI, so your assistant can read keys from the vault instead of asking you to paste them into chat. A private Google Doc is useful as a checklist, but it should not become the long-term home for passwords, API keys, OAuth secrets, or recovery codes.

Evaluate your existing manager first

  1. Tell the coding agent which password manager you currently use, if any.
  2. It should verify its supported CLI, interactive sign-in, scoped credential reads, and a non-sensitive test read, then tell you whether it can support this workflow.
  3. If it passes, keep using it. If not, go to bitwarden.com, create a free account, and install the apps from bitwarden.com/download.
  4. Do not use Apple Passwords/iCloud Keychain as the automation source. It is not programmatically friendly for Claude Code/Codex.
  5. Install the browser extension so it can generate and save strong passwords during signup.
  6. Create a folder named after your own project and keep everything for this build in it.
  7. Add one login item per service: GitHub, Cloudflare, Supabase, Resend, Google Cloud, and OpenRouter.

Another password manager for the account logins is fine, but the CLI the setup installs is Bitwarden’s.

Private tracker only

  1. Create a Google Doc named AlpacApps Account Setup.
  2. Set sharing to Restricted, not public or link-access.
  3. Use it for service URLs, usernames, setup status, and notes.
  4. For secrets, write Stored in Bitwarden or the name of your password manager item.
  5. If you temporarily paste a secret there, move it to a password manager and delete it from the doc.

Do not save secrets in public places. Never put passwords, API keys, OAuth client secrets, recovery codes, or database passwords in a public Google Doc, GitHub issue, Slack channel, screenshot, or checked-in repo file.

Credential tracker

Three ways to take this with you: Copy to Google Docs drops a private copy straight into your Drive, Download file saves it as markdown, or Copy puts it on your clipboard. Whichever you pick, this is a map of where things live — put the actual secret values only in your password manager.

Copy to Google Docs
AlpacApps AI System Notes Project name: Domain, if any: Project Gmail (the login behind everything): -------------------------------------------------- 0. PROJECT GMAIL -------------------------------------------------- - Signup URL: https://accounts.google.com/signup - Address: - Password: stored in password manager - 2FA recovery codes: stored in password manager - Recovery phone / backup email set: yes / no - Notes: -------------------------------------------------- 1. GITHUB (create this first) -------------------------------------------------- - Login URL: https://github.com - Username: - Registered to project Gmail: yes / no - Password: stored in password manager - 2FA recovery codes: stored in password manager - Notes: Supabase, Cloudflare and Resend can all sign in through this account -------------------------------------------------- 2. SUPABASE -------------------------------------------------- - Login URL: https://supabase.com/dashboard - Signed in with: GitHub / email - Organization: - Project ref, if already created: - Database password: stored in password manager - Anon/service keys, if already created: stored in password manager - Notes: -------------------------------------------------- 3. CLOUDFLARE -------------------------------------------------- - Login URL: https://dash.cloudflare.com - Signed in with: GitHub / email - Account name: - Account ID, if known: - Temporary full-access API token: stored in password manager and deleted after setup verification - Domain/zone, if any: - Preferred .org/.us or .com domain, price, and registration status: - Public placeholder: https://DOMAIN - Google-authenticated intranet: https://in.DOMAIN - Notes: -------------------------------------------------- 4. GOOGLE CLOUD / OAUTH -------------------------------------------------- - Login URL: https://console.cloud.google.com - Google account: (the project Gmail) - Project name: - Project ID: - First configuration: OAuth Config Editor (Beta) automation principal and access credential, stored in password manager - OAuth Client ID: - OAuth Client Secret: stored in password manager - Notes: redirect URI is https://YOUR_PROJECT_REF.supabase.co/auth/v1/callback -------------------------------------------------- 5. RESEND -------------------------------------------------- - Login URL: https://resend.com - Signed in with: GitHub / email - Domain, if verified: - API key: stored in password manager - From-address plan: - Notes: -------------------------------------------------- 6. OPENROUTER (core, small prepaid balance) -------------------------------------------------- - Login URL: https://openrouter.ai - Signed in with: - API key: stored in password manager - Per-key credit limit set: - Ox Alpha + DeepSeek v4 Flash slugs and current prices: - Lower-cost default model: - Notes:

Copy to Google Docs takes you straight to Google’s “Make a copy” screen. Click the button there and an editable, correctly-named copy appears in your Drive. Google always asks for that one confirmation before writing to your Drive — no link can skip it — but you never sit in a read-only document wondering why you cannot type.

The copy is yours and private. You are not editing the shared template, and nobody else can see what you put in it.

If you end up looking at the template instead

Open the template directly: AlpacApps AI System Notes template. It is view-only — typing in it will not work, and that is expected. To get your own editable version:

  1. Open the File menu, top-left, just under the document’s name.
  2. Choose Make a copy — the third item, directly below New and Open.
  3. Name it, pick a folder, and confirm. The copy opens ready to edit.

Same result as the button above — the button just skips straight to that last screen.

Not a Google Docs person? Download file saves AlpacApps-AI-System-Notes.md straight from your browser in a single click — no account, no confirmation, nothing uploaded anywhere.

GitHub

Free

GitHub hosts your AlpacApps clone and gives Claude/Codex a place to commit and push changes. The setup flow uses GitHub CLI OAuth, so you do not need to create a Personal Access Token beforehand.

Create it

  1. Go to github.com/signup.
  2. Create or sign in to your account.
  3. Verify your email address.
  4. Enable 2FA if GitHub prompts you.

Save it

  • Username
  • Login email
  • Password manager item name
  • 2FA/recovery code location

Cloudflare

Free core

Cloudflare handles DNS, Cloudflare Pages hosting, D1 session logging, and R2 object storage. During initial setup, create a temporary full-access API token so Claude or Codex can configure all selected Cloudflare services; manually delete it after verification.

Create it

  1. Go to dash.cloudflare.com/sign-up.
  2. Create or sign in to your account.
  3. Verify your email.
  4. If you already own a domain, add it later when the wizard asks.

Save it

  • Cloudflare email
  • Account name
  • Domain name, if any
  • API token location: Profile → API Tokens → Create Token → Custom token

Optional ahead of time: In Cloudflare, create a custom token with every available Account, Zone, and User permission at its highest level and resources set to all accounts and zones. Choose no expiration by default, or seven days for a project with heightened security requirements, then save it in your password manager. The main setup page explains the temporary-token exception and manual deletion step.

Supabase

Free tier

Supabase provides Postgres, auth, storage, and edge functions. It is usually best to create the account now and let the wizard create the project later so the project name, region, and auth URLs line up correctly.

Create it

  1. Go to supabase.com/dashboard/sign-up.
  2. Create or sign in to your account.
  3. Create a free organization if prompted.
  4. Stop there unless you already know your project name and database password.

Save it

  • Supabase login email
  • Organization name
  • Project ref, if already created
  • Database password, if already created

If you pre-create a project: save the database password immediately. Supabase will not show it again, and the setup wizard needs it for database connection validation.

Resend

Free tier

Resend sends transactional email such as welcome emails, booking confirmations, and notifications. You can create the account now and wait to create the API key until Claude is ready to validate it.

Create it

  1. Go to resend.com/signup.
  2. Create or sign in to your account.
  3. Verify your email.
  4. Optional: wait on domain verification until Cloudflare DNS is ready.

Save it

  • Resend login email
  • Domain status, if any
  • API key location: resend.com/api-keys
  • From-address plan, if known

Google Cloud for auth

Free

Google Cloud supplies the OAuth client used by Supabase Auth for "Sign in with Google." Create or choose the Google account that should own login for this app now. The first configuration action is the programmatic OAuth credential; finish the OAuth client after Supabase exists so the callback URL and site URL are correct.

Create it

  1. Use the Google account you want to own the app’s login configuration.
  2. Open console.cloud.google.com, accept terms if needed, and create or select the project.
  3. First configuration action: create the OAuth-configuration automation principal, grant it OAuth Config Editor (Beta), create its access credential, and save it in the approved password manager.
  4. Give the coding agent that credential so it uses programmatic configuration by default for the OAuth client, authorized JavaScript origins, and redirect URIs. Use the console only for credential bootstrap or settings the API does not support.

Save it

  • Google account email
  • Google Cloud project name
  • Project ID, if created
  • OAuth configuration automation credential item name
  • OAuth Client ID and Client Secret, once created and saved in Supabase or the approved password manager

Usually later: OAuth credentials are easiest after Supabase exists, because the authorized redirect URI will be https://YOUR_PROJECT_REF.supabase.co/auth/v1/callback. The deployed app URL also matters: use https://USERNAME.github.io/REPO/ by default, or https://YOUR_DOMAIN/ if you configured a custom domain.

Ready for the setup wizard

You are ready when you can sign in to GitHub, Cloudflare, Supabase, Resend, and Google Cloud, and you know where the saved credentials live.

What to tell Claude: "I already created the core service accounts. Credentials are saved in my password manager. Continue the AlpacApps Infra setup."