# 🪨 Lodestone Lodestone helps you navigate the Fediverse. It gives you a tool to quickly search through your favorite posts, and helps you rediscover the things you found relevant. ## Fediverse Software Compatibility The software is actively being tested against [Mastodon](https://docs.joinmastodon.org/) and compatible forks like [Hometown](https://github.com/hometown-fork/hometown/). The API surface that's used by this tool is quite small at the moment: - `POST /api/v1/apps` - `POST /oauth/token` - `GET /api/v1/favourites` It is tested to work with `Note` activities. Even though other activites are currently not tested, any effort to improve compatibility is welcome. ## Building a release Before anything, make sure JS dependencies are installed: ``` bash npm install ``` After that ``` bash npm run build ``` You can upload these files to any static file server, for example using `rsync`: ``` bash rsync -rsvP --delete-after --exclude js/cljs-runtime/ public/ user@server:some/directory ``` ## Development Just as when building a release, you need to ensure that JS dependencies are installed: ``` bash npm install ``` After that you can start a process that watches and continuously builds and reloads your app when the source code is changed: ``` bash npm run dev ``` I'd recommend setting up a better development environment and [integrating shadow-cljs deeply into your editor](https://shadow-cljs.github.io/docs/UsersGuide.html#_editor_integration). You can get a continuous build that hot-reloads your app like above, and a REPL that allows you to send and evaluate individual expressions from your editor. This allows you to inspect and modify state and trigger events as you are live-developing your application. If you set up Emacs + [CIDER](https://docs.cider.mx/cider/config/basic_config.html) this can be done by running: ``` txt M-x cider-jack-in-cljs ```