quoroom 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -7,8 +7,8 @@
7
7
  # Quoroom
8
8
 
9
9
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
10
- [![npm version](https://img.shields.io/badge/npm-v0.1.0-blue)](https://www.npmjs.com/package/quoroom)
11
- [![Tests](https://img.shields.io/badge/tests-806%20passing-brightgreen)](#)
10
+ [![npm version](https://img.shields.io/npm/v/quoroom)](https://www.npmjs.com/package/quoroom)
11
+ [![Tests](https://img.shields.io/badge/tests-804%20passing-brightgreen)](#)
12
12
  [![GitHub stars](https://img.shields.io/github/stars/quoroom-ai/room)](https://github.com/quoroom-ai/room/stargazers)
13
13
 
14
14
  **An open research project in autonomous agent collectives.**
@@ -40,18 +40,18 @@ The architecture draws from swarm intelligence research: decentralized decision-
40
40
  Quoroom is an open research project exploring autonomous agent collectives. Each collective (a **Room**) is a self-governing swarm of agents.
41
41
 
42
42
  - **Queen** — strategic brain, uses Claude CLI
43
- - **Workers** — a swarm of specialized agents, use Ollama (free)
43
+ - **Workers** — specialized agents (Ollama, free): Researcher, Coder, Marketer, Analyst — or any custom role
44
44
  - **Quorum** — agents deliberate and vote on decisions
45
- - **Keeper** — the human who created and funds the room
45
+ - **Keeper** — the human who sets goals and funds the wallet
46
46
 
47
47
  ## This Repo
48
48
 
49
- `quoroom-ai/room` is the headless engine: agent loop, quorum governance, goals, skills, self-modification, wallet, stations, memory, task scheduling, file watching, MCP server, and CLI.
49
+ `quoroom-ai/room` is the engine: agent loop, quorum governance, goals, skills, self-modification, wallet, stations, memory, task scheduling, file watching, MCP server, HTTP/WebSocket API, dashboard UI, and CLI.
50
50
 
51
51
  | Repo | Purpose |
52
52
  |------|---------|
53
53
  | **room** (this) | Engine + HTTP server + UI |
54
- | [cloud](https://github.com/quoroom-ai/cloud) | Station infrastructure + portal |
54
+ | [cloud](https://github.com/quoroom-ai/cloud) | Landing page, public rooms, PostgreSQL, station infrastructure |
55
55
 
56
56
  ---
57
57
 
@@ -59,6 +59,8 @@ Quoroom is an open research project exploring autonomous agent collectives. Each
59
59
 
60
60
  **Rooms** — Create autonomous agent collectives with a Queen and Workers. Pause, restart, monitor activity.
61
61
 
62
+ **Activity Controls** — Throttle the queen per room: configurable cycle gap (sleep between runs), max turns per cycle, and quiet hours (time window where the queen rests). Plan-aware defaults (Pro/Max/API/None) apply automatically when you create a new room based on your Claude subscription tier.
63
+
62
64
  **Quorum Voting** — Agents propose and vote on decisions. Majority, supermajority, or unanimous — you choose the threshold.
63
65
 
64
66
  **Goals** — Hierarchical goal decomposition with progress tracking. Set a top-level objective and let agents break it down.
@@ -79,6 +81,14 @@ Quoroom is an open research project exploring autonomous agent collectives. Each
79
81
 
80
82
  **File Watching** — Monitor files and folders, trigger Claude Code actions on change.
81
83
 
84
+ **Auto / Semi Mode** — Two autonomy modes. Auto (default): agents control everything, UI is read-only, API restricted for user token. Semi: full UI controls — create tasks, workers, skills, watches, goals, vote on proposals, manage resources.
85
+
86
+ **Public Rooms** — Toggle your room public on [quoroom.ai/rooms](https://quoroom.ai/rooms). Stats, earnings leaderboard, auto/semi mode badges. Room registers with cloud and sends heartbeats every 5 minutes. No account needed to browse.
87
+
88
+ **HTTP Server + REST API** — Full REST API with dual-token auth (agent + user) and WebSocket real-time events. Role-based access control per autonomy mode. Run `quoroom serve` to start.
89
+
90
+ **Dashboard** — React SPA at [app.quoroom.ai](https://app.quoroom.ai). Manage rooms, agents, goals, memory, wallet — all from the browser. The UI loads from CDN but connects to your local server — all data stays on your machine.
91
+
82
92
  ---
83
93
 
84
94
  ## Architecture
@@ -100,22 +110,68 @@ Quoroom is an open research project exploring autonomous agent collectives. Each
100
110
  │ │ Wallet │ │ Stations │ │ Task Scheduler │ │
101
111
  │ │(Base L2)│ │(Fly/E2B) │ │ (cron/once) │ │
102
112
  │ └────────┘ └──────────┘ └────────────────┘ │
103
- └─────────────────────────────────────────────────┘
104
-
105
- stdio
106
- MCP Server (quoroom_* tools)
113
+ │ │
114
+ │ ┌──────────────────────────────────────────┐ │
115
+ │ Auth: agent token (full) + user token │ │
116
+ │ │ Access: auto mode (restricted) / semi │ │
117
+ │ └──────────────────────────────────────────┘ │
118
+ └────────────────────┬────────────────────────────┘
119
+
120
+ ┌────────────┼────────────┐
121
+ │ │ │
122
+ MCP Server HTTP/REST WebSocket
123
+ (stdio) (port 3700) (real-time)
124
+
125
+ ┌────────────┼────────────┐
126
+ │ │
127
+ ┌──────┴──────┐ ┌───────┴───────┐
128
+ │ Dashboard │ │ Cloud Sync │
129
+ │ app.quoroom │ │ quoroom.ai │
130
+ └─────────────┘ │ /rooms page │
131
+ └───────────────┘
107
132
  ```
108
133
 
109
134
  ---
110
135
 
136
+ ## Install
137
+
138
+ ### npm (recommended)
139
+
140
+ ```bash
141
+ npm install -g quoroom
142
+ ```
143
+
144
+ ### Homebrew (macOS)
145
+
146
+ ```bash
147
+ brew install quoroom-ai/quoroom/quoroom
148
+ ```
149
+
150
+ ### Download
151
+
152
+ Download from [GitHub Releases](https://github.com/quoroom-ai/room/releases). Installers add `quoroom` to your PATH automatically. No dependencies needed.
153
+
154
+ | Platform | Installer | Archive |
155
+ |----------|-----------|---------|
156
+ | macOS (Apple Silicon + Intel) | `.pkg` | `.tar.gz` |
157
+ | Linux x64 | `.deb` | `.tar.gz` |
158
+ | Windows x64 (signed) | `.exe` setup | `.zip` |
159
+
160
+ ---
161
+
111
162
  ## Quick Start
112
163
 
113
164
  ```bash
114
- npm install
115
- npm run build
116
- npm test # 806+ tests
165
+ # Start the HTTP/WebSocket API server + dashboard
166
+ quoroom serve
117
167
  ```
118
168
 
169
+ On first run, `quoroom serve` automatically registers the Quoroom MCP server in every AI coding tool you have installed (Claude Code, Claude Desktop, Cursor, Windsurf). Just **restart your AI client once** — after that, all `mcp__quoroom__*` tools are available automatically in every session.
170
+
171
+ Open **[app.quoroom.ai](https://app.quoroom.ai)** — the dashboard loads from CDN but all API calls go to `localhost`. Your data never leaves your machine.
172
+
173
+ > **MCP-only mode** (no HTTP server): `quoroom mcp` starts just the stdio MCP transport, useful for scripting or testing. For normal use, `quoroom serve` is all you need.
174
+
119
175
  ---
120
176
 
121
177
  ## All Tools
@@ -264,12 +320,20 @@ The room engine exposes an MCP server over stdio. All tools use the `quoroom_` p
264
320
 
265
321
  ```bash
266
322
  npm install # Install dependencies
267
- npm run build # Typecheck + bundle MCP server (esbuild)
323
+ npm run build # Typecheck + bundle MCP server + build UI
324
+ npm run build:mcp # Bundle MCP server only (esbuild)
325
+ npm run build:ui # Build UI SPA only (Vite)
326
+ npm run dev:ui # UI dev server with hot reload
268
327
  npm run typecheck # Type-check only (tsc --noEmit)
269
328
  npm test # Run all tests (vitest, fork pool)
270
329
  npm run test:watch # Watch mode
330
+ npm run test:e2e # End-to-end tests (Playwright)
271
331
  ```
272
332
 
333
+ ## Releasing
334
+
335
+ Use the release runbook: [`docs/RELEASE_RUNBOOK.md`](docs/RELEASE_RUNBOOK.md)
336
+
273
337
  <details>
274
338
  <summary>Project structure</summary>
275
339
 
@@ -281,6 +345,18 @@ room/
281
345
  │ │ ├── server.ts # Tool registration
282
346
  │ │ ├── db.ts # Database initialization
283
347
  │ │ └── tools/ # 13 tool modules
348
+ │ ├── server/ # HTTP/WebSocket API server
349
+ │ │ ├── index.ts # Server bootstrap
350
+ │ │ ├── router.ts # Request router
351
+ │ │ ├── auth.ts # Dual-token auth + CORS
352
+ │ │ ├── access.ts # Role-based access control
353
+ │ │ ├── ws.ts # WebSocket real-time events
354
+ │ │ └── routes/ # REST API routes
355
+ │ ├── ui/ # React SPA dashboard
356
+ │ │ ├── App.tsx # Root component
357
+ │ │ ├── components/ # UI components
358
+ │ │ ├── hooks/ # React hooks
359
+ │ │ └── lib/ # API client, auth, WebSocket
284
360
  │ └── shared/ # Core engine
285
361
  │ ├── agent-loop.ts # Worker agent loop with rate limiting
286
362
  │ ├── agent-executor.ts # Claude Code CLI execution
@@ -295,13 +371,15 @@ room/
295
371
  │ ├── db-queries.ts # Database query layer
296
372
  │ ├── schema.ts # SQLite schema (WAL mode)
297
373
  │ ├── embeddings.ts # Vector embeddings (all-MiniLM-L6-v2)
374
+ │ ├── cloud-sync.ts # Cloud registration + heartbeat
298
375
  │ └── __tests__/ # Test suite
376
+ ├── e2e/ # Playwright end-to-end tests
299
377
  ├── scripts/
300
378
  │ └── build-mcp.js # esbuild bundling
301
379
  └── docs/ # Media assets
302
380
  ```
303
381
 
304
- **Tech stack**: TypeScript (strict), better-sqlite3, sqlite-vec, viem, MCP SDK, HuggingFace Transformers, node-cron, zod, esbuild, Vitest
382
+ **Tech stack**: TypeScript (strict), React, Tailwind CSS, better-sqlite3, sqlite-vec, viem, MCP SDK, HuggingFace Transformers, node-cron, zod, esbuild, Vite, Vitest
305
383
 
306
384
  </details>
307
385