Field Notes · June 1, 2026 · Last updated 2026-06-01 · 13 min read

Vibe Coding 101: How to Run 8 Agent Projects at Once

Vibe Coding 101 is a practical workflow for keeping several AI coding projects moving at once. The trick is not to trust a bigger prompt. The trick is to make every project easy to reopen, easy to explain to an agent, easy to test locally, and easy to clean up after the agent writes code.
Mac desktop with Zed project tabs, Codex and Claude Code panes, terminal output, AGENTS.md, JSON DB, and Hyperbox Mac mini status
The useful version of vibe coding is a repeatable operating loop: pick a project, load its rules, dispatch a bounded task, verify the result, then move to the next project.

Outline

Use a repeatable agent loop instead of trying to remember every project

Clean Mac dashboard showing a bounded context packet with rules, files, tests, and handoff signals
A good multi-project workflow gives each agent run the same ingredients: repo rules, local context, task scope, validation, and a handoff note.
  • Use Zed project tabs to keep many repos one click away without turning your desktop into a window pile.
  • Use AGENTS.md or CLAUDE.md files so Codex and Claude Code read the local rules before editing.
  • Use a JSON database double for Supabase so agents can run the full pipeline without touching production.
  • Use TypeScript, LSP diagnostics, file-size limits, and tests as hard feedback for every agent run.
  • Use Superwhisper or another dictation tool when the prompt needs several minutes of context.
  • Use queued task files so Codex can keep working while you review another repo.
  • Use regular refactor passes because smaller repos are easier for agents to search, edit, and verify.
  • Use an always-on Mac when the workflow depends on open editors, long terminal runs, browser state, logs, and generated artifacts.

That outline is the whole lesson. Multi-project agent work becomes manageable when every repo has a small operating system around it: where the rules live, where local state lives, how the agent proves a change, and how the human gets back into the work later.

Questions this page answers

  • How do Zed project tabs help a developer keep many agent projects visible?
  • How should AGENTS.md files, JSON database doubles, and LSP checks structure AI coding work?
  • How do voice prompts and Codex task queues keep long agent runs moving?
  • Why should refactor passes and an always-on Mac be part of a multi-project agent workflow?

Workspace

Use Zed project tabs to keep many repos visible without opening many windows

Clean workspace dashboard showing several project tabs with one active AI coding session, tests, and browser preview
Project tabs make the active repo, active task, and active agent session easier to find again.

When you are moving across four, six, or eight projects, the slow part is not typing. The slow part is remembering which repo was running, which terminal belonged to it, which branch was active, and what the agent was supposed to finish.

Zed project tabs solve a very plain problem: each project gets a named tab instead of a separate editor window. You can keep a backend, a frontend, a side project, a work project, and a refactor project open without constantly hunting through the dock.

How to use it

Put one project per tab. Keep the current task note, terminal output, and agent pane visible for that project. When you switch tabs, you should be able to answer three questions in five seconds: what repo is this, what is the agent doing, and what check proves it worked?

Repo instructions

Use AGENTS.md files to give each folder local rules before the agent edits code

Zed-style editor screenshot showing config, database, executor, monitor, shared, and frontend modules with AGENTS.md files and green LSP checks
Root instructions explain the repo; folder instructions explain the local decision rules.

A root AGENTS.md or CLAUDE.md file is useful, but the better move is to add instructions close to the code. A database folder can explain the storage interface. A monitor folder can explain polling and retry behavior. A frontend folder can explain component and styling rules.

This reduces prompt weight. Instead of restating the same repo rules in every chat, you let the agent discover the durable instructions where the work happens. That matters a lot when you are dispatching small tasks across several repos.

File or folderWhat the instruction should tell the agent
Root AGENTS.mdHow the repo is organized, how to run checks, and what not to touch.
Database folderThe storage interface, local test data rules, and production safety limits.
Executor folderHow jobs are started, retried, cancelled, and logged.
Frontend folderComponent conventions, styling rules, and the browser checks required.
Tests folderWhich tests prove unit behavior, integration behavior, and regressions.

Local state

Use a JSON database double so agents can test the full pipeline locally

Mac developer screenshot showing DatabaseInterface, JsonDatabase, SupabaseDatabase, state-machine diagram, integration test artifacts, and passing tests
A local database double lets the agent write real artifacts without changing production data.

The concrete pattern is simple: define one database interface, implement it twice, and switch implementations with an environment variable. Production can use Supabase. Local agent runs can use JSON files on disk.

That gives Codex or Claude Code a safe place to run the actual business flow. The agent can create records, inspect intermediate files, compare expected and actual state, and explain exactly what would have changed in production.

Prompt shape:
Read DatabaseInterface.
Run the pipeline with JsonDatabase.
Write every intermediate record to ./data/debug/.
Compare the final JSON state to the expected state.
Do not connect to Supabase unless I explicitly ask.

Guardrails

Use LSP diagnostics, TypeScript rules, and tests to interrupt bad agent output early

Clean developer dashboard showing LSP guardrails for no-any rules, file limits, typed APIs, and passing checks
The fastest review is the one the toolchain performs before a human reads the diff.

