Documentation Index

April 15, 2026 · View on GitHub

Navigation map for the entire Tandem Browser project. Read this to understand where everything lives.

Start Here

Read these files in this order:

  1. README.md — Product overview, quick start, MCP/HTTP setup
  2. PROJECT.md — Architecture, philosophy, security model
  3. AGENTS.md — Rules for AI developers working on this codebase
  4. CONTRIBUTING.md — How to contribute
  5. TODO.md — Active engineering backlog (the source of truth)
  6. skill/SKILL.md — Agent instruction manual for using Tandem via MCP/HTTP

Source Code

Entry Points

FilePurpose
src/main.tsApp lifecycle, window creation, manager instantiation
src/registry.tsCentral manager registry — read this to understand the system
src/api/server.tsExpress API bootstrap, route registration
src/mcp/server.tsMCP server entry point (236 tools)
src/preload.tscontextBridge API surface for renderer

Modules (src/)

Each module is a self-contained subsystem with its own manager.

ModuleKey FileResponsibility
activity/tracker.ts, wingman-stream.tsUser activity tracking, Wingman awareness stream
agents/task-manager.ts, tab-lock-manager.tsAgent task approval, tab locking for multi-agent
api/server.ts, routes/Express HTTP API (300+ endpoints)
auth/login-manager.tsLogin detection, auth state tracking
behavior/observer.tsLearn user browsing patterns for humanized automation
bookmarks/manager.tsBookmark tree, CRUD, search
bootstrap/(multiple)App startup wiring, extracted from main.ts
bridge/context-bridge.tsMain ↔ renderer communication bridge
claronote/manager.tsVoice-to-text integration (ClaroNote SaaS)
clipboard/manager.tsClipboard read/write for agents
config/manager.tsApp settings, persisted to ~/.tandem/
content/extractor.tsSmart page-to-markdown extraction
context-menu/(multiple)Right-click context menus for tabs and pages
device/emulator.tsMobile/tablet device emulation
devtools/manager.tsCDP bridge — console, network, DOM, storage
downloads/manager.tsDownload progress, pause, resume
draw/overlay.tsDraw annotations visible to human and AI
events/stream.tsSSE event stream for real-time updates
extensions/loader.ts, manager.tsChrome extension loading and management
headless/manager.tsBackground browsing with dead-man switch
history/manager.tsBrowsing history, full-text search
import/chrome-importer.tsImport bookmarks, history, cookies from Chrome
input/(multiple)Keyboard/mouse input simulation via sendInputEvent
integrations/google-photos.tsGoogle Photos upload for screenshots
ipc/(multiple)IPC channel definitions and handlers
locators/finder.tsSemantic element finding (by label, text, role)
mcp/server.ts, tools/MCP server with 236 tools across 32 files
memory/site-memory.ts, form-memory.tsPer-site notes, encrypted form field recall
menu/(multiple)Application menu (File, Edit, View, etc.)
network/inspector.ts, mocker.tsNetwork logging, HAR export, request mocking
notifications/(multiple)System notifications
openclaw/(multiple)OpenClaw gateway integration, Wingman chat
pairing/manager.tsRemote agent pairing (setup codes, token exchange, bindings)
panel/manager.tsWingman side panel management
passwords/(multiple)Local password vault (AES-256-GCM)
pinboards/manager.tsSidebar pinboards for saved items
pip/manager.tsPicture-in-picture mode
preload/(multiple)Preload scripts for webviews
scripts/injector.tsUser script injection
security/security-manager.ts, (8 layers)8-layer security shield
session/(multiple)Session persistence helpers
sessions/manager.ts, state.tsIsolated browser session partitions
shared/ipc-channels.tsShared constants (IPC channel names)
sidebar/manager.tsLeft sidebar config, panel routing
snapshot/manager.tsAccessibility tree with @ref IDs
stealth/manager.tsAnti-fingerprint, Chrome UA spoofing
sync/manager.tsLocal sync and export
tabs/manager.tsTab lifecycle, focus, groups, keyboard shortcuts
utils/(multiple)Logger, path helpers, shared utilities
video/recorder.tsScreen recording (application + region capture)
voice/recognition.tsVoice input via Web Speech API in shell
watch/watcher.tsScheduled page monitoring
workflow/engine.tsMulti-step automation workflows
workspaces/manager.tsNamed tab groups with icons and persistence

