# Set up your Homie project

> For the AI helping someone set up their business, cause or studio after installing Homie ([install.md](https://homie.rocks/install.md)): the accounts their site uses, costs and sign-ins. Keep the person's purpose throughout: their business or cause, their site, screens and app. After connecting accounts, return to [business.md](https://homie.rocks/business.md) or [nonprofits.md](https://homie.rocks/nonprofits.md) to finish their requested work; game makers use [create.md](https://homie.rocks/create.md). Index: [llms.txt](https://homie.rocks/llms.txt).

Your project is a folder the person can open, with its pages in `site/` and news in `posts/`. The toolkit calls the project a studio and keeps its settings in `studio.json`; that name does not decide what you build. Its code comes from `@homie-rocks/studio`, pinned to an exact version in `package.json`. The AI runs the commands and the person approves access on each provider's page.

## First: the setup status

Before anything is made, and whenever the person asks "What do I need for my project?" or "Is everything set up?", the studio-setup skill runs the setup status. It only reads, takes a few seconds and never prints a key. Each row says what it unlocks, and is ready, "do this now" (with the exact fix) or optional. An optional row never blocks: the skill that needs one offers it when the person first wants that feature. A missing Homie connector does not block either: a session that can run commands uses the project’s own commands. In Codex and Grok the status also says whether Homie's holds are on. The person's own steps, such as making a Cloudflare account, can be done at any time.

## The accounts

**Cloudflare, to go online.** An account of the person's own (https://dash.cloudflare.com/sign-up); a new account confirms its email address before its first deploy. When the site first goes online, the AI runs `npx wrangler login` in the project folder and Cloudflare opens in the person's browser for one approval. On that account the toolkit creates one Worker, one D1 database and two Durable Objects (its game rooms and the lobby that puts strangers in the same room); it records them in `studio.json` and never touches anything it did not create. A project that never goes online never needs Cloudflare.

**The rest only when a feature needs them**, offered by the skill that uses them, each on the person's own account:

- **GitHub** (optional): a private backup of the project, and publishing by pull request. Signed in on GitHub's own device page. On the Claude app's connector, the project’s repository lives there.
- **ElevenLabs** (the `music` skill): songs, themes and game scores, on the person's own plan. Signed in with ElevenLabs' own CLI (`elevenlabs auth login`, in the browser), or with their own `ELEVENLABS_API_KEY` in the environment their AI runs in. The skill says the plan, the rights it gives and the credit cost before anything is made; the free plan has no commercial licence, so songs made on it are not for sale.
- **fal** (the `art`, `video`, `models` and `style` skills): painted covers, backdrops and textures, generated video, and generated 3D props and rigged characters. The person makes a key at https://fal.ai/dashboard/keys, puts it in `FAL_KEY` in the environment their AI runs in (for example a line in their shell profile), and starts a new session.
- **Stripe** (the `shop` skill), only when the site sells products, services or creative work, or takes donations: the owner’s own Stripe account, test mode first. The person connects their Stripe account with one approval in their browser, with no key to find; their AI runs `shop connect` and sets up the products and payment links. Sell listed items at the owner’s prices, or take donations with a set amount or `price: "choose"`. Guests pay without an account. The money goes to the owner’s Stripe account; Homie takes no cut.
- **Ollama** (optional, on the person's own computer): runs Cloudflare's Clef decision model locally, for AI guides and a game's own decisions while building, with no account. The model is about 11 GB, and is downloaded only after the person says yes.

**An option: Stripe Projects.** For a person with no Cloudflare account (or no ElevenLabs account, who wants songs), Stripe Projects, a plugin for Stripe's CLI, can make or link those accounts on the person's own Stripe sign-in. In Homie it is a prototype, and `npx wrangler login` stays the default. The person signs in on Stripe's page and accepts each provider's terms themselves, nothing paid is ever added, and it must be the person's own Stripe account, never one this computer's Stripe CLI is signed in to for someone else.

Homie works through each provider's own CLI, plugin or MCP server, never a copy of it, and the person approves every install.

## Businesses and causes

These accounts run your business’s or cause’s site, screens and app. Connect only the services your requested work uses, then return to [business.md](https://homie.rocks/business.md) or [nonprofits.md](https://homie.rocks/nonprofits.md) to finish that work. A project folder is called a studio in the toolkit; creating that folder is the start, not the finished site.

## What it costs

Say costs as plain information, before anything is created. The page for people is https://homie.rocks/costs/.

Homie charges nothing: the plugin, `@homie-rocks/studio` and the game engine packages are open source (Apache-2.0), and a listing in the homie.rocks directory has no charge. Homie takes no cut of a sale; when homie.rocks sends a studio a buyer and that studio offers a referral share, homie.rocks earns that share like any other site that sends buyers.

Billed by each provider, on the person's own account:

- Cloudflare, for what the site uses. Its Workers Free plan has no monthly charge and has daily allowances; past one, that kind of request fails until 00:00 UTC and nothing is charged. Its Workers Paid plan removes the daily allowances, and only the person turns it on, in Cloudflare. The numbers are Cloudflare's: https://developers.cloudflare.com/workers/platform/pricing/
- Storage for big songs and videos: an R2 bucket, only if they ask for it. Cloudflare wants a payment method on the account before R2 works. Games never need it.
- A domain name, if they want one: bought from a registrar, at its price.
- Their AI: Claude, Codex, ChatGPT or Grok usage comes from their own plan, and building with several agents in parallel is faster and uses more of it. Claude Code cloud sessions are not part of Claude's Free plan; which paid plans and seats include them is Anthropic's to say (https://claude.com/pricing).
- ElevenLabs credits, from their plan.
- fal calls: each one is priced from fal's own pricing before it runs, never past a budget the person set, with a receipt.
- Selling: Stripe's fees on each sale (https://stripe.com/pricing).

Need no account and no payment: `sound`, `playtest`, `perf`, `lab`, `style`'s board, `animate`, the CC0 models and characters in Homie's starter library (`models`), trailers from real gameplay (`video`) and covers from a real frame (`art`).

Never add a payment method, buy anything or turn on a paid plan for the person.

## Keys never go in the chat

- Never ask the person to paste a key, token, password or code into the conversation, and never print, read out or commit one. `.env` files stay git-ignored.
- Sign-ins happen on each provider's own page: Cloudflare (`npx wrangler login`), GitHub (its device page), ElevenLabs (`elevenlabs auth login`), Stripe (its own consent page).
- A key the person makes themselves goes into the environment their AI runs in (`FAL_KEY`, `ELEVENLABS_API_KEY`); Stripe connects through browser approval.
- If a key does land in a conversation, tell the person to revoke it at the provider and make a new one.
