Rust Algorithm Kernel + Toolbox

NewToolDeveloper toolbox

A kernel-first developer toolbox: a Rust algorithm kernel underneath (the newtool CLI) and a Tauri 2 desktop app with a React shell on top. One kernel serves three consumers — AI (skill packages / MCP), humans (desktop app) and the browser (wasm).

newtool
01$ newtool list --json
02{ "count": 3, "algorithms": ["base64", "jwt.decode", "uuid.v7"] }
03
04$ newtool run jwt.decode --params '{"token":"eyJhbGci..."}'
05{ "ok": true, "data": { "header": { "alg": "HS256" } } }
$

The algorithm is written once; people and AI run the same implementation.

Design

Design decisions

Why this tool is built the way it is, and what that buys.

Kernel first

Every algorithm is implemented in Rust; the UI is only a shell. No tool logic is rewritten in the UI layer — everything goes through the Rust kernel or the React presentation layer, so behaviour cannot drift across clients.

AI native

Distributed as skill packages to WorkBuddy / Codex / Claude Code; AI calls list / describe / run directly, with no human opening a UI.

Declared forms

tool.toml declares the four effective forms — app / cli / web-wasm / web-server; the manifest is the sole source of visibility.

Zero-dependency access

Remote clients connect straight to newtool-server over MCP and reach every algorithm without installing a local binary.

Highlights

Capabilities at a glance

  • The Rust algorithm kernel is the single source of truth: the manifest is the contract, and build.rs fails the build on drift
  • Three consumers share one kernel: AI skill packages, the Tauri desktop app, and browser wasm bindings
  • Remote use goes through MCP (streamable HTTP) with zero local binaries
  • CLI contract: stdin → stdout, a unified envelope, and discover / describe
  • Declarative tool definitions: tool.toml describes parameters and form; build scripts generate pages and registries
  • Self-built engines as standalone crates: cipher / css / json / diff / yaml / id / text
Metrics

Design metrics

Each one maps to a concrete decision in the implementation.

algorithm implementation sources
1

Everything lives in newtool-core; no UI layer rewrites algorithm logic

consumers
3 kinds

AI (skill packages / MCP), humans (desktop app), browsers (wasm)

effective forms
4

Declared in tool.toml: app / cli / web-wasm / web-server

in-house engines
7 crates

cipher / css / json / diff / yaml / id / text as standalone crates

drift interception
at build time

A manifest/code mismatch fails the build outright and never reaches runtime

local dependencies
0

Remote scenarios connect over MCP — no local binaries required

Platforms

Platform support

With kernel and shell separated, support levels can advance independently per platform.

macOS / Windows / Linux
Full

The Tauri 2 desktop app; the React shell shares one kernel

CLI
Full

The newtool command, with the unified stdin → stdout envelope

Browser (WASM)
Full

The kernel compiles to wasm; usable offline, nothing to install

MCP
Full

streamable HTTP; remote access with zero local binaries

AI skill packages
Full

skills/newtool-toolbox distributes to WorkBuddy / Codex / Claude Code

Comparison

How it differs from the common approach

The difference usually is not in the feature table — it is in where the boundary is drawn.

Algorithm implementation
One Rust kernel as the single source of truth; the manifest is the contract and drift is intercepted at build time
Each client implements its own copy; behaviour drifts apart over time
AI access
Skill packages + MCP; three steps — list / describe / run — with structured output
AI must rely on screenshots or ask users to click through the UI
Source of visibility
Declarative definitions in tool.toml; the manifest is the single source of truth
Code comments and docs carry the truth, and go stale easily
Installation cost
Remote goes over MCP with zero local binaries; locally there is also a CLI and a desktop app
A client must be installed before anything works
Offline capability
The kernel compiles to wasm and works offline in the browser
A pure cloud service that dies without a network
Commands

Commands at a glance

For the full manual, see the CLI reference page. All commands output structured results by default.

Full command table
newtool list

List all algorithms and their effective forms

--json--status rust|todo
newtool describe <algo>

Show an algorithm’s parameter definitions, forms and examples

--json
newtool run <algo>

Run an algorithm, passing parameters via stdin or --params

--params--stdin--json
newtool mcp serve

Expose all algorithms over MCP streamable HTTP

--port--host
In Practice

Actual output

newtool
01$ newtool list --json
02{ "count": 3, "algorithms": ["base64", "jwt.decode", "uuid.v7"] }
03
04$ newtool run jwt.decode --params '{"token":"eyJhbGci..."}'
05{ "ok": true, "data": { "header": { "alg": "HS256" } } }
Source

Modules

4 groups, 14 modules — all from the repository’s real directory structure.

Rust · Tauri 2 · React · TypeScript · WASM · MCP · TOML
Kernel

Where algorithms are written exactly once.

crates/newtool-core

A pure-function algorithm kernel with no IO, callable by CLI, desktop and wasm at once

crates/newtool-core
crates/newtool-cli

The CLI contract: stdin → stdout, a unified envelope, discover / describe

crates/newtool-cli
Engine libraries

Each one a standalone crate, reusable on its own.

newtool-cipher

Cipher, encoding and decoding algorithms

libs/newtool-cipher
newtool-css

CSS processing and formatting

libs/newtool-css
newtool-json / newtool-yaml

JSON and YAML parsing, transformation and validation

libs/newtool-{json,yaml}
newtool-diff

Text diffing

libs/newtool-diff
newtool-id

ID generation (UUID v7 and friends)

libs/newtool-id
newtool-text

Text processing and transformation

libs/newtool-text
Manifest & forms

The sole source of visibility is the manifest, not code comments.

manifests/algorithms.toml

The single source of truth for algorithms; status = rust force-syncs the registry

manifests/algorithms.toml
build.rs guard

Intercepts manifest/code drift at build time — drift fails the build

crates/*/build.rs
tool.toml

Declaratively defines tool parameters and the four effective forms: app / cli / web-wasm / web-server

tools/*/tool.toml
Consumers

One kernel, three consumers.

Tauri 2 desktop shell

The React shell + three kernel-client adapters (tauri / http / wasm)

apps/desktop
skills/newtool-toolbox

The skill package distributed to WorkBuddy / Codex / Claude Code; AI calls it directly

skills/newtool-toolbox
MCP server

streamable HTTP; remote access with zero local binaries

newtool-server
Other tools
Get in touch

Hand the complexity of identity, agents and private domain to one governable kernel

Whether you are replacing an existing IAM, building an agent platform, or trying to make private-domain operations actually work — start with a 30-minute architecture call. We will first judge whether this is the kind of problem we are good at, and say so plainly if it is not.