Downloads | Developer guide | How to build?
Before you start, it is recommended that you read the contributing guidelines.
Requirements:
Before you can do anything, you'll need to install Node.js v16 or later on your system.
clonethe monorepo:
git clone https://github.com/streetwriters/notesnook.git
# change directory
cd notesnook- Install dependencies:
# this might take a while to complete
npm install- Run the webapp for desktop environment:
cd apps/web
npm run start:desktop- In a separate terminal session, run the desktop app from the root of the project:
npm run start:desktopTo run the app in release mode:
npm run staging -- --rebuildThis will compile and run the app in production mode but it won't generate any packages. To create the final packages, you'll have to run the following commands:
npm run release -- --rebuild
# For macOS
npx electron-builder --config=electron-builder.config.js --mac dmg --arm64 --x64 --publish never
# For Linux (AppImage)
npx electron-builder --config=electron-builder.config.js --linux AppImage:x64 AppImage:arm64 --publish never
# For Windows
npx electron-builder --config=electron-builder.config.js --win --publish neverFeel free to play around with the electron-builder command to get the packages you need. npx electron-builder --help is a great resource to learn different commands & platforms supported by electron-builder.
We try to keep the stack as lean as possible:
- Electron
- tRPC: for cross-communication between the web & desktop parts
- zod: for runtime typechecking
- yargs: for CLI argument parsing
