Ethan Ha

Building2 min read

The Project Instructions File I Drop Into Every Build

By Ethan Ha

Every product I start gets the same boring file before I write a feature: a short project brief the AI is forced to read.

Without it, every new chat re-asks who the user is, what the stack is, and what "done" means. With it, Claude Code / Cursor / ChatGPT start inside the product instead of interviewing me.

This is the template I reuse. Paste it into project instructions, a AGENTS.md, or the first message of a long build chat.

The file

Prompt · copy & paste

# Product

Name: [product]

One-liner: [what it does for whom]

Paying user: [who hands over money]

Core job: [the one flow that must work end to end]

# Stack (do not invent alternatives)

[e.g. Next.js App Router, Supabase, Stripe, Resend, Vercel]

# Non-negotiables

- Do not invent stats, testimonials, or brand claims

- Prefer the smallest change that ships the core job

- Auth, payments, and user data must be safe before polish

- Tell me assumptions before you code them

# What "done" means for this phase

[e.g. a stranger can sign up, complete the core flow, and pay]

# Out of scope this week

[list]

# Voice (for any user-facing copy)

Direct, specific, no AI-hype filler. Sound like a person who ships.

How I use it

  1. Drop it in before the first scaffold prompt.
  2. When the chat gets long and weird, open a new chat and paste the file again with "continue from here" plus the current risk.
  3. Update "done" and "out of scope" every few days — stale instructions are how you get half-finished side quests.

What I do not put in it

  • My whole life story
  • Every idea I might build someday
  • A 2,000-word style guide

Short beats clever. The file only has to stop the model from wandering.

For the prompts I run after this file is in place, see weekend build prompts and the AI codes.

This is the brief I use before Insidr-sized builds — see the live product.

Try Insidr →

Brands: partner with me

Keep reading

← Back to Resources