API Routes (src/api/routes/)

21 route files, all following the registerXRoutes(router, ctx) pattern:

FileEndpointsDomain
awareness.tsActivity digest, focus detectionAI awareness
agents.tsTasks, tab locks, autonomy, emergency stopAgent coordination
bootstrap.ts/agent, /skill, /agent/manifest, /agent/versionAgent discovery (public)
browser.tsNavigate, click, type, scroll, screenshotCore browser actions
clipboard.tsRead/write clipboardClipboard access
content.tsPage content, extraction, markdownContent extraction
data.tsBookmarks, history, downloads, import/exportPersistent data
devtools.tsConsole, network, DOM, storage, performanceDevTools CDP bridge
extensions.tsExtension CRUD, Chrome import, galleryExtension system
media.tsVoice, audio, video, screenshots, drawMedia and capture
misc.tsSettings, passwords, watches, notificationsUtility endpoints
network.tsNetwork log, mocking, HAR export, APIsNetwork inspection
pairing.tsSetup codes, token exchange, bindings, whoamiRemote agent pairing
pinboards.tsPinboard CRUD, items, settingsSidebar pinboards
previews.tsCreate/update live HTML previewsAgent previews
sessions.tsSession CRUD, state save/load, fetch relaySession isolation
sidebar.tsSidebar config, state, activation, reorderSidebar management
snapshots.tsAccessibility tree, @ref click/fill/textSnapshot interaction
sync.tsSync surfaces, exportData sync
tabs.tsTab CRUD, focus, groups, workspace assignmentTab management
workspaces.tsWorkspace CRUD, tab movement, activationWorkspace management

MCP Tools (src/mcp/tools/)

32 tool files mirroring the HTTP API. Each file registers tools for one domain.

Shell (Browser UI)

FilePurpose
shell/index.htmlMain browser UI — sidebar, tab bar, Wingman panel
shell/js/Modular renderer scripts (tabs, browser-tools, draw, etc.)
shell/css/main.cssAll shell styles
shell/newtab.htmlNew tab page with quick links
shell/settings.htmlSettings page
shell/about.htmlAbout page
shell/bookmarks.htmlBookmarks manager page

Documentation

Active Documentation

DirectoryContentsWhen to read
implementations/Current feature implementation docs (14 features)When working on a specific subsystem
plans/Design proposals for not-yet-implemented features (16 plans)When planning new work
templates/Templates for new feature docs, phase files, handoffsWhen starting a new feature track
research/Opera gap analysis, feature inventoriesFor competitive context
security-shield/Security architecture specs and phase docsWhen working on security
security-upgrade/Security intelligence upgrade (9 phases)When working on security evolution
Browser-extensions/Extension system docs (10 phases)When working on extensions
agent-tools/Agent tool development (3 phases + docs)When adding MCP/API tools
screenshots/Product screenshots for README and websiteFor marketing/docs

Reference Documentation

FileContents
api-current.mdCurrent API notes for live features
public-launch.mdLaunch copy, taglines, GitHub topics

Internal (Historical)

DirectoryContentsNote
internal/ROADMAP.md, STATUS.mdHistorical snapshots, NOT the active backlog
archive/Completed/superseded docs, old plans, past code reviewsRead only for context on past decisions
temp/Working documents, migration notesMay be stale

Website

FilePurpose
index.htmltandembrowser.org landing page
CNAMEGitHub Pages domain config → tandembrowser.org
.nojekyllDisables Jekyll processing for GitHub Pages

Other Root Files

FilePurpose
CHANGELOG.mdFull release history
SECURITY.mdVulnerability reporting
CODE_OF_CONDUCT.mdCommunity standards
LICENSEMIT license
package.jsonDependencies, scripts, version
tsconfig.jsonTypeScript configuration
vitest.config.tsTest configuration
eslint.config.mjsLinting rules