Make sure you have setup the prerequisites for tauri. That should get you most of the way towards the requirements for building spyglass.
A quick check-list of things you should have installed before continuing. At the time of writing, you should be able to see similar versions below:
$> rustc -V rustc 1.61.0 (fe5b13d68 2022-05-18) $> cargo --version cargo 1.61.0 (a028ae42f 2022-04-29) $> npm --version 8.10.0
$>represents your command line prompt.
Finally, let's setup the application dependencies. If you're running on Linux, run this first for some linux specific system dependencies.
$> make setup-dev-linux
And finally run these commands to setup the server/client dependencies.
$> make setup-dev
Run the following to build the application:
$> make build-release
This will kick off a release build for your platform. Depending on your OS, this
will produce a
msi (windows) or
appimage (linux) file.
When running in development, it is best to have the spyglass client & backend running in two different terminal tabs/windows. Both will have their own logs that you'll need to watch.
First, build & run the backend service:
$> cargo run -p spyglass
Second, build & run the client
$> cargo tauri dev
If you're actively working on the theming of the application itself, it's best
tailwind in watch mode so that the CSS can be continually checked &
$> npx tailwindcss -i ./public/input.css -o ./public/main.css --watch
If you're working on the default plugins, setup the
Makefile to point to the spyglass dev/debug data folder. This will be
one of the following:
To deploy plugin changes, run the following and restart your dev spyglass instance to reload the plugins
$> make build-plugins-dev