{"repo":"orchetron/storm","free":true,"listed":false,"github":"https://github.com/orchetron/storm","clone":"git clone https://github.com/orchetron/storm.git","description":"A compositor-based terminal UI framework. Fast. Layered. Unstoppable.","language":"TypeScript","stars":395,"topics":["cell-diffing","framework","node","react","tui","wasm","terminal","typescript","terminal-ui"],"license":"MIT","category":"cli-tools","readme_excerpt":"STORM A compositor-based terminal UI framework. Fast. Layered. Unstoppable. Cell matrix. Live metrics. AI agent. Code diff. All running in a terminal. Why Storm Most terminal frameworks treat your terminal like a string printer. Storm treats it like a display server . Cell-level diff — only changed cells are written. 97% are skipped per frame. Dual-speed rendering — React for structure, requestRender() for 60fps animation. Typed-array buffers — Int32Array + Uint8Array. Zero Cell objects. 90% less GC pressure. Pure TypeScript — flexbox + CSS Grid layout. Zero native dependencies. Quick start That's 10 lines. You have a running TUI with animated spinner and keyboard input. Build an AI agent terminal in 30 seconds The OperationTree spinner animates at 80ms through imperative cell mutation — no React state churn, no layout rebuild. How it renders Every frame flows through five stages: React → Layout → Buffer → Diff → TTY . Animation frames skip React and Layout entirely — buffer to terminal in 0.5ms. On a typical scroll frame, 97% of cells are unchanged . Storm skips them entirely — emitting only the bytes for mutated cells. The typed-array buffer eliminates 30,000 Cell objects per frame. Other rendering features: - DECSTBM hardware scroll — terminal-native scroll regions for pure scroll ops - Optional WASM acceleration — 33KB Rust module for 3.4x faster diff - Correct grapheme rendering — Intl.Segmenter for ZWJ emoji (👨‍👩‍👧‍👦 = 2 columns, not 8) DevTools Render heatmap — see","default_branch":null,"files":null,"tree":[],"storefront":"/r/orchetron","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/orchetron/storm/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}