# Workspace templates

> The workspace templates shipped with tmux-ide 2.9.3, what each layout contains, and how to start a project from one with tmux-ide init --template.

A template is a ready-made `.tmux-ide/workspace.yml`: a tmux layout with agent
panes on top and dev server, git changes and shell panes below.
`tmux-ide init --template <name>` writes one into the current project, names the
session after the directory, and validates the file before writing it.

## Templates in tmux-ide 2.9.3

| Template              | Initial layout                                                                           |
| --------------------- | ---------------------------------------------------------------------------------------- |
| `default`             | Two Claude panes; Changes, Dev Server, and Shell below                                   |
| `nextjs`              | Three Claude panes; Next.js, Changes, and Shell below                                    |
| `convex`              | Three Claude panes; Next.js, Convex, and Shell below                                     |
| `vite`                | Two Claude panes; Vite, Changes, and Shell below                                         |
| `go`                  | Two Claude panes; Go, Changes, and Shell below                                           |
| `python`              | Two Claude panes; Server, Changes, and Shell below                                       |
| `agent-team`          | Lead and two teammate panes; Changes, Dev Server, and Shell below                        |
| `agent-team-nextjs`   | Lead, Frontend, and Backend agents; Next.js, Changes, and Shell below                    |
| `agent-team-monorepo` | Lead plus agents rooted in `apps/web` and `apps/api`; matching dev panes and Shell below |
| `missions`            | Lead, Frontend, and Backend above Validator, Researcher, and Shell (pane layout only)    |

Run, for example:

```bash
tmux-ide init --template nextjs
tmux-ide validate --json
tmux-ide start
```

## What the `default` template generates

The shipped `default` template currently produces this structure (the `name`
is rewritten for your directory):

```yaml
name: my-project
version: 1

terminal:
  rows:
    - size: 70%
      panes:
        - id: agent-1
          title: Claude 1
          command: claude
        - id: agent-2
          title: Claude 2
          command: claude
    - panes:
        - id: changes
          title: Changes
          type: changes
        - id: dev
          title: Dev Server
        - id: shell
          title: Shell
          focus: true
```

Stable pane `id` values let tmux-ide keep recognizing a pane after you rename
it.

## Files the agent-team templates add

The `agent-team`, `agent-team-nextjs`, and `agent-team-monorepo` templates also
copy the bundled skill files and create, when missing:

* `.tmux-ide/library/architecture.md`
* `.tmux-ide/library/learnings.md`
* `.tasks/validation-contract.md`
* `AGENTS.md`

The `missions` template creates the same files plus `.tmux-ide/skills/`.
Existing files are not overwritten.

These templates create agent-ready pane layouts and project context. They do
not add a legacy `orchestrator` block or automatically dispatch work. To change a
generated layout, see the [workspace.yml reference](/docs/configuration#panes).
To send work between agent panes, see [Multi-agent teams](/docs/multi-agent-teams);
to give each agent its own branch, see [Worktrees](/docs/worktrees).

## Detect a layout from your stack

Without `--template`, `tmux-ide init` detects the stack. Recognized frameworks
produce a suggested layout; otherwise it falls back to `default`:

```bash
tmux-ide detect --json
tmux-ide init
```

Use `tmux-ide detect --write` when you want detection to write directly. Both
commands refuse to overwrite an existing workspace config.

## See also

* [Configuration](/docs/configuration) — every workspace.yml field
* [Multi-agent teams](/docs/multi-agent-teams) — coordinate the agents in a layout
* [Worktrees](/docs/worktrees) — one branch per agent
