Multi-agent orchestration, code intelligence, and project management — unified in a single runtime. Run 139 specialist agents — ready in seconds.
VerkOS is an AI development platform that connects your projects to a swarm of specialized agents. Every project gets its own kanban board, code map, semantic search index, wiki, and automation engine — all accessible through natural language or a full REST API.
Purpose-built for development teams. Every project is isolated, every action is tracked, and every agent runs in a secure, managed environment.
Seven AI specialists — each with a distinct personality, skillset, and department. They collaborate autonomously to ship your projects.
Nine integrated subsystems that work together — not a collection of disconnected tools.
Three-tier architecture routes every task to the right specialist automatically. The triage router classifies intent, selects the optimal agent, loads relevant skills, and hands off — all in milliseconds.
6-stage pipeline with priorities, assignees, subtasks, dependencies, and automation triggers. Full programmatic control via MCP tools.
AST-aware symbol extraction. Dependency graphs. Incremental indexing. 6 languages supported out of the box.
Hybrid BM25 + vector search powered by nomic-embed-text-v1.5 and SQLite. Enterprise-grade semantic search — zero configuration.
Notion-grade documentation with 18 block types, hierarchical pages, templates, and full-text search.
Messenger-style conversations with humans and AI agents in the same interface. Real-time SSE streaming, structured message blocks, and rich content cards.
Self-hosted email with IMAP/SMTP integration. Each AI agent gets its own mailbox. Full send, reply, forward, search, and folder management via MCP tools.
Personal, team, and per-project calendars with day, week, month, and agenda views. CalDAV sync for external clients. Drag-to-create and resize events.
Event-driven pipelines that react to kanban mutations. Auto-assign, auto-move, auto-dispatch agents — triggered by on_create, on_move, on_update, or on_any_change events. Chain conditions and actions with full control.
Extend VerkOS with TypeScript plugins that provide MCP tools, HTTP routes, agent hooks, and SSE events. Admin-managed, tier-aware — triage agents get read-only tools, implementors get full access.
Connect external AI tools — Claude Code, Cursor, Windsurf — to VerkOS projects via the Model Context Protocol. Bearer token auth, stateless transport, 112 tools across project and team scopes.
All MCP servers run in-process — your agents have instant access to every capability without a single network hop.
All tools run as in-process MCP servers.
No subprocess spawning. No IPC overhead.
Sub-millisecond tool call latency.
Community-contributed agents loaded from plain Markdown files — no code required. Add your own by dropping a `.md` file in `data/agents/`.
Domain knowledge packs that agents load on-demand — from frontend design to Kubernetes configuration. Lazy-loaded with a 30-second TTL cache.
skill_load on-demand; stale skills are evicted automatically. Zero startup overhead.
TypeScript plugins add MCP tools, HTTP routes, agent hooks, and SSE events — all managed from the admin panel.
Clone, diff, commit, push, and manage branches from within project sandboxes. Supports GitHub and Gitea remotes.
Lightweight CRM with contact and deal management. Track pipeline stages, log activities, and link contacts to email conversations.
Manage Proxmox containers, Nginx vhosts, DNS zones, and service lifecycle. Tier-aware: triage gets read-only, implementors get full access.
A fully-featured wiki system dual-scoped to teams and projects. Every block type you need, drag-and-drop reorder, templates, comments, and full-text search.
Unlimited page depth — organize by team, project, sprint, or domain. Full breadcrumb navigation with one-click traversal.
Save any page as a reusable template. Duplicate pages with all blocks preserved — sprint retrospectives, onboarding docs, meeting notes.
Threaded comments on any page. Resolve, re-open, and delete. @mention support triggers notifications in real-time.
Instant search across all pages in a team or project. Searches both titles and block content simultaneously.
Drag any block to reorder within a page. Batch operations supported — select multiple blocks and move or delete in one action.
Team-level wiki for cross-project documentation. Project-level docs scoped to a single repository. Switch between scopes with one click.
Every technology choice was deliberate. No bloat, no compromises on performance or developer experience.
Ultra-fast JavaScript runtime with native TypeScript, built-in .env loading, SQLite bindings, and a WebSocket server — no Node.js, no Express, no Vite required.
5x faster than Node.js startsMulti-turn AI agents with streaming token output, pre/post tool hooks, subagent spawning, budget controls, and in-process MCP tool servers.
@anthropic-ai/claude-agent-sdkReactive UI built with Svelte 5 runes — $state, $derived, $effect, $props. Zero-overhead reactivity with compile-time optimization. No virtual DOM.
Runes mode · Server + clientType-safe queries with Drizzle's schema-first approach. Atomic transactions prevent data loss. Zero-config — no database server, no migrations daemon, no connection pool.
better-sqlite3 · Atomic writesHybrid BM25 + vector semantic search with embeddings generated locally by nomic-embed-text-v1.5. Stored in SQLite via Drizzle ORM — zero-config, no database server required.
nomic-embed · Hybrid search · Drizzle ORMLanguage-aware AST parsing for symbol extraction, dependency analysis, and incremental re-indexing. Supports JavaScript, TypeScript, Rust, Go, Python, and HTML.
6 languages · Incremental indexSession management with HttpOnly cookies, SameSite=Lax, admin role plugin, banned user enforcement at middleware level, and trusted origins restriction to LAN.
Email/pass · Admin roles · Drizzle adapterReal-time token streaming over WebSocket (64KB payload limit). Server-Sent Events for state sync, kanban updates, activity feed, and page changes — up to 50 concurrent SSE clients.
Bun.serve · 50 SSE capSecurity is built into the architecture, not bolted on. Every layer from HTTP to the filesystem has explicit protections.
Every feature in the UI has a corresponding API endpoint. Automate anything, integrate everything.
| Resource | Routes | Description |
|---|---|---|
| Auth | 4 | sign-in, sign-up, sign-out, session |
| Chat | 3 | history, send, commands |
| Projects | 5 | CRUD + select active project |
| Teams | 8 | CRUD, members, invite, rename |
| Kanban | 7+ | tasks, sections, comments, deps |
| Pages | 15+ | pages, blocks, comments, templates |
| Agents | 4 | list, get, create, update, delete |
| Skills | 4 | list, get, create, update, delete |
| Rules | 5 | CRUD + toggle + evaluate |
| Files | 3 | tree, read, write |
| Codemap | 3 | query, search, reindex |
| Embeddings | 2 | search, status |
| Monitor | 2 | cost, session summary |
| Admin | 8 | user CRUD, ban, role, team oversight |
| Notifications | 3 | list, read, read-all |
| Preview | 2 | status, toggle |
| Workspace | 2 | my-tasks, team stats |
| Plugins | 7+ | list, detail, enable, disable, config, project assoc |
| Uploads | 2 | upload image, serve by ID |
| MCP | 1 | MCP-over-HTTP (112 tools: project-scoped + team) |
# Send a message to the active agent session curl -s -X POST \ http://localhost:3000/api/messages \ -H "Content-Type: application/json" \ -b "better-auth.session_token=$TOKEN" \ -d '{"content":"Refactor the auth service"}'
# Semantic search across the active project curl -s -G \ http://localhost:3000/api/embeddings/search \ --data-urlencode "q=authentication middleware" \ -b "better-auth.session_token=$TOKEN"
# Create a task in the active project board curl -s -X POST \ http://localhost:3000/api/kanban/tasks \ -H "Content-Type: application/json" \ -b "better-auth.session_token=$TOKEN" \ -d '{"title":"Add dark mode","column":"todo","priority":"high"}'
From solo developers to enterprise teams — choose the plan that fits.