Skip to content

Pibomeister/command-center

Repository files navigation

Command Center

A multi-platform agent orchestration hub for managing AI agents across discovery, business development, engineering, marketing, and goal-tracking workflows. Built as a Turborepo monorepo with a NestJS API backend, Next.js frontend, and shared type definitions.

Features

  • 5 Board Types — Discovery, BizDev, Engineering, Marketing, and Goal boards, each with tailored workflows
  • Workflow Engine — Configurable workflow templates with stage progression, failure targets, and approval gates
  • A2A Platform Integration — Connect external agent platforms via the Agent-to-Agent protocol with health monitoring and task dispatch
  • Planning Q&A — Interactive planning sessions on tasks with spec generation and conversational context
  • Learner / Knowledge System — Capture failures, fixes, patterns, and checklists per board with confidence scoring and tagging
  • Metrics Dashboard — Board-level and organization-wide analytics via Recharts
  • Onboarding — Guided board onboarding sessions with step-by-step question flows
  • Custom Fields — Define organization-scoped custom fields (text, number, select, date, boolean) and attach them to boards and tasks
  • Approvals — Request and resolve approvals on tasks with optional blocking of status changes
  • Activity Feed — Audit trail of all entity-level events across the organization

Tech Stack

Layer Technology
Monorepo Turborepo + pnpm workspaces
Backend NestJS 11 + Prisma 7 + PostgreSQL 16
Frontend Next.js 16 + React 19 + Tailwind CSS 4
UI Components Radix UI + Lucide Icons
Data Fetching TanStack React Query 5
Charts Recharts 3
Drag & Drop @hello-pangea/dnd
Queue BullMQ + Redis 7
Auth JWT + Passport (local dev mode with shared token)
API Docs Swagger via @nestjs/swagger
Testing Jest (API) + Vitest + Testing Library (Web)

Prerequisites

  • Node.js v20+
  • pnpm v10.30+
  • Docker and docker-compose (standalone v5+, use docker-compose not docker compose)

Quick Start

# Clone the repository
git clone <repo-url> command-center
cd command-center

# Install dependencies
pnpm install

# Set up environment variables
cp .env.example .env
# Edit .env if needed (defaults work for local development)

# Start infrastructure (PostgreSQL + Redis)
docker-compose up -d db redis

# Run database migrations
cd apps/api && npx prisma migrate deploy && cd ../..

# Start all services in dev mode
pnpm dev

The services will be available at:

Service URL
Web App http://localhost:3000
API http://localhost:8000
Swagger Docs http://localhost:8000/api

Docker (full stack)

To run everything in containers:

docker-compose up -d

Development Commands

Run from the repository root — Turborepo handles cross-workspace orchestration:

pnpm dev         # Start all apps in watch mode
pnpm build       # Build all packages and apps
pnpm test        # Run all tests
pnpm typecheck   # TypeScript type checking
pnpm lint        # Lint all packages
pnpm clean       # Clean build artifacts

Architecture

command-center/
├── apps/
│   ├── api/                    # NestJS backend (port 8000)
│   │   ├── prisma/             # Schema & migrations
│   │   └── src/
│   │       ├── modules/        # Feature modules
│   │       │   ├── auth/               # JWT + local auth
│   │       │   ├── organizations/      # Multi-tenant org management
│   │       │   ├── boards/             # Board CRUD + type registry
│   │       │   ├── board-groups/       # Board grouping
│   │       │   ├── board-type-registry # Board type definitions
│   │       │   ├── tasks/              # Task management
│   │       │   ├── agents/             # Agent lifecycle
│   │       │   ├── agent-platforms/    # A2A platform registry
│   │       │   ├── approvals/          # Approval workflows
│   │       │   ├── custom-fields/      # Custom field definitions & values
│   │       │   ├── workflow-engine/    # Stage progression logic
│   │       │   ├── workflow-templates/ # Template CRUD
│   │       │   ├── dispatch/           # Task dispatch + OpenClaw client
│   │       │   ├── planning/           # Planning Q&A sessions
│   │       │   ├── learner/            # Knowledge entry management
│   │       │   ├── metrics/            # Analytics & aggregations
│   │       │   ├── onboarding/         # Board onboarding flows
│   │       │   ├── activity-events/    # Audit event logging
│   │       │   ├── platform-health/    # Platform health checks
│   │       │   ├── events/             # Domain event bus
│   │       │   └── health/             # Health check endpoint
│   │       ├── common/         # Shared guards, decorators, pipes
│   │       └── prisma/         # Prisma service
│   └── web/                    # Next.js frontend (port 3000)
│       └── src/
│           ├── app/            # App Router pages
│           │   ├── boards/     # Board views
│           │   ├── agents/     # Agent management
│           │   ├── approvals/  # Approval views
│           │   ├── custom-fields/ # Custom field admin
│           │   ├── dashboard/  # Metrics dashboard
│           │   ├── platforms/  # Platform management
│           │   ├── settings/   # App settings
│           │   └── login/      # Authentication
│           ├── components/     # Reusable UI components
│           ├── hooks/          # React Query hooks & custom hooks
│           ├── lib/            # API client & utilities
│           └── providers/      # Context providers
└── packages/
    └── shared-types/           # Shared TypeScript type definitions

Environment Variables

Backend (apps/api)

Variable Description Default
DATABASE_URL PostgreSQL connection string postgresql://command_center:command_center@localhost:5432/command_center
REDIS_URL Redis connection string redis://localhost:6379
JWT_SECRET Secret for signing JWT tokens local-dev-jwt-secret-change-in-production
AUTH_MODE Authentication mode (local for dev) local
LOCAL_AUTH_TOKEN Shared token for local auth dev-token-123
PORT API server port 8000
OPENCLAW_GATEWAY_TOKEN Token for OpenClaw WebSocket auth (empty)

Frontend (apps/web)

Variable Description Default
NEXT_PUBLIC_API_URL Backend API URL http://localhost:8000
NEXT_PUBLIC_AUTH_MODE Auth mode for the frontend local

API Documentation

The API is documented with Swagger/OpenAPI. Once the API is running, visit:

http://localhost:8000/api

All endpoints require authentication. In local dev mode, pass the LOCAL_AUTH_TOKEN as a Bearer token:

curl -H "Authorization: Bearer dev-token-123" http://localhost:8000/boards

Key Concepts

Board Types

Each board is one of five types, representing a domain of work:

  • Discovery — Research and exploration tasks
  • BizDev — Business development and partnerships
  • Engineering — Technical implementation work
  • Marketing — Campaign and content management
  • Goal — Objective and key result tracking

Workflow Templates

Boards can be linked to workflow templates that define ordered stages (e.g., Inbox → In Progress → Review → Done). Templates support failure targets for handling rejected work and can require approvals before marking tasks as done.

Agent Lifecycle

Agents are scoped to a board and can be in one of three states: active, paused, or terminated. Each agent may have a delegation role (orchestration, engineering, research, execution) and can be linked to an external A2A platform.

Approvals

Tasks can have approval gates. Boards can be configured to require approval before a task moves to "done" and optionally block all status changes while an approval is pending.

Custom Fields

Organizations define custom field schemas (text, number, select, date, boolean) that can be attached to boards. Tasks on those boards then carry values for each attached field.

Planning Sessions

Tasks support an interactive planning Q&A flow where messages are stored alongside the task. Once planning is complete, a structured spec is generated and attached to the task.

Knowledge System (Learner)

The learner module captures organizational knowledge as entries categorized by type (failure, fix, pattern, checklist) with confidence scoring and tagging. Entries are scoped to boards and optionally linked to tasks.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages