colana 1.0.0-beta.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/LICENSE ADDED
@@ -0,0 +1,11 @@
1
+ Copyright (c) 2025-2026 Colana. All rights reserved.
2
+
3
+ This software is proprietary and confidential.
4
+
5
+ The use, reproduction, modification, or distribution of this software
6
+ is governed by the terms available at https://colana.ai/terms.
7
+
8
+ Commercial use requires an active license. See https://colana.ai/pricing
9
+ for licensing options.
10
+
11
+ For licensing inquiries, contact hello@colana.ai.
package/README.md ADDED
@@ -0,0 +1,319 @@
1
+ <p align="center">
2
+ <img src="public/icons/icon.svg" width="80" height="80" alt="co:lana">
3
+ </p>
4
+
5
+ <h1 align="center">co:lana</h1>
6
+ <p align="center"><strong>Agent-First. Multiplied.</strong></p>
7
+ <p align="center">
8
+ A multi-agent command center for orchestrating AI coding agents across projects simultaneously.
9
+ </p>
10
+
11
+ <p align="center">
12
+ <a href="https://www.npmjs.com/package/colana"><img src="https://img.shields.io/npm/v/colana.svg" alt="npm version"></a>
13
+ <a href="https://www.npmjs.com/package/colana"><img src="https://img.shields.io/npm/dm/colana.svg" alt="npm downloads"></a>
14
+ <a href="https://github.com/colana-ai/colana/actions"><img src="https://img.shields.io/github/actions/workflow/status/colana-ai/colana/ci.yml?branch=main" alt="CI"></a>
15
+ <img src="https://img.shields.io/node/v/colana.svg" alt="Node.js version">
16
+ <a href="LICENSE"><img src="https://img.shields.io/badge/license-proprietary-blue.svg" alt="License"></a>
17
+ </p>
18
+
19
+ ---
20
+
21
+ Run Claude Code, Codex CLI, Gemini CLI, Copilot CLI, Aider, and OpenClaw side-by-side. Monitor output, manage sessions, track costs, and review diffs — all from a single browser tab.
22
+
23
+ <!-- Screenshot placeholder: add a screenshot or GIF of the dashboard here -->
24
+
25
+ ## Quick Start
26
+
27
+ ```bash
28
+ npm install -g colana # Install globally
29
+ colana # Start the dashboard
30
+ ```
31
+
32
+ The dashboard opens in your browser at `http://localhost:9876`. On first run, a setup wizard walks you through installing and authenticating your preferred AI agents.
33
+
34
+ ## Supported Providers
35
+
36
+ | Provider | Install Command | Auth | Resume |
37
+ |----------|----------------|------|--------|
38
+ | **Claude Code** | `npm i -g @anthropic-ai/claude-code` | Anthropic subscription or API key | Yes |
39
+ | **Codex CLI** | `npm i -g @openai/codex` | OpenAI API key | Yes |
40
+ | **Gemini CLI** | `npm i -g @google/gemini-cli` | Free Google account (no API key needed) | Yes |
41
+ | **Copilot CLI** | Standalone binary or `gh extension install github/gh-copilot` | GitHub Copilot subscription | Yes |
42
+ | **Aider** | `pipx install aider-chat` | LLM API key (OpenAI, Anthropic, etc.) | Yes |
43
+ | **OpenClaw** | `npm i -g openclaw` | User-configured model keys | No |
44
+
45
+ You need at least one provider installed. **Gemini CLI** is recommended for quick start — works with any Google account, no API key needed.
46
+
47
+ ## Features
48
+
49
+ ### Agent Orchestration
50
+ - **Multi-provider dashboard** — run and observe agents across different projects from one screen
51
+ - **Interactive PTY terminals** — full pseudo-terminal emulation for all 6 providers
52
+ - **Real-time streaming** — terminal-speed output via WebSocket, no polling
53
+ - **Split-pane view** — monitor multiple agents side-by-side
54
+ - **Pop-out and maximize** — focus on one agent or drag it to a second monitor
55
+ - **Safe Parallel Mode** — automatic git worktree isolation when multiple agents work on the same project
56
+
57
+ ### Session Management
58
+ - **Universal resume** — resume sessions for all providers with native support
59
+ - **Session history** — search across all projects by task title, project name, or conversation content
60
+ - **Git checkpoints** — auto-capture git HEAD on session start, one-click restore, per-file accept/reject
61
+ - **Git diff preview** — review file changes with "Open in Editor" integration
62
+ - **Session export** — export session logs and conversation history
63
+ - **Auto-resume** — automatically resume interrupted sessions on server restart
64
+
65
+ ### Personal Agent
66
+ - **3-layer companion UI** — header strip with status, notification dropdown, slide-in panel
67
+ - **Chat mode** — stream responses via OpenClaw's HTTP API with markdown rendering and syntax highlighting
68
+ - **Terminal mode** — full xterm.js PTY session for power users
69
+ - **Proactive notifications** — server-side detection of agent alerts with category icons
70
+ - **Integration Hub** — connect 17 MCP tools (GitHub, Google Workspace, Slack, Notion, and more)
71
+ - **Model configuration** — view and switch the Personal Agent's AI model from Settings
72
+
73
+ ### Productivity
74
+ - **Command palette** — `Ctrl+K` fuzzy search with arrow navigation
75
+ - **Task templates** — save and reuse common prompts (12 starter templates included)
76
+ - **Clipboard snippets** — quick-access code snippets with search
77
+ - **Cost tracking** — per-project token and cost tracking from CLI-reported data
78
+ - **Context Sync** — automatic multi-agent project context sharing via AGENTS.md
79
+
80
+ ### Setup & Admin
81
+ - **First-run wizard** — 6-step guided setup (scan, select, install, authenticate, done)
82
+ - **Inline authentication** — Claude OAuth, API key inputs, GitHub device-code flow — no terminal needed
83
+ - **Admin panel** — user stats, version/OS breakdown, analytics dashboard
84
+ - **Admin CLI** — `colana admin` for key management and diagnostics
85
+ - **System service** — auto-start on login via `colana service install`
86
+ - **Auto-updates** — automatic update detection with in-app install
87
+
88
+ ### Enterprise Quality
89
+ - **4-tier rate limiting** — general, agent, sensitive, and admin tiers
90
+ - **Input validation** — Zod schemas on all POST endpoints
91
+ - **AES-256-GCM encryption** — for stored API keys and tokens
92
+ - **Structured logging** — JSONL server logs with daily rotation
93
+ - **PWA support** — installable as a standalone desktop app
94
+ - **Free tier** — full product, 2 concurrent sessions, no trial, no expiry
95
+
96
+ ## Pricing
97
+
98
+ | | Free | Pro |
99
+ |---|---|---|
100
+ | **Price** | $0 forever | $9/mo or $79/yr |
101
+ | **Concurrent sessions** | 2 | Unlimited |
102
+ | **All 6 providers** | Yes | Yes |
103
+ | **All features** | Yes | Yes |
104
+ | **Updates** | Stable channel | Stable + beta channel |
105
+
106
+ No trial. No expiry. Free tier is the full product — only concurrent session count is gated. Upgrade when you naturally need 3+ agents running simultaneously.
107
+
108
+ Payments handled by [Polar.sh](https://polar.sh) (Merchant of Record — tax, subscriptions, refunds).
109
+
110
+ ## System Requirements
111
+
112
+ | Requirement | Minimum |
113
+ |-------------|---------|
114
+ | **Node.js** | 18.0.0 or later |
115
+ | **OS** | Linux, macOS, or Windows (WSL2 recommended) |
116
+ | **CPU** | x64 or ARM64 |
117
+ | **RAM** | ~100 MB per concurrent agent |
118
+ | **Disk** | ~50 MB installed + runtime data |
119
+ | **Browser** | Chrome or Edge (desktop) |
120
+
121
+ ## CLI Reference
122
+
123
+ ```bash
124
+ colana # Start the dashboard (auto-detects free port from 9876)
125
+ colana --version # Show version
126
+ colana --help # Show help
127
+ colana doctor # Run diagnostic checks
128
+ colana doctor --verbose # Detailed diagnostics with provider paths
129
+
130
+ colana admin create-key --name "User" --type pro --email user@example.com
131
+ colana admin list-keys [--type <type>] [--status <active|revoked>] [--format table|csv|json]
132
+ colana admin revoke-key --name "User"
133
+ colana admin key-info --name "User"
134
+ colana admin update-key --name "User" [--expires <date>] [--max-machines <n>]
135
+ colana admin staff-keys
136
+
137
+ colana service install # Auto-start on login (systemd / LaunchAgent / Registry)
138
+ colana service uninstall
139
+ colana service status
140
+ colana service logs
141
+ ```
142
+
143
+ See [docs/CLI.md](docs/CLI.md) for the full CLI reference.
144
+
145
+ ## Keyboard Shortcuts
146
+
147
+ | Shortcut | Action |
148
+ |----------|--------|
149
+ | `Ctrl+K` | Open command palette |
150
+ | `Ctrl+B` | Toggle sidebar |
151
+ | `` Ctrl+` `` | Toggle Personal Agent panel |
152
+ | `1`–`9` | Select active agent by index |
153
+ | `F11` | Maximize current agent |
154
+ | `Esc` | Exit maximize / close modal |
155
+
156
+ ## Environment Variables
157
+
158
+ All optional. Defaults work for local use.
159
+
160
+ | Variable | Default | Description |
161
+ |----------|---------|-------------|
162
+ | `START_PORT` | `9876` | First port to scan |
163
+ | `DATA_DIR` | `./data` | SQLite database + logs directory |
164
+ | `ENCRYPTION_KEY` | auto-generated | AES-256-GCM key for stored secrets |
165
+ | `BIND_ADDRESS` | `127.0.0.1` | Server bind address |
166
+ | `PTY_BUFFER_SIZE` | `262144` | PTY ring buffer in bytes (256 KB) |
167
+ | `SHUTDOWN_TIMEOUT_MS` | `10000` | Graceful shutdown timeout |
168
+ | `FREE_MAX_SESSIONS` | `2` | Free tier concurrent session limit |
169
+ | `LOG_RETENTION_DAYS` | `0` | Log retention in days (0 = keep all) |
170
+
171
+ See [docs/CONFIGURATION.md](docs/CONFIGURATION.md) for all 30+ configuration options.
172
+
173
+ ## Tech Stack
174
+
175
+ | Layer | Technology |
176
+ |-------|------------|
177
+ | **Backend** | Node.js + Express + WebSocket (ws) |
178
+ | **Database** | SQLite via sql.js (WASM — zero native compilation) |
179
+ | **Terminal** | node-pty for PTY emulation |
180
+ | **Frontend** | Vanilla HTML / CSS / JS (no build step) |
181
+ | **Validation** | Zod (schema validation on all inputs) |
182
+ | **Rate Limiting** | express-rate-limit (4-tier) |
183
+ | **Encryption** | AES-256-GCM for stored secrets |
184
+ | **Testing** | Vitest (unit) + Playwright (E2E) |
185
+ | **Licensing** | Polar.sh (Merchant of Record) |
186
+ | **Distribution** | npm (global package with prebuilt binaries) |
187
+
188
+ ## Project Structure
189
+
190
+ ```
191
+ colana/
192
+ ├── bin/
193
+ │ ├── colana.js # CLI entry point + first-run wizard + doctor
194
+ │ └── admin.js # Admin CLI (key management, diagnostics)
195
+ ├── server/
196
+ │ ├── index.js # Express + WebSocket server entry
197
+ │ ├── config.js # Provider definitions (6 providers), Polar.sh config
198
+ │ ├── db.js # SQLite schema + migration system
199
+ │ ├── agent-manager.js # Agent spawn/stop (headless JSON mode)
200
+ │ ├── pty-manager.js # PTY terminal management + idle cleanup
201
+ │ ├── session-store.js # Session CRUD + log persistence
202
+ │ ├── project-store.js # Project CRUD
203
+ │ ├── settings-store.js # Settings + API key encryption
204
+ │ ├── template-store.js # Task template CRUD
205
+ │ ├── snippet-store.js # Clipboard snippet CRUD
206
+ │ ├── license.js # Polar.sh license validation + cache
207
+ │ ├── key-manager.js # SQLite-stored license key CRUD
208
+ │ ├── admin.js # Admin panel API routes
209
+ │ ├── analytics.js # Anonymous product analytics
210
+ │ ├── validation.js # Zod schemas + validation middleware
211
+ │ ├── logger.js # Structured JSONL logging + rotation
212
+ │ ├── context-sync.js # Multi-agent context sharing (AGENTS.md)
213
+ │ ├── worktree-manager.js # Safe Parallel Mode (git worktree isolation)
214
+ │ ├── integration-hub.js # MCP integration catalog + config
215
+ │ ├── openclaw-config.js # OpenClaw config reader/writer
216
+ │ ├── updater.js # Auto-update checker (npm registry)
217
+ │ ├── port-finder.js # Auto-detect free port
218
+ │ ├── platform.js # Cross-platform utilities
219
+ │ ├── service-manager.js # System service (systemd, LaunchAgent, Registry)
220
+ │ └── ...routes.js # 15+ route modules (sessions, projects, agents, etc.)
221
+ ├── public/
222
+ │ ├── index.html # Main dashboard SPA
223
+ │ ├── admin.html # Admin panel
224
+ │ ├── wizard.html # Onboarding wizard
225
+ │ ├── agent.html # Pop-out agent window
226
+ │ ├── agent-split.html # Split-pane agent view
227
+ │ ├── styles.css # Dark theme styling
228
+ │ ├── app.js # Dashboard logic
229
+ │ ├── manifest.json # PWA manifest
230
+ │ ├── service-worker.js # PWA service worker
231
+ │ └── vendor/ # Local vendor libs (marked, highlight.js)
232
+ ├── scripts/
233
+ │ ├── build.js # Build pipeline (esbuild + bytenode + obfuscator)
234
+ │ ├── prebuild.js # Compile node-pty for current platform
235
+ │ └── release.sh # Release automation
236
+ ├── .github/workflows/
237
+ │ ├── ci.yml # CI: cross-platform test matrix
238
+ │ └── release.yml # Release: prebuild + npm publish
239
+ ├── test/
240
+ │ ├── server/ # Vitest unit tests (90+ files)
241
+ │ └── e2e/ # Playwright E2E tests
242
+ ├── docs/ # Documentation
243
+ │ ├── CLI.md # CLI reference
244
+ │ ├── PROVIDERS.md # Provider setup guides
245
+ │ ├── CONFIGURATION.md # Configuration reference
246
+ │ ├── TROUBLESHOOTING.md # FAQ and common issues
247
+ │ └── API.md # REST + WebSocket API reference
248
+ └── data/ # Created at runtime
249
+ ├── dashboard.db # SQLite database
250
+ ├── encryption.key # Auto-generated encryption key
251
+ ├── backups/ # Daily database backups
252
+ ├── logs/ # Server + agent JSONL logs
253
+ └── worktrees/ # Safe Parallel Mode worktrees
254
+ ```
255
+
256
+ ## Development
257
+
258
+ ```bash
259
+ git clone https://github.com/colana-ai/colana.git
260
+ cd colana
261
+ npm install
262
+
263
+ npm run dev # Start dev server (port 9877, auto-reload)
264
+ npm test # Run unit tests (Vitest)
265
+ npm run test:e2e # Run E2E tests (Playwright)
266
+ npm run test:all # Run both unit and E2E tests
267
+ npm run build # Build dist/ for npm publish
268
+ npm run release # Test + build + publish + tag
269
+ ```
270
+
271
+ ## FAQ
272
+
273
+ **Do I need API keys for all providers?**
274
+ No. Install only the providers you use. Gemini CLI works with just a Google account — no API key needed. Free tier gives you 2 concurrent sessions with any combination of providers.
275
+
276
+ **Does co:lana send my code anywhere?**
277
+ No. co:lana runs entirely on your machine. It orchestrates CLI tools that run locally. Your code stays on your filesystem. The only external calls are license validation (Polar.sh) and the CLI providers' own API connections.
278
+
279
+ **Can I use co:lana without paying?**
280
+ Yes. The Free tier is the full product with no trial or expiry. The only limit is 2 concurrent sessions. You can run one agent at a time indefinitely.
281
+
282
+ **What happens if the server crashes?**
283
+ Sessions are persisted to SQLite. On restart, co:lana detects interrupted sessions and offers to resume them automatically (auto-resume is on by default).
284
+
285
+ **Does it work on Windows?**
286
+ Yes, via WSL2 (recommended). Native Windows support is available but WSL2 provides the most reliable experience for node-pty and CLI tools.
287
+
288
+ **Can multiple users share one instance?**
289
+ co:lana is designed for single-user local use. It binds to `127.0.0.1` by default. For multi-user setups, each user runs their own instance.
290
+
291
+ **How do I update?**
292
+ co:lana checks for updates automatically and shows an in-app banner. Click "Install" to update, or run `npm update -g colana` manually.
293
+
294
+ **Where is my data stored?**
295
+ In the `data/` directory (configurable via `DATA_DIR`): SQLite database, encrypted API keys, server logs, and database backups.
296
+
297
+ ## Documentation
298
+
299
+ - [CLI Reference](docs/CLI.md) — all commands, flags, and options
300
+ - [Provider Setup](docs/PROVIDERS.md) — per-provider installation and authentication
301
+ - [Configuration](docs/CONFIGURATION.md) — environment variables and settings
302
+ - [Troubleshooting](docs/TROUBLESHOOTING.md) — common issues and fixes
303
+ - [API Reference](docs/API.md) — REST endpoints and WebSocket protocol
304
+ - [Security Policy](SECURITY.md) — vulnerability reporting
305
+ - [Support](SUPPORT.md) — how to get help
306
+
307
+ ## Support
308
+
309
+ - **Bug reports** — [GitHub Issues](https://github.com/colana-ai/colana/issues/new?template=bug_report.yml)
310
+ - **Feature requests** — [GitHub Issues](https://github.com/colana-ai/colana/issues/new?template=feature_request.yml)
311
+ - **Security** — [security@colana.ai](mailto:security@colana.ai) (see [SECURITY.md](SECURITY.md))
312
+ - **Licensing** — [support@colana.ai](mailto:support@colana.ai) or [Polar.sh dashboard](https://polar.sh)
313
+ - **Website** — [colana.ai](https://colana.ai)
314
+
315
+ ## License
316
+
317
+ Proprietary. See [LICENSE](LICENSE) for terms. Commercial use requires an active license — see [colana.ai/pricing](https://colana.ai/pricing).
318
+
319
+ Copyright (c) 2025-2026 Colana. All rights reserved.