FerryDocs
ContributingTesting

Before you push

Run the checks of each part that you changed: Rust, the dashboard and the docs.

Edit on GitHub
crates/Rust codeweb/the dashboardA commandflag, route, DTOcargofmt, clippy, testnpm in web/test, lint, buildnpm in docs/generate, build
What you changed gives what you run

Rust

Terminal
cargo fmt --all --check
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace

If your change touches Docker, builds, the proxy or the engine, also run FERRY_E2E=1 cargo test for the crates that you changed.

Dashboard

If web/ changed, run these commands in web/:

Terminal
npm test
npm run typecheck
npm run lint
npm run build

Docs

If a command, a flag, a route or a changed, run these commands in docs/:

Terminal
npm run generate
npm run build

If tokens.css changed

The dashboard and the docs share web/src/styles/tokens.css. Build the two projects again.

On this page