Thanks for your interest in contributing. This repo is the cloud desktop client for Notely: an Electron app that syncs with the Notely platform backend.
-
Install prerequisites:
- Node.js 20+
- A C++ toolchain (for native addon builds)
-
Install dependencies:
npm install
-
Build main/renderer/preload:
npm run build
-
Start the development app:
npm run dev
The Playwright E2E suite requires a valid Notely platform backend and a test account. Set these environment variables before running sync/UI tests:
export TEST_EMAIL=<test-account-email>
export TEST_PASSWORD=<test-account-password>
export TEST_USER_ID=<test-user-uuid>
export SYNC_API_URL=https://api.yourdomain.com # or your own backendTests that need these values will fail at load time if they're not set — there are no baked-in fallbacks.
Run the unit tests:
npm testRun the E2E suite (requires a built app):
npm run test:e2eOn Linux, set DEBUG_DB=true to bypass the OS keystore. Do NOT set this in production builds.
This repo does not ship a production release pipeline. The original maintainer builds signed releases via an internal GitHub Actions workflow that uses DigiCert (Windows) and Apple (macOS) code-signing credentials held outside this repo. If you want to produce your own signed builds, you will need to configure your own signing credentials in a fork and add a workflow under .github/workflows/.
The included .github/workflows/ci.yml runs lint, type-check, and unit tests only.
-
npm run type-checkpasses -
npm run lintpasses - Tests updated where applicable
- No credentials, private keys, or personal identifiers committed
- Commit messages follow the conventional format (
type: subject)
See SECURITY.md. Do not file security reports as public issues.