Skip to content

AndrewAltimit/breakpoint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Breakpoint

Office Hours Gaming Platform with Agent Monitoring Overlay

Breakpoint is a browser-based multiplayer gaming platform for agentic office hours — synchronous team sessions where humans stay socially connected while AI agents handle development tasks. Lightweight real-time games keep distributed teams engaged, paired with a unified overlay system that surfaces agent activity, alerts, and decision points directly into the shared gaming experience.

Built in Rust compiled to WebAssembly. Runs over WSS on port 443 for corporate network compatibility. No installs, no accounts — join via URL and play within seconds.

All code is authored by AI agents under human direction.

Security Notice — OpenAI / Codex Disabled: All OpenAI Codex integrations have been disabled in this project's CI/CD pipelines and MCP services. OpenAI is partnering with governments that conduct mass surveillance and enable autonomous weapons. The surveillance risk from nation-state actors gaining access to code and development context routed through OpenAI infrastructure is unacceptable. We strongly recommend Anthropic models (Claude) for AI-assisted development. See AGENTS.md for details.

Quick Start

Docker (recommended)

docker run -p 8080:8080 -e BREAKPOINT_API_TOKEN=your-secret ghcr.io/andrewaltimit/breakpoint:latest

Open http://localhost:8080 in your browser.

From Source

# Build server + WASM client
cargo build --release -p breakpoint-server
wasm-pack build crates/breakpoint-client --target web --out-dir ../../web/pkg

# Run
BREAKPOINT_API_TOKEN=your-secret ./target/release/breakpoint-server

Docker Compose

cd examples/
cp .env.example .env
# Edit .env with your API token
docker compose up -d

Games

Game Players Description
Simultaneous Mini-Golf 2-8 All players putt simultaneously. First to sink earns bonus points.
Platform Racer 2-6 Castlevania-style castle labyrinth with enemies, power-ups, and procedural courses.
Laser Tag Arena 2-8 Top-down arena with reflective walls and power-ups.
Tron Light Cycles 2-8 Drive fast, leave walls, don't crash! Grind walls for speed boosts.

Games are pluggable modules implementing the BreakpointGame trait. Adding a new game requires no changes to networking, overlay, or server code. See docs/GAME-DEVELOPMENT.md.

Alert Overlay

The overlay surfaces agent activity from any system that can POST JSON:

Priority Behavior Examples
Ambient Scrolling ticker, no interruption Task completed, tests passed, PR merged
Notice Toast notification, auto-dismiss 8s Build failed, review requested
Urgent Persistent banner until acknowledged Deploy awaiting approval, agent blocked
Critical Game pause + modal overlay Production incident, security alert

Events are claimable — any player can click "Handle" and all others see "Handled by [name]".

Send an Event

curl -X POST http://localhost:8080/api/v1/events \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "evt-001",
    "event_type": "pipeline.failed",
    "source": "github-actions",
    "priority": "notice",
    "title": "CI failed on main",
    "timestamp": "2026-02-12T14:32:00Z",
    "action_required": true
  }'

See docs/INTEGRATION-GUIDE.md for the full event schema, SSE streaming, GitHub webhooks, and example adapters in Python, Node.js, and shell.

Architecture

Axum Server (Rust)
├── Game Loop (Authority)        ← Server-authoritative game simulation
├── Room Manager                 ← Room lifecycle, player management
├── REST API                     ← Event ingestion, SSE alerts
└── WebSocket Handler            ← Game state broadcast to all clients

All Clients (WASM in browser)
├── Game View                   ← Renders server-authoritative state
└── Alert Overlay               ← Ambient ticker, toasts, dashboard, claim system

Deployment modes: Server (direct), relay (NAT traversal), or Docker. See docs/DEPLOYMENT.md.

Project Structure

breakpoint/
├── crates/
│   ├── breakpoint-core/              # Shared types, traits, event schema
│   ├── breakpoint-server/            # Axum server (game authority)
│   ├── breakpoint-client/            # WASM browser client (WebGL2)
│   ├── breakpoint-relay/             # Stateless WS relay for NAT traversal
│   ├── games/
│   │   ├── breakpoint-golf/          # Simultaneous mini-golf
│   │   ├── breakpoint-platformer/    # Platform racer
│   │   ├── breakpoint-lasertag/      # Laser tag arena
│   │   └── breakpoint-tron/          # Tron Light Cycles
│   └── adapters/
│       └── breakpoint-github/        # GitHub Actions polling + agent detection
├── web/                              # Static assets (HTML, CSS, sprites, sounds, profiler)
├── tests/browser/                    # Playwright browser integration tests (16 spec files)
├── docker/                           # Dockerfiles (CI + production)
├── docs/                             # Architecture, integration, deployment guides
├── examples/                         # Docker Compose, adapter scripts, workflow templates
└── .github/                          # GitHub Actions workflows

See docs/ARCHITECTURE.md for the full system design.

Development

cargo check                                                    # Compile check
cargo fmt --all                                                # Format
cargo clippy --workspace --all-targets -- -D warnings          # Lint
cargo test --workspace                                         # Test (699 tests)
cargo build --workspace --release                              # Build
wasm-pack build crates/breakpoint-client --target web          # WASM

# Build with profiling (feature-gated, zero overhead when disabled)
cargo build -p breakpoint-server --features profiling
wasm-pack build crates/breakpoint-client --target web --out-dir ../../web/pkg --features profiling

# Containerized CI (matches GitHub Actions)
docker compose --profile ci run --rm rust-ci cargo test --workspace

Technology Stack

Layer Technology
Language Rust (Edition 2024)
Client WebAssembly (wasm-bindgen, web-sys, custom WebGL2 renderer with sprite batching)
Server Axum 0.8, Tokio
Serialization MessagePack (game state), JSON (API/events)
CI/CD GitHub Actions (self-hosted runner, Docker containers)

Documentation

License

Dual-licensed under Unlicense and MIT.

About

Browser-based multiplayer games for office hours in an agentic world. Play with your team over WSS while AI agents work - a shared overlay surfaces alerts, pipeline status, and decision points directly into gameplay. Rust + WASM.

Topics

Resources

License

Unlicense, MIT licenses found

Licenses found

Unlicense
LICENSE
MIT
LICENSE-MIT

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors