cindy
Cindy is an open-source AI agent that runs locally on your machine, integrates multiple AI harnesses and models, and provides memory, skills, and automation to perform real work in your projects and apps.
It demonstrates a novel approach to NativeScript rendering by eliminating virtual DOM overhead and runtime reactivity, using a static plan + slot table model, and includes advanced iOS features like SwiftUI integration with custom Metal shaders.
A NativeScript app rendered by Octane. No React, no virtual DOM, no DOM shim.
Octane compiles components ahead of time. For a renderer-owned .tsx it emits a static
plan plus a slot table rather than a tree of elements:
universalPlan("nativescript", {
kind: "host", type: "gridlayout", props: { rows: "*,auto,auto,auto,*" },
children: [{ kind: "host", type: "label", bindings: [["row", 0]], … }]
})
At runtime that plan turns into a batch of create / update / insert / event / destroy
commands. Applying those commands to @nativescript/core views is the entire port.
Octane ships octane/universal/native, a host-neutral runtime with no dependency on its DOM
half — built for JS environments without DOM globals, which is exactly NativeScript. The
integration is four small modules in src/octane/, following the shape
@octanejs/three uses for its non-DOM renderer:
| File | Role |
|---|---|
config.ts | Serializable renderer metadata, read by vite.config.ts |
renderer.ts | Compiler-facing ABI — re-exports the universal runtime |
driver.ts | UniversalHostDriver: host commands → NativeScript views |
intrinsics.ts | JSX element types, derived from the core view classes |
elements.ts | Tag name → view constructor, plus event-name aliasing |
@octanejs/vite-plugin runs alongside @nativescript/vite, with the renderer scoped to
src/**/*.tsx by rule. Everything else stays untouched.
Three details worth knowing before editing:
, , ``. They match the
driver's registry keys. Unknown or camelCase names are a type error, not a blank screen.@nativescript/core class works and is typed as such.Hi to a #text child; the driver keeps
those viewless and folds them into the parent's text, since NativeScript has no text nodes.Tailwind v4 through @nativescript/tailwind, which auto-registers its PostCSS chain — no
postcss.config.js or tailwind.config.js. app.css imports theme and utiliti
Octane with NativeScript
Similar projects matched by category, topics, and programming language.
Cindy is an open-source AI agent that runs locally on your machine, integrates multiple AI harnesses and models, and provides memory, skills, and automation to perform real work in your projects and apps.

Hermex is a native SwiftUI iPhone app that lets you control a self-hosted Hermes AI agent directly from your phone, with no subscriptions, tracking, or third-party relay.
Twell is a tiny, embeddable, zero-allocation physics engine for interruptible, Apple-style UI animations, available as a single-header C library with Python bindings.