A naked-objects framework for JavaScript
You write the domain model. The framework handles the rest.
STRVCT is a JavaScript framework that eliminates manual UI component authoring, state management boilerplate, and API glue code. By declaring your application's domain model once with property metadata annotations, STRVCT automatically derives responsive user interfaces, manages local-first IndexedDB persistence, handles versioned cloud synchronization, and provides a constant-size tool surface for AI agents.
This approach implements the Naked Objects architectural pattern: annotated domain classes (inheriting from SvStorableNode) serve as the single source of truth. Because domain models contain zero DOM or browser dependencies, the exact same application code runs natively in the browser, on the command line, or headlessly in Node.js for ultra-fast unit testing.
Declare domain models as JavaScript classes. Properties are declared as slots with method-chained metadata annotations that each framework layer reads independently:
(class Task extends SvStorableNode {
initPrototypeSlots () {
this.newSlot("title", "New Task")
.setSlotType("String")
.setShouldStoreSlot(true) // Persisted to IndexedDB
.setSyncsToView(true) // Live UI updates
.setCanEditInspection(true); // Editable form tile
this.newSlot("isCompleted", false)
.setSlotType("Boolean")
.setShouldStoreSlot(true)
.setSyncsToView(true)
.setCanEditInspection(true);
}
initPrototype () {
this.setTitle("Task");
this.setShouldStore(true);
}
}.initThisClass());A single 5-line slot declaration replaces a custom form component, a validator, an ORM storage schema, and an LLM tool specification.
O(1) Tool Surface) — Traditional stacks force AI agents to generate code across 5 separate layers per feature (causing O(N) tool growth). STRVCT flips this: because UI, persistence, and sync are derived from slot metadata, AI agents operate over a constant-size O(1) tool surface (schema-fetch and apply-patch) regardless of scale, and can even mint brand-new model classes at runtime.Guides, architecture, and API reference.
View →Setup, integration, directory conventions, build pipeline, and running your first Strvct application.
View →High-level architecture, core design philosophy, and system-wide concepts of the Strvct framework.
View →A technical guide and conceptual "Rosetta Stone" for React developers exploring Strvct.
View →Deep technical specifications for class lifecycle, slots, views, persistence, notifications, and build infrastructure.
View →From Domain Models to Complete Applications
View →Framework architecture for multi-provider AI integration, streaming execution, tool calling, and model-first operability.
View →Key milestones from the first commit through present day
View →A complete contacts application in four classes, with zero view code.
View →Frequently asked questions about STRVCT.
View →Source code, issues, and contributions.
View →For AI agents: llms.txt (curated index) and llms-full.txt (full content).