remesh-js/remesh
49.4
Weak · 21 September 2026
4.1k
lines of production code
TypeScript
primary language
4
measurements over time
What this system is
Remesh is a state management library for JavaScript applications that structures application logic through domains, queries, and commands. It provides a modular architecture with built-in support for asynchronous operations, history/undo, list management, and hierarchical data. The system offers official integrations for React, Vue, and Yjs-based real-time collaboration, alongside debugging tools and Redux DevTools compatibility.
Features
Add 7GUIs React demos
The React demos for the 7GUIs benchmark are now available, providing interactive implementations of the Counter, Temperature Converter, Flight Booker, Timer, CRUD, Circle Drawer, and Cells tasks. Each demo is built using the Remesh state management library, exposing a live, interactive version of these classic UI challenges for users to explore.
projects/react-demos/src/7guis · high confidence
Add 7GUIs demos for Vue
The 7GUIs demo suite is now available for Vue, providing implementations of the Counter, TemperatureConverter, FlightBooker, Timer, CRUD, CircleDrawer, and Cells applications. These demos showcase the integration of the Remesh state management library with Vue, allowing users to explore reactive state management patterns in a familiar Vue environment.
projects/vue-demos · high confidence
Add 7guis domain implementations for UI demos
Added domain implementations for seven UI demo applications (Counter, TemperatureConverter, Timer, FlightBooker, CircleDrawer, Cells, and CRUD) using the Remesh library, providing the state management logic for these interactive examples.
projects/domains/src/7guis · high confidence
Add Chinese Chess (Xiangqi) domain logic
Introduces the core domain model for Chinese Chess, including piece types, colors, board positions, and game state structures. The diff adds validation rules for each piece's movement (General, Guard, Elephant, Soldier, Cannon) and attack logic, providing the foundational rules for the game.
projects/domains/src/chess · high confidence
Add Next.js demo and React demos with SSR and preloading support
Added a Next.js-based blog demo (\projects/nextjs-demo\) featuring static generation, dynamic routing, and Markdown content rendering, alongside a \preload\ page that demonstrates server-side preloading of Remesh state. The React demos (\projects/react-demos\) were updated to include new examples (7guis, chess, steps) and support \RemeshScope\ for domain scoping. The \PreloadDomain\ in the Next.js demo uses \domain.preload\ to fetch and hydrate state on the server, which is then passed to the client via \RemeshRoot\'s \preloadedState\ prop.
projects · high confidence
Add React components for the TodoMVC demo
Added new React components (TodoApp, TodoHeader, TodoFooter, TodoItem, TodoList) that implement the TodoMVC demo using the Remesh state management library. The components integrate with the Remesh domain model, handling user interactions like adding, editing, and deleting todos, as well as filtering and clearing completed items. The TodoApp component also includes undo/redo functionality and integrates with the history module for state management.
projects/react-demos/src/todo-mvc-with-multiple-domains/components · high confidence
Add React demo implementations for Counter and Pagination
New React-based demo components for the Counter and Pagination examples have been added to the project. The Counter demo provides a simple increment/decrement interface using Remesh hooks, while the Pagination demo implements a user list with infinite scroll and reset functionality. The index file sets up the React application with Remesh root, Redux devtools, and a hash-based router to switch between demos.
projects/react-demos/src/others · high confidence
Add React-based TodoMVC demo application
A new React-based TodoMVC demo has been added to the demos collection. The implementation includes the main application shell, a TodoList component for rendering the list and filters, a TodoItem component for individual tasks, and a local storage repository for persistence. This provides a working example of the Remesh state management library in a React environment.
projects/react-demos/src/todo-mvc · high confidence
Add React-based TodoMVC demo with WebRTC collaboration
A new React demo for the TodoMVC application has been added, featuring multi-domain state management via Remesh and real-time collaboration powered by yjs and WebRTC. The component renders the TodoApp within a React Router setup and exposes the root instance for debugging.
projects/react-demos/src/todo-mvc-with-multiple-domains · high confidence
Add React-based Xiangqi (Chinese Chess) demo
A new React-based demo for a Xiangqi (Chinese Chess) game has been added to the demos project. The implementation includes a game component that integrates with the Remesh state management library to handle game logic, events, and commands. The UI is composed of several new components: a board renderer that draws the grid and decorative elements, a chess piece renderer that displays pieces with correct colors and Chinese characters, a marker renderer for move indicators, and a context provider for game configuration. The entry point sets up the Remesh store with devtools and logging, wrapping the game in a React context provider.
projects/react-demos/src/chess · high confidence
Add RemeshLogger for debugging Remesh applications
A new \remesh-logger\ package has been introduced to provide debugging capabilities for Remesh applications. This logger integrates with the Remesh store to log domain events, state changes, queries, commands, and custom events to the console. It supports configurable options such as collapsing log groups and customizing colors for different event types, making it easier for developers to trace the flow of data and actions within their Remesh applications.
packages/remesh-logger/src · high confidence
Add RemeshReduxDevtools integration
A new \RemeshReduxDevtools\ function is introduced to connect Remesh with the Redux DevTools browser extension. This integration subscribes to Remesh's internal storage events (domain, state, query, command, and event) and forwards them to the Redux DevTools, enabling time-travel debugging, action inspection, and state history tracking for Remesh applications.
packages/remesh-redux-devtools/src · high confidence
Add Vue adapter for Remesh state management
A new Vue adapter package (packages/remesh-vue) is introduced, providing Vue-specific integration for Remesh. This includes a Vue plugin (RemeshVue) to provide the store via Vue's dependency injection, and composable hooks (useRemeshStore, useRemeshQuery, useRemeshEvent, useRemeshSend, useRemeshDomain) that allow Vue components to subscribe to queries, listen to events, and send actions within the Remesh store.
packages/remesh-vue/src · high confidence
Add local storage synchronization for Todo MVC domains
The Todo MVC application now persists user data to the browser's local storage. A new \syncStorage\ module and \Storage\ extern enable automatic synchronization of the todo list, input text, and filter state, ensuring that user input and filter selections are remembered across page reloads.
projects/domains/src/todo-mvc-with-multiple-domains · high confidence
Add new module entry points for async, history, list, and tree modules
The packages/remesh/modules directory now includes new entry points for the async, history, list, and tree modules. Each module is exposed via both CommonJS (.js) and ES Module (.d.ts) wrappers that re-export from the corresponding cjs/modules path, enabling consumers to import these specific module types directly from the packages/remesh/modules directory.
packages/remesh/modules · high confidence
Added TodoMVC domain implementation
Introduced a new TodoMVC domain implementation in the projects/domains/src/todo-mvc directory. This includes the core domain logic (TodoDomain) with state management, queries, and commands for managing todos, along with a repository interface (TodoRepoExtern) for data persistence and a UUID generation utility.
projects/domains/src/todo-mvc · high confidence
Added default HTML template for the Vite app
A new index.html file has been added to the dist directory, providing the default HTML template for the Vite application. This template includes the necessary meta tags, favicon link, and script tags to load the compiled JavaScript assets, ensuring the application renders correctly in the browser.
dist · high confidence
Added example domains for counter, GitHub users, and pagination
Added new example domain implementations in the 'others' directory: a simple counter, a GitHub users list, and a pagination domain that loads and displays user data. These serve as practical examples of how to structure and use the domain pattern within the framework.
projects/domains/src/others · high confidence
Added interactive async tree view demo
A new 'tree' demo application has been added to the React demos, featuring a recursive tree view that loads nodes asynchronously. The implementation includes a domain layer (TreeDomain) using Remesh modules for state management, an API layer (loadNodes) that simulates network requests with random delays and potential failures, and React components (TreeApp, TreeNode, CollapseIcon, ExpandIcon) that handle expansion, loading states, and error retry logic.
projects/react-demos/src/tree · high confidence
Added utility hooks and UUID generator for the React TodoMVC demo
The React TodoMVC demo now includes new utility code to support its functionality. A \useInputHandler\ hook has been added to manage input state and change events, a \useKeyPressHandler\ hook has been added to detect specific keyboard presses, and a \uuid\ utility function has been introduced to generate unique identifiers.
projects/react-demos/src/todo-mvc-with-multiple-domains/hooks, projects/react-demos/src/todo-mvc-with-multiple-domains/utils · high confidence
Introduce React integration layer for Remesh
The remesh-react package now provides a complete React integration, exposing hooks such as useRemeshQuery, useRemeshEvent, useRemeshSend, and useRemeshDomain to connect React components to the Remesh store. It also includes a RemeshRoot component to provide the store via context, enabling state management and event handling directly within React components.
packages/remesh-react/src · high confidence
Introduce RemeshDebuggerHelper for debugging state, queries, domains, events, and commands
A new helper utility has been added to the Remesh ecosystem to assist with debugging. The \RemeshDebuggerHelper\ allows developers to filter and log specific Remesh sources (state, query, domain, event, and command) using an \include\/\exclude\ configuration. This provides a structured way to inspect and trace Remesh internal activities during development.
packages/remesh-debugger-helper/src · medium confidence
Introduce remesh-yjs adapter for Yjs-based collaboration
Added the remesh-yjs adapter package, which provides a new Remesh extern and integration layer for Yjs. This enables two-way synchronization between Remesh state and Yjs shared types (Maps and Arrays) using a diff-patch mechanism to apply changes efficiently. The package includes utilities for converting between serializable types and Yjs types, allowing developers to build collaborative features by linking Remesh queries and commands to Yjs documents.
packages/remesh-yjs/src · high confidence
New domain modules for async operations, history, lists, and trees
The remesh library introduces four new domain modules to handle common state management patterns. The AsyncModule manages asynchronous operations with states for loading, success, failure, and cancellation, supporting multiple concurrency modes. The HistoryModule provides undo/redo functionality by maintaining a navigable history of states. The ListModule simplifies managing collections of items with commands for adding, updating, deleting, and querying by key. The TreeModule offers utilities for managing hierarchical data structures, including finding, setting, and removing nodes. These modules provide structured ways to manage complex state in applications.
packages/remesh/src/modules · high confidence
Remesh core library restructured with new module system and inspector support
The Remesh core library has been restructured, introducing a new module system and an inspector for debugging. The \index.ts\ now exports a unified \Remesh\ object containing \domain\, \extern\, \store\, \state\, \query\, \command\, \event\, and \module\ constructors. A new \inspector.ts\ file adds support for tracking domain, state, query, and event lifecycle events (created, updated, discarded, reused) via an \InspectorType\ and \RemeshInspectorDomain\. The \remesh.ts\ file defines the core types and logic, including \RemeshEvent\, \RemeshState\, and \RemeshQuery\ implementations. Utility functions like \deepEqual\ and \timing\ (debounce/throttle) are also included. This change represents a significant architectural shift in how Remesh organizes its core components and provides debugging capabilities.
packages/remesh/src · high confidence
Behavioural changes
Remesh 2.0: Breaking changes and new modules
This release introduces breaking changes to the Remesh API, including the removal of the \text-module\ and \switch-module\ (which were deemed too simple to be useful) and the removal of \fromCommand\ in \domain.effect\. It also adds a new \tree-module\ for managing tree structure data and enforces stricter naming conventions for custom modules (e.g., \AsyncModule\, \ListModule\). Additionally, \domain.event\ is now subscribe-only outside of the domain, requiring the use of \domain.command\ to emit events indirectly.
(repo-wide) · high confidence
Updated Git hook scripts for Husky 8 compatibility
The Git hooks in the .husky directory have been updated to be compatible with Husky 8. The pre-commit hook now executes lint-staged via npx, and the commit-msg hook runs commitlint via npx, ensuring the hooks function correctly with the newer version of the tooling.
.husky · medium confidence
Test coverage
Added tests for remesh-react hooks and scope; Added tests for remesh-yjs integration; Adds unit tests for the remesh core modules.
Dependencies
Update remesh and adapter packages to version 4.x
The remesh core library and its official adapters (remesh-debugger-helper, remesh-logger, remesh-react, remesh-redux-devtools, remesh-vue, and remesh-yjs) have been updated to version 4.1.0 or 4.1.2/4.2.2. This change aligns the entire monorepo with the 4.x release line, ensuring compatibility across all packages and their dependencies.
(dependencies) · high confidence
Updated React and ReactDOM to version 18.2.0
The bundled JavaScript assets in the dist directory have been updated to include React 18.2.0 and its corresponding scheduler and DOM implementations. This upgrade brings the latest features and performance improvements from the React 18 release to the client-side rendering and component lifecycle handling.
dist/react · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 47 → 49 (+2.3)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 86 → 75 (-10.6)
- Architecture 99 → 100 (+0.5)
- Maturity 49 → 49 (+0.0)
- Readiness 40 → 52 (+12.8)
- Security 61 → 62 (+1.4)
- Accessibility 42 → 42 (-0.1)
Resolved (52)
- Boundary-crossing change coupling: remesh-logger.ts ↔ remesh-redux-devtools.ts (packages/remesh-logger/src/remesh-logger.ts)
- Coverage not included — suite not readable by the collector
- Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
- Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
- Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- …and 32 more
New (96)
- Coverage not measured — JavaScript/TypeScript suite
- Critical CVE: [CVE redacted] (pnpm-lock.yaml)
- Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
- Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
- Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- FileTooLong: src/store.ts (packages/remesh/src/store.ts)
- Floating npm dependency: next
- FunctionTooLong: async.AsyncModule (packages/remesh/src/modules/async.ts)
- FunctionTooLong: history.HistoryModule (packages/remesh/src/modules/history.ts)
- FunctionTooLong: list.ListModule (packages/remesh/src/modules/list.ts)
- FunctionTooLong: remesh-logger.RemeshLogger (packages/remesh-logger/src/remesh-logger.ts)
- FunctionTooLong: remesh-redux-devtools.RemeshReduxDevtools (packages/remesh-redux-devtools/src/remesh-redux-devtools.ts)
- FunctionTooLong: store.RemeshStore (packages/remesh/src/store.ts)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- …and 76 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
remesh-js/remesh was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 21 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit aeb8ce4a00cf9b0314d09285f0687ecd96843703 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-b84573e22831.