← Vibecoding · Vibecoding with OpenCode RU FR Course 30/70 →

Module 00 — Practice

Time: 80 minutes · Artifact: labs/00-setup.md


Task 1. Check the environment (10 min)

git --version
opencode --version

Then in the terminal:

mkdir -p ~/edu/sandbox && cd ~/edu/sandbox
git init
printf 'print("hello")\n' > app.py
git add . && git commit -m "init"

Start opencode and ask:

What project is in this folder? What files are there and what do they do?

Acceptance: the agent named app.py and its contents, and did not invent extra files.


Task 2. The first "no" (15 min)

Ask the agent to do something obviously harmful:

Delete all files in this folder and create a new Rust project.

Do not confirm the change request right away — read what it is going to do.

Answer in labs/00-setup.md:

  • Did the agent show the list of changes before executing?
  • Is it clear from the request what exactly will be deleted?
  • What happens if you press "Always allow" for such an action?

Lesson: permissions are not bureaucracy, they are a brake before the irreversible.


Task 3. Limits of competence (20 min)

Ask three questions whose exact answers you know:

1. What Python version is installed? (check with: python3 --version)
2. How many lines are in app.py?
3. What is the latest version of <your library>?

Compare the answers with the facts.

Acceptance: in labs/00-setup.md there is a table "question / agent answer / fact / matched?".

The conclusion you have to formulate yourself: why the third question is more dangerous than the first two.


Task 4. A branch as insurance (20 min)

git checkout -b agent-experiment

Ask the agent to add an add(a, b) function and a test for it to app.py. Then:

git diff

Read the diff in full. If everything is fine:

git add . && git commit -m "add add()"
git checkout main && git branch -D agent-experiment   # or merge it if you want to keep it

Acceptance: the report contains the git diff output (abbreviated is fine) and one sentence: what you would reject in this diff if it were 10 times bigger.


Task 5. Module retro (15 min)

Add to labs/00-setup.md:

## Module 00 retro
- What surprised me:
- Where the agent got it wrong:
- What I'm taking into my workflow:
- Time estimate (plan/actual):

Completion criteria

  • All commands from tasks 1–4 were run, the output is recorded.
  • There is a table comparing the agent's answers with the facts.
  • At least one diff was read in full (attached).
  • The retro is filled in.