Local-first Tauri desktop · open source

Obsidian for vibe coding.

A calm, offline workspace for the markdown that steers your AI agents — typed, versioned, searchable, and assembled on demand.

Detecting your platform… View all releases Star on GitHub

The problem

The docs that steer your agent
deserve to be first-class.

CLAUDE.md, plans, constraints, ADRs, prompt snippets — they decide what your AI builds, yet they live as scattered files no tool treats seriously.

Scattered across a repo

  • Context docs untyped, mixed in with source
  • No idea how big a context payload really is
  • Re-pasting the same set of docs every task
  • Edits lost — plain .md has no history
  • Prompts buried in chat scrollback

A deliberate home in Bedrock

  • A typed Library grouped by doc type
  • Context Composer with a live token count
  • Saved, reusable bundles
  • Auto-snapshots + a real git timeline
  • A prompt board with connected docs

Everything in one calm window

Built for AI context — end to end.

Five things Bedrock does so you don't have to glue tools together.

Typed Library

Six doc types — Rules, Plans, Architecture, Decisions, Prompts, Notes — each a colour glyph, read from frontmatter or guessed from the filename, reassignable in a click.

Live filesystem sync

A debounced watcher with echo suppression: edits from your editor or git appear in ~1s, saving never loops, and your unsaved buffer is never clobbered.

Version history + git

Automatic, deduplicated snapshots in a hidden .bedrock/ sidecar. If the folder is a repo, your real git history merges into one timeline — word-level diff, one-click restore.

Context Composer

Tick docs, watch the live token count climb against a 200K window, then Copy or Hand off one provenance-tagged payload — and save it as a reusable bundle.

Prompt board

A kanban for prompts — Idea, To do, In progress, Done. Cards carry an instruction with {{variables}}, connected docs, and a run target. Run one, or a whole column.

⌘K palette & graph

Fuzzy open, commands, and full-text search behind one ⌘K. [[wikilinks]] with a backlinks panel, and a force-directed graph coloured by doc type.

Context Composer

Assemble context.
Count tokens. Hand off.

Tick the docs an agent needs and watch the meter fill against a 200K window. Every file is prefixed with a ## path provenance header, then it's one move to copy or hand off.

  • Per-doc and total token counts, live
  • Save reusable bundles per workspace
  • A reserved indigo, so "assemble" always reads as its own action
Context Composer bundle · agent-onboarding
rules/CLAUDE.md2,140
architecture/overview.md8,910
decisions/0007-ports.md3,420
notes/standup.md1,180
Context payload62,470 / 200K · 31%

Version history

Every save, snapshotted.
Your git history, merged in.

Bedrock writes deduplicated, capped snapshots on every save. If the folder is a git repo, your commits merge into the same timeline — so you scrub one history, diff word-by-word, and restore in a click.

  • Restore snapshots current state first — nothing is lost
  • Stage & commit from inside the app
History · rollout-plan.md .bedrock/history + git
Working copy
just now · unsaved
Snapshot — autosave
2m ago · local
commit a3f1c9 — “flag the watcher”
1h ago · git
Snapshot — manual ⌘S
3h ago · local
Ship the watcher on by defaultbehind a flag, then enable echo suppression so external edits appear within ~1s.

Prompt board

Prompts you can see,
connect, and run.

A kanban gets your prompts out of chat scrollback. Each card holds an instruction with {{variables}}, the docs it needs (token-counted), and a target — run one card, or a whole column with auto-advance.

  • Targets: Claude CLI · API · Gemini · LM Studio · Clipboard
  • Writing assist drafts the instruction for you
Prompt board 4 columns · auto-advance
Idea2
Audit error paths
3 docs · 9.1K
Write ADR: tokenizer
1 doc · 2.0K
To do1
Refactor watcher
4 docs · 14K CLI
In progress1
Migrate ports
2 docs · 11K API
Done1
Seed templates
1 doc · 1.2K

Local-first & private

Your files. Your disk. No phone-home.

Bedrock reads and writes only the folder you open. There are no accounts, no cloud sync, and no telemetry.

No accounts

Nothing to sign up for. The app never phones home.

Plain markdown

Your docs are ordinary .md files you can open anywhere.

Offline by default

History & bundles live in a gitignored .bedrock/ sidecar.

Your keys only

Network happens only when you run a prompt, with your key.

Make it yours

Five themes, four accents.

Persisted across windows and launches — plus composer placement, editor font size, and a reduced-motion toggle.

SlateDark
CarbonDark
MidnightDark
PaperLight
CoolLight

Bring your own model

Claude, Gemini, or fully local.

Six targets, all opt-in, all your keys. Clipboard is always on; LM Studio never leaves your machine.

C

Claude

Anthropic · CLI · Terminal · API

Run headless Claude Code that can edit files, an interactive Terminal session on macOS, or the hosted API — your choice per card.

CLITerminalAPI
G

Gemini

Google · API

Point a card's target at the Gemini API with your own key and hand off the assembled context in one move.

API
L

LM Studio

Local server · offline

A local model that never touches the network — perfect for writing assist and drafting prompts with zero data leaving your machine.

100% localClipboard

Stay in the loop

Release notes, no noise.

Get an email when a new build ships or a major feature lands. A few times a quarter, never more — and never your inbox sold.

Local-first to the core: we only store your address to send these updates. Unsubscribe in one click.

You’re on the list — watch for a confirmation email.

Free & open source

A home for the docs
that drive your AI.

macOS · Windows · Linux — Tauri v2, no accounts, no cloud.