README keeps the pitch and short abstract; outline, architecture, influences, audience, and submission kit move to docs/.
3.0 KiB
3.0 KiB
Architecture at a glance — File > Protocol > App
One source of truth (your files), one network you own (the protocol), many lenses to read it (the apps).
FILE ───▶ PROTOCOL ───▶ APP
(own it) (share it) (read it — many lenses, one source)
┌──────────────────────────────┐
│ FILE — your notes │
│ Markdown in a Git repo │
│ Zettelkasten: notes + links │
│ note.md │
│ note.pub.md ◀── publish │
└───────────────┬──────────────┘
│ git push
▼
┌──────────────────────────────┐
│ remanso-cli (fork: Sequoia) │
│ local CLI or GitHub Action │
│ change-detect · img → blobs │
│ writes atUri back │
└───────────────┬──────────────┘
│ com.atproto.repo.createRecord
▼
┌──────────────────────────────────────────────────┐
│ PROTOCOL — your PDS (records you own) │
│ identity: did:plc:… + handle (plc.directory) │
│ addressed by DID + rkey: │
│ site.standard.document shared → reach │
│ space.remanso.note custom → rich │
└────────────┬─────────────────────────────────┬───┘
│ firehose / Jetstream │ listRecords (read)
▼ ▼
┌─────────────────────────┐ ┌────────────────────────────────┐
│ remanso-jetstream │ │ APP — many lenses, one source │
│ AppView (self-hosted) │ │ Remanso (remanso.space) │
│ Jetstream→SQLite→REST │──▶│ + Bluesky graph (getFollows)│
└─────────────────────────┘ │ apoena.dev (static site) │
│ Leaflet / any standard.site │
reuse the Bluesky graph ───▶│ Bluesky & other atproto apps │
app.bsky.graph.getFollows └────────────────────────────────┘
Self-hosted on Coolify (platform.apoena.dev) + Gitea (git.apoena.dev).
GitHub = push mirror.
The whole stack is self-hosted: Coolify (
platform.apoena.dev) runs the AppView and apps, Gitea (git.apoena.dev) hosts the code, with GitHub as a push mirror.