Skip to content

Getting Started

Christian Relf edited this page Jul 16, 2026 · 1 revision

Getting Started

There are no installers yet. Dandelion is a working developer preview, so today the only way to run it is to build it from source. It takes about three commands.

Requirements

  • Node 20 or newer
  • git
  • A normal desktop session (Windows, macOS or Linux)

Build and run

git clone https://github.com/ChristianRelf/Dandelion.git
cd Dandelion

npm install          # install dependencies
npm run rebuild      # rebuild better-sqlite3 for Electron's ABI (once, after install)
npm run dev          # launch the browser with hot reload

npm run rebuild is not optional and not a one-off quirk of your machine. Dandelion stores history, bookmarks and settings in SQLite via better-sqlite3, a native module that must be compiled against Electron's ABI rather than your system Node's. Skipping it produces a NODE_MODULE_VERSION error on first launch — see Troubleshooting.

Making your own build

npm run dist         # package installers with electron-builder

This produces a package for the platform you run it on. These are unsigned builds, so your OS will warn about an unidentified developer.

First run

Dandelion opens on the new tab page with a vertical tab sidebar.

  • Press Ctrl+K / ⌘K — this is the fastest way to find everything. Every command and open tab is one fuzzy search away.
  • The address bar takes URLs and searches, and also does arithmetic and unit conversion offline — type 12 * 7 or 20 miles in km.
  • Settings (Ctrl+, / ⌘,) is searchable; type what you want rather than hunting through tabs.

Profiles and workspaces

These are two different things, and the difference matters:

  • A profile is the real storage boundary — its own cookies, passwords, permissions and cache, backed by a separate Electron session partition. Data does not leak between profiles.
  • A workspace is an Arc-style grouping of tabs within a profile, with its own accent colour. Workspaces are organisation, not isolation.

If you want two logins to the same site to coexist, you want two profiles, not two workspaces.

Useful scripts

Script Description
npm run dev Launch with hot-reloading main, preload and renderer
npm run build Type-safe production bundle (out/)
npm run rebuild Rebuild native modules against Electron
npm run typecheck Type-check the Node and Web projects
npm run lint ESLint
npm test Vitest unit + component tests
npm run test:e2e Playwright end-to-end (builds first)
npm run dist Package installers with electron-builder

Next

Clone this wiki locally