Agents will happily produce code that looks plausible and fails at the boundary. The fix is to make the repo complain immediately. Treat type errors, no-any violations, oversized files, missing tests, and broken imports as normal feedback inside the agent loop.

  • Make no-any and unsafe escape hatches errors, not suggestions.
  • Set file-length limits so agents split large changes into modules.
  • Set directory-size limits so broad areas get subfolders and local docs.
  • Require the agent to run the relevant type check and test command before handoff.
  • Ask for the exact failing diagnostic when a check fails, then let the agent fix only that failure.

This is what lets you run several projects without blindly trusting any one of them. The agent can move fast because the repo gives it immediate, mechanical feedback.

Dispatch

Use voice prompts and task files to queue work faster than you can type it

Mac desktop screenshot with project tabs, Superwhisper voice dictation, Codex work-pack queue, git diff summary, and test output
Dictation lowers the cost of giving the agent enough context; task files make the long run reviewable.

Some prompts need a lot of context: what changed in the last few days, how the branch differs from main, what the architecture goal is, which tests matter, and what counts as done. Voice dictation is useful because it lets you describe that task at full detail without turning dispatch into a writing chore.

For longer runs, move from one giant prompt to a queue. Ask the agent to create rules.md, scope.md, and numbered task files. Then run the tasks in order. Each task should be small enough to review but complete enough that the agent can finish without stopping for minor decisions.

Work-pack queue:
Read rules.md and scope.md.
Implement task-00.md.
Run the named checks.
Write a handoff note with files changed, tests run, and decisions made.
Continue to task-01.md only if the checks pass.

Understanding

Ask for a state diagram before changing business logic

Clean state diagram dashboard showing draft, queued, running, and reviewed states with failure paths and artifacts
A state diagram makes hidden workflow assumptions visible before code changes begin.

When an agent edits business logic without first explaining the workflow, it often patches the wrong layer. A quick state diagram forces it to name the states, transitions, inputs, outputs, retries, and failure paths before touching files.

  1. Ask the agent to diagram the current flow from the code, not from memory.
  2. Make it list the files that define each state transition.
  3. Compare the diagram to existing integration tests and debug artifacts.
  4. Only then ask for the smallest code change that moves one transition.

This works especially well when you return to a repo after several hours away. The diagram rebuilds your mental model quickly and gives the agent a smaller target.

Maintenance

Schedule refactor passes because agent-written code piles up quickly

Clean refactor queue dashboard showing duplicates, dead stubs, large files, stale types, and checks passing after cleanup
Refactor passes keep future agent runs smaller, safer, and easier to review.

If you use agents heavily, cleanup is not optional. Models duplicate helpers, leave stale stubs, grow files by appending new branches, and create types that almost match existing types. That makes the next run worse because the search space gets noisier.

Treat refactoring as a normal agent workload. Ask the agent to find duplicates, delete dead code, merge types, split large files, and prove the behavior is unchanged with tests. This is not cosmetic. It is what keeps the repo legible enough for the next agent.

SmellRefactor task
Duplicate helper functionsMove the real version to one shared module and update imports.
Two types describing the same recordKeep one type and make every boundary use it.
Large files with unrelated branchesSplit by responsibility and add folder-level instructions.
Dead UI or API stubsDelete them or connect them to a real path with a test.
Long chat history as contextWrite durable repo docs and remove the need to remember the chat.

Runtime

Use an always-on Mac when editor state, terminal jobs, and browser sessions need to survive

Clean Hyperbox Mac mini dashboard showing Zed tabs, Codex queues, browser profiles, test logs, SSH, VNC, and persistent files
Multi-project agent work gets easier when the machine keeps the whole workspace alive.

This workflow is a natural fit for the always-on Mac runtime where agents actually live. The value is not just remote access. The value is that Zed tabs, Codex queues, Claude Code sessions, browser profiles, generated JSON artifacts, screenshots, logs, and test output are still there when you reconnect.

Workflow needWhy a persistent Mac helps
Several repos open at onceThe workspace survives laptop sleep and reconnects.
Long Codex runsQueued tasks can continue after you leave the desk.
Browser validationProfiles, permissions, cookies, and preview state stay in place.
Local test artifactsJSON records, screenshots, logs, and reports remain inspectable.
iOS or macOS checksXcode and macOS tools live on the same machine as the agents.

Frequently asked questions

What is the main idea of a vibe coding workflow?

The main idea is to reduce context switching and make repos easier for agents to reason about: modular architecture, local docs, typed interfaces, strict LSP rules, integration tests, state diagrams, and queued agent tasks.

Why use a JSON database alongside Supabase?

A JSON database can implement the same interface as the production database, giving agents a safe local backing store for development, tests, and inspectable pipeline artifacts.

Why does this workflow fit an always-on Mac?

The workflow depends on persistent editor tabs, terminal sessions, long Codex runs, browser state, generated artifacts, and desktop tools that should survive reconnects and laptop sleep.

Always-on Mac runtime

Give your agent a Mac that stays online after your laptop closes.

Hyperbox gives Codex, Claude Code, OpenClaw, and remote dev workflows a persistent macOS machine with SSH, VNC, and full desktop access.