A missing or boilerplate README means the first developer to clone your project — or you on a new machine six months from now — must read source code to discover how to install dependencies, configure environment variables, and start the server. ISO 25010 maintainability.analysability fails at the project entry point. An unmodified create-next-app README is indistinguishable from a project with no documentation at all: it describes Next.js, not your project. Every undocumented setup step is a blocker for every future contributor.
High because a missing or boilerplate README blocks every new contributor from setting up and running the project without direct help from the original author.
Write a minimum viable README covering what the project does, how to install it, and how to run it. Reference src/app/ for the route structure and call out non-obvious setup steps:
# Project Name
One paragraph: what this does and who it's for.
## Setup
1. `npm install`
2. Copy `.env.example` to `.env.local` and fill in the values
3. `npm run dev` — runs on http://localhost:3000
## Project Structure
- `src/app/` — routes and pages
- `src/components/` — shared UI components
- `src/lib/` — utilities and third-party wrappers
Fifteen minutes of writing now saves hours of onboarding friction later.
ID: code-maintainability.documentation.readme-exists
Severity: high
What to look for: Check for a README.md (or README.rst, README.txt) in the project root. If found, evaluate its content:
Pass criteria: Count all sections in the README (headings at any level). A README exists with at minimum: a description of the project (at least 2 sentences), installation instructions, and a command to start the development server. It is not the unmodified framework boilerplate. The README must contain at least 50 words of project-specific content. Report even on pass: "README.md contains X words of project-specific content across Y sections."
Fail criteria: No README found, OR the README is the unmodified framework boilerplate (e.g., the exact default Next.js README that only says "This is a Next.js project bootstrapped with create-next-app"), OR the README is so outdated it references non-existent files or missing setup steps. Do NOT pass when a README exists but contains fewer than 50 words of non-boilerplate content.
Skip (N/A) when: Never — every project benefits from a README.
Detail on fail: "README.md is the unmodified Next.js create-next-app boilerplate — contains no project-specific description, setup instructions, or documentation." or "No README.md found in project root." or "README references .env.local setup but no .env.example exists and no variables are documented."
Remediation: A README is the first thing any new collaborator (or future you, six months from now) reads. The minimum viable README takes 15 minutes to write:
# Project Name
One paragraph describing what this project does and who it's for.
## Setup
1. Clone the repo
2. `npm install`
3. Copy `.env.example` to `.env.local` and fill in the values
4. `npm run dev` — runs on http://localhost:3000
## Key Technologies
- Next.js 15 (App Router)
- Supabase (database + auth)
- Stripe (payments)
## Project Structure
- `src/app/` — routes and pages
- `src/components/` — shared UI components
- `src/lib/` — utilities and third-party wrappers