There are 2 main parts of the app:
- renderer: this is the HTML/Javascript-based UI rendered within the Electron container. This runs Vue.js, a React-like Javascript framework for rendering front-end.
- main: includes the main app (written in Electron). Handles keyboard shortcuts, brings up the UI and overlays.
Note that these 2 both depend on each other, and one cannot run without the other.
The most up-to-date instructions can always be derived from CI:
Here's what that looks like as of 2023-12-03.
cd renderer
yarn install
yarn make-index-files
yarn dev
# In a second shell
cd main
yarn install
yarn dev
cd renderer
yarn install
yarn make-index-files
yarn build
cd ../main
yarn build
# We want to sign with a distribution certificate to ensure other users can
# install without errors
CSC_NAME="Certificate name in Keychain" yarn package