ShipVeryFastShipVeryFast
Documentation

Your first change

The fastest way to learn the codebase is to change something and watch it update. In a few minutes you will rename the app, add a page, and ship it.

Before you start

  • A running dev server. If you do not have one yet, follow Installation first.

Make it yours

App-wide strings live in one config file. Change the name and tagline, save, and the running app reloads instantly.

# search the repo for the placeholder brand and replace it
grep -rl "ShipVeryFast" app components

Add a page

The App Router maps folders to routes. Create a folder under app/ with a page.tsx and it is live at that path.

app/hello/page.tsx
export default function Hello() {
  return <main className="p-10 text-2xl font-semibold">Hello from my SaaS</main>;
}

Visit http://localhost:3000/hello to see it.

Use a wired-in feature

Read the signed-in user from the server session, the same way every protected page does.

app/hello/page.tsx
import { getServerSession } from "next-auth";
import { authOptions } from "@/libs/auth";

export default async function Hello() {
  const session = await getServerSession(authOptions);
  return <main className="p-10">Signed in as {session?.user?.email ?? "a guest"}</main>;
}

Ship it

Commit, push, and your connected host deploys it. The full path and checklist are in Deployment.

git add -A && git commit -m "Add hello page" && git push

Let an AI do the next one

The repo ships context files for AI editors, so you can describe the next change in plain English. See Get help from AI.