v0.1 — desktop shell available

AI agents write code. Fabriq keeps every change visible.

A desktop workspace shell for teams using OpenCode and Claude Code. See what your agent wants to change, confirm before it happens, and ship with a full audit trail.

A fabriq is a workshop—where your intent and the agent's actions get woven together, seams visible.
Open sourcemacOS · Windows · LinuxMIT license
The problem

AI agents write code in seconds. You're still accountable for every line.

Every modern IDE gives you a chat box. Almost none give you a shell that respects the boundary between you and the agent.

Where

Where is the agent allowed to write?

Your project has two kinds of state: long-lived workspace assets (specs, contracts) and short-lived feature worktrees. Most tools give agents full filesystem access — one wrong capability call and these surfaces cross-contaminate. By the time you notice, it's already in the repo.

What

What is it about to change?

Agents run tools, not rituals. A file write or git push happens silently, without your review. You see the diff after the fact — never the intention beforehand. Destructive actions shouldn't be invisible.

Why

Why did this end up in the repo?

Was that config extracted from your codebase? Hallucinated by the LLM? Copied from a forum thread? With current tools, every change arrives without provenance. You have to trust the agent's word — and trust isn't auditability.

How Fabriq changes the game

Legible by default. Reversible by design.

Fabriq doesn't change how agents work. It changes how their work reaches your repository.

Without Fabriq
  • Agent has unrestricted filesystem access — workspace and feature surfaces not separated
  • File writes and git operations execute silently, without your review
  • You discover what changed when you read the diff — after it's already landed
  • No record of why decisions were made or where they came from
With Fabriq
  • Two-dimensional shell enforces workspace asset vs. feature worktree boundary
  • Destructive actions queue as confirmation prompts with full payload visibility
  • You review what will change, approve or reject — before anything hits disk
  • Every decision logged with sourced, validated evidence — provable by default
Why Fabriq

A shell that respects the boundary between you and the agent.

Agents are fast. Verification should be faster. Fabriq makes every write legible — so you click with eyes open, not after the fact.

Two surfaces, zero cross-writes

Workspace assets and feature worktrees live on separate dimensions. The shell never lets an agent touch the wrong one by accident.

Confirm before commit

Destructive capabilities surface as explicit prompts — you see the payload, approve or reject, and nothing hits disk until you say so.

Audit trail by default

Every agent decision leaves evidence. Cognitive artifacts are validated against sources before they're committed to your workspace.

Features

Every capability, surfaced with integrity.

A thin shell over a deterministic engine. Nothing reaches your repository without being typed, validated, and confirmed.

No escape hatches

Every state change goes through a typed, validated capability channel. If it's not in the allowlist, it doesn't execute. Prompt injections can't mutate your disk.

Read the ADR

Two surfaces, one shell

Workspace assets and feature worktrees are enforced as separate dimensions — at the routing level, the IPC layer, and in the UI. The agent can't accidentally cross-write.

Read the ADR

What the agent extracts, the engine verifies

LLMs scan your codebase for cognitive artifacts; the deterministic engine revalidates every claim against source before committing. Source mismatch means artifact rejected.

Read the ADR

See it before it happens

Destructive capabilities surface as confirmation prompts with full payload visibility. You review, approve, or reject. Reversal is first-class, not a post-mortem.

Extend with confidence

Plugins register through a validated manifest at load time — routes, panels, backends. The shell knows what's loaded before anything executes. No surprises.

Bring your own agent

One ACP stdio JSON-RPC bridge works with OpenCode, Claude Code, or any ACP-compatible agent. No PTY shims. Share one agent across multiple UI surfaces.

From the blog

Latest articles

Architecture notes, ADRs, and engineering deep-dives.

Ship AI-generated code you can actually defend.

Point Fabriq at your workspace, attach OpenCode or Claude Code, and review every capability call before it touches disk. Free, open source, and built for teams who ship with eyes open.