Browse the documentation

Introduction

Command-Line Options

Project Notes accepts a small set of command-line options, primarily for development and testing. Running Project Notes with --help (or -h) opens a dialog listing the available options:

Option Description
--help, -h Show the command-line options help dialog and exit.
--developer-profile <PROFILENAME> Run an isolated settings/database/log profile in a named sub-folder. See Developer Profile below.
--test-supabase Connect cloud sync to the Project Notes Pro test environment instead of production. Intended for development only.

Developer Profile

The --developer-profile command-line argument lets you run a completely isolated instance of Project Notes alongside your production installation. It is intended for plugin developers and testers who need to experiment without touching their real data.

What It Isolates

When --developer-profile PROFILENAME is specified, Project Notes changes three things:

Resource Production Developer profile
Application settings ProjectNotes organization key ProjectNotesPROFILENAME organization key
Database file <AppData>/ProjectNotes.db <AppData>/PROFILENAME/ProjectNotes.db
Log files <AppData>/logs/ <AppData>/PROFILENAME/logs/
Organization domain projectnotespro.com PROFILENAME.projectnotespro.com

Both the settings and the database are stored in your platform's standard app-data location. The developer profile places its database and logs in a named subfolder, so the two instances never interfere with each other.

Usage

# macOS / Linux
ProjectNotes --developer-profile dev

# Windows
ProjectNotes.exe --developer-profile dev

Replace dev with any short alphanumeric name. The same name must be used each time you launch that profile so the settings and database persist between sessions.

Testing Cloud Sync

If you also need to exercise cloud sync without touching production data or your real Project Notes Pro account, add --test-supabase alongside --developer-profile:

ProjectNotes --developer-profile dev --test-supabase

This routes cloud sync to the Project Notes Pro test environment instead of production, and works the same way for the QML desktop app (ProjectNotesQml) and Project Notes Mobile. Combine it with a developer profile so the isolated database's synced records never mix with production data.

Typical Workflow

  1. Launch with --developer-profile dev (or whatever name you chose).
  2. A fresh, empty database is created in the dev/ subfolder of the app-data directory on first run.
  3. Populate it with test data — imports, plugin runs, XML files, etc. — without touching the production database.
  4. When you are done, simply close the window. All test data stays in the profile-specific files.

Notes for Plugin Developers

Plugins see the profile name as app.profile. Use it to turn on extra logging during development:

import { app, log } from "projectnotes";

if (app.profile)
    log.info("Running under developer profile " + app.profile);

It is an empty string when Project Notes runs without a developer profile. Each profile also keeps its own plugin settings.

Suggest an edit on GitLab