{"repo":"outlmd/outl","free":true,"listed":false,"github":"https://github.com/outlmd/outl","clone":"git clone https://github.com/outlmd/outl.git","description":"Local-first outliner. Markdown is the source of truth. Sync that doesn't corrupt your tree when two devices edit offline","language":"Rust","stars":147,"topics":["markdown","notes-app","outliner"],"license":"MIT","category":"productivity","readme_excerpt":"outl Local-first outliner. Markdown is the source of truth. Sync that doesn't corrupt your tree when two devices edit offline. Inspired by Roam Research and Logseq. Tree CRDT sync ([Kleppmann et al. 2022][paper]), per-device append-only op log, IDs in a sidecar so the .md you see is the .md you wrote. - Why outl? → outl.app/docs/why-outl.html - Sync, done right: → outl.app/docs/sync.html - CRDT walkthrough: → outl.app/docs/crdt.html [paper]: https://martin.kleppmann.com/papers/move-op.pdf Install iOS beta on TestFlight: join here. Point the TUI at the same iCloud Drive container ( /Documents/ ) and both clients share a workspace. Android: a signed arm64 APK ( outl-android-arm64.apk ) rides every release. Sideload-only for now — not on Play, and each release is signed with a fresh key, so a new build means uninstalling the old one first (#171). - From source / channels: → getting started, homebrew Quick start Press ? for keymap, : for the command palette, Ctrl+P to fuzzy-jump. - Tutorial (15 min) - TUI manual - CLI reference - Markdown dialect - Shortcuts Coming from Logseq or Roam? The importers (Roam, Logseq, Obsidian — or auto to detect) resolve ((uid)) block refs and {{embed}} s into real outl block references, keep folded state, and translate each dialect. Everything touched is counted in the import report — run with --dry-run first to measure fidelity against your backup. Anything unresolvable stays as ((unresolved:UID)) for manual triage. Contributing - Developer setup ","default_branch":null,"files":null,"tree":[],"storefront":"/r/outlmd","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/outlmd/outl/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}