New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

@flightdeck-ai/flightdeck

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@flightdeck-ai/flightdeck

Flightdeck - AI crew management platform

Source
npmnpm
Version
0.1.0
Version published
Weekly downloads
14
16.67%
Maintainers
1
Weekly downloads
 
Created
Source

Flightdeck — Multi-Agent Copilot CLI Orchestrator

[!WARNING] This is purely AI generated code. Use the project with this understanding in mind.

A real-time web UI that orchestrates teams of Copilot CLI agents — each with a specialized role, its own context window, and the ability to collaborate through structured messaging. A Project Lead agent breaks down your task, assembles a team of developers, architects, reviewers, and more, then coordinates their work while you stay in the loop.

Why Flightdeck? Instead of one AI agent doing everything sequentially, Flightdeck runs multiple agents in parallel — each focused on what they do best. A developer writes code while a reviewer checks it, an architect designs the system, and a secretary tracks progress. The result: faster, higher-quality work with built-in checks and balances.

Status: Active development on branch team-work-3.

Features

🎯 Team Orchestration

  • Project Lead — Breaks down tasks, assembles a team, creates a task DAG, delegates work, and synthesizes results
  • Sub-Lead Delegation — Architects can also create agents and delegate tasks, enabling hierarchical team structures
  • 12 Specialized Roles — Purpose-built agents with distinct system prompts and model diversity (see Agent Roles)
  • Task DAG — Declarative task scheduling with dependencies; PROGRESS auto-reads DAG state when one exists. DAG auto-links to agents via DELEGATE/CREATE_AGENT — no manual tracking needed.
  • Human-in-the-Loop — Message any agent directly; queued messages show with blue bubbles and a spinner. Remove or reorder queued messages before delivery.
  • System Pause/Resume — Halt all message delivery system-wide; agents are notified to hold position. Queued messages stay in place until resumed.

💬 Communication

  • Direct Messaging — Agents send structured messages to each other by ID
  • @Mentions — Type @ in chat to autocomplete agent names; mentioned agents receive the message
  • Group Chat — Create groups by member ID or role; auto-created when 3+ agents work on the same feature; auto-archived when all members finish
  • Broadcasts — Send a message to every active agent at once

📈 Visualization & Monitoring

  • Mission Control — Single-screen project overview with 8 configurable panels: health summary, agent fleet, token economics, alerts, activity feed, DAG minimap, comm heatmap, and performance scorecards. Drag-and-drop panel reordering in Settings.
  • Timeline — Swim-lane visualization of agent activity with filtering (role, status, comm type), interactive brush time selector, keyboard navigation, live auto-scroll mode, idle hatch patterns, hover tooltips showing task details and duration, project tabs for multi-project sessions, Zustand store persistence (state survives tab switches), adaptive date display (time-only for <24h sessions, date+time for multi-day), and Clear Timeline button for resetting cached data
  • Org Chart — Team hierarchy visualization with project tabs for switching between active projects
  • DAG / Gantt Chart — Scrollable and zoomable task Gantt chart with local timezone display
  • Token Economics — Per-agent token breakdown with context pressure bars (80% yellow, 90% red warning thresholds)
  • Proactive Alerts — Automatic detection of context pressure (>85%), duplicate file edits, idle agents with ready tasks, and stale decisions (>10min). Note: Stuck agent detection is currently disabled to reduce noise in long-running sessions.
  • Real-Time Dashboard — Live activity feed, team status, user-message highlighting (blue tint), agent reply highlighting via WebSocket
  • User-Directed Message Highlighting — Lead marks messages intended for the user with @user; these render with accent border + background to stand out from system reactions
  • Three-Tier Messages — Comms feed classifies messages as Critical (red), Notable (blue), or Routine (dimmed) with filter toggles
  • Catch-Up Summary — After 60s of inactivity, a floating banner summarizes what happened while you were away
  • Project Health Header — CREW_UPDATE messages include a health summary: completion %, agent fleet status, pending decisions, blocked tasks
  • Project Grouping — Group and filter projects in the Tasks view with duplicate task detection

✅ Decision & Progress Tracking

  • Decision Log — Track architectural decisions with accept/reject actions and reason comments; grouped by project with project names (not IDs); optimistic UI updates
  • PROGRESS/DAG Consolidation — A single PROGRESS command auto-reads DAG state, eliminating the need for separate queries
  • Global Search — Search across messages, tasks, decisions, and activity

