an attempt to make a lightweight, easily self-hostable, scoped bluesky appview
TypeScript 100.0%
5 1 0

Clone this repository

https://tangled.org/whey.party/skylite
git@tangled.org:whey.party/skylite

For self-hosted knots, clone URLs may differ based on your setup.

readme.md

(wip)(not done)(pre alpha) skylite (temporary name probably)(test thing)#

an attempt to make a lightweight, easily self-hostable, scoped appview (kinda like fedi instances, so that means users need to register to an instance to have the content they should see be indexed) using:

this uses XRPC server tooling and codegen so the repo is kinda large despite not being functional at all

currently the state of the project is:

  • db:
    • is not ready but ive started working on it
    • db schema is kinda there but still iffy on the insertion (kysely with better-sqlite3 or just use raw sql queries with deno jsr:@db/sqlite ?) (or maybe should it not use sqlite at all?)
  • indexing:
    • the meta framework of the parsing incoming data is kinda done (good enough for MVP but i would like more indexing provenance)
    • but the actual logic for index handling to the db is not done
  • registration:
    • user registration is not there yet, the wrapper around listRecords exists though (for onboarding/backfill)
  • XRPC Server:
    • setup is done, just need to actually implement all 80+ routes
    • got auth working recently but havent hooked up the validator to the xrpc method/route handler so it can access who requested it

there is still a lot of design work i havent done regarding stuff like:

  • moderation
  • indexing provenance
  • registration/unregistration APIs
  • cross instance backfills/viewing
  • also im pretty sure im not listening to all of the app.bsky.* records that i should be listening to but i havent re checked it even though i already imported the entire lexicon directory from the bsky atproto git repo but i just havent checked yet
  • and more

still very early this does not run on any bsky clients yet practically none of the api routes have been implemented yet