Ghoststack Docs

Set Up Your Workspace

Your goal is to see the starter running on your computer. You need Node.js and your AI tool installed, plus access to the purchased GitHub repository.

Step 1: Get the code

Download ZIP — simplest first run

  1. Open your Ghoststack purchase dashboard, accept the repository invitation with your GitHub account, then open the private repository link shown in the dashboard.
  2. Choose Code → Download ZIP.
  3. Extract it and rename the extracted folder to your app name, such as my-app.
  4. Open that folder in Codex, Claude Code, or Cursor. You should see package.json and AGENTS.md at the top level.

If GitHub shows a 404, check that you accepted the repository invitation using the GitHub account entered after purchase. A private repository can show 404 when you are signed in with the wrong account.

Or clone with GitHub CLI

If gh is installed and you have signed in with gh auth login, copy the repository URL from your purchase dashboard. Replace REPOSITORY_URL_FROM_YOUR_DASHBOARD below with that URL, then run this from the parent folder where you keep projects:

gh repo clone REPOSITORY_URL_FROM_YOUR_DASHBOARD my-app
cd my-app
git remote remove origin

Use a new folder name. Removing origin disconnects your copy from the seller's repository; it does not delete the code. Version control shows how to connect your own private repository.

Step 2: Install the app's packages

Open a terminal in your app folder, or ask your agent to run:

npm install

This downloads the packages listed in package.json. Keep the supplied package-lock.json; it records the exact package versions.

Step 3: Start the preview

npm run dev

Leave this command running. Open http://localhost:3000, or the address printed in the terminal if that port is already in use.

You should see the Ghoststack landing page. The public pages work before you add service keys. Login displays setup guidance until Supabase is configured; email, subscriptions, and AI calls require their service setup.

localhost means your own computer. This preview is not a published website. Stop the server with Ctrl+C in its terminal when you are finished.

Step 4: Create your local settings file

In your editor, duplicate .env.example and name the copy .env.local. If .env.local already exists, keep it and add only missing settings.

Keep NEXT_PUBLIC_APP_URL=http://localhost:3000 for local work. Leave service keys blank until the relevant guide asks for them. Restart npm run dev after changing settings.

.env.local is excluded from Git, but your coding tool may still be able to read it. Enter keys yourself; ask the agent to check variable names or whether values are set without displaying them.

Step 5: Ask for your first change

Read AGENTS.md. I'm new to coding.
Change the landing page headline in app/page.tsx to "[YOUR HEADLINE]".
Keep the current design and show me how to check the change in my local preview.

Replace the bracketed text before sending. Refresh the preview and check the headline. Then save a version of your app.

Keep the first run small

MCP servers are optional. Connect them later using the MCP guide; opening a preview does not require access to your database or Stripe account.

Keep these Ghoststack guides open while learning, or let your agent read the generated Markdown copy in docs/. That folder is reference material, not a docs website; there is no docs feature to remove before launch. Add documentation for your own users only when your app needs it.

If something fails

  • Command not found: Reopen the terminal and repeat the version checks in Install Tools.
  • Missing package.json: Your terminal is in the wrong folder. Open the extracted/cloned app folder.
  • Port already in use: Open the alternative URL printed by Next.js, or use npm run dev -- --port 3002.
  • Page will not load: Keep the dev terminal running and check its error output.

Copy the exact error, remove private values, and ask your AI tool to explain and fix it. Do not paste your settings file into chat.

Next: Build your first feature, then connect authentication when you need user accounts.