item.js

Community

Build reactive state trees with one API.

Authornuxodin
Version1.0.0
Installs0

System Documentation

What problem does it solve?

It eliminates the need to write separate glue code for every backend API (filesystem, databases, storage, HTTP, WebSocket, etc.) by giving you one uniform, reactive data model you can traverse, observe, and sync.

Core Features & Use Cases

  • Reactive Item tree with signals & effects: Track reads via effect() and automatically rerun when dependent Items change, with batched microtask updates.
  • Tree navigation + autovivification: Create and access nested state with i.item(key), i.sub(...keys), and safe existence checks via i.has(...keys).
  • Async I/O hooks (reader/writer/io): Attach reader/writer hooks so Items can load and persist values, including optimistic updates, debounced writes, TTL caching, and retries.
  • Proxy-first ergonomics: Use i.proxy to read primitives and nested Items via property access and assignment while preserving reactivity.

Quick Start

Use the item.js skill to create a root item, attach reader/writer hooks for your backend, and then update a nested value; for example: instantiate an Item, set a nested proxy property like db.users[123].name = "Alice", and verify your effect reruns when that name changes.

Dependency Matrix

Required Modules

None required

Components

Standard package

💻 Claude Code Installation

Recommended: Let Claude install automatically. Simply copy and paste the text below to Claude Code.

Please help me install this Skill:
Name: item.js
Download link: https://github.com/nuxodin/item.js/archive/main.zip#item-js

Please download this .zip file, extract it, and install it in the .claude/skills/ directory.
View Source Repository

Agent Skills Search Helper

Install a tiny helper to your Agent, search and equip skill from 471,000+ vetted skills library on demand.