Vibe Coding

Build a Project with Vibe Coding

Walk through a real Python CLI from first prompt to tests and a commit, using the full workflow.

The project

A notes CLI: add, list, delete. JSON on disk. pytest. No extra packages. You will not paste a finished app here. You will run the same prompts in your editor.

  • python notes.py add "text"
  • python notes.py list
  • python notes.py delete INDEX

How you run this project

Work in the vibe-lab folder from Setup, in the tool you picked inTools. One chat per slice. You copy the prompts below into the agent. After each slice: read the diff, run pytest -q, run the CLI yourself, then commit with the message given. If the agent builds a website, revert and paste the constraints again. That is part of the exercise.

Use the session script in How You Work if you forget the order.

Slice 1 — plan

Do not write code yet.

Build a notes CLI in notes.py with JSON storage in notes.json.
Commands: add, list, delete.
Constraints: Python 3.12, no new dependencies, pytest in test_notes.py.

Give steps, files, tests, and open questions.

Answer questions (overwrite JSON, 0-based index, empty list message). Then implement only add + list.

Slice 2 — tests first

Create test_notes.py only (no notes.py changes yet).

Use a temp directory for notes.json so tests do not touch my real file.
Cover: add then list; list when file missing; delete last item.

Do not weaken later. I will implement until pytest -q passes.

Slice 3 — implement add and list

@test_notes.py

Implement notes.py so the add/list tests pass.
Use argparse and json.
Do not implement delete yet.
Do not add dependencies.

Run pytest -q. Read the diff. Commit: Add notes CLI add and list.

Slice 4 — delete

@notes.py @test_notes.py

Implement delete INDEX (0-based).
If INDEX is missing or out of range, print a clear error and exit 1.
Do not change add/list behavior.
Keep tests passing.

Review for off-by-one. Commit: Add notes delete command.

What you should have at the end

FileRole
notes.pyCLI and JSON helpers
test_notes.pyTemp-dir tests for add/list/delete
AGENTS.mdShort standing rules
Git logAt least two small commits

If the agent built a web app or installed Flask, revert and paste the constraints again. That is the lesson.

Stretch

Add search TEXT with the same loop: plan, test, implement, review, pytest, commit. Use the cheatsheet if you stall.

Key takeaways

  • A real project is just the workflow repeated.
  • Tests before the second slice prevent silent breakage.
  • Your finished git history should read like a story, not like “agent dump.”
  • You run the prompts. This page is not a finished app to copy.

FAQ: Build a Project with Vibe Coding

Common questions about this page.

What is vibe coding?

Vibe coding is building software by directing an AI in natural language while you review, test, and own the result. The StudyGrid Vibe Coding course teaches the workflow, prompts, and habits that make it work.

Should I run vibe coding project examples locally for better learning?

Yes. Use the browser editor on StudyGrid for a quick check, then Download the example and run it on your computer. Local runs show real errors and the real toolchain, which is one of the fastest ways to learn vibe coding project in this Vibe Coding AI lesson (Build a Project with Vibe Coding).

How do I vibe code the right way?

Give one clear goal, attach the files that matter, ask for a plan first, review every diff, run tests, then commit a small slice. The How You Work lesson is the session guide. Best Practices is the full playbook.

How does a user actually work with vibe coding?

You open a real project in an agent editor or CLI agent (Cursor, VS Code + Copilot, Claude Code, and similar), write one goal, attach two or three files, ask the agent to plan then implement a small slice, read the diff, run tests yourself, and commit. You are the director. The model drafts. The How You Work lesson walks through a 30-minute session. The Tools lesson is the stack picker.

Is vibe coding only for experts?

No. Beginners can use it to learn faster if they read the generated code. Experts use it to move quicker on boilerplate while keeping architecture and review in their hands.

What tools do I need for vibe coding?

You need an agent that can read your project, edit files, and show a diff — for example Cursor, VS Code with GitHub Copilot, Claude Code, Codex CLI, Continue, or Windsurf — plus Git for undo and a language you can read (this course uses Python). A browser chatbot is not enough. The Tools lesson compares the stacks. Setup covers the checklist.

Which AI coding tool should I use for vibe coding?

Pick one stack and stay with it for a project. Cursor is a common agent editor. VS Code plus GitHub Copilot fits if you already work there. Claude Code and Codex CLI are terminal agents. Continue, Windsurf, Zed, and JetBrains AI Assistant also work if they can apply a diff. Do not hop tools on a dirty tree.

Is the Vibe Coding course free?

Yes. The full Vibe Coding course on StudyGrid (studygrid.in) is free. Open the header menu, start at What Is Vibe Coding, then How You Work and Tools, and follow Next through the project and cheatsheet.