Skip to content

Contributing to Blank ​

Thanks for helping! Bug reports and ideas are best started as an issue. For code, fork the repository, create a branch and open a pull request against main. Commit messages are a single line of the form <type>: <summary>, e.g. fix: …, feat: … or docs: ….

Setup ​

Blank is a Tauri 2 app with a TypeScript + ProseMirror frontend in src/. You need bun, Rust and the Tauri prerequisites of your system.

sh
bun install
make dev        # run the app with hot reload
make check      # lint, format check and unit tests, same as the pre-commit hook

Run make to list all tasks. They wrap the scripts in package.json, so bun run <script> works just as well, e.g. on Windows without make.

End-to-end tests ​

The tests in e2e/ drive the real app using tauri-driver and WebdriverIO. They run on Linux only.

  1. Install the prerequisites: sudo apt install webkit2gtk-driver xvfb and cargo install tauri-driver --locked
  2. Build the app and run the tests: make test-e2e, or make test-e2e-headless without a display

Set E2E_SKIP_BUILD=1 to reuse an existing debug build. Set E2E_PORT to run on another port than 4444, e.g. next to a second checkout. Each spec file runs the app with a fresh, temporary profile, so your own documents and settings are left untouched.

Documentation ​

The website at fpurchess.github.io/blank lives in docs/ and is built with VitePress. Preview it with make docs-dev. If your change is visible to users, update the matching page in docs/guide/. After UI changes, regenerate the screenshots with make docs-screenshots (Linux, same prerequisites as the end-to-end tests).

VS Code with the Tauri and rust-analyzer extensions.