Vibe coding: how to start and ship a first project in an evening
A beginner plan: pick a small utility, set up an agent, phrase the task, check the result and keep everything in git.
5 min · · development · агенты
Vibe coding means you describe the task in plain words and a language model writes and edits the code. Beginners rarely get stuck on the technology itself. They get stuck on scale: they pick "my own startup", receive a pile of code nobody can check, and give up. Below is a plan for starting vibe coding small and reaching a working result in one evening, one that you actually understand.
Where to start: pick the first project
The most common mistake on the first evening is a goal that is too big. A good first project has three properties:
- you can verify the result by eye in a minute;
- everything fits in one or two files;
- you will use the result yourself.
Examples: a script that sorts the Downloads folder into subfolders by extension; a utility that renames photos by date; a console converter from CSV to a Markdown table; a twenty-line Telegram bot. For this article we take the first one, a file sorter. It is easy to see, safe as long as it first runs in a "just show what would happen" mode, and needs no external services.
Choosing a tool
Three kinds of tools suit a beginner:
| Type | Examples | Upside | Downside |
|---|---|---|---|
| Browser chat | any chat with a model | nothing to install | you copy code by hand |
| Editor extension | Cline, Kilo Code | edits appear in files | tied to one editor |
| Terminal agent | Claude Code, opencode, Codex | reads the project and runs commands | takes time to get used to the terminal |
If this is your very first time, start with an editor extension: changes are highlighted and easier to undo. If the terminal does not scare you, take an agent from the third row. Connecting Claude Code to Zukko is covered in the documentation. Take exact install commands and menu names from the tool's own documentation, because they change between versions.
You do not need to deliberate over the model for the first project. claude-sonnet-5-5 or gpt-6.1-sol is a fine start. If you want to try an idea at the lowest price, take deepseek-v4.1-flash. Check on your own task that the result suits you and switch if it does not. The current list and prices are at GET https://api.zukko.pro/v1/models or on the "Models" page in the dashboard.
Step 1. Create a folder and a repository
Before asking the model to write anything, set up git. It is your insurance for the day the agent "improves" everything beyond recognition.
mkdir file-sorter && cd file-sorter
git initMake a first commit with an empty README.md. From that point you can always go back.
Step 2. Connect a model
Create a key in the dashboard and set a daily limit on it, for example $2, so even a runaway agent loop cannot go far. In editor extensions choose the "OpenAI Compatible" provider, Base URL https://api.zukko.pro/v1, key like fetch_.... Claude Code uses a different address: ANTHROPIC_BASE_URL=https://api.zukko.pro without /v1, and the token goes into ANTHROPIC_AUTH_TOKEN. Which format your tool needs is explained on the provider choice page.
Step 3. Phrase the task so it can be checked
A weak prompt: "make a program that sorts files". A working prompt names the input, the expected behavior and the limits:
Write a Python 3 script sorter.py with no external dependencies.
It takes a folder path and sorts files into subfolders by extension:
images (jpg, png, gif), docs (pdf, docx, txt), archives (zip, rar), other.
Requirements:
- by default it only prints what would be moved (--dry-run is on);
- real moving only with the --apply flag;
- it does not touch nested folders;
- on a name conflict it adds the suffix _1, _2.
Do not add anything beyond this list.The last line matters: agents like to add logging, configs and forty tests "while they are at it". On the first evening that is noise.
Step 4. Iterations: small steps instead of one huge request
Once you have the first version, do not ask to rewrite everything. The rhythm is:
- Run the script with
--dry-runon a test folder. - Compare the output with what you expected.
- Write one remark: "files without an extension must go to other, right now the script crashes".
- Get the fix, run again.
One remark per iteration gives a readable diff and shows quickly what broke. If the agent is stuck on one spot for three iterations, stop arguing: roll back with a commit, rephrase the task and start a clean conversation. A long chat bloats the context and the token bill.
Step 5. Verifying the result
Vibe coding does not remove verification, it moves it to you. A minimum set:
- create a test folder with about ten files, including one without an extension, one with two dots in the name, and duplicates;
- run with
--dry-runand read the output; - only then run with
--applyon a copy of the folder; - ask the model to explain the code line by line, and if something is unclear, ask why it is there.
The last item turns vibe coding into learning. After a few projects you will notice the excess yourself.
Step 6. Git: commit after every working state
git add -A
git commit -m "sorter: dry-run and apply modes"The rule is simple: a working version is committed before the next request to the agent. When it breaks something that worked, git diff shows what changed and git restore . brings the files back.
What it costs
A small evening project is dozens of short requests. For an estimate take a hypothetical assumption and prices as of October 18, 2026: 40 requests of 8,000 input tokens and 1,000 output tokens on claude-sonnet-5-5 (0.4 / 2 per 1M tokens). Input: 40 × 8,000 = 320,000 tokens × 0.4 / 1,000,000 = $0.128. Output: 40 × 1,000 = 40,000 × 2 / 1,000,000 = $0.08. Total about $0.21 without caching. Real spend depends on project size and agent behavior, so a key limit is the best protection. More on agent spend: what an hour of agent work really costs.
FAQ
Do I need to know programming to start vibe coding?
Not for the first project, but you need the basics: a file, a folder, a terminal, git. Without them you cannot check the result, and checking is your part of the job.
What is the best first project?
A small utility with a checkable result: a file sorter, a format converter, a simple bot. Avoid projects with login, payments and a database: mistakes there are expensive.
How do I avoid losing money if the agent loops?
Set a daily limit on the key and watch spend in the "Usage" section of the dashboard. The limit is set in dollars when you create or edit the key.
What comes after the first project?
Add an instruction file for the agent (for Claude Code it is CLAUDE.md, see our article how to write CLAUDE.md) and then take a bigger task. To connect, create a key in the dashboard and paste it into the settings of your chosen tool.
zukko
Pay 25×
less
for Claude Code & ChatGPT
One fetch_* key and base URL api.zukko.pro — for Cursor, Claude Code, Codex, and any SDK.
Related articles
- Prompt Injection: What It Is and How to Protect a Bot and an AgentHow prompt injection works through user input and third-party documents, and which measures limit the damage: data isolation, tool permissions, key limits.
- Claude Code YOLO: Permission Modes and Working Without PromptsClaude Code has no mode literally called YOLO, but it has several permission modes and flexible rules. How to stop clicking Yes without losing files.
- Claude Code: a checklist of best practices for daily workHabits that make working with Claude Code predictable: a short CLAUDE.md, a plan before edits, small tasks, checking results and keeping spend under control.
- An MCP server in Java: a minimal example with one toolWe write a minimal MCP server in Java with one tool, register it in Claude Code, and learn to find the cause when the agent doesn't see it.