Skip to content
PapaCoder Labs

Locale en · ko

Ship by Talking — Vibe Coding From First Prompt to Deploy

By Harin Kim · Published 1 Aug 2026

Summary

Part 2 of Coding Is Conversation. Define vibe coding (Karpathy/Fowler), then ship a Today Focus Board with Cursor prompts, AGENTS.md, and Vercel.

If part 1 helped you pick a tool, today you ship a tiny app by talking—then put a public URL on it.

Takeaway: Vibe coding is a throwaway loop where you chase the goal and often forget the code exists. It’s fast. The moment secrets, other users, or real risk appear, you must look at the code again.

This is part 2 of PapaCoder Labs’ Coding Is Conversation. Part 1 (Your First Choice Isn’t the Model) covered Cursor, Claude Code, Codex, and Copilot. Here we practice with Cursor Agent; the same see → say → run → paste loop works in the others.

What is vibe coding?

In February 2025 Andrej Karpathy described “vibe coding”: fully give in to the vibes, forget that the code even exists, Accept All, paste errors back with no commentary, and build a webapp by seeing, saying, running, and copy-pasting—fine for throwaway weekend projects (quoted and framed by Martin Fowler).

Fowler sharpens the definition:

Vibe coding = prompt an LLM → try it → prompt again without looking at the generated code.
Maintainability, correctness, and security often suffer—so it’s best for disposable software with a limited audience.

He also separates vibe coding from agentic programming, where an LLM may write everything but a human still cares about the code (reviews structure, diffs, intent). The industry blurs the words; this series keeps them apart:

Vibe codingAgentic (reviewing) development
CodeMostly unread / Accept AllRead; check structure & security
FitPrototypes, personal toolsSoftware a team will keep
NextThis postPart 3 — agent engineering

The agent mode from part 1 (chat over the buffer) is the interface. Vibe coding is how far you choose to forget the files inside that interface.

The loop: see → say → run → paste

Rendering diagram…

You’ll feel “I’m developing with AI” after a few cycles. Stalls usually mean a fuzzy prompt or skipping the run.

Setup (Cursor)

  1. Open an empty folder in Cursor; start Agent chat.
  2. Add a root AGENTS.md. Cursor treats plain-markdown AGENTS.md as agent instructions (Rules docs).
  3. Have Node.js 18+ and a Vercel account ready.

Copy-paste — AGENTS.md starter

# Today Focus Board

## Goal
Single-page web app. One input, a list of focus items for today, localStorage only. No auth. No backend.

## Stack
- Next.js App Router + TypeScript
- Minimal CSS (no design system rabbit hole)

## Non-negotiables
- Do not add a database, auth, or paid APIs
- Keep the UI readable on mobile
- After each change, tell me the exact command to run locally
- Prefer small diffs; do not rewrite the whole app unless asked

## Definition of done
- `pnpm dev` (or npm) shows a working page
- Refresh keeps items (localStorage)
- README with run + deploy steps

Finer control can live in .cursor/rules/*.mdc. For this drill, one AGENTS.md is enough.

Worked example: Today Focus Board

Build a today’s focus list: add a line → list → toggle done → survives refresh via localStorage. No backend.

Paste these prompts in order. After each step, run the dev server.

Prompt 1 — scaffold

Create a Next.js (App Router) + TypeScript "Today Focus Board" in this folder.
Requirements:
- One page: title, input, add button, list
- Persist items in localStorage (key: focus-today)
- Allow toggling done
- No external UI libraries
- Add a README with run instructions
When done, tell me the exact local run command.

Prompt 2 — tighten after you tried it

I opened the app. On mobile the input is too small.
Increase padding for touch, and add an empty state:
"Write one thing to focus on today."
Don't rewrite the whole app—edit only what you need.

Prompt 3 — error loop

Paste the raw terminal/browser error:

I hit this error. Fix it first; skip a long lecture.

<paste the full error log here>

Early on, prefer fix → re-run over essays about why. (Ask “why” once you start reviewing.)

Prompt 4 — verification checklist

Check this list yourself and only fix failures:
1) Items survive refresh
2) Done toggles persist
3) Empty strings are rejected
4) README commands match reality
Report results as a checklist.

Prompt 5 — deploy prep

Prepare for Vercel deploy:
- Assume default Next build/output
- State in README that no env vars are required
- Add a short README section for `vercel` / `vercel --prod`
Do not invent secrets or .env samples.

Cramming “pretty landing + auth + DB” into one prompt isn’t vibe coding—it’s spec explosion. One screen and one store win the beginner round.

I once hammered Accept All until the agent quietly renamed the localStorage key. The chat said “persisted,” then a refresh wiped the list. Since then I don’t leave prompt 4 until the checklist is proven in the running app—not just claimed in prose.

Local run → Vercel deploy

Vercel’s Getting Started guide (doc last_updated 2026-06-16) is essentially (Getting started with Vercel):

npm i vercel   # or pnpm / yarn / bun

vercel login
vercel         # preview
vercel --prod  # production

Or connect GitHub and Deploy from the dashboard. If you use Cursor or Claude Code, the docs also point to the Vercel Plugin (npx plugins add vercel/vercel-plugin) for agent deploy skills.

When the URL loads, the lesson lands: you shipped by conversation.

When to stop vibing

SignalDo this
API keys, tokens, or PII appearRead config/code. End the vibe.
The same bug “fixes” three timesOpen the diff; demand a repro
Other people will depend on itReview, tests, auth — part 3+
You don’t know your dependenciesRead package.json; shrink scope

Vibe coding is the floor. Growing products need agent engineering (roles, verification, harnesses)—the rest of this series.

Do this in Cursor today

  1. Empty repo + AGENTS.md
  2. Prompts 1→5 in Agent
  3. vercel for a URL
  4. Screenshot the win; only then open the code for curiosity

Repos like PapaCoder Labs with dense rules don’t run on vibe alone. Still, a disposable tool is the fastest way to grow agent-mode muscle.

Series roadmap — Coding Is Conversation

  1. Your first choice isn’t the model (tools & pricing)
  2. This post — vibe coding → deploy
  3. Agent engineering (multi-agent)
  4. Harness engineering
  5. Loop engineering
  6. Graph engineering
  7. PapaCoder field notes

FAQ

Q. Is vibe coding the same as Cursor Agent?
A. No. Agent is the chat-first UI. Vibe is how much you ignore the files inside it.

Q. Should I always Accept All?
A. Fine for learning throwaways. The moment permissions or secrets exist, open the file first.

Q. Can I use Claude Code / Codex instead?
A. Yes—same prompt sequence and an AGENTS.md (or that tool’s rules file). Deploy still often means Vercel CLI/Git.

Q. Why Next.js?
A. Short path to Vercel. Vite+React is fine if you keep the same scope.

Sources

Closing

The point of vibe coding isn’t eternal blindness to code—it’s training the rhythm of splitting goals into speech and verifying with a run. One Focus Board URL is enough for today.

Going forward, skill looks less like “Accept All” and more like knowing when to reopen the buffer. Part 3 designs that boundary with agent roles and handoffs.

Related posts

More in Tutorials

Comments

Checking sign-in…

No comments yet.