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 componentsAdd 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 pushLet 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.