🔒 Coordination & Safety

  • File Locking — Pessimistic locks with TTL and glob support prevent concurrent edits
  • Scoped COMMIT — The COMMIT command executes git add only on files the agent has locked, then commits and runs post-commit verification (git diff --name-only HEAD~1) to confirm the expected files actually landed. Prevents git add -A from leaking other agents' uncommitted work.
  • Merge Scope Validation — When merging agent branches, WorktreeManager.merge() validates that only locked files were modified — defense-in-depth against accidental cross-contamination
  • Worktree Isolation — ⚠️ In development, not yet enabled. Per-agent git worktrees are implemented in the backend (WorktreeManager) but not yet active in production. Agents currently share the repository working directory. See the Coordination guide for details.
  • Event Pipeline — Reactive event handlers auto-trigger actions (e.g., run tests after commits, log summaries on task completion)
  • Agent Controls — Interrupt, terminate, restart agents; change models on the fly
  • Security — Auto-generated auth tokens, CORS lockdown, rate limiting, path traversal validation

💾 Persistence & Recovery

  • Session Resume — Resume from a previous Copilot session ID
  • Persistent Projects — Projects survive lead sessions; resume with full context briefing. Chat history and project state auto-load on app startup.
  • Context Re-injection — Automatic crew context recovery after context window compaction
  • Theme Persistence — Light, Dark, and Follow System themes persist across sessions via shared store

Quick Start

npm install
npm run build
npm start

This starts the server and opens the web UI. Options: --port=4000, --no-browser.

For development with hot reload:

npm run dev
  • Server: http://localhost:3001
  • Web UI: http://localhost:5173 (dev) or http://localhost:3001 (production)

Creating a Project

  • Open the web UI — the Lead page is the default view
  • Click Create Project, provide a name, task, and optionally a working directory
  • The lead analyzes the task, creates agents, and starts delegating

Architecture

Monorepo (npm workspaces):

PackageDescription
packages/serverExpress 5 + WebSocket server, ACP agent management, SQLite/Drizzle ORM
packages/webReact 19 + Vite frontend, Tailwind CSS 4, Zustand state, ReactFlow DAG, Mission Control

Tech stack: Node.js · TypeScript · Express 5 · SQLite (WAL) · Drizzle ORM · React 19 · Vite · Tailwind CSS 4 · Zustand · ReactFlow · WebSocket (ws)

React UI ←→ WebSocket ←→ Node.js Server ←→ ACP ←→ Copilot CLI ×N
                              │
                         AgentManager (TypedEmitter)
                        ┌─────┴──────┐
                   MessageBus    ActivityLedger (batched writes)
                   DecisionLog   FileLockRegistry
                   Scheduler     ContextRefresher
                   ProjectRegistry  ChatGroupRegistry
                   CommandDispatcher  TimelineStore
                   DeferredIssueRegistry  EventPipeline
                   AlertEngine  TimerRegistry

Key Components

ComponentResponsibility
AgentManagerSpawns agents, routes messages, manages delegations. Cascade termination with visited-set guard.
CommandDispatcherThin router (~193 lines) that delegates to 7 command modules. Parses triple-bracket commands from agent output.
Command ModulesAgentCommands, CommCommands, TaskCommands, CoordCommands, SystemCommands, DeferredCommands, TimerCommands — domain-grouped command handlers
AgentWraps a Copilot CLI process (ACP) with lifecycle management, message buffering, and memory bounds
RoleRegistryRole definitions with system prompts, icons, colors, default models. receivesStatusUpdates flag for secretary auto-refresh.
MessageBusRoutes inter-agent messages and group chats
FileLockRegistryPessimistic file locking with TTL, glob support, expiry notifications. SQLite-backed.
WorktreeManager⚠️ In development. Per-agent git worktrees — create/merge/cleanup lifecycle. Wired into AgentManager but not yet enabled.
ChatGroupRegistryGroup lifecycle — create, archive, role-based membership, auto-creation for parallel work. Auto-adds new agents matching group role criteria.
ActivityLedgerBatched activity logging (flushes every 250ms or 64 entries)
DecisionLogDecision tracking with accept/reject/reason workflow
AlertEngineProactive detection: stuck agents (with exemptions for leads, new agents, prompting agents), context pressure, duplicate edits, idle+ready mismatch, stale decisions
ContextRefresherRe-injects crew context with health header after compaction events. Auto-refreshes secretary roles.
SchedulerBackground tasks: expired lock cleanup, activity pruning, delegation cleanup
ProjectRegistryPersistent project management — CRUD, session tracking, briefing generation
HeartbeatMonitorDAG-aware stall detection — nudges idle leads with remaining work
EventPipelineReactive event handlers: run CI after commits, log summaries on task completion, trigger webhooks
CapabilityRegistryTracks acquired agent expertise (files, technologies, domains) for smart matching
EagerSchedulerPre-assigns upcoming tasks to idle agents before they become active
TaskTemplatesReusable task templates with natural-language decomposition
SearchEngineFull-text search across messages, tasks, decisions, and activity
PerformanceScorecardAgent performance metrics: throughput, first-pass rate, velocity, cost efficiency
DecisionRecordsADR-style structured decision records with status tracking
CoverageTrackerTest coverage monitoring with regression detection and trend analysis
ComplexityMonitorFile complexity analysis with 4-tier scoring and hotspot detection
NotificationManagerUser notification preferences, quiet hours, priority-based routing
EscalationManagerAuto-escalation for stale decisions and blocked tasks
ModelSelectorAuto-picks optimal model based on task complexity, agent role, and budget
TokenBudgetOptimizerPriority-weighted token allocation across active agents
ParallelAnalyzerDAG bottleneck detection with critical path analysis
ReportGeneratorSession report generation in HTML and Markdown
KnowledgeTransferCross-project knowledge sharing and context reuse

