Skip to content

Commit a99aedf

Browse files
authored
Merge pull request ComposioHQ#537 from suraj-markup/feat/onboarding-improvements
feat: zero-friction onboarding — ao start does everything
2 parents 178af32 + 78a4233 commit a99aedf

File tree

8 files changed

+141
-155
lines changed

8 files changed

+141
-155
lines changed

.changeset/config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
[
88
"@composio/ao-core",
99
"@composio/ao-cli",
10-
"@composio/agent-orchestrator",
10+
"@composio/ao",
1111
"@composio/ao-plugin-runtime-tmux",
1212
"@composio/ao-plugin-runtime-process",
1313
"@composio/ao-plugin-agent-claude-code",

README.md

Lines changed: 51 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -44,78 +44,63 @@ Agent Orchestrator manages fleets of AI coding agents working in parallel on you
4444

4545
## Quick Start
4646

47-
**Option A — Install via npm (recommended):**
47+
> **Prerequisites:** [Node.js 20+](https://nodejs.org), [Git 2.25+](https://git-scm.com), [tmux](https://github.com/tmux/tmux/wiki/Installing), [`gh` CLI](https://cli.github.com). Install tmux via `brew install tmux` (macOS) or `sudo apt install tmux` (Linux).
4848
49-
```bash
50-
npm install -g @composio/agent-orchestrator
49+
### Install
5150

52-
# Permission denied? Use one of these:
53-
sudo npm install -g @composio/agent-orchestrator # quick fix
54-
npx @composio/agent-orchestrator # no install needed
51+
```bash
52+
npm install -g @composio/ao
5553
```
5654

57-
> **Prerequisites:** [Node.js 20+](https://nodejs.org), [Git 2.25+](https://git-scm.com), [tmux](https://github.com/tmux/tmux/wiki/Installing), [`gh` CLI](https://cli.github.com). Install tmux via `brew install tmux` (macOS) or `sudo apt install tmux` (Linux).
55+
<details>
56+
<summary>Permission denied? Install from source?</summary>
5857

59-
**Option B — Install from source (for contributors):**
58+
If `npm install -g` fails with EACCES, prefix with `sudo` or [fix your npm permissions](https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally).
59+
60+
To install from source (for contributors):
6061

6162
```bash
6263
git clone https://github.com/ComposioHQ/agent-orchestrator.git
6364
cd agent-orchestrator && bash scripts/setup.sh
6465
```
66+
</details>
67+
68+
### Start
6569

66-
Then set up your project:
70+
Point it at any repo — it clones, configures, and launches the dashboard in one command:
6771

6872
```bash
69-
# From a repo URL (fastest — clones, configures, and launches in one command)
7073
ao start https://github.com/your-org/your-repo
71-
72-
# Or from an existing local repo
73-
cd ~/your-project && ao start # auto-detects everything, zero prompts
74-
75-
# Add more projects to an existing setup
76-
ao start ~/path/to/another-repo
7774
```
7875

79-
Spawn agents:
76+
Or from inside an existing local repo:
8077

8178
```bash
82-
ao spawn my-project 123 # GitHub issue, Linear ticket, or ad-hoc
79+
cd ~/your-project && ao start
8380
```
8481

85-
Dashboard opens at `http://localhost:3000`. Run `ao status` for the CLI view.
82+
That's it. The dashboard opens at `http://localhost:3000` and the orchestrator agent starts managing your project.
8683

87-
## How It Works
84+
### Add more projects
8885

86+
```bash
87+
ao start ~/path/to/another-repo
8988
```
90-
ao spawn my-project 123
91-
```
92-
93-
1. **Workspace** creates an isolated git worktree with a feature branch
94-
2. **Runtime** starts a tmux session (or Docker container)
95-
3. **Agent** launches Claude Code (or Codex, or Aider) with issue context
96-
4. Agent works autonomously — reads code, writes tests, creates PR
97-
5. **Reactions** auto-handle CI failures and review comments
98-
6. **Notifier** pings you only when judgment is needed
9989

100-
### Plugin Architecture
101-
102-
Eight slots. Every abstraction is swappable.
90+
## How It Works
10391

104-
| Slot | Default | Alternatives |
105-
| --------- | ----------- | ------------------------ |
106-
| Runtime | tmux | docker, k8s, process |
107-
| Agent | claude-code | codex, aider, opencode |
108-
| Workspace | worktree | clone |
109-
| Tracker | github | linear |
110-
| SCM | github ||
111-
| Notifier | desktop | slack, composio, webhook |
112-
| Terminal | iterm2 | web |
113-
| Lifecycle | core ||
92+
1. **You start**`ao start` launches the dashboard and an orchestrator agent
93+
2. **Orchestrator spawns workers** — each issue gets its own agent in an isolated git worktree
94+
3. **Agents work autonomously** — they read code, write tests, create PRs
95+
4. **Reactions handle feedback** — CI failures and review comments are automatically routed back to the agent
96+
5. **You review and merge** — you only get pulled in when human judgment is needed
11497

115-
All interfaces defined in [`packages/core/src/types.ts`](packages/core/src/types.ts). A plugin implements one interface and exports a `PluginModule`. That's it.
98+
The orchestrator agent uses the [AO CLI](docs/CLI.md) internally to manage sessions. You don't need to learn or use the CLI — the dashboard and orchestrator handle everything.
11699

117100
## Configuration
118101

102+
`ao start` auto-generates `agent-orchestrator.yaml` with sensible defaults. You can edit it afterwards to customize behavior:
103+
119104
```yaml
120105
# agent-orchestrator.yaml
121106
port: 3000
@@ -149,54 +134,42 @@ reactions:
149134
150135
CI fails → agent gets the logs and fixes it. Reviewer requests changes → agent addresses them. PR approved with green CI → you get a notification to merge.
151136
152-
See [`agent-orchestrator.yaml.example`](agent-orchestrator.yaml.example) for the full reference.
153-
154-
## CLI
155-
156-
```bash
157-
ao start # Auto-detect project, generate config, and start
158-
ao start ~/other-repo # Add a new project and start
159-
ao config-help # Show full config schema reference
160-
ao status # Overview of all sessions
161-
ao spawn [issue] # Spawn an agent (project auto-detected)
162-
ao send <session> "Fix the tests" # Send instructions
163-
ao session ls # List sessions
164-
ao session kill <session> # Kill a session
165-
ao session restore <session> # Revive a crashed agent
166-
ao dashboard # Open web dashboard
167-
ao doctor [--fix] # Check install, runtime, and stale temp issues
168-
ao update # Update local AO install and run smoke tests
169-
```
137+
See [`agent-orchestrator.yaml.example`](agent-orchestrator.yaml.example) for the full reference, or run `ao config-help` for the complete schema.
170138

171-
## Maintenance
172-
173-
```bash
174-
# Run deterministic install and runtime checks
175-
ao doctor
139+
## Plugin Architecture
176140

177-
# Apply safe cleanup and launcher fixes
178-
ao doctor --fix
141+
Eight slots. Every abstraction is swappable.
179142

180-
# Update this local AO checkout, rebuild critical packages, and verify the launcher
181-
ao update
182-
```
143+
| Slot | Default | Alternatives |
144+
| --------- | ----------- | ------------------------ |
145+
| Runtime | tmux | docker, k8s, process |
146+
| Agent | claude-code | codex, aider, opencode |
147+
| Workspace | worktree | clone |
148+
| Tracker | github | linear |
149+
| SCM | github | — |
150+
| Notifier | desktop | slack, composio, webhook |
151+
| Terminal | iterm2 | web |
152+
| Lifecycle | core | — |
183153

184-
`ao doctor` checks PATH and launcher resolution, required binaries, tmux and GitHub CLI health, config support directories, stale AO temp files, and core build/runtime sanity. `ao update` fast-forwards the local install repo on `main`, runs `pnpm install`, clean-rebuilds `@composio/ao-core`, `@composio/ao-cli`, and `@composio/ao-web`, refreshes the global `ao` launcher with `npm link`, and finishes with CLI smoke tests.
154+
All interfaces defined in [`packages/core/src/types.ts`](packages/core/src/types.ts). A plugin implements one interface and exports a `PluginModule`. That's it.
185155

186156
## Why Agent Orchestrator?
187157

188158
Running one AI agent in a terminal is easy. Running 30 across different issues, branches, and PRs is a coordination problem.
189159

190160
**Without orchestration**, you manually: create branches, start agents, check if they're stuck, read CI failures, forward review comments, track which PRs are ready to merge, clean up when done.
191161

192-
**With Agent Orchestrator**, you: `ao spawn` and walk away. The system handles isolation, feedback routing, and status tracking. You review PRs and make decisions — the rest is automated.
162+
**With Agent Orchestrator**, you: `ao start` and walk away. The system handles isolation, feedback routing, and status tracking. You review PRs and make decisions — the rest is automated.
193163

194-
## Prerequisites
164+
## Documentation
195165

196-
- Node.js 20+
197-
- Git 2.25+
198-
- tmux (for default runtime)
199-
- `gh` CLI (for GitHub integration)
166+
| Doc | What it covers |
167+
| ---------------------------------------- | ------------------------------------------------------------ |
168+
| [Setup Guide](SETUP.md) | Detailed installation, configuration, and troubleshooting |
169+
| [CLI Reference](docs/CLI.md) | All `ao` commands (mostly used by the orchestrator agent) |
170+
| [Examples](examples/) | Config templates (GitHub, Linear, multi-project, auto-merge) |
171+
| [Development Guide](docs/DEVELOPMENT.md) | Architecture, conventions, plugin pattern |
172+
| [Contributing](CONTRIBUTING.md) | How to contribute, build plugins, PR process |
200173

201174
## Development
202175

@@ -208,16 +181,6 @@ pnpm dev # Start web dashboard dev server
208181

209182
See [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md) for code conventions and architecture details.
210183

211-
## Documentation
212-
213-
| Doc | What it covers |
214-
| ---------------------------------------- | ------------------------------------------------------------ |
215-
| [Setup Guide](SETUP.md) | Detailed installation and configuration |
216-
| [Examples](examples/) | Config templates (GitHub, Linear, multi-project, auto-merge) |
217-
| [Development Guide](docs/DEVELOPMENT.md) | Architecture, conventions, plugin pattern |
218-
| [Contributing](CONTRIBUTING.md) | How to contribute, build plugins, PR process |
219-
| [Troubleshooting](TROUBLESHOOTING.md) | Common issues and fixes |
220-
221184
## Contributing
222185

223186
Contributions welcome. The plugin system makes it straightforward to add support for new agents, runtimes, trackers, and notification channels. Every plugin is an implementation of a TypeScript interface — see [CONTRIBUTING.md](CONTRIBUTING.md) and the [Development Guide](docs/DEVELOPMENT.md) for the pattern.

0 commit comments

Comments
 (0)