open-index/open-npm huggingface dataset:
npm package: @rishiosaur/async
Description: A tiny asynchronous effect for React.
Latest version: 1.2.10

# ⏱ async

![lint status](https://github.com/rishiosaur/async/workflows/lint/badge.svg)
![format status](https://github.com/rishiosaur/async/workflows/format/badge.svg)
![format status](https://github.com/rishiosaur/async/workflows/build/badge.svg)
![GitHub](https://img.shields.io/github/license/rishiosaur/async)
![GitHub issues](https://img.shields.io/github/issues/rishiosaur/async)
![GitHub contributors](https://img.shields.io/github/contributors/rishiosaur/async)
![GitHub last commit](https://img.shields.io/github/last-commit/rishiosaur/async)
![npm](https://img.shields.io/npm/v/@rishiosaur/async)

A tiny asynchronous effect library for React.

## Installation

Just run `yarn add @rishiosaur/async` or `npm i @rishiosaur/async` (whichever floats your boat) to grab the latest version.

## Usage

`async` comes with two kinds of hooks: `usePromiseEffect` and `useAsyncEffect`. Note: most implementations of promise/asynchronous effects are largely the same—this one just happens to be a little bit faster and has some great types.

### `usePromiseEffect`

This hook returns an array of `[value, loading, error]`; the main hook passed to it must return some `Promise<T>`.

All error handling and internal state management is done for you; all you have to do is write the promise resolution logic!

Basic Example:

```typescript
const App = () => {
  const [value, loading, err] = usePromiseEffect(() =>
    fetch('https://jsonplaceholder.typicode.com/todos/1').then((response) =>
      response.json()
    )
  );

  return (
    <>
      <p>
        {!loading
          ? err
            ? JSON.stringify(err, null, 2)
            : JSON.stringify(value, null, 2)
          : 'Loading'}
      </p>
    </>
  );
};
```

### `useAsyncEffect`

This is much like `usePromiseEffect`, but it's much more like React's internal `useEffect` than anything:

Basic example:

```typescript
function App() {
  const [state, setState] = useState();

  useAsyncEffect(async () => {
    const data = await fetch(
      `https://jsonplaceholder.typicode.com/posts/50`
    ).then((res) => res.json());

    setState(data);
  });

  return (
    <>
      <p>{JSON.stringify(state, null, 2)}</p>
    </>
  );
}
```

---

## Notes about usage

Unlike React's `useEffect`, both hooks come with dependency array defaults; you just need to supply the hooks.

`useAsyncEffect` also has settings for cleanup functions & mounted states.
npm package: @rishiosaur/hn
Description: ![lint status](https://github.com/rishiosaur/hn/workflows/lint/badge.svg) ![format status](https://github.com/rishiosaur/hn/workflows/format/badge.svg) ![build status](https://github.com/rishiosaur/hn/workflows/build/badge.svg) ![GitHub](https://img.shiel
Latest version: 0.0.1

# 💸 HN

![lint status](https://github.com/rishiosaur/hn/workflows/lint/badge.svg)
![format status](https://github.com/rishiosaur/hn/workflows/format/badge.svg)
![build status](https://github.com/rishiosaur/hn/workflows/build/badge.svg)
![GitHub](https://img.shields.io/github/license/rishiosaur/hn)
![GitHub issues](https://img.shields.io/github/issues/rishiosaur/hn)
![GitHub contributors](https://img.shields.io/github/contributors/rishiosaur/hn)
![GitHub last commit](https://img.shields.io/github/last-commit/rishiosaur/hn)

The most extendable Hack Club currency implementation.
npm package: @rishiqing/cli
Description: Agent-oriented CLI for Rishiqing APIs
Latest version: 0.1.7

# rishiqing-cli

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![npm version](https://img.shields.io/npm/v/@rishiqing/cli.svg)](https://www.npmjs.com/package/@rishiqing/cli)
[![Node.js](https://img.shields.io/badge/node-%3E%3D20-blue.svg)](https://nodejs.org/)

面向 Agent 和开发者的日事清 CLI，由 `rishiqing.openapi.json` 驱动命令注册。它不是简单包一层 HTTP 请求，而是把“发现命令、理解参数、预览请求、执行调用”整理成一套稳定的终端接口，方便人和 AI Agent 直接操作日事清。

[安装](#安装与快速开始) · [Agent 能力](#agent-能力) · [命令体系](#命令体系) · [进阶用法](#进阶用法) · [安全](#安全与约束)

## 安装与快速开始

### 环境要求

开始之前，请确保具备以下条件：

- Node.js `>= 20`
- 一个可用的 `X-Rsq-Api-key`（日事清->设置->开发者配置）

### 极速开始

```bash
npm install -g @rishiqing/cli
rsq-cli install
rsq-cli config init
```

### 快速开始

#### 安装

推荐直接从 npm 安装：

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

#### 安装 CLI Skill
```bash
rsq-cli install
```

`rsq-cli install` 会将项目内置的 skill 安装到已知智能体目录，目前默认包含：

- `Codex`: `~/.agents/skills`
- `Claude Code`: `~/.claude/skills`
- `OpenClaw`: `~/.openclaw/skills`

也可以只安装到指定目标，或者追加自定义目录：

```bash
rsq-cli install --target codex
rsq-cli install --target codex,claude-code
rsq-cli install --dir ~/.my-agent/skills
rsq-cli install --dry-run --json
```

#### 配置

先初始化用户级 API Key 配置：

```bash
rsq-cli config init
```

查看当前配置文件位置：

```bash
rsq-cli config path
```

查看常用命令：

```bash
rsq-cli --help
```

## Agent 能力

`rsq-cli` 既提供内建的 agent contract，也保留了仓库内可复用的 skill。

| 能力 | 说明 |
| --- | --- |
| `describe` | 结构化输出全部命令、参数、请求体 schema、示例 |
| `search` | 按自然语言意图检索命令 |
| `describe-agent-contract` | 输出面向 Agent 的路由规则、领域关键词和全局约束 |
| `agent` | 面向 Agent 的包装命令；收到内联 `--body` 时会自动落盘并转成 `--body-file` 执行 |
| `skills/rishiqing` | 识别“日事清”领域请求并路由到对应模块 |
| `skills/rsq-workflow-createFlowApplication` | 根据流程场景自动创建流程应用，优先匹配模板，匹配不到回退到标准模式 |

## 命令体系

CLI 当前按三层能力组织：

### 1. 模块命令

这是最直接的 API 调用层，按业务域分组：

```bash
rsq-cli datasheet --help
rsq-cli workflow --help
rsq-cli contacts --help
rsq-cli project --help
rsq-cli task --help
```

例如：

```bash
echo '{"name":"新项目"}' > request.json
rsq-cli project create --body-file request.json --json
rsq-cli task get --task-id task_xxx --json
rsq-cli workflow list-templates --json
```

### 2. 组合命令

这类命令会在内部串联多个步骤，适合 Agent 直接调用：

```bash
rsq-cli agent contacts resolve-user --user-name 张三 --json
rsq-cli agent task set-executor-by-name --task-id task_xxx --user-name 张三 --json
rsq-cli agent project set-member-by-name --project-id proj_xxx --user-name 李四 --json
rsq-cli agent workflow create-audit-by-names \
  --flow-application-id flow_xxx \
  --step-info-id step_xxx \
  --audit-info-name 部门审批 \
  --user-names 张三,李四 \
  --json
```

### 3. 自省命令

这是 Agent 场景最关键的一层：

```bash
rsq-cli describe --json
rsq-cli describe workflow --json
rsq-cli describe workflow createFlowApplication --json
rsq-cli search "list workflow applications" --json
rsq-cli describe-agent-contract
```

## 安全与约束

本工具可被 AI Agent 调用执行真实的日事清写操作，因此请务必注意：

- `X-Rsq-Api-key` 具备真实权限，不应出现在日志、截图或共享终端中
npm package: @rishiraj0100/sbl.js
Description: A JavaScript API wrapper for SmartBots.tk API
Author: Rishiraj0100
Latest version: 0.1.0


# SBL.js

API wrapper for [smartbots.tk](https://smartbots.tk) API

## Installation

To install with npm

```bash
npm install @rishiraj0100/sbl.js
```
  
## Documentation

[Click Here](https://js.docs.smartbots.tk/)

### Classes

- SBLApi   - [Click Here](https://js.docs.smartbots.tk/SBLApi.html)
- SBLError - [Click Here](https://js.docs.smartbots.tk/SBLError.html)

### Type Definitions

- APIBotLikes - [Click Here](https://js.docs.smartbots.tk/global.html#APIBotLikes)

## SBL STUFFS

- [WEBSITE](https://smartbots.tk)
- [DISCORD](https://smartbots.tk/join)
- [Python Api](https://py.docs.smartbots.tk)
npm package: @rishistack/rscomponents
Description: Customizable React + TypeScript Bootstrap wrapper component library
Latest version: 0.2.0

# rscomponents

A customizable React + TypeScript component library that wraps Bootstrap classes.

## Install

```bash
npm install @rishistack/rscomponents bootstrap
```

## Bootstrap CSS

Import Bootstrap once in your app entry file:

```ts
import 'bootstrap/dist/css/bootstrap.min.css';
```

## Usage

```tsx
import {
  RSAlert,
  RSButton,
  RSCard,
  RSDropdown,
  RSModal,
  RSNav,
  RSNavbar,
  RSOffcanvas,
  RSTable,
  RSTextBox
} from '@rishistack/rscomponents';

export function Example() {
  return (
    <RSCard title="Welcome" body="Everything is customizable.">
      <RSAlert variant="success">Saved successfully</RSAlert>
      <RSTextBox label="Email" placeholder="name@company.com" className="mb-3" />
      <RSButton variant="primary" size="lg">Continue</RSButton>
    </RSCard>
  );
}
```

## Data Table Example

```tsx
import { RSDataTable, type DataTableColumn } from '@rishistack/rscomponents';

type UserRow = {
  id: number;
  name: string;
  email: string;
};

const columns: DataTableColumn<UserRow>[] = [
  { key: 'id', header: 'ID', accessor: (row) => row.id, sortAccessor: (row) => row.id },
  { key: 'name', header: 'Name', accessor: (row) => row.name, sortAccessor: (row) => row.name },
  { key: 'email', header: 'Email', accessor: (row) => row.email, sortAccessor: (row) => row.email }
];

const rows: UserRow[] = [
  { id: 1, name: 'Ava Patel', email: 'ava@example.com' },
  { id: 2, name: 'Ben Carter', email: 'ben@example.com' },
  { id: 3, name: 'Cora Singh', email: 'cora@example.com' }
];

export function UsersTable() {
  return (
    <RSDataTable
      columns={columns}
      rows={rows}
      searchable
      sortable
      paginated
      pageSize={10}
    />
  );
}
```

## Storybook

```bash
npm run storybook
```

Build static docs:

```bash
npm run build-storybook
```

Step-by-step component publishing guide:

- [docs/PUBLISH_NEW_COMPONENT.md](docs/PUBLISH_NEW_COMPONENT.md)

## Components

Includes Bootstrap-wrapped primitives and layout/navigation/form components such as alerts, buttons, badges, cards, dropdowns, navbars, modals, offcanvas, tables, and form inputs.

For complete props and examples, use Storybook.

## Customization Pattern

Each component supports:

- `className` and `style`
- `bsPrefix` to override bootstrap base class
- native HTML attributes via `...rest`
- extra behavior props specific to the component

Use these patterns to add wrappers for more Bootstrap elements.

Note: non-prefixed exports (for example `Button`, `FormInput`) are still available for backward compatibility.
npm package: @rishivikram/wdcli
Description: A CLI tool for automating tests from workduck platform
Author: RishivikramN @RishivikramN
Latest version: 0.0.1

wdcli
=====

A CLI tool for automating tests from workduck platform

[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)
[![Version](https://img.shields.io/npm/v/wdcli.svg)](https://npmjs.org/package/@rishivikram/wdcli)
[![Downloads/week](https://img.shields.io/npm/dw/wdcli.svg)](https://npmjs.org/package/@rishivikram/wdcli)
[![License](https://img.shields.io/npm/l/wdcli.svg)](https://github.com/RishivikramN/wdcli/blob/master/package.json)

<!-- toc -->
* [Usage](#usage)
* [Commands](#commands)
<!-- tocstop -->
# Usage
<!-- usage -->
```sh-session
$ npm install -g @rishivikram/wdcli
$ wdcli COMMAND
running command...
$ wdcli (-v|--version|version)
@rishivikram/wdcli/0.0.0 linux-x64 node-v14.16.1
$ wdcli --help [COMMAND]
USAGE
  $ wdcli COMMAND
...
```
<!-- usagestop -->
# Commands
<!-- commands -->
* [`wdcli auth`](#wdcli-auth)
* [`wdcli help [COMMAND]`](#wdcli-help-command)
* [`wdcli lstest`](#wdcli-lstest)

## `wdcli auth`

Provides auth to access workduck resources

```
USAGE
  $ wdcli auth

OPTIONS
  -e, --email=email        email address
  -h, --help               show CLI help
  -p, --password=password  password

EXAMPLE
  $ wdcli hello
  hello world from ./src/hello.ts!
```

_See code: [src/commands/auth.ts](https://github.com/RishivikramN/wdcli/blob/v0.0.0/src/commands/auth.ts)_

## `wdcli help [COMMAND]`

display help for wdcli

```
USAGE
  $ wdcli help [COMMAND]

ARGUMENTS
  COMMAND  command to show help for

OPTIONS
  --all  see all commands in CLI
```

_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.2/src/commands/help.ts)_

## `wdcli lstest`

Lists all the tests that the user have created so far

```
USAGE
  $ wdcli lstest

OPTIONS
  -a, --app=app              (required) Input App Name
  -c, --companyid=companyid  (required) Input company Id
  -d, --dump                 Dumps the raw output - Ignore this to get clean and needed info
  -h, --help                 show CLI help

EXAMPLE

  $ wdcli lstest -a=<appName> -c=<companyId>

  $ wdcli lstest -a=<appName> -c=<companyId> -e
```

_See code: [src/commands/lstest.ts](https://github.com/RishivikramN/wdcli/blob/v0.0.0/src/commands/lstest.ts)_
<!-- commandsstop -->