frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

Show HN: Opbox – CRDT based sync for text files on disk

https://www.opbox.dev/
6•sensodine•3h ago
Hi! I’m one of the founders of s2.dev, and recently have been hacking on opbox, which is an open-source daemon that turns directories of text files (code, markdown, etc) into collaborative, multi-player workspaces.

This started as a bit of an intellectual curiosity, to see if it was possible to do real-time sync at the filesystem level (i.e., in an editor-agnostic way).

The idea is pretty simple:

  - Opbox workspaces are roughly analogous to git repositories (and can be used alongside existing git repos, to share live changes between commits)
  - When the opbox daemon is running in a workspace (ob start), it listens for local filesystem events within its directory (writes, deletes, new files), and translates them into operations (the titular “op”) on shadow CRDT documents (Yrs) corresponding to each text file (as well as one doc for the namespace as a whole, which handles paths)
  - These shadow CRDT docs are maintained in a workspace-local sqlite db (Turso)
  - The ops, which represent diffs on a corresponding CRDT document, are then appended to a durable stream (S2) that acts as a shared journal for all sync participants
  - Opbox also reads from that journal, receiving ops from other participants, which are then used to update the local documents, first in the db, then by materializing them into actual files on disk
This has worked surprisingly well for sharing things like Obsidian graphs in real-time.

It’s most helpful in cases where you want the ability to edit local files from arbitrary editors, but still collaborate live. The experience is best from editors where you can configure an aggressive autosave policy, and where edits to an open file are reflected in the editor in a timely way.

To gain confidence in the correctness of the core opbox flows (particularly all the nuances around bidirectional sync) I invested in wiring up deterministic simulation testing using the turmoil library, which has been incredibly helpful (see the opbox-sim crate in the repo).

Show HN: Mcpsnoop – Wireshark for MCP (transparent proxy and live TUI)

https://github.com/kerlenton/mcpsnoop
42•kerlenton•5h ago•13 comments

Show HN: ContextCodeCache in Rust

https://github.com/colwill/ccc
6•colwont•1h ago•0 comments

Show HN: Bramble – Local-first password manager

https://github.com/flythenimbus/bramble
105•MegagramEnjoyer•1d ago•23 comments

Show HN: Theta-spec harness agnostic config surface

https://github.com/tamarillo-ai/theta-spec
3•ivanbelenky•1h ago•0 comments

Show HN: CLI that helps AI agents avoid vulnerable dependencies

https://github.com/clidey/deptrust
17•modelorona•2d ago•4 comments

Show HN: Kontext – Move an AI chat's full context to another AI in one click

https://github.com/anuragmerndev/kontext-ai
5•anuragmerndev•3h ago•1 comments

Show HN: ctx – Search the coding agent history already on your machine

https://github.com/ctxrs/ctx
63•luca-ctx•1d ago•37 comments

Show HN: Pulse v0.2.0

3•xerrs•1h ago•1 comments

Show HN: Opbox – CRDT based sync for text files on disk

https://www.opbox.dev/
6•sensodine•3h ago•0 comments

Show HN: Topics, Not Feeds

https://blogsreader.com
6•jdeibele•2h ago•1 comments

Show HN: Mlx-serve – LLM inference server for Apple Silicon, written in Zig

https://mlxserve.com/
2•ddalcu•1h ago•0 comments

Show HN: Maestro – scaffold Go microservices and keep them in sync

https://github.com/Zagforge-Org/maestro
2•anzedev•1h ago•0 comments

Show HN: How clanker are you? A reverse Turing test

https://howclankerareyou.com/
4•niklio•2h ago•1 comments

Show HN: Dockside – I turned unused space around the macOS Dock into a workspace

https://hachipoo.com/dockside-app
5•prajwalshetty•4h ago•2 comments

Show HN: StillUpTo – Keep track of the side projects if they are still alive

https://stillup.to/
3•hakanu•3h ago•0 comments

Show HN: Sharing LLM Artifacts with your team

https://github.com/danielpang/dropway
2•d_pang•2h ago•0 comments

Show HN: An AI-friendly CLI for public space data

https://www.npmjs.com/package/spacedata
2•oscarjpicazo•2h ago•0 comments

Show HN: Static Site Generator

https://github.com/MTBBK/OSMAN
2•MTBBK•3h ago•0 comments

Show HN: Pieces – Social network for people

https://try.piecesof.me/
57•domo__knows•2d ago•56 comments

Show HN: Pull Claude Code transcripts into your Codex session, and vice versa

https://contextify.sh/
5•bredren•4h ago•1 comments

Show HN: Auto-continue Claude Fable 5 the second your 5-hour limit lifts

https://github.com/wavever/CCLimitPing
2•wavever•3h ago•0 comments

Show HN: Track Token usage for major platforms,know your token flow

https://www.lifehacksgermany.com/en
3•1Kapish•3h ago•1 comments

Show HN: I ran 400 hours of interviews, so I built the tool I wished existed

2•ud0•3h ago•0 comments

Show HN: Make your terminal pulse orange when Claude Code needs input

https://github.com/rickardstureborg/claude-needs-input
3•rstureborg•3h ago•0 comments

Show HN: OM Core – multidimensional models without spreadsheet cell formulas

https://github.com/cloudcell/om-core
13•cloudcell•3d ago•3 comments

Show HN: zkGolf – Competitive optimization of formally verified circuits

https://zk.golf/
68•rot256•1d ago•11 comments

Show HN: Mycli 2.0

https://github.com/dbcli/mycli
2•drw•4h ago•0 comments

Show HN: Live hiring tracker for B2B SaaS, rereshed daily

https://tracker.mccoy.io/b2b-saas
2•jgafni•4h ago•0 comments

Show HN: Inkwell – An RSS reader for e-ink devices

https://kendal.codeberg.page/inkwell/
70•imkendal•1d ago•10 comments

Show HN: TaskPeace – a task queue my AI coding agents pull work from over MCP

https://taskpeace.com/
6•JulianQuinn•8h ago•5 comments