Nodus
Getting Started

Prerequisites

The tooling you need before running or developing Nodus.

Nodus mixes three language ecosystems in one repository. You only need the toolchains for the parts you intend to run.

Required by task

ToolVersionNeeded for
Node.js + pnpmNode ≥ 20, pnpm 11Web client, TypeScript packages, docs
Ruststable toolchain + cargoStorage Node
Go≥ 1.22Relay
DockerCompose v2Redis (and the deploy unit) for the Relay

The repository pins exact toolchains where it matters: package.json sets engines.node, rust-toolchain.toml pins the Rust channel, and services/relay/go.mod sets the Go version.

Install the JavaScript workspace

From the repository root:

make install-hooks   # gofmt/rustfmt/clippy pre-push hooks
pnpm install         # apps/* and packages/*

make install-hooks copies scripts/pre-push into .git/hooks/, which runs gofmt checks, cargo fmt --check, and cargo clippy -D warnings before you push.

Verify your setup

pnpm test        # TypeScript, Go, and Rust test suites

pnpm test requires Node/pnpm, Go, and Cargo all on your PATH. Relay tests that need external services are skipped unless you provide TEST_REDIS_URL (see Testing).

Next step

Ready? Continue to the Quickstart.

On this page