git404hub

what is capture-the-king fr?

andrew1431/capture-the-king — explained in plain English

Analysis updated 2026-05-18

0TypeScriptAudience · developerComplexity · 4/5Setup · moderate

tl;dr

A mobile first online chess variant where you win by literally capturing the opponent's king instead of checkmate, built as a real time multiplayer web app.

vibe map

mindmap
  root((Capture the King))
    What it does
      Win by capturing king
      No check or checkmate
      King echo castling rule
    Architecture
      Engine package
      Protocol package
      Socket.IO server
      React web client
    Features
      Public matchmaking
      Private invite codes
      Firebase auth
    Tech Stack
      TypeScript
      React
      Node.js
      Firestore

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Play a fast, simplified chess variant against another person in real time on your phone.

VIBE 2

Study a Socket.IO based monorepo pattern for building a real time multiplayer web game.

VIBE 3

Learn how to structure a game engine as a pure, dependency free package shared by server and client.

what's the stack?

TypeScriptReactNode.jsSocket.IOFirebaseVite

how it stacks up fr

andrew1431/capture-the-king0xradioac7iv/tempfs7vignesh/pgpulse
Stars000
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderatemoderatemoderate
Complexity4/53/54/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · moderate time til it works · 30min

Requires pnpm and building the engine and protocol packages before the server or web app will typecheck.

No license information is stated in the README.

in plain english

Capture the King is a mobile first online chess variant with one big twist: instead of winning by checkmate, you win by literally capturing the opponent's king. There is no check, no checkmate, and moves follow simplified pseudo legal rules rather than full chess legality. It also includes a signature rule called king echo castling, which punishes a certain castling move in a special way, all detailed in the project's separate plan document. The codebase is organized as a monorepo with several packages built using pnpm workspaces. A pure engine package holds the game logic and shared types with no outside dependencies, and both the server and the web client import it directly. A protocol package defines the shared event and message types for real time communication over Socket.IO, so the client and server always agree on the same contract. The server package is the authoritative Node.js game server built with Socket.IO, designed to scale down to zero when nobody is playing, and the web package is a mobile first single page app built with Vite, React, and Tailwind. To develop locally, you install dependencies with pnpm, then build the engine and protocol packages before the server or web app, since those consumers import compiled output rather than raw source. From there you can run the test suite, type checking, and linting, or start the server and web app locally. Opening two browser tabs and pressing play in each lets you match yourself against a second player for local testing. According to the project's own status notes, a lot of the game is already working: the core rule engine and its test suite are complete, local two player matches with move validation and reconnect handling work, and there is Firebase based authentication supporting Google login, email and password, and anonymous guest play. Public matchmaking with a waiting queue, plus private invite codes and shareable join links, are also finished, and finished games and player stats are saved to Firestore. Mobile polish such as tap to move, board flipping, and a move history panel is done as well. The final milestone, shipping the game live on Cloud Run and Cloudflare Pages with locked down database rules and automated deployment, is in progress, though the plan to switch from an in memory store to Redis and add spending guardrails is still deferred.

prompts (copy fr)

prompt 1
I cloned capture-the-king. Walk me through running pnpm install and starting both the server and web app locally.
prompt 2
Explain how the king-echo castling rule works in Capture the King's engine package.
prompt 3
How does Capture the King keep the client and server in sync using the shared protocol package?
prompt 4
Show me how private invite codes and the /join/<code> deep link work in this project.

Frequently asked questions

what is capture-the-king fr?

A mobile first online chess variant where you win by literally capturing the opponent's king instead of checkmate, built as a real time multiplayer web app.

What language is capture-the-king written in?

Mainly TypeScript. The stack also includes TypeScript, React, Node.js.

What license does capture-the-king use?

No license information is stated in the README.

How hard is capture-the-king to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is capture-the-king for?

Mainly developer.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.