You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Add exports map to package.json so @arach/lattices/daemon-client resolves
- Fix all import paths from 'lattices/...' to '@arach/lattices/...'
- Add 6 missing API endpoints: processes.list/tree, terminals.list/search,
api.schema, layout.distribute
- Fix event data shapes (windows.changed, tmux.changed) to match source
- Add 4th event (processes.changed), correct counts to 26 methods / 4 events
- Add left-third, center-third, right-third tile positions across all docs
- Add API method index table and error handling example
- Fix timeout default (3000ms not 5000ms)
- Restructure Concepts glossary from 9 h3s to a single table
- Remove duplicate h1 titles from all 7 doc pages
- Update quickstart install to npm install -g @arach/lattices
Copy file name to clipboardExpand all lines: docs/concepts.md
+19-94Lines changed: 19 additions & 94 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,84 +4,20 @@ description: Core ideas, glossary, and architecture of lattices
4
4
order: 1
5
5
---
6
6
7
-
# Concepts
8
-
9
-
## What is lattices?
10
-
11
-
lattices is a developer workspace launcher. It creates pre-configured
12
-
terminal layouts for your projects using tmux, so you can go from
13
-
"I want to work on X" to a full development environment in one click.
14
-
15
-
It has two parts:
16
-
17
-
1.**CLI** (`lattices`) — creates and manages tmux sessions from the terminal
18
-
2.**Menu bar app** — a native macOS companion for launching, tiling,
19
-
and navigating sessions with a command palette
20
-
21
7
## Glossary
22
8
23
-
### Daemon
24
-
The lattices daemon is a WebSocket server (`ws://127.0.0.1:9399`) that
25
-
runs inside the menu bar app. It exposes 20 RPC methods and 3 real-time
26
-
events, giving scripts and AI agents full programmatic control over
27
-
sessions, windows, layers, and projects. See the
28
-
[API reference](/docs/api).
29
-
30
-
### Agent
31
-
Any program that calls the daemon API to control the workspace
32
-
autonomously — an AI coding agent, a shell script, a CI pipeline,
33
-
or a custom tool. Agents can discover projects, launch sessions, tile
34
-
windows, switch layers, and react to real-time events without human
35
-
interaction.
36
-
37
-
### Session
38
-
A tmux session is a persistent workspace that lives in the background.
39
-
It survives terminal crashes, disconnects, and even closing your laptop.
40
-
Think of it as a virtual desktop for a single project.
41
-
42
-
### Pane
43
-
A pane is a single terminal view inside a session. A typical lattices
44
-
setup has two panes side by side — one running Claude Code and one
45
-
running your dev server. You can have up to four or more.
46
-
47
-
### Attach / Detach
48
-
Attaching connects your terminal window to an existing session.
49
-
Detaching disconnects your terminal but keeps the session alive.
50
-
Your dev server keeps running, Claude keeps thinking — nothing is lost.
51
-
52
-
### tmux
53
-
tmux (terminal multiplexer) is the engine behind lattices. It manages
54
-
sessions, panes, and layouts. lattices configures tmux for you so you
55
-
don't need to learn tmux commands — but knowing a few shortcuts helps.
56
-
57
-
### Multiplexer
58
-
A program that lets you run multiple terminal sessions inside a single
59
-
window and switch between them. tmux is the most popular one.
60
-
61
-
### Sync / Reconcile
62
-
Sync (`lattices sync`) brings a running session back in line with its
63
-
declared config. It recreates missing panes, re-applies the layout,
64
-
restores labels, and re-runs commands in idle panes. Useful when a pane
65
-
was accidentally killed but you don't want to restart the whole session.
66
-
67
-
### Ensure / Prefill
68
-
Two modes for restoring exited commands when you reattach to a session:
69
-
70
-
-**Ensure** — automatically re-runs the command (hands-free recovery)
71
-
-**Prefill** — types the command into the pane but waits for you to
72
-
press Enter (manual confirmation)
73
-
74
-
Set via `"ensure": true` or `"prefill": true` in `.lattices.json`.
75
-
76
-
### Command Palette
77
-
The menu bar app's primary interface, opened with **Cmd+Shift+M**.
78
-
A searchable list of actions: launch/attach projects, tile windows,
79
-
sync sessions, restart panes, open settings.
80
-
81
-
### Window Tiling
82
-
Both the CLI (`lattices tile`) and the menu bar app can snap terminal
83
-
windows to preset screen positions (halves, quarters, maximize, center).
84
-
Tiling uses AppleScript bounds and respects the menu bar and dock.
9
+
| Term | Definition |
10
+
|------|------------|
11
+
|**Session**| A persistent tmux workspace that lives in the background. Survives terminal crashes, disconnects, and closing your laptop. One session per project. |
12
+
|**Pane**| A single terminal view inside a session. A typical setup has two panes side by side — Claude Code on the left, dev server on the right. |
13
+
|**Attach / Detach**| Attaching connects your terminal to an existing session. Detaching disconnects but keeps the session alive — your dev server keeps running, Claude keeps thinking. |
14
+
|**Daemon**| WebSocket server (`ws://127.0.0.1:9399`) inside the menu bar app. Exposes 26 RPC methods and 4 real-time events for programmatic control. See the [API reference](/docs/api). |
15
+
|**Agent**| Any program that calls the daemon API autonomously — an AI coding agent, a shell script, a CI pipeline, or a custom tool. |
16
+
|**Sync / Reconcile**|`lattices sync` brings a running session back in line with its declared config — recreates missing panes, re-applies layout, restores labels, re-runs commands in idle panes. |
17
+
|**Ensure / Prefill**| Two modes for restoring exited commands on reattach. **Ensure** auto-reruns the command. **Prefill** types it but waits for you to press Enter. Set via `.lattices.json`. |
18
+
|**Command Palette**| The menu bar app's primary interface (**Cmd+Shift+M**). Searchable list of actions: launch, tile, sync, restart, settings. |
19
+
|**Window Tiling**| Snap terminal windows to preset screen positions (halves, quarters, thirds, maximize, center). Works from the CLI (`lattices tile`) or the command palette. |
20
+
|**tmux**| Terminal multiplexer — the engine behind lattices. Manages sessions, panes, and layouts. lattices configures it for you. |
85
21
86
22
## How it works
87
23
@@ -98,7 +34,7 @@ Tiling uses AppleScript bounds and respects the menu bar and dock.
0 commit comments