item.js
CommunityBuild 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 requiredComponents
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.
Agent Skills Search Helper
Install a tiny helper to your Agent, search and equip skill from 471,000+ vetted skills library on demand.