See the Architecture Decisions page for the rationale behind key design choices.

Agent Roles

Each agent is assigned a role with a specialized system prompt. The lead creates agents and assigns them tasks.

RoleIconFocusDefault Model
Project Lead👑Orchestration, delegation, team coordinationClaude Opus 4.6
Developer💻Code implementation, tests, bug fixesClaude Opus 4.6
Architect🏗️System design, technical debt, architecture decisions. Can delegate tasks.Claude Opus 4.6
Code Reviewer📖Readability, maintainability, code patternsGemini 3 Pro
Critical Reviewer🛡️Security, performance, edge casesGemini 3 Pro
Product Manager🎯User needs, product quality, UX reviewGPT-5.3 Codex
Technical Writer📝Documentation, API design review, developer experienceGPT-5.2
Designer🎨UI/UX, interaction design, accessibilityClaude Opus 4.6
Generalist🔧Cross-disciplinary problem solvingClaude Opus 4.6
Radical Thinker🚀Challenge assumptions, propose bold alternativesGemini 3 Pro
Secretary📋Plan tracking, status reports, session summariesGPT-4.1
QA Tester🧪Test strategy, quality assurance, coverage analysisClaude Sonnet 4.6

Custom roles can be created via the Settings UI with your own system prompts, colors, and icons.

ACP Command Reference

Agents communicate via structured triple-bracket commands detected in their output stream. Commands are parsed by the CommandDispatcher and routed to the appropriate subsystem.

Team Management (Lead + Architect)

CommandDescription
CREATE_AGENT {"role": "developer", "task": "..."}Spawn a new agent with a specific role. Optionally assign a task and model.
DELEGATE {"to": "agent-id", "task": "...", "context": "..."}Assign a task to an existing agent. Leads and architects can delegate.
TERMINATE_AGENT {"id": "agent-id", "reason": "..."}Terminate an agent and free its slot. Logs session ID for potential resume.

Communication (All agents)

CommandDescription
AGENT_MESSAGE {"to": "agent-id", "content": "..."}Send a direct message to another agent by ID.
DIRECT_MESSAGE {"to": "agent-id-prefix", "content": "..."}Queue a message to another agent without interrupting their current work. Matches by ID prefix.
BROADCAST {"content": "..."}Send a message to all active agents.
CREATE_GROUP {"name": "...", "members": ["id1"], "roles": ["developer"]}Create a named chat group. Specify members by ID, by role, or both. Lead is auto-included.
GROUP_MESSAGE {"group": "...", "content": "..."}Send a message to all members of a group. Sender must be a member.
ADD_TO_GROUP {"group": "...", "members": ["id"]}Add agents to an existing group. New members receive recent message history.
REMOVE_FROM_GROUP {"group": "...", "members": ["id"]}Remove agents from a group. The lead cannot be removed.
QUERY_GROUPSList all groups the agent belongs to, with member counts and last message preview.
QUERY_PEERSDiscover other active agents for direct messaging.

Task & Progress (Lead-only unless noted)

