Contributing to Fluid
May 27, 2026 ยท View on GitHub
Development setup
Prerequisites
- Node.js >= 22
- Enable Yarn via Corepack:
corepack enable - git
- (Windows only) Ubuntu WSL
Initial configuration
git clone git@github.com:fluid-org/fluid.git
cd fluid
./script/setup/dev-setup.sh
yarn install
Building
yarn workspace @fluid-org/fluid build
This compiles PureScript, bundles the Fluid runtime, and produces output-es/ (ES module output).
Running websites locally
The websites are SvelteKit apps under website/. To run one in dev mode:
cd website/article
yarn dev
For a production-like preview:
yarn build && yarn preview
Testing
PureScript unit tests
yarn workspace @fluid-org/fluid test
Website tests (Puppeteer)
Tests all SvelteKit websites with Puppeteer (Chrome and Firefox):
./script/test-website-all.sh
Or test a single website:
cd website/article
yarn test
Browser tests
yarn workspace @fluid-org/fluid test-browser
Opens a browser window; check the JavaScript console for test results.
Publishing to npm
From the monorepo root:
yarn workspace @fluid-org/fluid build-publish
Bumps the patch version, commits, tags vX.Y.Z, builds in production mode, stages the article website, and publishes to npm. Version tracks milestone (e.g. 0.12.x for milestone fluid 0.12). After it succeeds, push manually:
git push && git push --tags
Requires an npm automation token in ~/.npmrc (bypasses 2FA):
//registry.npmjs.org/:_authToken=npm_...
VS Code
- Install the PureScript IDE extension
- In extension settings, select
Add Npm Path - Avoid having PureScript installed globally
Windows users:
- Launch VS Code from the Ubuntu (WSL) terminal
- Install the WSL extension
Workflow
See CLAUDE.md for the development workflow, including branching strategy, issue lifecycle, and milestone management.