open-index/open-npm huggingface dataset:
npm package: @remix-validated-form/with-yup
Description: Yup adapter for [remix-validated-form](https://github.com/airjp73/remix-validated-form).
Latest version: 3.0.1

# @remix-validated-form/with-yup

Yup adapter for [remix-validated-form](https://github.com/airjp73/remix-validated-form).

## Docs

The docs are located a [remix-validated-form.io](https://www.remix-validated-form.io).
npm package: @remix-validated-form/with-zod
Description: Zod adapter for [remix-validated-form](https://github.com/airjp73/remix-validated-form).
Latest version: 2.0.7

# @remix-validated-form/with-zod

Zod adapter for [remix-validated-form](https://github.com/airjp73/remix-validated-form).

## Docs

The docs are located a [remix-validated-form.io](https://www.remix-validated-form.io).
npm package: @remixhq/expo-runtime
Description: Remix Expo runtime module
Author: RemixDotOne
Latest version: 0.1.7

# @remixhq/expo-runtime

Remix runtime Expo module.

## Installation

```sh
npm install @remixhq/expo-runtime
```

## Usage

```ts
import { RemixRuntimeRenderer } from '@remixhq/expo-runtime';
```

## License

MIT
npm package: @remixhq/expo-studio
Description: Remix Expo studio
Author: RemixDotOne
Latest version: 0.1.38

# @remixhq/expo-studio

Remix Studio

## Installation

```sh
npm install @remixhq/expo-studio
```

## Usage

```ts
import { RemixStudio } from "@remixhq/expo-studio";
```

## License

MIT
npm package: @remixhq/expo-studio-control
Description: Control channel for Remix Expo Studio UI
Author: RemixDotOne
Latest version: 0.1.6

# @remixhq/expo-studio-control

## Install

```bash
npm install @remixhq/expo-studio-control
```

## Usage

```ts
import { showRemixStudioUI } from "@remixhq/expo-studio-control";

await showRemixStudioUI();
```
npm package: @remixlabs/react-native-web-image-loader
Description: react-native-web-image-loader
Author: Józsa Péter
Latest version: 0.0.6-2

# React Native Web Image Loader

Using this loader will automatically bundle scaled counterparts too. Since Image component of react-native-web accepts objects as value of its source property it is possible to display scaled images based on device pixel ratio.

This loader will inject an AdaptiveImage class into your bundle. Everywhere you require an image an instance of AdaptiveImage will be returned.

This is my first node.js package so every recommendation is welcome. :smile:

## Installation

Install it via npm:

```terminal
$ npm install --save-dev react-native-web-image-loader
```

## Usage

In your webpack config use it as a loader for images:

```javascript
{
    ...,
    module: {
        loaders: [
            {
                test: /\.(png|jpe?g|gif)$/,
                loader: 'react-native-web-image-loader?name=[hash].[ext]'
            }
        ]
    }
}
```

You're done.

## Configuration

The following configuration variables can be defined:
* `name` The name template of the output files. (default: `[hash].[ext]`) You can use the following placeholders:
  * `[ext]` the extension of the resource
  * `[name]` the basename of the resource
  * `[path]` the path of the resource relative to the `context` query parameter or option.
  * `[hash]` the hash of the content, `hex`-encoded `md5` by default
* `imageClassPath` the path of image class that should be used instead of AdaptiveImage. This gives you the possibility to use your own image class representation.
* `scalings` is an object where the keys are the possible filename suffixes and values are the amount of scale. (Default is `{"@2x": 2, "@3x": 3}`, which means filenames ending with "@2x" will be used on devices where the pixel-ratio is 2)

## Examples

We have the following files:
```
|--assets/
   |-- pic1.png
   |-- pic1@2x.png
   |-- pic1-3x.png
|--index.js
```

webpack.config.js
```javascript
module.exports = {
    ...,
    loaders: [
        {
            test: /\.(png|jpe?g|gif)$/,
            loader: 'react-native-web-image-loader?name=[name].[ext]&scalings[@2x]=2&scalings[-3x]=3'
        }
    ]
}
```

index.js
```javascript
import React from 'react'
import { Image } from 'react-native-web'

export default class Picture extends React.Component {
    render() {
        return (
            <Image source={require( './assets/pic1.png' )} />
        )
    }
}
```
Value of source property looks like this:
```javascript
AdaptiveImage {
    "data": {
        "uri": "pic1.png",
        "uri@2x": "pic1@2x.png",
        "uri@3x": "pic1-3x.png",
        "width": 128,
        "height": 64
    },
    get uri(),       // returns uri based on pixel ratio
    get width(),     // returns this.data.width
    get height(),    // returns this.data.height
}
```

So when Image component resolves source it will treat it as a normal object. But value of uri is dynamically returned according to current device pixel ratio.
npm package: @remkiovo/react-modal
Description: A simple modal component for React
Author: RemKiovo
Latest version: 0.1.0

# @remkiovo/react-modal

A simple, lightweight, and customizable modal component for React applications
with TypeScript support and TailwindCSS styling.

## Installation

```bash
npm install @remkiovo/react-modal
```

or

```bash
yarn install @remkiovo/react-modal
```

## Features

- 🎯 Simple and easy to use
- 🎨 Customizable styling with TailwindCSS
- 📱 Responsive design
- 🔒 TypeScript support
- 🖱️ Click outside to close
- ✨ Smooth animations
- ⌨️ Accessible

## Usage

```tsx
import { useState } from "react";
import Modal from "@remkiovo/react-modal";
function App() {
  const [isOpen, setIsOpen] = useState(false);
  return (
    <>
      <button onClick={() => setIsOpen(true)}>Open Modal</button>
      {isOpen && (
        <Modal
          title="Welcome!"
          description="This is a simple modal component."
          buttonText="Close"
          closeModal={() => setIsOpen(false)}
          buttonOnClick={() => setIsOpen(false)}
          buttonClassName="bg-blue-500 hover:bg-blue-600 text-white"
        />
      )}
    </>
  );
}
```

## Props

| Prop              | Type       | Required | Description                                        |
| ----------------- | ---------- | -------- | -------------------------------------------------- |
| `title`           | string     | Yes      | The title of the modal                             |
| `description`     | string     | Yes      | The main content/description of the modal          |
| `buttonText`      | string     | Yes      | Text to display on the action button               |
| `closeModal`      | () => void | Yes      | Function to call when closing the modal            |
| `buttonOnClick`   | () => void | Yes      | Function to call when the action button is clicked |
| `className`       | string     | No       | Additional classes for the modal container         |
| `buttonClassName` | string     | No       | Additional classes for the action button           |

## Styling

The modal comes with default styling using TailwindCSS. You can customize the
appearance by:

1. Using the `className` prop to style the modal container
2. Using the `buttonClassName` prop to style the action button

## Requirements

- React 18 or higher
- TailwindCSS 3.x

## License

MIT © [RemKiovo](https://github.com/RemKiovo)
npm package: @remloyal/docsify-plugins
Description: plugins for docsify
Author: remloyal
Latest version: 1.0.0

# docsify-plugins

Firstly, make sure that the [loadSidebar](https://docsify.js.org/#/configuration?id=loadsidebar) config is enabled，and the Markdown file `_sidebar.md` is provided in the root directory.

Then insert script into document just like the [official plugins](https://docsify.js.org/#/plugins)'s usage

## docsify-flexsearch
reference [docsify-search](https://github.com/docsifyjs/docsify/blob/develop/src/plugins/search/index.js)

### Usage

```html
<script>
  window.$docsify = {
    // Complete configuration parameters
    search: {
      // Location in sidebar (default: prepended as first child)
      // Optionally specify insertAfter or insertBefore (not both)
      insertAfter: ".app-name", // CSS selector in .sidebar scope
      insertBefore: ".sidebar-nav", // CSS selector in .sidebar scope

      maxAge: 86400000, // Expiration time, the default one day
      paths: [], // or 'auto'
      placeholder: "Type to search",

      // Localization
      placeholder: {
        "/zh-cn/": "搜索",
        "/": "Type to search",
      },

      noData: "No Results!",

      // Localization
      noData: {
        "/zh-cn/": "找不到结果",
        "/": "No Results",
      },

      // Headline depth, 1 - 6
      depth: 2,

      hideOtherSidebarContent: true, // Deprecated as of v5

      // To avoid search index collision
      // between multiple websites under the same domain
      namespace: "website-1",

      // Use different indexes for path prefixes (namespaces).
      // NOTE: Only works in 'auto' mode.
      //
      // When initialiazing an index, we look for the first path from the sidebar.
      // If it matches the prefix from the list, we switch to the corresponding index.
      pathNamespaces: ["/zh-cn", "/ru-ru", "/ru-ru/v1"],

      // You can provide a regexp to match prefixes. In this case,
      // the matching substring will be used to identify the index
      pathNamespaces: /^(\/(zh-cn|ru-ru))?(\/(v1|v2))?/,
      // 'sidebar' | 'modal', Default is sidebar, modalModal will use pop-up mode
      mode: "sidebar",
    },
  };
</script>
<script src="//cdn.jsdelivr.net/npm/docsify/lib/docsify.min.js"></script>

<!-- plugins -->
<script src="flexsearch/docsify-flexsearch.min.js"></script>
```

## docsify-sidebar-collapse

reference [docsify-sidebar-collapse](https://github.com/iPeng6/docsify-sidebar-collapse)
npm package: @remnic/cli
Description: CLI for Remnic memory — init, query, doctor, daemon management
Latest version: 1.0.3

# @remnic/cli

CLI for Remnic memory -- init, query, daemon management, connectors, curation, and more.

Part of [Remnic](https://github.com/joshuaswarren/remnic), the universal memory layer for AI agents.

## Install

```bash
npm install -g @remnic/cli
```

This installs the `remnic` command (and a legacy `engram` forwarder).

## Quick start

```bash
remnic init                     # Create remnic.config.json
export OPENAI_API_KEY=sk-...
export REMNIC_AUTH_TOKEN=$(openssl rand -hex 32)
remnic daemon start             # Start background server
remnic status                   # Verify it's running
remnic query "hello" --explain  # Test query with tier breakdown
```

## Commands

| Command | Description |
|---------|-------------|
| `remnic init` | Create a config file |
| `remnic daemon start/stop/status` | Manage the background server |
| `remnic query <text>` | Search memories |
| `remnic doctor` | Diagnose configuration issues |
| `remnic connectors install <name>` | Connect Claude Code, Codex CLI, Replit, etc. |
| `remnic curate` | Interactive memory curation |
| `remnic dedup` | Find and merge duplicate memories |
| `remnic sync` | Diff-aware sync with external sources |
| `remnic spaces` | Manage memory namespaces |
| `remnic bench` | Run memory retrieval benchmarks |

Run `remnic --help` for the full command list.

## Connecting agents

Once the daemon is running, connect any supported agent:

```bash
remnic connectors install claude-code   # Claude Code (hooks + MCP)
remnic connectors install codex-cli     # Codex CLI (hooks + MCP)
remnic connectors install replit        # Replit (MCP only)
```

All agents share the same memory store.

## License

MIT
npm package: @remnic/core
Description: Framework-agnostic Remnic memory engine — orchestrator, storage, extraction, search, trust zones
Latest version: 1.0.2

# @remnic/core

Framework-agnostic memory engine for AI agents. Orchestration, storage, extraction, search, and trust zones -- all local, all private.

Part of [Remnic](https://github.com/joshuaswarren/remnic), the universal memory layer for AI agents.

## Install

```bash
npm install @remnic/core
```

## What it does

Remnic Core is the engine that powers persistent memory across AI agent sessions. It handles:

- **Memory orchestration** -- three-phase flow: recall before sessions, buffer during, extract after
- **Storage** -- plain markdown files with YAML frontmatter on your local filesystem
- **Extraction** -- GPT-5.2 or local LLM (Ollama, LM Studio) extracts durable knowledge from conversations
- **Search** -- hybrid BM25 + vector + reranking via QMD
- **Trust zones** -- namespace isolation and access control for multi-agent setups
- **Entity tracking** -- people, projects, tools, and their relationships
- **Consolidation** -- periodic merging, deduplication, and summarization

## Usage

Most users interact with Remnic through a higher-level package:

| Package | Use case |
|---------|----------|
| [`@remnic/plugin-openclaw`](https://www.npmjs.com/package/@remnic/plugin-openclaw) | OpenClaw gateway plugin |
| [`@remnic/cli`](https://www.npmjs.com/package/@remnic/cli) | Standalone CLI and daemon |
| [`@remnic/server`](https://www.npmjs.com/package/@remnic/server) | Standalone HTTP + MCP server |

Use `@remnic/core` directly when building a custom integration or embedding the memory engine in your own agent framework.

```typescript
import { Orchestrator } from "@remnic/core";
```

## Fallback LLM

The core includes a fallback LLM client that resolves providers from your gateway config or OpenClaw's built-in provider catalog. It supports OpenAI-compatible and Anthropic APIs with automatic auth resolution and provider fallback chains.

## License

MIT
npm package: @remnic/plugin-openclaw
Description: OpenClaw adapter for Remnic memory — thin wrapper delegating to @remnic/core
Latest version: 1.0.3

# @remnic/plugin-openclaw

OpenClaw plugin for Remnic memory. Thin adapter that connects the OpenClaw gateway to [`@remnic/core`](https://www.npmjs.com/package/@remnic/core).

Part of [Remnic](https://github.com/joshuaswarren/remnic), the universal memory layer for AI agents.

## Install

```bash
openclaw plugins install @remnic/plugin-openclaw --pin
```

Or ask your OpenClaw agent:

> Install the @remnic/plugin-openclaw plugin and configure it as my memory system.

## Configure

Add the plugin to your `openclaw.json`:

```jsonc
{
  "plugins": {
    "allow": ["openclaw-engram"],
    "slots": { "memory": "openclaw-engram" }
  }
}
```

Then restart the gateway:

```bash
launchctl kickstart -k gui/501/ai.openclaw.gateway
```

## What it does

This plugin hooks into the OpenClaw gateway lifecycle:

- **`gateway_start`** -- initializes the Remnic memory engine
- **`before_agent_start`** -- injects relevant memories into the agent's context
- **`agent_end`** -- buffers the conversation turn for extraction
- **Tools** -- registers `memory_search`, `memory_stats`, and other agent tools
- **Commands** -- provides CLI commands for memory management

All memory processing uses [`@remnic/core`](https://www.npmjs.com/package/@remnic/core). Data stays on your local filesystem as plain markdown files.

## Standalone usage

If you're not using OpenClaw, use [`@remnic/cli`](https://www.npmjs.com/package/@remnic/cli) or [`@remnic/server`](https://www.npmjs.com/package/@remnic/server) instead.

## License

MIT
npm package: @remnic/server
Description: Standalone Remnic memory server — HTTP + MCP without OpenClaw
Latest version: 1.0.3

# @remnic/server

Standalone Remnic memory server -- HTTP and MCP interfaces without requiring OpenClaw.

Part of [Remnic](https://github.com/joshuaswarren/remnic), the universal memory layer for AI agents.

## Install

```bash
npm install @remnic/server
```

Most users should install [`@remnic/cli`](https://www.npmjs.com/package/@remnic/cli) instead, which includes the server and provides daemon management via `remnic daemon start`.

## What it does

The server exposes Remnic's memory engine over two interfaces:

- **HTTP API** -- RESTful endpoints for memory recall, observe, search, and management
- **MCP (Model Context Protocol)** -- tool-based interface for AI agents that support MCP (Replit, Cursor, etc.)

Both interfaces connect to the same [`@remnic/core`](https://www.npmjs.com/package/@remnic/core) engine. All data stays local on your filesystem.

## Usage

```typescript
import { createServer } from "@remnic/server";

const server = createServer({
  port: 3141,
  authToken: process.env.REMNIC_AUTH_TOKEN,
});

await server.start();
```

## License

MIT