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
npm install
npm run make-index-files
npm run dev
# In a second shell
cd main
npm install
npm run dev
cd renderer
npm install
npm run make-index-files
npm run build
cd ../main
npm run 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
- Commit all changes
- Bump version in
main/package.json
npm i
in renderer & main (updatepackage-lock.json
with new version)npm run build
in renderer & main- Stage & commit bumped version
git push
git tag vX.X.X
git push origin vX.X.X
- Open release page, create release with tag & title as text of tag & save as draft