Files

Notesnook desktop screenshot

Notesnook Desktop

The desktop app is built using Electron & Typescript.

Downloads | Developer guide | How to build?

Getting started

Build instructions

Before you start, it is recommended that you read the contributing guidelines.

Setting up the development environment

Requirements:

  1. Node.js
  2. git
  3. NPM (not yarn or pnpm)

Before you can do anything, you'll need to install Node.js v16 or later on your system.

  1. clone the monorepo:
git clone https://github.com/streetwriters/notesnook.git

# change directory
cd notesnook
  1. Install dependencies:
# this might take a while to complete
npm install
  1. Run the webapp for desktop environment:
cd apps/web
npm run start:desktop
  1. In a separate terminal session, run the desktop app from the root of the project:
npm run start:desktop

Release mode

To run the app in release mode:

npm run staging -- --rebuild

This 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 never

Feel 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.

Developer guide

The tech stack

We try to keep the stack as lean as possible:

  1. Electron
  2. tRPC: for cross-communication between the web & desktop parts
  3. zod: for runtime typechecking
  4. yargs: for CLI argument parsing