Thanks for your interest in contributing! Spool is early-stage and we welcome all kinds of help.
git clone https://github.com/spool-lab/spool.git
cd spool
pnpm install
pnpm devbetter-sqlite3 is used from both Node-based tests and the Electron app. Rebuild it for the runtime you are about to use:
pnpm run rebuild:native:node # Node / vitest / core tests
pnpm run rebuild:native:electron # Electron app / Playwright e2eIf you hit a NODE_MODULE_VERSION mismatch, rerun the matching rebuild command and try again.
To test a production build of the app locally — builds, installs to /Applications/Spool.app, and launches it:
pnpm dev:install:macRequires Apple Silicon. The script quits any running Spool instance before replacing the bundle and strips the quarantine attribute so Gatekeeper doesn't block the unsigned local build.
packages/
app/ Electron macOS app (React + Vite + Tailwind)
core/ Indexing engine (SQLite + FTS5)
cli/ CLI interface
landing/ spool.pro website
- Fork the repo and create a branch from
main - Make your changes
- Run
pnpm testto make sure nothing is broken - Open a pull request
- Check Issues for bugs and feature requests
- Small fixes (typos, docs, UI polish) are always welcome — no issue needed
- For larger changes, open an issue first so we can discuss the approach
- No linter config yet — just match the surrounding code style
- Commit messages:
feat:,fix:,docs:,ci:,refactor: