New structure: docs/ split into 11 subdirectories (getting-started/, agents/, providers/, sidecar/, multi-machine/, plugins/, config/, production/, architecture/, contributing/, pro/). New files: - docs/README.md: navigation index with audience table - docs/getting-started/quickstart.md: install, build, first session - docs/config/ref-settings.md: all env vars, config files, databases - docs/architecture/overview.md: split from architecture.md (>300 lines) - docs/pro/README.md: Pro edition overview - docs/pro/features/analytics.md: analytics dashboard docs - docs/pro/features/cost-intelligence.md: budget + router docs Remaining docs being written by background agents — will be committed in follow-up when complete.
188 lines
5.2 KiB
Markdown
188 lines
5.2 KiB
Markdown
# Quickstart
|
|
|
|
Get Agents Orchestrator (agor) running locally in under 10 minutes.
|
|
|
|
## Prerequisites
|
|
|
|
| Dependency | Version | Notes |
|
|
|------------|---------|-------|
|
|
| Node.js | 20+ | npm included |
|
|
| Rust | 1.77+ | Install via [rustup](https://rustup.rs/) |
|
|
| WebKit2GTK | 4.1 | Tauri 2.x rendering engine |
|
|
| System libs | -- | See below |
|
|
|
|
### System libraries (Debian/Ubuntu)
|
|
|
|
```bash
|
|
sudo apt install \
|
|
libwebkit2gtk-4.1-dev \
|
|
libgtk-3-dev \
|
|
libappindicator3-dev \
|
|
librsvg2-dev \
|
|
libssl-dev \
|
|
libsoup-3.0-dev \
|
|
javascriptcoregtk-4.1 \
|
|
patchelf
|
|
```
|
|
|
|
### Optional dependencies
|
|
|
|
- **Claude Code CLI** -- Required for the Claude provider. Auto-detected at
|
|
`~/.local/bin/claude`, `~/.claude/local/claude`, `/usr/local/bin/claude`, or
|
|
`/usr/bin/claude`.
|
|
- **Deno** -- Preferred sidecar runtime (faster startup). Falls back to Node.js.
|
|
- **Ollama** -- Required for the Ollama provider. Must be running on
|
|
`localhost:11434`.
|
|
|
|
## Clone and build
|
|
|
|
```bash
|
|
git clone git@github.com:DexterFromLab/agent-orchestrator.git
|
|
cd agent-orchestrator
|
|
|
|
npm install
|
|
npm run tauri dev
|
|
```
|
|
|
|
The dev server runs on port **9700**. Tauri opens a native window automatically.
|
|
|
|
### Production build
|
|
|
|
```bash
|
|
npm run tauri build
|
|
```
|
|
|
|
Output: `.deb` and AppImage in `src-tauri/target/release/bundle/`.
|
|
|
|
## Project configuration
|
|
|
|
Agor organizes work into **groups**, each containing one or more **projects**
|
|
(codebases) and optional **agents** (Tier 1 management roles).
|
|
|
|
Configuration lives in `~/.config/agor/groups.json`. On first launch, agor
|
|
creates a default file. You can also create it manually:
|
|
|
|
```json
|
|
{
|
|
"version": 1,
|
|
"groups": [
|
|
{
|
|
"id": "my-team",
|
|
"name": "My Team",
|
|
"projects": [
|
|
{
|
|
"id": "backend",
|
|
"name": "Backend API",
|
|
"identifier": "backend-api",
|
|
"description": "REST API service",
|
|
"icon": "B",
|
|
"cwd": "/home/user/code/backend",
|
|
"profile": "default",
|
|
"enabled": true,
|
|
"provider": "claude"
|
|
},
|
|
{
|
|
"id": "frontend",
|
|
"name": "Frontend App",
|
|
"identifier": "frontend-app",
|
|
"description": "Svelte web client",
|
|
"icon": "F",
|
|
"cwd": "/home/user/code/frontend",
|
|
"profile": "default",
|
|
"enabled": true,
|
|
"provider": "claude",
|
|
"model": "claude-sonnet-4-6"
|
|
}
|
|
],
|
|
"agents": [
|
|
{
|
|
"id": "mgr-1",
|
|
"name": "Manager",
|
|
"role": "manager",
|
|
"enabled": true,
|
|
"wakeIntervalMin": 3,
|
|
"wakeStrategy": "smart",
|
|
"wakeThreshold": 0.5
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"activeGroupId": "my-team"
|
|
}
|
|
```
|
|
|
|
### Key fields
|
|
|
|
| Field | Required | Description |
|
|
|-------|----------|-------------|
|
|
| `id` | Yes | Unique identifier within the group |
|
|
| `cwd` | Yes | Absolute path to the project directory |
|
|
| `provider` | No | `claude` (default), `codex`, `ollama`, or `aider` |
|
|
| `model` | No | Model override; falls back to provider default |
|
|
| `profile` | No | Claude profile name from `~/.config/switcher/profiles/` |
|
|
| `useWorktrees` | No | Enable git worktree isolation per session |
|
|
| `sandboxEnabled` | No | Enable Landlock filesystem sandbox (Linux 5.13+) |
|
|
| `autonomousMode` | No | `restricted` (default) or `autonomous` |
|
|
| `anchorBudgetScale` | No | Anchor token budget: `small`, `medium`, `large`, `full` |
|
|
| `stallThresholdMin` | No | Minutes before idle agent is marked stalled (default 15) |
|
|
|
|
## Creating your first agent session
|
|
|
|
1. Launch agor (`npm run tauri dev` or the built binary).
|
|
2. The workspace shows your configured projects as cards in a grid.
|
|
3. Click a project card to focus it. The **Model** tab opens by default.
|
|
4. Type a prompt in the input area at the bottom and press Enter.
|
|
5. Agor spawns a sidecar process, connects to the provider, and streams
|
|
responses in real time.
|
|
|
|
The agent session persists across tab switches. Closing the project card stops
|
|
the agent.
|
|
|
|
## Keyboard shortcuts
|
|
|
|
| Shortcut | Action |
|
|
|----------|--------|
|
|
| `Ctrl+B` | Toggle sidebar |
|
|
| `Ctrl+,` | Open settings |
|
|
| `Ctrl+Shift+F` | Full-text search overlay |
|
|
| `Ctrl+K` | Command palette |
|
|
| `Alt+1` -- `Alt+5` | Focus project 1--5 |
|
|
| `Escape` | Close sidebar / overlay / palette |
|
|
|
|
## Running tests
|
|
|
|
```bash
|
|
# All tests (vitest frontend + cargo backend)
|
|
npm run test:all
|
|
|
|
# Frontend only
|
|
npm run test
|
|
|
|
# Backend only
|
|
npm run test:cargo
|
|
|
|
# E2E tests (requires built binary)
|
|
npm run test:all:e2e
|
|
```
|
|
|
|
## Directory layout
|
|
|
|
```
|
|
agent-orchestrator/
|
|
agor-core/ # Shared Rust crate (PTY, sidecar, supervisor, sandbox)
|
|
agor-relay/ # Standalone relay binary (WebSocket server)
|
|
src-tauri/ # Tauri app (Rust backend)
|
|
src/ # Svelte 5 frontend
|
|
sidecar/ # Provider runner scripts (compiled to .mjs)
|
|
docs/ # Project documentation
|
|
tests/e2e/ # WebDriverIO E2E tests
|
|
```
|
|
|
|
## Next steps
|
|
|
|
- [Configuration reference](../config/ref-settings.md) -- all env vars, config
|
|
files, and per-project settings.
|
|
- [Provider reference](../providers/ref-providers.md) -- Claude, Codex, Ollama,
|
|
Aider setup.
|
|
- [btmsg reference](../agents/ref-btmsg.md) -- inter-agent messaging.
|
|
- [bttask reference](../agents/ref-bttask.md) -- kanban task board.
|