Rust-backed Visulima tooling: vis task runner, MCP server, secret scanner, and terminal UI
Overview
Rust-backed tooling for the Visulima ecosystem: a task runner, an MCP server, a secret scanner, and a terminal UI. ![typescript-image][typescript-url] ![mit licence][license] ![Chat][chat] ![PRs Welcome][prs-welcome] This repository holds the packages that compile Rust code into Node.js native addons through NAPI-RS. They were split out of visulima/visulima so their Rust builds and tests no longer slow down the rest of the monorepo. Every package is still standalone. Install the one you need, and every other @visulima/* dependency comes from npm. The native binding for your platform is installed automatically through optionalDependencies. Each package's README covers its own API. Requirements: Node.js ^22.14.0 || >=24.10.0, pnpm 11.28.2, and a stable Rust toolchain (rust-toolchain.toml pins the channel). - Build a package's native binding with its build:native script. Use build:native:debug for faster local iteration.
README
Visulima Vis
Rust-backed tooling for the Visulima ecosystem: a task runner, an MCP server, a secret scanner, and a terminal UI.
What is this?
This repository holds the packages that compile Rust code into Node.js native addons through NAPI-RS. They were split out of visulima/visulima so their Rust builds and tests no longer slow down the rest of the monorepo.
Every package is still standalone. Install the one you need, and every other @visulima/* dependency comes from npm.
Packages
| Package | Description | npm |
|---|---|---|
@visulima/vis |
Monorepo dev toolkit: task runner, remote caching, security scanning, git hooks, and AI agent hooks. | |
@visulima/vis-mcp |
Model Context Protocol server that exposes vis tooling to AI agents over stdio. |
|
@visulima/task-runner |
Task runner with caching for monorepo workspaces. | |
@visulima/task-runner-client |
Zero-dependency client for giving task-runner cache-correctness hints from inside a task. |
|
@visulima/secret-scanner |
Fast secret and credential scanner, a Rust port of gitleaks detection. | |
@visulima/tui |
React terminal UI library with a native Rust diff engine and an Ink-compatible API. |
Quick start
npm install @visulima/vis
npx vis --help
The native binding for your platform is installed automatically through optionalDependencies. Each package’s README covers its own API.
Development
Requirements: Node.js ^22.14.0 || >=24.10.0, pnpm 11.28.2, and a stable Rust toolchain (rust-toolchain.toml pins the channel).
pnpm install
pnpm -r run build:native # Rust bindings (release)
pnpm -r run build
FORCE_COLOR=3 pnpm -r run test
- Build a package’s native binding with its
build:nativescript. Usebuild:native:debugfor faster local iteration. - The terminal suites assert on ANSI output, so set
FORCE_COLORwhen running outside a TTY. - The
secret-scannerbinding test needs a release build, because the debug binary is too slow for its timeout.
CI runs build-native.yml on pushes and pull requests to main. It compiles the bindings for every target, and the ci.yml test job downloads the host binding for the same commit.
Contributing
Read the contributing guide first. Commits follow Angular-style conventional commits, scoped to the package name, for example fix(secret-scanner): ....
Install
npx vis --help