Skip to content
zero2vibecodelearn vibe coding
Level 1 · How it sees your project 6 min Reviewed by the author · Aug 4, 2026

What it can and cannot read

The agent reads files in the folder you started it in — including the ones you forgot were there. What it cannot read is everything that only exists in your head.

Level 1 · 0 / 4 lessons0%

Before you can give an agent good context, you need an accurate picture of what it already has.

It has the folder

Everything under the folder you launched in. Source files, configuration, notes, the README, the half-finished scratch file from three months ago. It does not read all of it at once — it goes looking, the way you would, when something seems relevant.

Files starting with a dot are hidden from a plain ls, not from anything else. Run ls -a in the terminal below and see what is actually sitting in this project.

.gitignore is not a shield

An listed in .gitignore stays out of Git. It does not stay out of the folder. If a path must be off limits to the agent, say so explicitly with a permissions rule — that is what they are for, and level 3 covers them.

Quick check

Your project has a `secrets.json` that is gitignored. What is true?

It does not have your head

This is the part that causes real confusion, so be blunt about it. The agent cannot see:

  • Why something is written the way it is, unless the reason is in the code or a comment.
  • The conversation where your team decided not to use that library.
  • The ticket, the design doc, or the screenshot you are looking at.
  • What “the usual way” means in your , unless the repository shows it or you say it.
  • Anything you meant but did not type.

Silence is not a constraint. If you do not say “do not add a dependency for this”, adding a dependency is a perfectly reasonable thing for it to do.

It does not have the running world either

It reads files. It does not, by itself, know what is in your production database, what your users are doing, or what that third-party service returns today. Some of that can be connected deliberately — that is what is for, in level 3 — but nothing is connected by accident.

A useful sanity check

When a session goes strangely, ask yourself: is this thing failing, or did I never tell it the one fact that makes the task make sense? In the first month, it is nearly always the second.

What this means practically

You will spend the rest of this level on one skill: choosing what to hand over. Not everything — that is expensive and it dilutes attention. Not nothing — that is guesswork. The specific files, the specific constraint, the specific goal.

Should I delete junk files before starting?
Can it work on two projects at once?

Check your understanding

Answered 0/3
Mode:

What can the agent read?

Does listing a file in .gitignore hide it from the agent?

Which of these can the agent never work out on its own?

Finish the task in the terminal and answer the questions to complete the lesson.

📝 My notes

Saved automatically in this browser · shows up on the Notes page.

Task

Look at the project the way the agent does: everything in the folder, hidden files included.

Tab complete · history · Ctrl+L clear · help commands

  • Not done: List everything, hidden files included
  • Not done: Spot the file you forgot was in there
  • Not done: Read what Git is told to ignore
  • Not done: See that .gitignore is about Git, not about the agent

Lesson Q&A

What can the agent read?

The launch folder is the boundary. Inside it, a file is a file — a leading dot only hides it from a plain `ls`.

Does listing a file in .gitignore hide it from the agent?

Two different systems. If you need a path kept away from the agent, that is a permissions rule, and it is a different lesson.

Which of these can the agent never work out on its own?

It reads what is there. A decision that lives only in your memory or in a chat thread is not there.

Your project has a `secrets.json` that is gitignored. What is true?

Gitignore is a message to Git about tracking. It changes nothing about the file existing on disk.

Move between lessons with · search with ⌘K