This is a monorepo (powered by Turborepo) consisting of the following:
- Apps:
frontend
: a (mostly) static website built with Astro, TailwindCSS and Svelte; it uses websockets to show what I'm coding in real timeserver
: a simple WebSockets server that serves as the bridge between my text editor and thefrontend
. Built with uWebSocketsplugin
: a neovim plugin that sends some info about what I'm coding to the server via WebSockets. Built with Node.js, neovim/node-client and esbuild
- Packages:
eslint-config-custom
: a custom eslint config shared by all the other packagestsconfig
: the base TypeScript config which all the apps inherit fromci
: this is where the CI/CD pipelines for all the other things live, built with Dagger (maybe it should be an app instead of a package?)
The whole thing uses MessagePack as the data exchange format.