Supported workflows
Choose a maintained Lenso path for Plugin authoring, App composition, Web backends, or Agent products.
Choose the result you want first. Each path below links to a complete workflow and states the environment boundary that matters before you begin.
Create removable product behavior
Use the public lenso CLI to create, run, and package a typed Plugin. Portable
Rust can produce Wasm and trusted Process implementations; linked Rust is for a
Host that intentionally compiles the implementation into its binary. Bun /
TypeScript Authoring V2 supports Request, Stream, and Event Providers and
generated outbound clients.
Start with Create your first Plugin, then choose a Plugin path when language or execution placement matters.
Compose and inspect an App
Use a visible Plugin Root to select Plugins and configuration. Lenso resolves that intent into one immutable Resolved App Plan before the Host boots. The Kernel owns portable lifecycle semantics; a Runtime Driver and Execution Adapter supply environment-specific scheduling and execution.
Follow Change your first App for a reversible install and removal, or Inspect a failing App when setup, composition, or runtime admission fails.
Build a Web backend
The maintained Web path uses typed HTTP Endpoint Plugins, a linked Rust Host, and Web Ingress over a real socket. HTTP Client/Egress, an optional OpenAPI 3.1 document Plugin, PostgreSQL-owned schemas, API-token Auth, and OpenTelemetry integration are available as explicit composition choices.
Start with Build a Web backend. Read Protect an endpoint for the supported Auth provider and Deployment boundary before exposing a Host outside local development.
Run or extend an Agent
Install the maintained Lenso Agent binary to run TUI, headless, ACP, Web, or
channel surfaces over the same App. Profiles select model and Tool policy;
Sessions and memory remain independent of the current Workspace. Add behavior
through the Agent’s visible plugins/ root.
Start with Run your first Agent Turn, then give the Agent a new Tool.
Platform and security boundaries
- Native Rust supports Request, Stream, and Event interactions through linked factories.
- Bun / TypeScript Authoring V2 supports Request, Stream, and Event Providers and outbound clients. The TypeScript Host declaration profile remains Request-only.
- Browser JavaScript and WASIp2 are Host profiles. They do not provide hostile code isolation, and WASIp2 component packaging is not yet a starter workflow.
- The maintained Auth path is API-token verification backed by PostgreSQL. OAuth and password providers are not included.
- Environment-backed Secrets are available through an allowlisted provider. A production cloud Secrets provider is not included.
Lenso does not promise arbitrary runtime discovery, hot graph mutation, distributed placement, automatic replicas, hostile browser-code isolation, or an independent Console product. These are explicit product boundaries, not steps you must wait to pass before using the workflows above.
Declare a Host from TypeScript
Use defineHost, app build, and app prepare to compose prebuilt Plugins and
produce a startup directory backed by the Rust runtime. See TypeScript Host
for explicit target-artifact requirements and document-sync
for the Rust/Bun invocation proof.
Verification on 2026-09-07 reached the empty TypeScript Host lifecycle, but
the CLI-generated Bun Bundle was rejected by Host profile admission and
plugin dev failed. See the Host verification status.