Everything on this page starts from a checkout of the repository:
git clone https://github.com/zbejas/sensus.git sensus
cd sensus
Requirements
- Linux or macOS on x86_64 or aarch64.
- Bun ≥ 1.4.2 to run from source and to build the standalone binary. The 1.4.1 bundler
emits a binary that fails at startup;
bun upgradefixes it. - Node.js ≥ 22.12 only if you build the website.
The release installer needs none of these: shipped binaries embed the runtime. See Install if you would rather not build.
Run from source
bun install
bun run dev
Build the standalone binary
bun run build # dist/sensus
bun run build --outfile /tmp/sensus
The result embeds the runtime and its dependencies, so it runs on a machine with neither Bun
nor node_modules. On macOS the build ad-hoc signs the binary so the system will launch it.
Build and install
./scripts/build-install.sh # asks: this user (~/.local/bin) or all users (/usr/local/bin)
./scripts/build-install.sh -g # install system-wide without asking
From a checkout you can also install a prebuilt release instead:
./scripts/install-release.sh
Run the tests
bun run typecheck # types only
bun run test:unit # unit suite: the day-to-day loop
bun run test:smoke # boots the real app in an outer terminal driver; reaps stale processes first
bun test # the full suite, unit and smoke
The smoke suite drives the real TUI, so it needs a working terminal environment, and it is the final gate for changes that affect runtime behavior.
The website
The landing site is its own project:
cd site
bun install
bun run dev # http://localhost:4321
bun run check # types
bun test # installer-function tests
bun run build # production build
Website builds need Node.js ≥ 22.12.
Engineering docs
The contributor knowledge base lives in the repository at github.com/zbejas/sensus/tree/main/docs. Start with the architecture overview, then the doc for the subsystem you are touching; each doc names the files it owns and the invariants to keep.
Next steps
- Install: the prebuilt path instead of building
- CLI: the commands the binary ships
- Troubleshooting: build and install failures
- Changelog: release notes