AI Agent Orchestration Dashboard
Connect your Claw Bots. Deploy agents. Take control.
Live Demo • Features • Screenshots • Quick Start • Architecture • Shell System • Multi-Claw • Changelog
Live Demo Next.js 16 TypeScript Tailwind Zustand MIT License
Clawbot Mission Control is an open-source AI agent orchestration dashboard. It serves as the command center for your AI workforce -- a persistent workspace where you connect Claw Bot instances, deploy AI agents, manage tasks, content pipelines, schedules, and memories.
Key differentiators:
- Zero-State Architecture -- App starts empty and builds up as users connect real bots and deploy agents. No fake demo data.
- Setup Wizard -- Guided connection flow with preset templates (Local Dev, Production API, ESP32/Hardware, MQTT, Cloud Agent, Custom).
- Real Connection Manager -- WebSocket, REST, and MQTT protocols with connection testing, latency monitoring, and auth token support.
- Shell System -- Swap the entire visual theme with one click. Four built-in themes with support for custom community shells.
- Multi-Claw Architecture -- Multiple independent bot instances can connect to a single Mission Control, each with their own agents.
- Dark Glassmorphism UI -- Frosted glass panels, ambient lighting orbs, and neon accent glows. All icons are premium SVGs (Lucide React).
- Ten Mission Screens -- Dashboard, Task Board, Content Pipeline, Calendar, Memory Bank, Team Structure, Digital Office, Shell Themes, Claw Manager, Setup Wizard.
- Fully Persistent -- All state is persisted via Zustand with localStorage, surviving page refreshes and sessions.
The live demo starts with the Setup Wizard. All data is stored locally in your browser. Connect a Claw Bot (or skip through the wizard) to explore the full dashboard.
Screenshots captured on mobile -- the UI is fully responsive across all screen sizes.
Dashboard
Deep Space Theme -- Command center overview with stats, agents & connected claws Task Board -- Ember Forge Theme
Task Board
Ember Forge Theme -- Kanban board with drag-and-drop across 5 status columns
Content Pipeline
Deep Space Theme -- 8-stage content lifecycle from Ideas to Published Calendar -- Cyber Neon Theme
Calendar & Scheduler
Cyber Neon Theme -- Monthly calendar with event management
Team Structure
Ocean Depths Theme -- Agent organization grouped by division Digital Office -- Ocean Depths Theme
Digital Office
Ocean Depths Theme -- Visual workspace with real-time agent activity
Shell Themes
Deep Space Theme -- Swap the entire visual identity with one click Claw Manager -- Ember Forge Theme
Claw Manager
Ember Forge Theme -- Connect and manage multiple bot instances
| Screen | Description |
|---|---|
| Dashboard | Overview with stats, recent tasks, active agents, and connected claws. Shows empty state with setup prompt when no claws are connected. |
| Task Board | Kanban board with drag-and-drop across 5 status columns (Ideas, Queued, In Progress, Review, Done) |
| Content Pipeline | 8-stage content lifecycle from Ideas to Published with move actions and detail modals |
| Calendar | Monthly calendar view with event scheduling, type color-coding, and upcoming events sidebar |
| Memory Bank | Searchable, categorized memory storage (Preferences, Context, Learned, Project, Decisions, Conversations) |
| Team Structure | Agent organization grouped by role (Developer, Writer, Designer, Researcher, Operator, Growth) with empty state and claw assignment |
| Digital Office | Visual workspace showing agent workstations with real-time activity states and ambient glow effects |
| Shell Themes | One-click theme switcher with 4 built-in shells and CSS variable architecture |
| Claw Manager | Connect, disconnect, and manage multiple bot instances with connection status monitoring |
| Setup Wizard | 6-step guided connection flow with preset templates, connection testing, and bot configuration |
New users are automatically directed to the Setup Wizard on first launch. The wizard guides through:
- Welcome -- Overview of what's needed (endpoint, auth token, protocol)
- Protocol Selection -- 6 preset templates: Local Dev Server, Production API, ESP32/Hardware, MQTT Broker, Cloud Agent (OpenClaw), Custom Setup
- Endpoint Configuration -- Host, port, path, TLS toggle, auth token
- Connection Test -- Live connection test with real-time log output and latency measurement
- Bot Configuration -- Name, description, color theme
- Summary -- Review and complete setup
| Protocol | Use Case | Details |
|---|---|---|
| WebSocket | Real-time bidirectional communication | Live control, streaming updates, hardware bots |
| REST API | HTTP request/response | Cloud APIs, stateless agent services |
| MQTT | Lightweight pub/sub messaging | IoT devices, hardware bots, sensor networks |
| Shell | Theme | Accent |
|---|---|---|
| Deep Space (Default) | Cosmic dark with indigo | Cyan + Violet |
| Cyber Neon | Cyberpunk noir | Hot Pink + Electric Blue |
| Ocean Depths | Deep sea teal | Aquamarine + Cyan |
| Ember Forge | Volcanic warmth | Amber + Red |
- Connect multiple independent Claw Bot instances via the Setup Wizard
- Each Claw has its own agents, color identity, and connection configuration
- Real connection management with connect/disconnect toggle
- Connection status monitoring (Connected, Connecting, Disconnected, Error)
- Latency tracking and message counters
- Agents are assigned to specific Claws
- All Claws share the same task, memory, and content pools
All icons throughout the application use Lucide React -- a premium open-source SVG icon library. No emojis are used anywhere in the UI. Icons include:
- Navigation: LayoutDashboard, KanbanSquare, Play, CalendarDays, Brain, Users, Building2, Palette, Bot, Link
- Actions: Bell, Search, Menu, X, ChevronLeft, ChevronRight, Plus, Settings
- Roles: Code2, PenTool, Palette, Microscope, Rocket, TrendingUp
- Pipeline: Lightbulb, Search, FileText, File, Image, Scissors, CalendarCheck, Rocket
- Memory: Settings, ClipboardList, Brain, FolderOpen, Scale, MessageSquare, Database
- Wizard: Monitor, Globe, Plug, Radio, Cloud, Settings, Key, Wifi, CheckCircle2, XCircle
- Node.js >= 20.9.0
- npm, yarn, or pnpm
# Clone the repository git clone https://github.com/BEKO2210/Control-Center.git cd Control-Center # Install dependencies npm install # Start the development server npm run dev
Open http://localhost:3000 in your browser. You will be greeted by the Setup Wizard.
| Command | Description |
|---|---|
npm run dev |
Start development server with hot reload |
npm run build |
Create optimized production build |
npm run start |
Start production server |
npm run lint |
Run ESLint checks |
npm run type-check |
Run TypeScript type checking |
npm run format |
Format code with Prettier |
| Layer | Technology | Purpose |
|---|---|---|
| Framework | Next.js 16 (App Router, Turbopack) | Server-side rendering, routing |
| Language | TypeScript 5.5 | Type safety across the entire codebase |
| Styling | Tailwind CSS 3.4 | Utility-first CSS with custom theme variables |
| State | Zustand 4.5 | Lightweight, persistent global state |
| Animation | Framer Motion 11 | Smooth transitions and micro-interactions |
| Icons | Lucide React | Premium SVG icon system (no emojis) |
| Utils | clsx, date-fns | Class merging, date formatting |
Control-Center/
├── public/ # Static assets
│ └── favicon.svg
├── src/
│ ├── app/ # Next.js App Router
│ │ ├── layout.tsx # Root layout with shell injection
│ │ ├── page.tsx # Main page with wizard gate logic
│ │ └── globals.css # Global styles + glass components
│ ├── components/
│ │ ├── layout/
│ │ │ ├── Sidebar.tsx # Navigation sidebar with Lucide icons
│ │ │ └── Header.tsx # Top bar with search & notifications
│ │ └── screens/
│ │ ├── Dashboard.tsx # Overview dashboard (with empty state)
│ │ ├── TaskBoard.tsx # Kanban task management
│ │ ├── ContentPipeline.tsx # Content lifecycle management
│ │ ├── Calendar.tsx # Calendar & event scheduling
│ │ ├── MemoryScreen.tsx # AI memory bank (with empty state)
│ │ ├── TeamStructure.tsx # Agent team organization (with empty state)
│ │ ├── DigitalOffice.tsx # Visual agent workspace (with empty state)
│ │ ├── ShellSelector.tsx # Theme/shell switcher
│ │ ├── ClawManager.tsx # Multi-claw management (with empty state)
│ │ └── SetupWizard.tsx # 6-step connection wizard
│ ├── lib/
│ │ ├── types/index.ts # All TypeScript type definitions
│ │ ├── store/index.ts # Zustand global state store
│ │ ├── services/
│ │ │ └── connectionService.ts # WebSocket/REST/MQTT connection manager
│ │ └── utils/index.ts # Utility functions
│ ├── shells/
│ │ └── registry.ts # Shell definitions & CSS variable system
│ └── agents/
│ └── defaults.ts # Default agent config (empty by default)
├── data/ # Data storage directory
├── docs/ # Documentation assets
├── package.json
├── tsconfig.json
├── tailwind.config.ts
├── postcss.config.js
├── next.config.js
└── README.md
First Launch
|
Setup Wizard (gated)
|
Connect Claw Bot (WebSocket/REST/MQTT)
|
Create Agents & Configure
|
Full Dashboard Access
|
React Components (screens/)
|
Zustand Store (lib/store/)
|
localStorage (persist middleware)
|
Shell System (shells/registry.ts)
|
CSS Custom Properties
|
Tailwind + Global Styles
The command center overview. Shows:
- Empty State -- When no claws are connected, displays a welcome card with a "Connect Your First Claw" button
- Stats Grid -- Total tasks, completed tasks, active agents, memories, content items, scheduled events (all Lucide SVG icons)
- Recent Tasks -- Last 5 updated tasks with status and assignee
- Active Agents -- Currently working agents with activity indicators
- Connected Claws -- All connected Claw instances with status
A full-featured Kanban board with 5 columns:
| Column | Description |
|---|---|
| Ideas | Raw task ideas, not yet prioritized |
| Queued | Approved and waiting to be picked up |
| In Progress | Currently being worked on |
| Review | Awaiting review or approval |
| Done | Completed tasks |
Features: Drag-and-drop, priority badges (Critical/High/Medium/Low), quick-move buttons, tags, assignee tracking, timestamps.
An 8-stage content lifecycle manager:
Ideas -> Research -> Outline -> Script -> Assets -> Editing -> Scheduled -> Published
Each stage has a Lucide SVG icon (Lightbulb, Search, FileText, File, Image, Scissors, CalendarCheck, Rocket).
Monthly calendar with event types: Task, Recurring, Cron, Deadline, Publish. Color-coded events, upcoming events sidebar, today highlighting, month navigation with Lucide chevron icons.
Searchable memory storage with 6 categories (each with a Lucide SVG icon): Preferences (Settings), Context (ClipboardList), Learned (Brain), Project (FolderOpen), Decisions (Scale), Conversations (MessageSquare).
Agent organization by role division. Each role has a dedicated Lucide icon:
- Developer -- Code2
- Writer -- PenTool
- Designer -- Palette
- Researcher -- Microscope
- Operator -- Rocket
- Growth -- TrendingUp
Includes agent creation form with Claw assignment, performance stats, and activity toggle. Empty state shown when no agents are deployed.
Visual workspace with agent workstations. Activity states: Idle (gray), Thinking (yellow), Building (blue), Reviewing (purple), Blocked (red). Ambient glow effects, activity legend, quick activity switcher. Empty state with create agents / connect claw actions.
6-step guided connection flow:
- Welcome -- Requirements checklist and protocol overview
- Protocol -- 6 preset templates with Lucide icons (Monitor, Globe, Plug, Radio, Cloud, Settings)
- Endpoint -- Host, port, path, TLS toggle, auth token, URL preview
- Test -- Connection testing with real-time log output
- Configure -- Bot name, description, color theme, live preview
- Summary -- Configuration review with next steps
One-click theme switcher with gradient previews. Four built-in shells (Deep Space, Cyber Neon, Ocean Depths, Ember Forge). Custom shells can be added via src/shells/registry.ts.
Full bot instance management: connect via wizard, quick add, connect/disconnect toggle, connection status monitoring, latency display, agent roster per claw, remove claws. Empty state with wizard/quick add options.
Shells are theme definitions that control the entire visual identity. Switching a shell updates CSS custom properties on the root element, causing a cascading visual transformation.
Shell Definition (registry.ts)
|
getShellCSSVariables() -> Record<string, string>
|
document.documentElement.style.setProperty()
|
CSS Variables (--claw-*, --glass-*, --surface-*, --accent-*)
|
Tailwind config references variables
|
Entire UI transforms
- Open
src/shells/registry.ts - Add a new entry to the
shellsobject:
'my-custom-shell': { id: 'my-custom-shell', name: 'My Custom Shell', description: 'A custom theme for my workflow.', author: 'Your Name', version: '1.0.0', preview: 'linear-gradient(135deg, #1a1a2e 0%, #16213e 100%)', colors: { claw: { 50: '#...', // Lightest // ... 100-900 950: '#...', // Darkest }, glass: { light: 'rgba(R, G, B, 0.03)', medium: 'rgba(R, G, B, 0.06)', heavy: 'rgba(R, G, B, 0.1)', border: 'rgba(R, G, B, 0.08)', }, surface: { primary: '#...', secondary: '#...', elevated: '#...', }, accent: { primary: '#...', secondary: '#...', glow: 'rgba(R, G, B, 0.4)', }, gradient: 'linear-gradient(135deg, ...)', background: '#...', }, },
- Your shell will automatically appear in the Shell Selector screen.
Multiple independent Claw Bot instances can connect to a single Mission Control, each bringing their own agents and capabilities.
+------------------+
| Mission Control |
| (Dashboard) |
+--------+---------+
|
+----------------+----------------+
| | |
+------+------+ +-----+------+ +------+------+
| Claw Alpha | | Claw Beta | | Claw Gamma |
| WebSocket | | REST API | | MQTT |
| 3 agents | | 5 agents | | 2 agents |
+-------------+ +------------+ +-------------+
- Launch the app -- the Setup Wizard opens automatically on first use
- Choose a preset template (Local Dev, Production, ESP32, MQTT, Cloud, Custom)
- Configure the endpoint (host, port, path, TLS, auth token)
- Test the connection with real-time logs and latency measurement
- Name your bot and choose a color theme
- Complete setup -- redirected to Claw Manager
Additional claws can be connected anytime via the Setup Wizard (accessible from the sidebar).
| Property | Description |
|---|---|
type |
Protocol: websocket, rest, or mqtt |
endpoint |
Host or IP address |
port |
Port number |
path |
URL path (e.g., /ws, /api, /mqtt) |
useTls |
TLS/SSL enabled (wss://, https://) |
authToken |
Optional Bearer token or API key |
status |
connected, connecting, disconnected, error |
lastPing |
Latency in milliseconds |
messagesReceived |
Inbound message counter |
messagesSent |
Outbound message counter |
All state is managed through a single Zustand store with localStorage persistence:
import { useMissionControl } from '@/lib/store'; // Read state const tasks = useMissionControl((s) => s.tasks); const agents = useMissionControl((s) => s.agents); const claws = useMissionControl((s) => s.claws); // Write state const addTask = useMissionControl((s) => s.addTask); const addClaw = useMissionControl((s) => s.addClaw); const resetToEmpty = useMissionControl((s) => s.resetToEmpty);
addTask(task)-- Create a new taskupdateTask(id, updates)-- Update task fieldsmoveTask(id, status)-- Move task to a different columndeleteTask(id)-- Remove a task
addContentItem(item)-- Add content to pipelineupdateContentItem(id, updates)-- Update content fieldsmoveContentItem(id, stage)-- Move content to a different stagedeleteContentItem(id)-- Remove content
addEvent(event)-- Schedule a new eventupdateEvent(id, updates)-- Update event detailsdeleteEvent(id)-- Remove an event
addMemory(memory)-- Store a new memoryupdateMemory(id, updates)-- Update memory contentdeleteMemory(id)-- Delete a memory
addAgent(agent)-- Deploy a new agentupdateAgent(id, updates)-- Update agent fieldssetAgentActivity(id, activity)-- Change agent activity statedeleteAgent(id)-- Remove an agent
addClaw(claw)-- Connect a new ClawupdateClaw(id, updates)-- Update Claw detailsremoveClaw(id)-- Disconnect and remove a Claw
addConnection(connection)-- Add a connection configurationupdateConnection(id, updates)-- Update connection stateremoveConnection(id)-- Remove a connection
setActiveShell(id)-- Switch to a different shell theme
setWizardCompleted(completed)-- Mark wizard as completed
resetToEmpty()-- Reset entire store to empty state (clears all data, reopens wizard)addNotification(notification)-- Push a notificationmarkNotificationRead(id)-- Mark as readclearNotifications()-- Clear all notifications
The app starts completely empty. No mock data, no fake agents, no simulated activity. Everything is real -- users build their workspace from scratch by connecting actual Claw Bot instances.
Every panel uses frosted glass effects with semi-transparent backgrounds, subtle borders, and backdrop blur. This creates depth without heaviness.
All icons use Lucide React -- a consistent, high-quality SVG icon library. No emojis anywhere in the UI for a professional, clean appearance.
Floating gradient orbs in the background create atmosphere. Active elements emit soft glows in the accent color.
Every color in the UI flows from shell CSS variables. Switching shells transforms everything -- backgrounds, borders, accents, glows, and text colors.
Complex actions are hidden behind hover states. Cards reveal move buttons, delete actions, and activity toggles only when you interact with them.
Every screen handles the empty case gracefully, guiding users toward the right action (connect a claw, create agents, add tasks).
- Backend API -- REST/WebSocket API for real-time multi-user sync
- Database -- SQLite/PostgreSQL persistence instead of localStorage
- Authentication -- User auth with GitHub OAuth
- Real Agent Integration -- Connect to OpenAI, Anthropic, and other AI APIs
- Webhook System -- Agent completion notifications
- Custom Shell Marketplace -- Community shell sharing
- Keyboard Shortcuts -- Power user navigation
- Plugin System -- Extensible screen/widget architecture
- Export/Import -- Backup and restore Mission Control state
All changes to Clawbot Mission Control, listed in reverse chronological order.
Testing: first unit-test harness (Vitest), 38 tests
| Area | Description |
|---|---|
| test: Vitest harness | Added vitest with npm test / npm run test:watch and a node-environment config with @/ alias resolution. First automated test coverage in the project's history. |
| refactor: extract pure logic for testability | Pulled the inbound-message decoder out of RealtimeEngine into src/lib/services/messageProtocol.ts (normalizeInboundMessage, coerceAgentArray, safeActivity/Status/Role) and the persist migration out of the store into src/lib/store/migrations.ts. Both are now pure, side-effect-free, and independently testable; the engine and store import them. No behaviour change. |
| test: 38 tests across 3 suites | messageProtocol.test.ts (22) covers wire-shape decoding, legacy/alias mapping, and rejection of unknown/malformed input; migrations.test.ts (7) covers the v1→v2 backfill, idempotency, and empty-blob tolerance; utils.test.ts (9) covers truncate edge cases (incl. the small-maxLength regression), toLabel, capitalize, and generateId. |
Major: Next.js 14 → 16, React 19, zero npm vulnerabilities
| Area | Description |
|---|---|
| feat!: Next.js 16 + React 19 | Upgraded next 14.2 → 16.2, react/react-dom 18.3 → 19.2. Builds now use Turbopack (compile time ~3s). Smoke-tested: production server boots, the page renders, and /api/ai honours its contract (401 without key, 400 on bad JSON). |
| security: 0 vulnerabilities | The remaining 6 audit findings lived in next and its eslint glob chain and only resolved via this major upgrade. Next's internally pinned postcss was lifted to ≥8.5.10 via an npm override. npm audit is now fully clean. |
| feat: ESLint 9 flat config | next lint was removed in Next 16. Migrated .eslintrc.json → eslint.config.mjs (eslint-config-next v16 is flat-config native); npm run lint now calls eslint src/ directly. The lint gate passes with --max-warnings=0 for the first time. |
| perf: self-hosted Inter via next/font | Replaced the render-blocking Google Fonts <link> with next/font/google — fixes the long-standing no-page-custom-font warning and removes a third-party request. |
| chore: dependency hygiene | Removed unused framer-motion; bumped lucide-react to v1 (React 19 peers), @types/* to match, engines to Node ≥20.9 (required by Next 16). Dropped the unused images.domains config (removed API in Next 16; next/image is not used). tsconfig.json auto-migrated by Next (jsx: react-jsx). |
Security: AI key moves server-side + dependency audit
| Area | Description |
|---|---|
| security: AIBridge Phase 2 — server route | The Anthropic call now goes through a new server route (src/app/api/ai/route.ts) instead of running in the browser. Deployments set ANTHROPIC_API_KEY (a server-only, non-NEXT_PUBLIC_ env var) so the key never reaches the browser at all. The backend-less local mode still works: the wizard's session key is forwarded via the x-client-key header for that request only. Removes the anthropic-dangerous-direct-browser-access browser escape hatch. |
| feat: server-or-client AI availability | New checkAiAvailability() queries GET /api/ai so the "Run with AI" button appears when a server key is configured, even if the user never pasted one into the wizard. |
| security: npm audit fix | Cleared 3 transitive devDependency vulnerabilities (brace-expansion, flatted, minimatch, picomatch) via non-breaking npm audit fix (9 → 6). The remaining 6 require a major Next 14 → 16 upgrade and are deferred to a dedicated migration run (tracked in ROADMAP.md). |
| docs: .env.example | Documents ANTHROPIC_API_KEY and the server-only security posture. |
Architecture: the data actually flows now
This release closes eight fundamental architecture defects. The headline: the app was a beautiful shell that received data over the wire and threw it away. There was no path from the ConnectionManager into the Zustand store, so React never re-rendered and agents never changed state on their own. That path now exists.
| Defect | Area | Description |
|---|---|---|
| DEFEKT-1 | Store integration | New RealtimeEngine (realtimeEngine.ts) subscribes to the ConnectionManager and dispatches store actions for every inbound message. Added a typed inbound protocol (task_update / agent_status / agents_list / memory_write / status / heartbeat) and a message router that reconciles remote tasks/agents/memories into the store. |
| DEFEKT-2 | UI reactivity | The RealtimeEngine singleton starts on app mount and actively polls/listens. Every received datum → store update → automatic React re-render. No manual refresh. |
| DEFEKT-3 | Agent autonomy | RealtimeEngine's AgentScheduler polls every live claw for agent status every 5s (AGENT_POLL_INTERVAL_MS) and upserts activity / currentTasks / lastSeen. When a claw drops, all of its agents are forced to idle with a warning notification. |
| DEFEKT-4 | Real AI | New AIBridge (aiBridge.ts) dispatches a board task to Claude (claude-sonnet-4-20250514), writes the result back as a Memory, and walks the task queued → in_progress → review. Optional Claude API key slot added to the Setup Wizard. Key lives in sessionStorage only — never persisted. A "Run with AI" button appears on idea/queued cards when a key is set; graceful no-op otherwise. |
| DEFEKT-5 | Multi-claw isolation | Task and Memory gained an optional clawId. New selectedClawId store filter + a filter bar on the Dashboard scopes tasks/agents/memories to a single claw. |
| DEFEKT-6 | REST poll counter | Verified the v1.4.0 pollFailures fix: reset-on-success and reset-on-(re)start are correct. Replaced magic numbers with shared constants and documented the verified behaviour. |
| DEFEKT-7 | Wizard guards | Added mountedRef guards to completeSetup, goNext, goBack, and goToStep so fast navigation can't update unmounted state. |
| DEFEKT-8 | Store migrations | Added version: 2 + a migrate() runner to the persist middleware. The v1→v2 migration backfills clawId: null on existing tasks/memories so a schema change never wipes a user's localStorage. |
| chore | Constants | New src/lib/constants.ts centralizes all timing/limit magic numbers. |
Bug Fixes & Code Quality
| Area | Description |
|---|---|
| fix: REST polling consecutive failure counter | The REST polling catch block claimed to fail after 3 consecutive errors but actually failed on the first. Added a pollFailures counter that increments on each failed poll and only marks the connection as error after 3 consecutive failures. Resets on success. (connectionService.ts) |
| fix: truncate() guard for small maxLength | truncate(str, maxLength) produced incorrect output when maxLength <= 3 (e.g., returning "..." for maxLength=2). Added guard: if maxLength <= 3, return hard-truncated string without ellipsis. (utils/index.ts) |
| fix: connection ID mutation in ClawManager | handleConnect created a new ConnectionManager entry on every connect attempt without cleaning up the previous one, causing orphaned connections. Now cleans up existing ConnectionManager entries before creating new ones. (ClawManager.tsx) |
| fix: async cleanup in SetupWizard test | runTest set React state after await without checking if the component was still mounted. Added mountedRef guard to prevent state updates on unmounted components. (SetupWizard.tsx) |
| chore: remove unused dependencies | Removed date-fns, uuid, and @types/uuid from package.json -- none were imported anywhere in the codebase. |
| chore: bump version to 1.4.0 | Updated package.json version from 1.0.0 to 1.4.0 to match release history. |
| style: replace HTML entities in JSX | Replaced — HTML entities with Unicode em dash characters in ClawManager.tsx and SetupWizard.tsx for idiomatic React/JSX. |
Reset to Empty State & Wizard-First Setup
| Commit | Author | Description |
|---|---|---|
1ea5b52 |
Claude | feat: reset app to empty state with wizard-first setup flow -- Remove all mock data (8 fake agents, fake claw, welcome tasks, init memory). App starts at zero. Gate behind Setup Wizard. Replace all emojis with Lucide SVG icons. Add empty state views for Dashboard, Digital Office, Team Structure, Claw Manager, Memory Screen. Add resetToEmpty() store action. SVG favicon. |
Real Claw Bot Connection Wizard
| Commit | Author | Description |
|---|---|---|
d3d61db |
BEKO2210 | Merge pull request #3 from BEKO2210/claude/claw-bot-wizard-uGqSE |
511da13 |
Claude | feat: add real Claw Bot connection wizard with WebSocket/REST/MQTT support -- 6-step Setup Wizard with preset templates, endpoint configuration, live connection testing with logs, bot customization. Real ConnectionManager service for WebSocket, REST API, and MQTT protocols. Connection status tracking, latency monitoring, auth token support. |
Mobile Responsive, Bug Fixes & Documentation
| Commit | Author | Description |
|---|---|---|
1e136c9 |
BEKO2210 | Update live demo description in README |
c448805 |
BEKO2210 | Merge pull request #2 from BEKO2210/claude/fix-ringcolor-css-5UyMh |
1be5daf |
Claude | Add live demo link, screenshot gallery, and mobile screenshots to README |
0643ac4 |
BEKO2210 | Add files via upload (documentation assets) |
7a12284 |
BEKO2210 | Merge pull request #1 from BEKO2210/claude/fix-ringcolor-css-5UyMh |
17f203d |
Claude | fix: replace --tw-ring-color inline style hack with boxShadow -- Fix CSS compatibility issue with Tailwind ring color |
5683c4f |
Claude | chore: add package-lock.json for reproducible builds |
7851e67 |
Claude | feat: add Android/mobile responsive layout -- Full mobile support with hamburger menu, responsive grid layouts, touch-friendly interactions |
Initial Release
| Commit | Author | Description |
|---|---|---|
b450fab |
BEKO2210 | Update logo image source in README.md |
a1a5f6f |
BEKO2210 | Add files via upload (initial assets) |
40619d8 |
Claude | feat: Clawbot Mission Control -- AI Agent Orchestration Dashboard -- Initial release with 10 screens (Dashboard, Task Board, Content Pipeline, Calendar, Memory Bank, Team Structure, Digital Office, Shell Themes, Claw Manager, Setup Wizard). 4 built-in shell themes (Deep Space, Cyber Neon, Ocean Depths, Ember Forge). Multi-Claw architecture. Dark glassmorphism UI. Zustand state management with localStorage persistence. |
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m "Add amazing feature" - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
- Use TypeScript strict mode -- no
anytypes - Follow the existing component patterns
- Use Lucide React icons -- no emojis in the UI
- Add new shells to
src/shells/registry.ts - Test all screen components before submitting
- Ensure empty states are handled for new screens
This project is licensed under the MIT License -- see the LICENSE file for details.
Built by BEKO2210