Verified against GitHub Copilot Chat · 2026-08-14
Write a README a new contributor could follow without pinging you on day one
Builds a developer-facing README from the repo's actual structure and setup steps, tested against the specific gotchas that trip up a first-time contributor, instead of a generic 'clone and npm install' template.
The prompt
Ready to copy — highlighted parts are example details you can swap.
Write a developer README for this repository, using #codebase so you're describing the actual project structure and scripts as they exist right now, aimed specifically at someone who has never touched this codebase before and has no one sitting next to them to ask. WHAT THIS PROJECT IS An internal Next.js app that lets support reps look up a customer's subscription history and issue refunds without going through the billing team directly. SETUP STEPS AS THEY CURRENTLY WORK Clone the repo, copy .env.example to .env and fill in the DATABASE_URL from the team vault, run `pnpm install`, then `pnpm db:migrate` before `pnpm dev` — migrate has to run first or the dev server crashes on boot. GOTCHAS THAT HAVE TRIPPED PEOPLE UP BEFORE If you skip pnpm db:migrate, the dev server throws 'relation \"subscriptions\" does not exist' on the first request, which looks like a connection problem but isn't. A GOOD FIRST TASK TO POINT SOMEONE AT The `formatRefundAmount()` util in lib/currency.ts has a known rounding edge case on JPY amounts (no decimal places) tracked in issue #142 — small, contained, and touches a real part of the codebase. Write the setup section as steps that were actually verified to work, in order, including any step that feels obvious to someone who already has the repo working — the failure mode this README exists to prevent is a step that got skipped in the writing because it felt too basic to mention, and that's precisely the step a first-timer trips on. For each gotcha listed, don't just state the gotcha — state what it looks like when it goes wrong (the actual error message or symptom) so a new contributor can pattern-match their own screen against this document instead of wondering if they're even hitting the documented issue. Read the actual package.json / equivalent scripts file via #codebase and list the real script names and what each one actually does, not a guessed-at convention like 'probably npm run dev' — if a script's actual behavior doesn't match what its name suggests, note that explicitly. Do not pad this with sections that don't apply to a first-time contributor's first day — skip a detailed architecture deep-dive or a full contribution-guidelines legal section unless it's directly relevant to getting a working local environment and understanding where to start; those belong in a separate document this README can link to, not inline in the first thing a new contributor reads. OUTPUT FORMAT 1. One-paragraph project description. 2. Setup steps, numbered, verified against actual scripts. 3. Common gotchas, each with symptom + fix. 4. Suggested first task with a one-line reason it's a good starting point. 5. Links to anything this README deliberately left out (deeper architecture docs, contribution guidelines) rather than covering them here.
Customize
Optional — swap in your own details for the highlighted parts above.
Why this works
A README written without deliberately fighting this tendency reads fine to the person who wrote it and fails silently for the person who didn't, because the author's own working setup already has every implicit step done, so an omitted step is invisible from where they're writing — Copilot Chat inherits this same blind spot unless explicitly told that the obvious-feeling steps are exactly the ones most likely to be missing, since its draft will otherwise mirror the confident, compressed tone of documentation written by someone who already has the context a first-timer lacks. Pairing every gotcha with its actual symptom rather than just its cause is what makes the difference between a README a stuck contributor can use and one they read after already giving up: a new contributor doesn't start from 'I forgot to run the migration,' they start from a cryptic Postgres error on screen, and a gotchas section organized around causes forces them to already know the cause before the entry becomes useful, which defeats its purpose. Using #codebase to read the actual scripts file rather than letting the model guess at conventional script names (`npm run dev`, `npm start`) matters because Copilot Chat's training data skews toward common conventions that this specific repo may not follow, and a README that states a script name that doesn't exist is worse than no README, since it actively costs a new contributor time chasing a command that fails immediately. The instruction to keep the scope narrow — setup and a first task, not a full architecture treatise — reflects that a first-day document competing with a comprehensive one for the same real estate tends to bury the five things that actually matter on day one under material that matters on week three, and a new contributor's actual first blocker is almost always 'why won't this run locally,' not 'what's our long-term data model philosophy.'
What you get back
## Setup 1. Clone the repo. 2. Copy `.env.example` to `.env` and fill in `DATABASE_URL` from the team vault. 3. Run `pnpm install`. 4. Run `pnpm db:migrate` — **do this before starting the dev server**, or step 5 will fail. 5. Run `pnpm dev`. ## Common gotchas **Symptom:** dev server throws `relation "subscriptions" does not exist` on your first request. **Cause:** step 4 was skipped. **Fix:** stop the dev server, run `pnpm db:migrate`, restart. ## First task Check out issue #142 — a rounding edge case on JPY refund amounts in `lib/currency.ts`. Small, self-contained, touches a real path through the app.
Verified against
GitHub Copilot Chat 2026.08 · 2026-08-14
Changelog
- 2026-08-14 — Initial publish, verified against GitHub Copilot Chat 2026.08.
Need this built into your business?
If a prompt isn't enough — custom software, built and maintained for you — that's Scult's day job.
EXPLORE CUSTOM SOFTWARE
