open-index/open-npm huggingface dataset:
npm package: @rigor789/resolve-package-path
Description: [![CI](https://github.com/rigor789/resolve-package-path/actions/workflows/ci.yml/badge.svg)](https://github.com/rigor789/resolve-package-path/actions/workflows/ci.yml)
Author: Igor Randjelovic
Latest version: 1.0.7

# @rigor789/resolve-package-path

[![CI](https://github.com/rigor789/resolve-package-path/actions/workflows/ci.yml/badge.svg)](https://github.com/rigor789/resolve-package-path/actions/workflows/ci.yml)

Small utility (no external dependencies) for finding the path of a package across different node versions.

---

```bash
npm i --save @rigor789/resolve-package-path
# or 
yarn add @rigor789/resolve-package-path
# or
pnpm add @rigor789/resolve-package-path
```

---

The reason this exists is because `require.resolve("<packageName>/package.json")` can fail if a package defines `exports` in their `package.json` and does not include `package.json`.

Some details on the issue can be found here: https://github.com/nodejs/node/issues/33460

This package works around the issue by:
1. first trying a regular `require.resolve("<packageName>/package.json")`
2. then falling back to `require.resolve("<packageName>")` and finding the last index of `node_modules/<packageName>`
3. finally falls back to the same `require.resolve("<packageName>")` and a filesystem traversal upwards until a matching package.json is found
4. if the package is not found, returns `false`

# API

## resolvePackagePath(packageName: string, options?)

Resolves the package path. Options accepts anything that `require.resovle("", options)` accepts. [See Node Docs](https://nodejs.org/api/modules.html#modules_require_resolve_request_options)

Example:

```js
const { resolvePackagePath } = require("@rigor789/resolve-package-path");

console.log(resolvePackagePath('package-a'))         // /path/to/package-a
console.log(resolvePackagePath('@scoped/package-a')) // /path/to/@scoped/package-a
```

## resolvePackageJSONPath(packageName: string, options?)

Same as `resolvePackagePath` but returns the path to the `package.json` instead.

Example:

```js
const { resolvePackageJSONPath } = require("@rigor789/resolve-package-path");

console.log(resolvePackageJSONPath('package-a'))         // /path/to/package-a/package.json
console.log(resolvePackageJSONPath('@scoped/package-a')) // /path/to/@scoped/package-a/package.json
```

# License

MIT
npm package: @rigor789/typed-value-provider
Description: This is a proof of concept for 2 utils, the base util is a typed `get` function that provides TypeScript intellisense for dot notation access, the second one bulding on top of the `get` function that combines the dot notation access with a "Value Provider
Latest version: 0.0.3

# Typed Value Provider

This is a proof of concept for 2 utils, the base util is a typed `get` function that provides TypeScript intellisense for dot notation access, the second one bulding on top of the `get` function that combines the dot notation access with a "Value Provider".

A Value Provider can be a direct value (ie. `someValue: 42`), a function that returns the value (ie. `someValue: () => 42`) or a function that returns a Promise/async function (ie. `someValue: async () => 42`).

Definining a Value Provider returns a `get` function that accepts a dot notated path and returns the resolved value at a given path. In case a resolved value contains inner value providers, they are automatically unwrapped.

## API

### get

```ts
import { get } from "@rigor789/typed-value-provider";

get(object: any, path: string);
```

### value provider

```ts
import { defineValueProvider } from "@rigor789/typed-value-provider";

defineValueProvider<{
  someValue: string
}>({
  someValue: async () => await getSomeValue();
})
```
npm package: @rigouu0407/openclaw-plugin
Description: OpenClaw plugin for MemVault - persistent memory for AI agents
Latest version: 1.3.0

# @rigouu0407/openclaw-plugin

OpenClaw 插件 — 为 OpenClaw Agent 添加 [MemVault](https://github.com/rikouu/memvault) 持久化跨会话记忆能力。

插件**不修改** OpenClaw 原有的任何行为，纯粹做增量增强。

## 安装

```bash
npm install @rigouu0407/openclaw-plugin
```

## 配置

```json
{
  "plugins": [
    {
      "id": "memvault",
      "config": {
        "apiBaseUrl": "http://localhost:8765",
        "apiKey": "mv_your_api_key",
        "projectId": "your_project_id",
        "agentId": "your_agent_id",
        "memoryMode": "enhance"
      }
    }
  ]
}
```

## 记忆模式

### `enhance`（默认）— MemVault + 本地记忆协同

```
召回: MemVault 语义搜索 + MEMORY.md 作为静态上下文始终注入
捕获: 会话 → MemVault（不写本地文件，OpenClaw 原生该怎么记还怎么记）
```

MEMORY.md 是 Agent 的"人设"（核心规则、偏好、项目信息），每次都注入；MemVault 是 Agent 的"记忆"（从对话中提取的事实），按语义相关度搜索。两者职责分明，不会重复。

Agent 同时拥有两套搜索工具：
- `memory_search` — OpenClaw 原生（BM25 搜索本地 md 文件）
- `memvault_search` — MemVault（语义搜索向量数据库，跨设备跨 Agent）

### `standalone` — 纯 MemVault

```
召回: 纯 MemVault 语义搜索
捕获: 会话 → MemVault
本地文件: 完全不碰
```

适合服务端部署、多设备同步、或不使用 OpenClaw 原生记忆系统的场景。

## 配置项

| 参数 | 类型 | 必需 | 说明 | 默认值 |
|------|------|------|------|--------|
| `apiBaseUrl` | string | 是 | MemVault API 地址 | — |
| `apiKey` | string | 是 | API Key | — |
| `projectId` | string | 是 | 项目 ID | — |
| `agentId` | string | 是 | Agent ID | — |
| `userId` | string | 否 | 默认用户 ID | `"default"` |
| `memoryMode` | string | 否 | `"enhance"` 或 `"standalone"` | `"enhance"` |
| `autoRecall` | boolean | 否 | 自动召回相关记忆 | `true` |
| `autoCapture` | boolean | 否 | 自动提取并存储记忆 | `true` |
| `captureWindowSize` | number | 否 | 每轮提取的对话消息数（建议 6，最小 2） | `6` |
| `topK` | number | 否 | 每轮最多召回记忆数 | `5` |
| `sourceApp` | string | 否 | 来源标识 | `"openclaw"` |
| `threshold` | number | 否 | 搜索相似度阈值 (0-1) | — |
| `workspacePath` | string | 否 | OpenClaw 工作区路径 | `~/.openclaw/workspace` |

## Agent 工具

所有 MemVault 工具使用 `memvault_` 前缀，与 OpenClaw 原生工具互不冲突：

| 工具 | 说明 |
|------|------|
| `memvault_search` | 语义搜索 MemVault 向量数据库 |
| `memvault_store` | 显式存储一条记忆 |
| `memvault_list` | 列出所有记忆 |
| `memvault_get` | 获取单条记忆详情 |
| `memvault_forget` | 删除指定记忆 |

## CLI 命令

```bash
# 搜索记忆
openclaw memvault search "用户偏好"

# 查看统计
openclaw memvault stats

# 将本地 OpenClaw 记忆导入 MemVault（一次性迁移，两种模式都可用）
openclaw memvault sync
```

## 从 v1.2.x 升级

- `localMemorySync` 配置已移除，替换为 `memoryMode`
- 默认 `enhance` 模式不再写入本地文件（只读 MEMORY.md）
- 设置 `memoryMode: "standalone"` 等同于之前完全不使用本地文件

## License

MIT
npm package: @rigstate/cli
Description: Rigstate CLI - Code audit, sync and supervision tool
Author: Rigstate
Latest version: 0.7.40

# @rigstate/cli

The official command-line interface for Rigstate - AI-powered code audit and security analysis.

## Installation

### From source (development)

```bash
cd packages/cli
npm install
npm run build
npm install -g .
```

### From npm (coming soon)

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

## Quick Start

### 1. Login

Authenticate with your Rigstate API key:

```bash
rigstate login sk_rigstate_your_key_here
```

You can generate an API key from your Rigstate dashboard at the API Keys section.

### 2. Scan Your Code

Scan your current directory:

```bash
rigstate scan
```

Scan a specific directory:

```bash
rigstate scan ./src
```

Scan with a project ID:

```bash
rigstate scan --project abc123
```

Output as JSON (useful for IDE extensions):

```bash
rigstate scan --json
```

## Commands

### `rigstate login <api-key>`

Authenticate with your Rigstate API key. The key is securely stored locally.

**Arguments:**
- `api-key` - Your Rigstate API key (starts with `sk_rigstate_`)

**Example:**
```bash
rigstate login sk_rigstate_1234567890abcdef
```

### `rigstate scan [path]`

Scan code files for security and quality issues.

**Arguments:**
- `path` - Directory or file to scan (default: current directory)

**Options:**
- `--json` - Output results as JSON instead of formatted text
- `--project <id>` - Project ID to associate with this scan

**Example:**
```bash
rigstate scan ./src --project my-project-123 --json
```

## Features

- 🔐 **Secure Authentication** - API keys stored locally using `conf`
- 📁 **Smart File Detection** - Automatically finds code files
- 🚫 **Gitignore Respect** - Honors your .gitignore patterns
- 🎨 **Beautiful Output** - Color-coded results with severity levels
- 📊 **JSON Export** - Machine-readable output for integrations
- ⚡ **Fast Scanning** - Parallel file processing

## Configuration

Configuration is stored in:
- **macOS/Linux:** `~/.config/rigstate-cli/config.json`
- **Windows:** `%APPDATA%\rigstate-cli\config.json`

The config file stores:
- `apiKey` - Your authentication key
- `projectId` - Default project ID (optional)
- `apiUrl` - API endpoint (defaults to `http://localhost:3000`)

## Environment Variables

You can override the API URL with an environment variable:

```bash
export RIGSTATE_API_URL=https://api.rigstate.com
rigstate scan
```

## Development

```bash
# Install dependencies
npm install

# Build the CLI
npm run build

# Watch mode for development
npm run dev

# Link locally for testing
npm link
```

## Future IDE Extensions

This CLI is the foundation for our upcoming IDE extensions:
- VS Code Extension
- JetBrains Plugin
- Neovim Plugin

The `--json` flag is specifically designed for these integrations.

## Support

For issues, questions, or feature requests, please visit our GitHub repository or contact support.

## License

MIT
npm package: @rigstate/rules-engine
Description: The universal rules generation engine for Rigstate. This package centralizes the logic for creating context-aware rules for various AI-powered IDEs (Cursor, Windsurf, VS Code, etc.).
Latest version: 0.6.1

# @rigstate/rules-engine

The universal rules generation engine for Rigstate. This package centralizes the logic for creating context-aware rules for various AI-powered IDEs (Cursor, Windsurf, VS Code, etc.).

## 🚀 Features

- **Multi-Agent Identity**: Generates instructions for specialized AI agents (The Nordic Trinity).
- **Guardian Rules**: Enforces architectural constraints like file size limits and type safety.
- **Roadmap Injection**: Dynamically injects the current active roadmap step into rules.
- **Stack DNA**: Applies tech-stack specific constraints.
- **Multi-IDE Support**: Supports different rule formats and filenames (.cursorrules, .windsurfrules, etc.).
- **Strict Tool Ownership**: Binds MCP tools to specific Agent IDs for persona consistency.

## 📦 Usage

```typescript
import { generateRuleContent, fetchLegacyStats, fetchActiveAgents } from '@rigstate/rules-engine';

const rules = generateRuleContent(
    project,
    techStackList, 
    roadmapChunks,
    'cursor', // preference
    legacyStats,
    activeAgents
);
```

## 🏗️ Architecture

This package is designed to be environment-agnostic. It can be used in:
1. **Next.js Web App**: For rule previews and GitHub synchronization.
2. **MCP Server**: For real-time rule delivery directly to the IDE.
3. **CLI**: for local rule validation.

## 🛡️ License

MIT
npm package: @rigstech/codemirror-vscodesearch
Description: retexture of codemirror's search to look like VS Code
Author: Gavin Rigsby
Latest version: 1.0.4

# VSCode Style Search & Replace for CodeMirror

A VSCode-styled Search and Replace extension for [CodeMirror 6](https://codemirror.net/), built on top of the core `@codemirror/search` package. This plugin provides a familiar find/replace experience inspired by Visual Studio Code, complete with custom keybindings and inline input styling.

## ✨ Features

- Find and Replace support with UI controls
- Toggle options: Regex, Case Sensitivity, Whole Word
- Inline match highlighting
- Keyboard shortcuts modeled after VSCode
- Fully integrated with CodeMirror's state and view systems

## 🚀 Installation

Make sure you have `@codemirror/view`, `@codemirror/state`, and `@codemirror/search` installed:

```bash
npm install @rigstech/codemirror-vscodeSearch
```

Then include the plugin in your CodeMirror setup.
## 🛠️ Usage
Import
```ts
import { vscodeSearch, customSearchKeymap } from '@rigstech/codemirror-vscodeSearch';
import { keymap } from '@codemirror/view';
```

Add to Editor Extensions

```ts
const editor = new EditorView({
  state: EditorState.create({
    doc: 'Your initial content here...',
    extensions: [
      vscodeSearch,
      keymap.of([
        // Your other keymaps...
        ...customSearchKeymap
      ])
    ]
  }),
  parent: document.getElementById('editor')!
});
```

## 🎹 Default Keybindings

| Shortcut      | Action                          |
|---------------|---------------------------------|
| Mod+F         | Show Search UI                  |
| Mod+H         | Show Replace UI                 |
| Escape        | Hide Search UI                  |
| Enter         | Find/Replace Next               |
| Shift+Enter   | Find Previous                   |
| Mod+Alt+Enter | Replace All                     |
| Alt+C         | Toggle Case Sensitivity         |
| Alt+W         | Toggle Whole Word               |
| Alt+R         | Toggle Regex                    |
| Mod+A         | Select All (search/replace box) |

*Mod is Cmd on macOS and Ctrl on Windows/Linux.*

## 📦 Project Structure

This plugin is structured into:

    commands:               Codemirror commands for hotkeys
    keymap:                 Keymap defition
    plugin:                 Main ViewPlugin
    state:                  Extension States
    theme:                  Styling
    utility:                Helper Functions
    FindReplaceControl:     Extension Logic

## 📄 License

MIT — feel free to use and modify for your own projects!
npm package: @rigu/svelte-gpt
Description: Svelte library to render google ADS using google gpt
Author: Igor AFTENI
Latest version: 1.0.2

<div align="center">
  <h1>Svelte component for Google Publisher Tags</h1>
</div>


[![npm package](https://img.shields.io/npm/v/@rigu/svelte-gpt.svg?style=flat-square)](https://www.npmjs.com/package/@rigu/svelte-gpt)

## Svelte-gpt

Svelte library to render google ADS using google gpt (Google Publisher Tags)

### Installation

```
npm install @rigu/svelte-gpt
```
```
yarn add @rigu/svelte-gpt
```

### Usage
In your `app.html` file, in the `<head>` tag insert the script to load the Google Publisher Tags 
```HTML
<HEAD>
...
    <script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script>
...
</HEAD>
```

In the `svelte` component you can import the `<GptSlot />` component to load ADS that you want.
```
<script lang="ts">
    const networkCode = 123456789;
    const unitCode = 'My_unit_CODE';
    const containerId = 'my-gpt-ad-slot-container';
    const maxHeight = 80;
    
    const size = [[728, 60], [900, 60], [1024, 60]];
    const sizeMapping = {
        768: [728, 60],
        1024: [[1024, 60], [900, 60]],
    };
</script>

<GptSlot {networkCode} {unitCode} {size} {sizeMapping} {containerId} {maxHeight} />
```

### Properties
| Prop          | Type   | Default              | Description                                                                                                          |
|---------------|--------|----------------------|----------------------------------------------------------------------------------------------------------------------|
| networkCode   | string | undefined            | Your `Network code` from Google Ad Manager                                                                           |
| unitCode      | string | undefined            | The `Ad unit code` that should be displayed                                                                          |
| containerId   | string | 'svelte-gpt-ad-slot' | ID attribute for `<DIV>` container where the banner will be injected. <br/> It is used also to define the gpt `Slot` |
| maxHeight     | number | 60                   | The value for `max-height` CSS style of the container                                                                |
| size          | number | []                   | List of sizes that are provided for this `Ad unit`                                                                   |
| sizeMapping   | number | {}                   | Map of the sizes, to create a responsive `Slot`                                                                      |

### CSS custom properties (variables)

You can style a component by overriding [the available CSS custom properties]
```
<GptSlot --max-width="75%" --width="auto" {networkCode} {unitCode} />
```

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
npm package: @rigwild/apidoc-markdown
Description: Generate API documentation in Markdown format from apiDoc data
Author: rigwild
Latest version: 5.0.0
Deprecated: This package has been moved to `apidoc-markdown`, see https://www.npmjs.com/package/@rigwild/apidoc-markdown

# @rigwild/apidoc-markdown

## Deprecated
This package has been moved to [`apidoc-markdown`](https://www.npmjs.com/package/apidoc-markdown).

Before installing the new version, you need to uninstall this one or you will have conflicts:

```sh
yarn global remove @rigwild/apidoc-markdown
# or
npm uninstall -g @rigwild/apidoc-markdown
```

## Why
The original maintainer `apidoc-markdown` has agreed to transfer the main package name. See [github.com/martinj/node-apidoc-markdown/issues/13](https://github.com/martinj/node-apidoc-markdown/issues/13#issuecomment-601157142).