๐ฏ Squad Center
Desktop command center for orchestrating GitHub Copilot CLI sessions with Squad agent teams.

๐ What is Squad Center?
Squad Center is an Electron desktop application that lets you manage multiple software projects, launch GitHub Copilot CLI sessions, and monitor your Squad agent teams โ all from a single interface.
Think of it as a mission control dashboard: you configure projects, spin up Copilot or shell sessions with integrated terminals, track agent activity in real time via Copilot hooks, and get notified when agents finish their work.
โจ Features
- ๐ Project Management โ Create, import from folders, configure, and archive projects with
.squad/ team detection
- ๐ Session Launcher โ Start Copilot CLI or shell sessions per project with one click
- ๐ฅ๏ธ Integrated Terminal โ Full interactive terminal powered by xterm.js and node-pty
- ๐ฅ Squad Visualization โ See your agent team roster with live status indicators
- ๐ Real-time Notifications โ Get alerts when agents complete tasks or encounter errors
- ๐ Copilot Hooks โ Live activity timeline tracking prompts, tool usage, and session events
- ๐ Session Stats โ Token usage, premium request counts, and per-session metrics
- โ๏ธ Configurable โ Shell selection, terminal fonts (NerdFonts), environment variables, pre-launch commands, Copilot CLI args
- ๐ MCP Servers โ View configured MCP servers per project
- โ๏ธ Azure Account โ Display active Azure account context in session sidebar
๐ธ Screenshots
Dashboard
Project overview with quick-access cards, session count, and archive management.
Project Details
Three-column project view: Squad team roster, session launcher with configuration, and session history with resume capability.
Active Session
Integrated terminal with live Copilot CLI output, activity timeline, token usage stats, and real-time hook events.
๐ ๏ธ Tech Stack
| Layer | Technology |
|---|
| Language | TypeScript 5.8 |
| Framework | React 19 |
| Build Tool | Vite 6 |
| Styling | TailwindCSS v4 |
| Desktop | Electron 35 |
| Terminal | xterm.js 6 + node-pty |
| Routing | React Router v7 (HashRouter) |
| Icons | Lucide React |
| Testing | Playwright (E2E) |
๐ Getting Started
Prerequisites
- Node.js 22+ and npm
- GitHub Copilot CLI installed and authenticated
- Squad agent configuration (optional โ for team features)
Install
Choose your preferred installation method:
๐ฆ npm (all platforms)
npm install -g squad-center
squad-center
๐ซ Chocolatey (Windows)
choco install squad-center
๐ช winget (Windows)
winget install jmanuelcorral.SquadCenter
> WinGet availability depends on Microsoft accepting the package submission in
> microsoft/winget-pkgs. If the package is not found yet, use GitHub Releases,
> Chocolatey, or npm while the initial submission is pending.
๐ง apt (Debian/Ubuntu)
# Add the GPG key
curl -fsSL https://jmanuelcorral.github.io/squadcenter/gpg-key.public \
| sudo gpg --dearmor -o /usr/share/keyrings/squad-center.gpg
# Add the repository
echo "deb [signed-by=/usr/share/keyrings/squad-center.gpg] https://jmanuelcorral.github.io/squadcenter/apt stable main" \
| sudo tee /etc/apt/sources.list.d/squad-center.list
# Install
sudo apt update && sudo apt install squad-center
๐ฅ Direct download
Grab the latest installer from GitHub Releases:
- Windows:
Squad-Center-Setup-x.y.z.exe
- macOS:
Squad-Center-x.y.z-arm64.dmg
- Linux:
Squad-Center-x.y.z.AppImage or squad-center_x.y.z_amd64.deb
Development Setup
# Clone the repository
git clone https://github.com/jmanuelcorral/squadcenter.git
cd squadCenter
# Install dependencies (includes native module compilation for node-pty)
npm install
# Start in development mode
npm run dev
The Electron app will launch with hot-reload enabled for both the renderer (React) and main process.
๐ Scripts
| Script | Description |
|---|
npm run dev | Start Electron app in development mode with hot-reload |
npm run build | Build the renderer (Vite) and main process for production |
npm run preview | Preview the production build |
npm test | Run the full Playwright E2E test suite |
npm run test:prereqs | Run only the prerequisites check tests |
npm run test:e2e | Build then run the full E2E suite |
๐ Project Structure
squadCenter/
โโโ electron/ # Electron main process
โ โโโ main.ts # App entry point, window creation
โ โโโ preload.ts # IPC bridge (contextBridge)
โ โโโ hooks-server.ts # HTTP server for Copilot hook callbacks
โ โโโ ipc/ # IPC handler modules
โ โ โโโ projects.ts # Project CRUD operations
โ โ โโโ sessions.ts # Session lifecycle management
โ โ โโโ filesystem.ts # Folder browsing for import
โ โ โโโ notifications.ts
โ โ โโโ hooks.ts # Hook event queries
โ โโโ services/ # Core backend services
โ โโโ session-manager.ts # PTY process management
โ โโโ storage.ts # JSON file persistence
โ โโโ squad-reader.ts # .squad/ directory parser
โ โโโ hook-manager.ts # Copilot hooks lifecycle
โ โโโ hooks-generator.ts # Hook script generation
โ โโโ hook-event-store.ts # Hook event storage
โ โโโ event-bridge.ts # IPC event broadcasting
โ โโโ environment-info.ts # System context (Azure, MCP)
โโโ src/ # React renderer process
โ โโโ main.tsx # React entry point
โ โโโ App.tsx # HashRouter, routes, providers
โ โโโ index.css # Tailwind v4 + custom animations
โ โโโ pages/
โ โ โโโ Dashboard.tsx # Project grid, modals
โ โ โโโ ProjectView.tsx # Project detail (3-column)
โ โ โโโ SessionView.tsx # Terminal + sidebar panels
โ โโโ components/
โ โ โโโ Layout.tsx # App shell with sidebar
โ โ โโโ Sidebar.tsx # Navigation + session count
โ โ โโโ SessionTerminal.tsx # xterm.js terminal (PTY/message modes)
โ โ โโโ ActivityTimeline.tsx # Hook event stream
โ โ โโโ ProjectCard.tsx # Dashboard project card
โ โ โโโ TeamPanel.tsx # Agent team roster
โ โ โโโ ... # Modals, panels, inputs
โ โโโ hooks/
โ โ โโโ useIpcEvents.ts # Electron IPC event subscriptions
โ โ โโโ useNotifications.tsx # Notification context provider
โ โโโ lib/
โ โ โโโ api.ts # IPC invoke wrappers (23 channels)
โ โโโ types/
โ โโโ electron.d.ts # Window.electronAPI declarations
โโโ shared/
โ โโโ types.ts # Shared TypeScript interfaces
โโโ e2e/ # Playwright E2E tests (7 spec files, 46 tests)
โโโ index.html # Vite entry HTML
โโโ vite.config.ts # Vite + Electron plugin config
โโโ tsconfig.json # TypeScript config
โโโ playwright.config.ts # E2E test configuration
โ๏ธ Configuration
Each project in Squad Center can be individually configured:
interface CopilotConfig {
args: string[]; // Extra Copilot CLI arguments
envVars: Record; // Environment variables for sessions
preCommands: string[]; // Commands to run before session start
startCopilot?: boolean; // Auto-start Copilot on project open
shell?: string; // Shell executable (e.g., powershell, bash)
terminalFontFamily?: string; // Terminal font (NerdFont support)
terminalFontSize?: number; // Terminal font size
}
Configuration is set per-project through the Project Config modal in the UI.
๐งช Testing
Squad Center uses Playwright for end-to-end testing against the built Electron application.
# Run all tests
npm test
# Run with build step
npm run test:e2e
# Run a specific test file
npx playwright test e2e/03-dashboard.spec.ts
Test coverage โ 7 spec files covering:
| File | Scope |
|---|
01-prerequisites.spec.ts | Environment and dependency checks |
02-app-launch.spec.ts | Electron window creation and loading |
03-dashboard.spec.ts | Dashboard rendering and interactions |
04-project-management.spec.ts | Project CRUD operations |
05-project-config.spec.ts | Configuration modal and persistence |
06-navigation.spec.ts | Routing and navigation flows |
07-ipc-communication.spec.ts | IPC channel communication |
08-notifications-hooks.spec.ts | Notifications pipeline & hooks |
๐๏ธ Building
The app is built using Vite with the vite-plugin-electron plugin, which handles both the renderer (React) and main process (Electron) compilation.
# Production build (renderer + main process)
npm run build
The build outputs to:
dist/ โ Renderer bundle (React app)
dist-electron/ โ Main process bundle (main.js, preload.js)
๐ค Contributing
Squad Center is built using a Squad agent team workflow. The team configuration lives in .squad/ and includes:
- Neo โ Lead architect and coordinator
- Morpheus โ Backend developer (Electron main process, IPC, services)
- Trinity โ Frontend developer (React, UI components, UX)
- Tank โ DevOps engineer (CI/CD, packaging, release pipelines)
Architectural decisions are documented in .squad/decisions.md.
๐ License
MIT โ see LICENSE for details.