quoroom 0.1.0 → 0.1.2

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,9 +7,12 @@
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
+ [![macOS](https://img.shields.io/badge/macOS-.pkg-000000?logo=apple&logoColor=white)](https://github.com/quoroom-ai/room/releases/latest)
14
+ [![Windows](https://img.shields.io/badge/Windows-.exe-0078D4?logo=windows&logoColor=white)](https://github.com/quoroom-ai/room/releases/latest)
15
+ [![Linux](https://img.shields.io/badge/Linux-.deb-FCC624?logo=linux&logoColor=black)](https://github.com/quoroom-ai/room/releases/latest)
13
16
 
14
17
  **An open research project in autonomous agent collectives.**
15
18
 
@@ -40,18 +43,18 @@ The architecture draws from swarm intelligence research: decentralized decision-
40
43
  Quoroom is an open research project exploring autonomous agent collectives. Each collective (a **Room**) is a self-governing swarm of agents.
41
44
 
42
45
  - **Queen** — strategic brain, uses Claude CLI
43
- - **Workers** — a swarm of specialized agents, use Ollama (free)
46
+ - **Workers** — specialized agents (Ollama, free): Researcher, Coder, Marketer, Analyst — or any custom role
44
47
  - **Quorum** — agents deliberate and vote on decisions
45
- - **Keeper** — the human who created and funds the room
48
+ - **Keeper** — the human who sets goals and funds the wallet
46
49
 
47
50
  ## This Repo
48
51
 
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.
52
+ `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
53
 
51
54
  | Repo | Purpose |
52
55
  |------|---------|
53
56
  | **room** (this) | Engine + HTTP server + UI |
54
- | [cloud](https://github.com/quoroom-ai/cloud) | Station infrastructure + portal |
57
+ | [cloud](https://github.com/quoroom-ai/cloud) | Landing page, public rooms, PostgreSQL, station infrastructure |
55
58
 
56
59
  ---
57
60
 
@@ -59,6 +62,8 @@ Quoroom is an open research project exploring autonomous agent collectives. Each
59
62
 
60
63
  **Rooms** — Create autonomous agent collectives with a Queen and Workers. Pause, restart, monitor activity.
61
64
 
65
+ **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.
66
+
62
67
  **Quorum Voting** — Agents propose and vote on decisions. Majority, supermajority, or unanimous — you choose the threshold.
63
68
 
64
69
  **Goals** — Hierarchical goal decomposition with progress tracking. Set a top-level objective and let agents break it down.
@@ -79,6 +84,14 @@ Quoroom is an open research project exploring autonomous agent collectives. Each
79
84
 
80
85
  **File Watching** — Monitor files and folders, trigger Claude Code actions on change.
81
86
 
87
+ **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.
88
+
89
+ **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.
90
+
91
+ **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.
92
+
93
+ **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.
94
+
82
95
  ---
83
96
 
84
97
  ## Architecture
@@ -100,22 +113,68 @@ Quoroom is an open research project exploring autonomous agent collectives. Each
100
113
  │ │ Wallet │ │ Stations │ │ Task Scheduler │ │
101
114
  │ │(Base L2)│ │(Fly/E2B) │ │ (cron/once) │ │
102
115
  │ └────────┘ └──────────┘ └────────────────┘ │
103
- └─────────────────────────────────────────────────┘
104
-
105
- stdio
106
- MCP Server (quoroom_* tools)
116
+ │ │
117
+ │ ┌──────────────────────────────────────────┐ │
118
+ │ Auth: agent token (full) + user token │ │
119
+ │ │ Access: auto mode (restricted) / semi │ │
120
+ │ └──────────────────────────────────────────┘ │
121
+ └────────────────────┬────────────────────────────┘
122
+
123
+ ┌────────────┼────────────┐
124
+ │ │ │
125
+ MCP Server HTTP/REST WebSocket
126
+ (stdio) (port 3700) (real-time)
127
+
128
+ ┌────────────┼────────────┐
129
+ │ │
130
+ ┌──────┴──────┐ ┌───────┴───────┐
131
+ │ Dashboard │ │ Cloud Sync │
132
+ │ app.quoroom │ │ quoroom.ai │
133
+ └─────────────┘ │ /rooms page │
134
+ └───────────────┘
107
135
  ```
108
136
 
109
137
  ---
110
138
 
139
+ ## Install
140
+
141
+ ### npm (recommended)
142
+
143
+ ```bash
144
+ npm install -g quoroom
145
+ ```
146
+
147
+ ### Homebrew (macOS)
148
+
149
+ ```bash
150
+ brew install quoroom-ai/quoroom/quoroom
151
+ ```
152
+
153
+ ### Download
154
+
155
+ Download from [GitHub Releases](https://github.com/quoroom-ai/room/releases). Installers add `quoroom` to your PATH automatically. No dependencies needed.
156
+
157
+ | Platform | Installer | Archive |
158
+ |----------|-----------|---------|
159
+ | macOS (Apple Silicon + Intel) | `.pkg` | `.tar.gz` |
160
+ | Linux x64 | `.deb` | `.tar.gz` |
161
+ | Windows x64 (signed) | `.exe` setup | `.zip` |
162
+
163
+ ---
164
+
111
165
  ## Quick Start
112
166
 
113
167
  ```bash
114
- npm install
115
- npm run build
116
- npm test # 806+ tests
168
+ # Start the HTTP/WebSocket API server + dashboard
169
+ quoroom serve
117
170
  ```
118
171
 
172
+ 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.
173
+
174
+ 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.
175
+
176
+ > **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.
177
+
119
178
  ---
120
179
 
121
180
  ## All Tools
@@ -264,12 +323,20 @@ The room engine exposes an MCP server over stdio. All tools use the `quoroom_` p
264
323
 
265
324
  ```bash
266
325
  npm install # Install dependencies
267
- npm run build # Typecheck + bundle MCP server (esbuild)
326
+ npm run build # Typecheck + bundle MCP server + build UI
327
+ npm run build:mcp # Bundle MCP server only (esbuild)
328
+ npm run build:ui # Build UI SPA only (Vite)
329
+ npm run dev:ui # UI dev server with hot reload
268
330
  npm run typecheck # Type-check only (tsc --noEmit)
269
331
  npm test # Run all tests (vitest, fork pool)
270
332
  npm run test:watch # Watch mode
333
+ npm run test:e2e # End-to-end tests (Playwright)
271
334
  ```
272
335
 
336
+ ## Releasing
337
+
338
+ Use the release runbook: [`docs/RELEASE_RUNBOOK.md`](docs/RELEASE_RUNBOOK.md)
339
+
273
340
  <details>
274
341
  <summary>Project structure</summary>
275
342
 
@@ -281,6 +348,18 @@ room/
281
348
  │ │ ├── server.ts # Tool registration
282
349
  │ │ ├── db.ts # Database initialization
283
350
  │ │ └── tools/ # 13 tool modules
351
+ │ ├── server/ # HTTP/WebSocket API server
352
+ │ │ ├── index.ts # Server bootstrap
353
+ │ │ ├── router.ts # Request router
354
+ │ │ ├── auth.ts # Dual-token auth + CORS
355
+ │ │ ├── access.ts # Role-based access control
356
+ │ │ ├── ws.ts # WebSocket real-time events
357
+ │ │ └── routes/ # REST API routes
358
+ │ ├── ui/ # React SPA dashboard
359
+ │ │ ├── App.tsx # Root component
360
+ │ │ ├── components/ # UI components
361
+ │ │ ├── hooks/ # React hooks
362
+ │ │ └── lib/ # API client, auth, WebSocket
284
363
  │ └── shared/ # Core engine
285
364
  │ ├── agent-loop.ts # Worker agent loop with rate limiting
286
365
  │ ├── agent-executor.ts # Claude Code CLI execution
@@ -295,13 +374,15 @@ room/
295
374
  │ ├── db-queries.ts # Database query layer
296
375
  │ ├── schema.ts # SQLite schema (WAL mode)
297
376
  │ ├── embeddings.ts # Vector embeddings (all-MiniLM-L6-v2)
377
+ │ ├── cloud-sync.ts # Cloud registration + heartbeat
298
378
  │ └── __tests__/ # Test suite
379
+ ├── e2e/ # Playwright end-to-end tests
299
380
  ├── scripts/
300
381
  │ └── build-mcp.js # esbuild bundling
301
382
  └── docs/ # Media assets
302
383
  ```
303
384
 
304
- **Tech stack**: TypeScript (strict), better-sqlite3, sqlite-vec, viem, MCP SDK, HuggingFace Transformers, node-cron, zod, esbuild, Vitest
385
+ **Tech stack**: TypeScript (strict), React, Tailwind CSS, better-sqlite3, sqlite-vec, viem, MCP SDK, HuggingFace Transformers, node-cron, zod, esbuild, Vite, Vitest
305
386
 
306
387
  </details>
307
388