VibeHub
VIBEHUB FOR CODING AGENTS

Stop managing chats. Manage the work.

Turn every coding request into a Ticket with your context.

GitHubSource and docs

Add dark mode to this task app. Start this with VibeHub.

THE REAL VIBEHUB VIEW

One request becomes visible work, with the exact Context needed to do it.

Ticket WorkbenchDark mode feature
2 done2 ready1 blocked

Drag empty canvas to move the graph. Select a Ticket to inspect it.

TICKETS

What is a Ticket?

A Ticket is an executable contract for an Agent: what to achieve, what it depends on, which Context applies, and how completion will be judged.

GENERATED TICKET.vibehub/tickets/vh-204.yamlACTUAL SCHEMA
{
  "acceptance": [
    {
      "acceptance_id": "follows-system-theme",
      "criterion": "Without a manual choice, the app follows the operating-system theme."
    },
    {
      "acceptance_id": "applies-user-override",
      "criterion": "A light or dark override applies immediately and survives reload."
    },
    {
      "acceptance_id": "human-chooses-palette",
      "authority": "human",
      "criterion": "The owner chooses the final dark palette."
    },
    {
      "acceptance_id": "avoids-theme-flash",
      "criterion": "The initial render never flashes the incorrect theme."
    }
  ],
  "constraints": [
    "Reuse the existing settings surface and semantic theme tokens.",
    "Keep the final palette choice under human authority."
  ],
  "context": "The task app needs system-aware dark mode. Existing product Context says a deliberate user choice wins over the system default.",
  "context_refs": [
    {
      "ref": ".vibehub/rooms/product/decision-manual-preference-wins.yaml",
      "purpose": "Binding precedence rule for the selected theme."
    },
    {
      "ref": ".vibehub/rooms/product/contract-theme-preference.yaml",
      "purpose": "Persistence and immediate-application behavior."
    }
  ],
  "kind": "ticket",
  "maturity": "firm",
  "outcome": "Ship system-aware dark mode with one explicit human palette choice.",
  "provenance_refs": [
    "conversation:demo-dark-mode-request"
  ],
  "relations": [
    {
      "type": "depends_on",
      "target_ticket_id": "vh-201",
      "rationale": "Semantic theme tokens must exist first."
    },
    {
      "type": "depends_on",
      "target_ticket_id": "vh-202",
      "rationale": "Preference persistence must exist first."
    }
  ],
  "schema_version": 1,
  "ticket_id": "vh-204"
}
This file becomes the selected VH-204 view.Outcome, dependencies, bound Context, Acceptance, and human authority stay inspectable.
Ticket WorkbenchDark mode feature
2 done2 ready1 blocked

Select a Ticket to trace its complete causal cone and inspect its contract.

ROOMS + CONTEXT

How is context built up?

Rooms are durable product boundaries. Decisions, constraints, and contracts accumulate there; a Ticket references only what it needs, and accepted Outcomes can return new learning.

PRODUCT ROOM.vibehub/rooms/product/room.yamlROOM
{
  "anchors": [
    "src/theme/",
    "src/settings/"
  ],
  "boundary": "Product behavior, durable user choices, and the contracts that govern them.",
  "description": "The durable product knowledge needed by theme and settings work.",
  "kind": "room",
  "room_id": "product",
  "schema_version": 1,
  "stale": false
}
01Capture

A durable choice is made.

02Room

Context gets a stable home.

03Ticket

context_refs bind only what matters.

04Return

Accepted learning compounds Context.

Ticket WorkbenchDark mode feature
2 done2 ready1 blocked

Select a Ticket to trace its complete causal cone and inspect its contract.

TRUST

Evidence before Outcome.

The graph does not call work complete because the Agent stopped talking. Evidence is attached to Acceptance first; an independent Outcome decides what actually happened and returns durable learning to Context.

AcceptanceEvidenceOutcomeContext
Ticket WorkbenchDark mode feature
3 done2 ready

Select a Ticket to trace its complete causal cone and inspect its contract.

GIT + GITHUB

Your work stays yours.

VibeHub keeps Tickets, Context, Evidence, and Outcomes beside your code. Git carries the history; GitHub provides review and collaboration.

01Repository

The development record lives beside the code.

02Git

Every change stays reviewable and reversible.

03GitHub

People and Agents share the same development history.