---
title: "One command to set up your entire dev workspace"
description: "Stop rebuilding your development workspace every morning. One command opens every project, starts every AI agent, resumes every conversation, and tiles it all."
date: 2026-07-22
reading_time: "5 min"
keywords: ["development workspace setup","open all projects one command","dev environment startup","morning dev routine"]
canonical: https://magent.now/blog/multi-project-development-setup
markdown: https://magent.now/blog/multi-project-development-setup.md
site: https://magent.now
publisher: DevinoSolutions
---

# One command to set up your entire dev workspace

Every developer has a startup ritual. Open a terminal, `cd` into the first project, start the agent or the editor. Open another terminal. Find the second project. Remember what you were doing in it. Drag windows around until things are roughly where they were yesterday. By the time the workspace looks like a workspace, twenty minutes are gone — and so is the momentum you sat down with.

The fix is boring and absolute: **make the workspace a build artifact**. Your desk should be reproducible the same way your CI environment is — one command, same result, every time.

## The re-entry tax

The expensive part of a morning is not typing commands; it is _re-loading state into your head_. Which projects are active? Where did each conversation with the agent leave off? What was half-finished on Friday? Manual setup forces you to answer those questions before you can work, and the answers live in a dozen scattered places — shell history, editor tabs, chat logs.

A reproducible workspace inverts that. The layout, the sessions, and the conversations come back on their own, and your head fills in from what is on screen.

## What one command should restore

[mAgent](https://magent.now/) (the `magent` CLI) treats the whole desk as one unit. Its first run scans your Claude Code, Codex, and VS Code history, finds your recent projects, and writes a config. After that, every workday starts the same way:

```
$ magent --go
✓ layout restored — 2 monitors · 2×2
✻ claude  md:api     resumed "refactor routes"
✻ claude  md:web     resumed "fix nav overflow"
▌ codex   md:worker  resumed "queue consumer"
⧉ vscode  md:docs    reopened last workspace
```

That single command restores three layers at once:

- **Windows** — each project opens in its own terminal, auto-tiled into a grid across every connected monitor.
- **Agents** — Claude Code, Codex, or Cursor starts inside each window, whichever that project uses.
- **Conversations** — sessions resume via `claude --continue` and `codex resume` per window, so each agent picks up mid-thought instead of starting cold. The details are in [auto-resuming Claude Code and Codex sessions](https://magent.now/blog/auto-resume-claude-code-codex-sessions).

> The grid is stable on purpose: the same project lands in the same tile every day. After a week you stop reading window titles — your hands already know where `api` lives.

## Not every day needs every project

A reproducible workspace should also be scoped. mAgent supports named groups — launch just the client work, just the internal tools, or just the experiments with `magent -g <group>`, and keep the full fleet for the days that need it. How to organize a larger setup is covered in [managing a fleet of AI coding agents](https://magent.now/blog/parallel-ai-coding-agents-workflow).

## When something drifts

Reproducibility fails quietly: a PATH change, a moved directory, a monitor unplugged. Instead of debugging the morning launch by feel, run the built-in diagnostic:

```
$ magent doctor
```

It checks your config, environment variables, agent tools on PATH, terminal, monitors, and writable directories, and exits non-zero on any failure — so you can even wire it into a startup script and only look when something is actually wrong.

## Make tomorrow morning free

Setup is a two-minute job: install, run once to configure, run again to launch. The [install guide](https://magent.now/install) walks through it step by step — from an empty terminal to a tiled, resumed workspace. If a restart is what you are planning for, here is how to [resume a Claude Code session after a restart](https://magent.now/blog/resume-claude-code-session-after-restart) in every project.
