Vibe coding is conversational programming: describe what you want in ordinary language, let an AI agent generate code, run it, then guide revisions. The developer’s role shifts from writing every line to directing, testing, and deciding whether changes are acceptable. It favors speed and momentum over detailed up-front engineering. section 10.1 section 10.0
Use it when a working proof of concept, creative experiment, or learning project matters more than exhaustive documentation. It can turn an idea into a demo quickly, but it is not a replacement for structured development where security, accountability, and thorough testing are essential. section 1.7.2 section 10.9
A practical loop is:
- Start with a specific initial prompt: state the stack, runnable deliverable, constraints, behavior, and code-quality expectations. Better detail reduces unwanted choices and later iteration. section 10.4 section 10.9
- Run the generated result immediately. Treat a successful first run as evidence to inspect and continue from, not as proof that every requirement is sound. section 10.7
- Describe observed problems in plain language, request a focused correction, then review the proposed edits before accepting them. section 10.8
- Keep agent context relevant: include the files and documentation needed for the task, rather than overwhelming the agent with unrelated material. section 10.9
Building and revising a small game
A single detailed request produces a runnable Python Frogger-style game with river lanes, moving logs, scoring, and controls. After play reveals overlapping logs, a follow-up request asks for consistent lane speeds and spacing. The agent proposes a targeted change: fixed log counts, per-lane speed, spacing, and adjusted respawning. The result is then reviewed and tested as a more playable game. section 10.4 section 10.7 section 10.8
Figure 10.10 There is a diff interface that comes up in Cursor. You can accept individual changes or accept the entire file if you like.
Review generated changes through a diff interface, accepting individual edits or the whole file only after checking what changed. section 10.8
Agentic environments can explore codebases, edit multiple files, and run workflows, but capability does not remove the need for judgment. Vibe coding works best as a deliberate prototype-and-validate practice, with clear prompts, bounded context, and human review of the result. section 10.0 section 10.9