CommandDescription
DECLARE_TASKS {"tasks": [...]}Declare a task DAG with dependencies. Tasks have id, title, depends_on.
PROGRESS {"summary": "..."}Report progress. Auto-reads DAG state when a DAG exists — no need to query separately.
COMPLETE_TASK {"id": "task-id", "summary": "...", "output": "..."}Mark a DAG task as done. Non-lead agents relay to parent's DAG with auth validation. Supports id, summary, status, output fields. (Any agent)
TASK_STATUSQuery current task DAG status.
PAUSE_TASK {"taskId": "..."}Pause a pending/ready task in the DAG. (Lead-only)
RETRY_TASK {"taskId": "..."}Retry a failed task. (Lead-only)
SKIP_TASK {"taskId": "..."}Skip a task and unblock dependents. (Lead-only)
ADD_TASK {"task": {...}}Add a new task to an existing DAG. (Lead-only)
CANCEL_TASK {"taskId": "..."}Cancel a task. (Lead-only)
RESET_DAGReset the entire DAG (clear all tasks). (Lead-only)
DECISION {"title": "...", "rationale": "..."}Log a decision. Users can accept/reject with a reason comment from the dashboard.
QUERY_TASKSQuery current task DAG status (alias for TASK_STATUS).
CANCEL_DELEGATION {"delegationId": "...", "reason": "..."}Cancel an active delegation.

Coordination (All agents)

CommandDescription
LOCK_FILE {"filePath": "...", "reason": "..."}Acquire a file lock. Prevents other agents from editing the same file.
UNLOCK_FILE {"filePath": "..."}Release a file lock.
COMMIT {"message": "..."}Scoped git commit — executes git add only on locked files, commits, then verifies files landed via git diff --name-only HEAD~1. Warns if expected files are missing.
QUERY_CREWGet the current roster of agents with IDs, roles, models, and status.
DEFER_ISSUE {"description": "...", "severity": "P2"}Flag a quality issue for later resolution. Tracked per-project with severity levels.
QUERY_DEFERRED {"status": "open"}List deferred issues. Optional status filter (open/resolved/dismissed).
RESOLVE_DEFERRED {"id": 42}Mark a deferred issue as resolved. Use "dismiss": true to dismiss instead.

Capabilities & Timers (All agents)

CommandDescription
ACQUIRE_CAPABILITY {"capability": "code-review", "reason": "..."}Temporarily gain capabilities beyond the agent's role (code-review, architecture, delegation, testing, devops).
RELEASE_CAPABILITY {"capability": "code-review"}Release a previously acquired capability.
LIST_CAPABILITIESList currently held capabilities.
SET_TIMER {"label": "name", "delay": 300, "message": "...", "repeat": false}Set a reminder that fires after a delay (in seconds). Optionally repeats.
CANCEL_TIMER {"name": "name"}Cancel an active timer.
LIST_TIMERSList all active timers.

UI Views

ViewDescription
Lead DashboardChat with the lead, decisions panel (accept/reject with reasons), team/comms/groups/DAG/tokens tabs, three-tier message hierarchy, catch-up banner
Mission ControlSingle-screen project overview: health summary, agent fleet, token economics, proactive alerts, activity feed, DAG minimap, comm heatmap, performance scorecards. Drag-and-drop panel reorder.
AgentsUnified list with hierarchy, model selector, plan progress, agent controls, project grouping
TasksPer-project task tabs with DAG status, progress badges, project grouping, duplicate detection
TimelineSwim-lane visualization — filter by role/comm-type/status, brush time selector, keyboard navigation (←→ pan, +/- zoom), live auto-scroll mode, idle hatch patterns, hover tooltips
Group ChatTabbed group chat with human participation, project-level tab grouping, real-time messaging
OverviewProgress tracking, decision timeline grouped by project, global search
SettingsConcurrency limits (1–50 agents), model defaults, theme (Light/Dark/System), custom role editor, draggable dashboard panel layout

Tech Stack

  • Frontend: React 19, Vite, TypeScript, Tailwind CSS 4, Zustand, ReactFlow, visx (timeline), Lucide
  • Backend: Node.js, Express 5, ws (WebSocket)
  • Database: SQLite (WAL mode, Drizzle ORM) with tuned pragmas (busy_timeout, foreign_keys, synchronous=NORMAL)
  • Security: Auto-generated auth tokens, CORS lockdown, rate limiting, path traversal validation
  • Validation: Zod schemas on all API routes
  • Agent Protocol: ACP (Agent Communication Protocol) with streaming command detection
  • Events: Typed event bus (TypedEmitter) with 27+ strongly-typed events
  • Testing: Vitest with v8 coverage, Codecov integration (1,200+ tests including 30 Task DAG E2E + 40 Timeline E2E)
  • CI: GitHub Actions on main and team-work-* branches — typecheck, unit tests, coverage upload

Documentation

DocumentDescription
REST API ReferenceFull REST API reference for all endpoints
Architecture DecisionsKey architecture decision records (ADRs)
Agent CommunicationACP agent communication protocol details
CoordinationFile locking, delegation, and coordination primitives
Database SchemaSQLite schema and Drizzle ORM setup
UI DesignFrontend component architecture and design tokens

Screenshots

image Image Image Image Image Image Image

FAQs

Package last updated on 02 Mar 2026

Related posts