open-index/open-npm huggingface dataset:
npm package: @rockyhong/claudia
Description: A personal receptionist for all your Claude Code agents
Latest version: 0.3.1

# Claudia

**Your Claude keeper.**

**Claud**e + d**ía** — Claude Code every day!

<p align="center">
  <img src="docs/assets/demo.gif" alt="Claudia dashboard demo" width="800">
</p>

## Why

Claude Code had me running — different monitors, different terminals, different projects. I kept tab-switching: *is it done? Is it blocked? Which terminal was that?*

So here comes Claudia — built with Claude, under Claudia's watch?! It watches them all in one tab and dings when something needs me.

And honestly, who doesn't like some company?

## Quick Start

```bash
npx @rockyhong/claudia
```

First run prompts you to install hooks. That's it — run your Claude sessions and Claudia picks them up.

> Already-running sessions won't see the hooks. Restart them after installing.

### Desktop App

Prefer a standalone window? Grab the latest from [Releases](https://github.com/RockyHong/Claudia/releases) — no Node.js required.

- **Windows** — `Claudia-Windows.zip` (extract and run)
- **macOS** — `Claudia.dmg` (drag to Applications)

## How It Works

```
Terminal 1 (claude code)  ──┐
Terminal 2 (claude code)  ──┤ hooks (curl POST)
Terminal 3 (claude code)  ──┘
                            ▼
              Claudia server (localhost:48901)
                            │
                            │ SSE stream
                            ▼
                    Browser dashboard
```

Claude Code [hooks](https://docs.anthropic.com/en/docs/claude-code/hooks) fire on session events, sending a small JSON payload to Claudia's local server. It tracks state transitions and pushes updates to your browser via Server-Sent Events.

## Features

- **All sessions, one view** — no more tab-switching to check what's done, blocked, or waiting
- **Spawn** — launch project terminals, Claude sessions, open project folders — without leaving the dashboard
- **Project docs** — browse the markdown tree per project — specs, READMEs, scope at a glance
- **Focus** — notifications tell you when something needs you, terminal jump gets you there
- **Avatar** — video sets that react to what's happening — custom sets, import/export

## Privacy

All access is local. The only network call is the opt-in Anthropic usage API.

See [docs/help/privacy.md](docs/help/privacy.md) for exactly what Claudia reads, and how to remove every trace.

## Uninstall

```bash
npx @rockyhong/claudia uninstall   # remove hooks + delete all Claudia data
```

## Requirements

- Node.js 18+
- Claude Code (with hooks support)

## License

MIT
npm package: @rockyj/async-utils
Description: Compose async functions with ease
Latest version: 1.0.6

# Async-Utils

Compose async functions with ease

```
const arr: number[] = []

const f1 = async (a: number[]) => {
  await delay(300)
  a.push(1)
  return a
}

const f2 = async (a: number[]) => {
  await delay(200)
  a.push(2)
  return a
}

const f3 = async (a: number[]) => {
  await delay(100)
  a.push(3)
  return a
}

const res = await pipeAsync(f1, f2, f3)(arr)
console.log(res) // [1, 2, 3]
```
npm package: @rockyj/camelcase-keys
Description: Largely forked from https://github.com/sindresorhus/camelcase-keys (Thank you!).
Latest version: 1.3.0

# camelcase-keys

Largely forked from https://github.com/sindresorhus/camelcase-keys (Thank you!).

I only did this to get this library working with my commonjs module project/s.
npm package: @rockyli/random
Description: A lightweight Javascript library to generate random values with simple API
Author: Rocky Li
Latest version: 1.1.0

# node-random

[![Build Status](https://travis-ci.org/rockyliyanlok/node-random.svg?branch=master)](https://travis-ci.org/rockyliyanlok/node-random) [![Download Stats](https://img.shields.io/npm/dw/@rockyli/random.svg)](https://github.com/rockyliyanlok/node-random)

A lightweight Javascript library to generate random values with simple API.

## Installation

To install the random generator, use [npm](http://github.com/npm/npm):

```
npm install --save @rockyli/random
```

## Usage

```javascript
const random = require('@rockyli/random');

random.integer(min = 0, max = 100); // generate integer from 0 to 100
random.number(min = 0, max = 100); // generate number from 0.0 to 100.0
random.boolean(); // true or false
random.bytes(len = 16); // generate cryptographically strong pseudo-random data
random.string(len = 16, type = 'alphanumeric', capitalization = 'lowercase'); // generate random string
random.uuid(); // generate random uuid version 4 string
random.date(); // generate random date between 1970-01-01 00:00:00 and 2038-01-19 03:14:07
random.date(new Date(Date.UTC(2000, 0, 1, 0, 0, 0)), new Date(Date.UTC(2019, 2, 14, 0, 0, 0))); // generate random date between 
random.element(array = []); // return random element in provided array

```

## API

- `integer(min, max)`
  - `min` - the minimum value of random integer. (default: 0) [OPTIONAL]
  - `max` - the maxium value of random integer. (default: 100) [OPTIONAL]
 

- `number(min, max)`
  - `min` - the minimum value of random integer. (default: 0.0) [OPTIONAL]
  - `max` - the maxium value of random integer. (default: 100.0) [OPTIONAL]
 

- `boolean()` 
 

- `string(len, type, capitalization)`
  - `len` - the length of the random string. (default: 16) [OPTIONAL]
  - `type` - define the character set for the string. (default: `alphanumeric`) [OPTIONAL]
    - `alphanumeric` - [0-9 a-z A-Z]
    - `alphabetic` - [a-z A-Z]
    - `numeric` - [0-9]
    - `hex` - [0-9 a-f]
    - `custom` - any given characters
  - `capitalization` - define whether the output should be lowercase or uppercase only. (default: `lowercase`) [OPTIONAL]
    - `lowercase`
    - `uppercase`
    - `null`

 
- `uuid()`
 
 
- `date(min, max)`
  - `min` - the earliest date of random date. (default: new Date(Date.UTC(1970, 0, 1, 0, 0, 0))) [OPTIONAL]
  - `max` - the latest date of random date. (default: new Date(Date.UTC(2038, 0, 19, 3, 14, 7))) [OPTIONAL]
 
 
- `element(array)`
  - `array` - array provided for random element. (default: []) [OPTIONAL]


## Tests

```
npm install
npm run test
```

## LICENSE

node-random is licensed under the MIT license.
npm package: @rockyli/timestamp
Description: A lightweight Javascript library to convert between timestamp and datetime string
Author: Rocky Li
Latest version: 2.0.0

# node-timestamp

[![Build Status](https://travis-ci.org/rockyliyanlok/node-timestamp.svg?branch=master)](https://travis-ci.org/rockyliyanlok/node-timestamp) [![Download Stats](https://img.shields.io/npm/dw/@rockyli/timestamp.svg)](https://github.com/rockyliyanlok/node-timestamp)

A lightweight Javascript library to convert between timestamp and datetime string.

## Installation

To install timestamp library, use [npm](http://github.com/npm/npm):

```
npm install @rockyli/timestamp
```

## Usage

```javascript
const timestamp = require('@rockyli/timestamp');

timestamp.current(); // return current timestamp in seconds
timestamp.current('ms'); // return current timestamp in milliseconds

timestamp.fromDate(new Date()); // return current timestamp in seconds
timestamp.fromDate(new Date(), { unit: 'ms' }); // return current timestamp in seconds

timestamp.fromDatetimeString('2019-03-13', { format: 'YYYY-MM-DD' }); // return timestamp of 2019-03-13 00:00:00 in seconds
timestamp.fromDatetimeString('2019-03-13T12:34:00+08:00', { unit: 'ms' }); // return timestamp of 2019-03-13 12:34:00 in milliseconds

timestamp.toDate(1556766507); // return Date object of 2019-05-02T11:08:27.000+08:00

timestamp.toDatetimeString(1552406400); // return datetime string of 2019-03-13T00:00:00.000+08:00
timestamp.toDatetimeString(1552406400, { format: 'YYYY-MM-DD' }); // return datetime string of 2019-03-13
timestamp.toDatetimeString(1552406400, { format: 'HH:ss' }); // return datetime string of 00:00

```

## API

- `current(unit)`
  - `unit` - current timestamp unit. (default: 's') [OPTIONAL]
 
- `fromDate(date, options)`
  - `date` - datet object to convert
  - `options.unit` - datetime string unit. (default: 's') [OPTIONAL]

- `fromDatetimeString(datetimeString, options)`
  - `datetimeString` - datetime string to convert
  - `options.format` - datetime string format. (default: 'YYYY-MM-DDTHH:mm:ss.SSSZ') [OPTIONAL]
  - `options.timezone` - datetime string timezone. (default: 'Asia/Shanghai') [OPTIONAL]
  - `options.unit` - datetime string unit. (default: 's') [OPTIONAL]
 
- `toDate(timestamp, options)`
  - `timestamp` - timestamp to convert
  - `options.unit` - datetime string unit. (default: 's') [OPTIONAL]

- `toDatetimeString(timestamp, options)`
  - `timestamp` - timestamp to convert 
  - `options.format` - datetime string format. (default: 'YYYY-MM-DDTHH:mm:ss.SSSZ') [OPTIONAL]
  - `options.timezone` - datetime string timezone. (default: 'Asia/Shanghai') [OPTIONAL]
  - `options.unit` - datetime string unit. (default: 's') [OPTIONAL]
 

## Tests

```
npm install
npm run test
```

## LICENSE

node-timestamp is licensed under the MIT license.
npm package: @rockymadden/now-go
Description: Personal tinyurl service.
Author: Amio
Latest version: 0.0.0

# now-go [![npm-version][npm-badge]][npm-link]

A personal tinyurl service.

<p align="center">
  <img src="https://cloud.githubusercontent.com/assets/215282/18083956/fd563db8-6ed7-11e6-955a-a107699cbd38.jpg" /><br/>
  <i>Now go, let the legend come back to life!</i>
</p>

## Features

- Lightweight tinyurl service (in 100 lines).
- Semi-auto update with a [remote config](#remote-config).
- Three types of routes:
  - redirect to an url
  - echo a string
  - proxy tunnel

## Quick Start

- cli
  ```
  now-go -c path/to/config.json
  ```

- programaticly
  ```javascript
  import nowgo from 'now-go'

  nowgo('./config.json')
  ```

Here is an [example repo](https://github.com/amio/now-go-instance)
you can deploy to now.sh in 1 minute.

If you don't have `now` yet, `npm install -g now`.
Don't miss this awesome tool for [realtime global deployments][now].

## The `config.json`

All configurations are optional:

```javascript
{
  "routes": {
    // redirection (<value> is a url)
    "home": "https://github.com/amio/now-go",
    // proxy mode (<value> is a url prefixed with "PROXY >> ")
    "ocelot.jpg": "PROXY >> https://example.com/path-to-ocelog.jpg",
    // echo a string (<value> is a string)
    "now-go": "Now go, let the legend come back to life!",

    // special route for root path (<key> === "/")
    "/": "Yet another tinyurl service.",
    // special route for unmatched path: (<key> === "?")
    "?": "What are you looking for"
  },
  "port": 3030 // optional, 3000 by default
}
```

This is the config powers http://go.now.sh, go try it.
(While, maybe not exactly the full [latest version][config-eg])

## Remote Config

- Instead of `now-go -c config.json`, start server with:
```
now-go -c https://example.com/path-to-config.json
```

- Visit root path(the sepcial route "/") will trigger an update task in background -- so called "semi-auto update" :)

## License

[MIT][mit] © [Amio][author]

[now]:      https://zeit.co/now
[npm-badge]:https://img.shields.io/npm/v/now-go.svg?style=flat-square
[npm-link]: http://www.npmjs.com/package/now-go
[mit]:      http://opensource.org/licenses/MIT
[author]:   http://github.com/amio
[config-eg]:https://github.com/amio/now-go-instance/blob/master/config.json
npm package: @rockyshi/markdown-it-code-tabs
Description: markdow-it-code-tabs
Author: rockyshi1993@gmail.com
Latest version: 1.0.1


## Install
~~~shell
npm install markdow-it-code-tabs
npm install highlight.js
~~~

## Use
~~~js
import markdownit from 'markdown-it';
import javascript from 'highlight.js/lib/languages/javascript';
import CodeTabs from 'markdow-it-code-tabs';
hljs.registerLanguage('javascript', javascript);
const md = markdownit({
    html: true,
    linkify: true,
    typographer: true,
    highlight: function (str, lang) {
        if (lang && hljs.getLanguage(lang)) {
          try {
            return '<pre><code class="hljs">' +
                   hljs.highlight(str, { language: lang, ignoreIllegals: true }).value +
                   '</code></pre>';
          } catch (__) {}
        }
    
        return '<pre><code class="hljs">' + md.utils.escapeHtml(str) + '</code></pre>';
      }
}).use(CodeTabs);
~~~

## You must add css style to use
~~~js
import 'markdow-it-code-tabs/style.css';
~~~


## MD Example

~~~md
```js [g1:JavaScript]
console.log("hello");
```

```py [g1:Python3]
print("hello")
```
~~~
npm package: @rockzalo/guru-generator
Description: Ugn gegnecgggagocggg ge cacgggaccecgggej ignjcicgggago egn eg cajacgggo cugiao
Author: Gonzalo Moreno
Latest version: 1.0.0

# WTF 
Ugn gegnecgggagocggg ge cacgggaccecgggej ignjcicgggago egn eg cajacgggo cugiao

# CLI Usage

```shell
npm install @rockzalo/guru-generator
```

```shell
guru-guru "Hola que hace"
# or
echo "Hola que hace" | guru-guru
```

# JS Usage

```javascript
const translator = require("../lib/translator");
translator.toGuru("Quizas, quizas, quizas")
```
npm package: @rod-car/use-axios-api
Description: An API hook based on axios for REST API Call
Latest version: 1.0.0

# @rod-car/use-api

An API utility based on axios for making REST API calls in React applications.

## Installation

```javascript
npm install @rod-car/use-api
```

## Usage

```javascript
import { useApi } from '@rod-car/use-api';

// Example usage
const api = useApi({
  baseUrl: 'https://example.com'
  url: '/resource',
  key: 'data',
});

// Perform API actions using api.Client methods
api.Client.get(); // Fetch data
api.Client.post({ name: 'John Doe' }); // Create a new record
api.Client.put(1, { name: 'Updated Name' }); // Update a record
api.Client.find(1); // Find a record by ID
api.Client.patch(1, { partialData: 'Updated Data' }); // Partially update a record
api.Client.destroy(1); // Delete a record
```

## API Reference

### `useApi(options: APIProps)`

Initialize the API utility.

- `options`:
  - `baseUrl` (string): Base URL of the resources. It is optional.
  - `url` (string): URL of the resource excluding the base URL.
  - `key` (string): Key containing the data returned by the server. It is optional.

Returns an object with the following properties:

- `resetError()`: Reset the error state.
- `datas` (array): Array of data fetched from the server.
- `data`: Single data object fetched from the server.
- `RequestState`: Object indicating the current request state.
  - `loading (boolean)`: Indicates if a request is in progress.
  - `creating (boolean)`: Indicates if a creation request is in progress.
  - `updating (boolean)`: Indicates if an update request is in progress.
  - `deleting (boolean)`: Indicates if a deletion request is in progress.
- `error`: APIError object representing the error state.
- `success`: Boolean indicating the success state.
- `Client`: Object with methods for performing API actions.

### Methods in `Client`

- `get(params?: Record<string, string | number>)`: Fetch a list of data.
- `find(id: string | number, params?: Record<string, string | number>)`: Find a record by ID.
- `post(data: Omit<T, "id">)`: Create a new record.
- `put(id: string | number, data: Omit<T, "id">)`: Update a record.
- `patch(id: string | number, data: Partial<Omit<T, "id">>)`: Partially update a record.
- `destroy(id: string | number)`: Delete a record.

## License

This package is released under the [MIT License](LICENSE).