Browser Extension
The official browser extension for VibeControls surfaces your agents, vibes, sessions, and notes from any web page, with context-aware badges for GitHub repos, pull requests, and Jira tickets.
Features
- Popup dashboard — workspace stats, active sessions, recent vibes, agent health
- Side panel command palette — search, create, and manage vibes, sessions, notes, agents, and AI chat
- Context-aware page badge — detects GitHub repos/PRs and Jira tickets and links them to the matching vibe
- Session mini-player — watch live session output in a floating overlay on any page
- One-click LLM context — copy a signed, scoped URL for the active vibe to paste into Claude / ChatGPT / Cursor
- Dark/light theme — user preference persisted in extension storage
Install
The extension is distributed via the Chrome Web Store. For local development or sideloading:
git clone https://github.com/algoshred/vibecontrols-browser-extension.git
cd vibecontrols-browser-extension
bun install
Environment selection
The active target environment is selected at build time only via BURDENOFF_ENV. The default is prod.
| Variable | Values | Default | Description |
|---|---|---|---|
BURDENOFF_ENV | local | alpha | prod | prod | Selects the default GraphQL gateway endpoints bundled into the extension. |
Examples:
# Production build (default)
bun run build
# Local development build
BURDENOFF_ENV=local bun run dev
# Alpha build
BURDENOFF_ENV=alpha bun run build
The extension never reads
BURDENOFF_ENVat runtime. End users can still override endpoints from the options page, but the defaults are baked into the bundle.
Endpoints
VibeControls is a workspace product, so workspace-scoped operations use the public workspace gateway and global/tenant operations use the public global gateway:
| Environment | Workspace gateway | Global gateway |
|---|---|---|
prod (default) | https://graphqlworkspaces.burdenoff.com/workspaces/graphql | https://graphql.burdenoff.com/global/graphql |
alpha | https://alphagraphqlworkspaces.burdenoff.com/workspaces/graphql | https://alphagraphql.burdenoff.com/global/graphql |
local | http://localhost:4003/workspaces/graphql | http://localhost:4000/global/graphql |
Authentication uses the OAuth2 device-code flow against the global gateway, identical to the VibeControls CLI.
Build
# Production build → dist/
bun run build
# Development build with watch
BURDENOFF_ENV=local bun run dev
# Development build (single run)
BURDENOFF_ENV=local bun run build:dev
# Clean dist/
bun run clean
# Build and package extension.zip
bun run zip
Load in Chrome
- Run
bun run build(orBURDENOFF_ENV=local bun run buildfor local dev). - Open Chrome and navigate to
chrome://extensions/. - Enable Developer mode.
- Click Load unpacked and select the
distfolder. - Open the extension popup and sign in with SSO.
- Select a workspace when prompted.
Test
# Run all tests
bun run test
# Run tests in watch mode
bun run test:watch
# Run with coverage
bun run test:coverage
# Production build smoke test
bun run smoke
# Full sanity check (format + lint + type-check + build + test + smoke)
bun run sanity
Code quality
bun run lint # ESLint
bun run lint:fix # ESLint with auto-fix
bun run format # Prettier
bun run format:check # Prettier check
bun run type-check # TypeScript
Project structure
src/
├── api/ # GraphQL clients and API modules
│ ├── auth/ # OAuth + workspace token flows
│ ├── graphql/ # GraphQL client with retry logic
│ └── *.ts # Entity API modules (agents, vibes, sessions, ...)
├── config/ # Environment resolution
├── core/ # Storage wrapper
├── features/ # Context menus, health, notes, search, WebSocket
├── types/ # TypeScript definitions
├── ui/ # Popup, options, side panel
├── background.ts # Service worker
└── content.ts # Content script
public/ # Manifest, icons, styles
tests/ # Jest unit tests
scripts/ # Build helpers and smoke tests
Typical user flow
- Install the extension and open the popup.
- Click Sign in with SSO to start the OAuth2 device-code flow.
- Approve the code in the browser tab, then return to the popup.
- Select a workspace from the list.
- Use the popup to see stats, recent vibes, and active sessions.
- Open the side panel (Ctrl+Shift+V / Cmd+Shift+V) to search, create vibes/sessions/notes, or chat with the AI assistant.
- Visit a GitHub repo or Jira ticket linked to a vibe to see the floating VibeControls badge.
Source
- Repository:
github.com/algoshred/vibecontrols-browser-extension - Published on the Chrome Web Store