Skip to content

OpenHackersClub/weaver

Repository files navigation

weaver

A TypeScript rich-text editor with LoroDoc as the single source of truth, designed for AI agents as a first-class collaborative peer.

Docs sitehttps://weaver-docs.pages.dev (default CF Pages subdomain; weaver.openhackers.club once DNS is in place). Playground — to come; spec at specs/playground.md.

Status: pre-implementation. Start with specs/prd.md for the product brief, then drill into specs/architecture.md, specs/access-control.md, specs/hard-problems.md, specs/wasm-strategy.md, specs/ai-agent.md. specs/adr/ holds individual decision records; specs/comparison.md compares weaver with other editors. specs/lexical-parity.md catalogs the Lexical feature subset we commit to; specs/benchmarks.md defines the perf bar.

Design pillars

  • LoroDoc is truth. No parallel state model; history is powered by Loro change events with peer-scoped undo.
  • Local-first. OPFS-persisted, offline-first; syncs through Cloudflare Durable Objects.
  • Headless core. No React or DOM dependency in the editor core.
  • Plugin architecture built on Effect-TS Layer composition.
  • AI agents as LoroDoc peers — not a bolted-on chat panel.

Stack (proposed)

  • Loro (Rust-native CRDT, WASM build) — CRDT core, client + server. See ADR 0001.
  • wa-sqlite + OPFS — local read-model mirror for queries / FTS / agent context
  • Effect-TS — commands, plugins, AI workflows, sync orchestration, and ephemeral UI state via SubscriptionRef (ADR 0007)
  • React — chrome (toolbars, panels) only; editor surface is imperative
  • Cloudflare Durable Objects + R2 + D1 — sync, storage, access control

See specs/prd.md for the product brief and specs/architecture.md for the technical rationale and tradeoffs.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors