OrbyNode

Development Guide

Local development workflow for OrbyNode.

Stack

Do not use Next.js or another React meta-framework.

Repository layout

crates/core          shared config and paths
crates/daemon        binary entry point
crates/api           Axum routes, auth, gateway, embedded UI
crates/terminal      real PTY runtime
crates/realtime      event bus, replay, bounded sessions
crates/database      SQLite migrations and repositories
crates/auth          Argon2id, sessions, throttling, permissions
crates/agents        agent detection and Attention Center
crates/files         files, Git and worktrees
crates/services      ports, services and process snapshots
crates/nodes         remote-node identity and pairing
crates/notifications browser events and webhooks
crates/workflows     configuration-driven orchestration
web                  Vite + React + TypeScript client
docs                 project documentation and ADRs

Setup

git clone https://github.com/PotenFYR-Studios/OrbyNode.git
cd OrbyNode
(cd web && bun install)
cargo build

Run backend

cargo run -p orbynode-daemon

Defaults:

Run frontend

Build once and embed

(cd web && bun run build)
cargo run -p orbynode-daemon

Iterate against disk assets

(cd web && bun run build)
ORBYNODE_STATIC_DIR="$PWD/web/dist" cargo run -p orbynode-daemon

Vite dev server

(cd web && bun run dev)

Use the Vite proxy for local daemon requests.

Checks

Required before every PR:

cargo fmt --check
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace
(cd web && bun run check)
(cd web && bun run build)

Equivalent:

scripts/check.sh

Testing patterns

Database migrations

Migrations live in crates/database/src/lib.rs. Add a new numbered migration; do not edit an applied migration.

Local test database:

rm -rf /tmp/orbynode-dev
ORBYNODE_DATA_DIR=/tmp/orbynode-dev cargo run -p orbynode-daemon

Debugging

Use structured logs:

ORBYNODE_LOG_FORMAT=json RUST_LOG=debug cargo run -p orbynode-daemon

Inspect:

curl -fsS http://127.0.0.1:7676/health
curl -fsS http://127.0.0.1:7676/version

Release build

(cd web && bun install)
(cd web && bun run build)
cargo build --release --locked -p orbynode-daemon

Local release archive, checksum and SBOM:

scripts/release.sh <rust-target-triple>

Code standards

Frontend standards

Commit discipline