Nodus
Developers

Local development

Install, run the stack, and the common workspace scripts.

Install

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

See Prerequisites for toolchain versions.

Run the stack

# Relay + Postgres + Redis
cd services/relay && docker compose up -d && go run .

# Web client
pnpm dev                # runs relay + web together from the repo root
# or: pnpm --filter web dev

The web client runs on :3000; the Relay on :8080.

Workspace scripts

ScriptPurpose
pnpm buildBuild all TypeScript packages/apps (Turbo)
pnpm devRun the Relay + web client concurrently
pnpm lintLint all packages (Turbo)
pnpm formatPrettier over **/*.{ts,tsx,md}
pnpm check-typesTypecheck all packages (Turbo)
pnpm testTypeScript + Go + Rust test suites

Service commands

go -C services/relay test ./...                                   # Relay
cargo test --manifest-path services/storage-node/Cargo.toml       # Storage Node

Toolchains

  • rust-toolchain.toml pins the Rust channel (with rustfmt/clippy).
  • services/relay/go.mod sets the Go version.
  • package.json sets engines.node and packageManager: pnpm.

On this page