open-index/open-npm huggingface dataset:
npm package: @pawankd/dropdown-menu
Description: This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 9.0.7.
Author: pawan
Latest version: 2.1.2

# Dropdownmenu

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 9.0.7.

## Code scaffolding

Run `ng generate component component-name --project dropdownmenu` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project dropdownmenu`.
> Note: Don't forget to add `--project dropdownmenu` or else it will be added to the default project in your `angular.json` file. 

## Build

Run `ng build dropdownmenu` to build the project. The build artifacts will be stored in the `dist/` directory.

## Publishing

After building your library with `ng build dropdownmenu`, go to the dist folder `cd dist/dropdownmenu` and run `npm publish`.

## Running unit tests

Run `ng test dropdownmenu` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
npm package: @pawankd/text-color
Description: textbox color library
Author: pawan
Latest version: 1.0.1

# Textcolor

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 9.0.7.

## Code scaffolding

Run `ng generate component component-name --project textcolor` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project textcolor`.
> Note: Don't forget to add `--project textcolor` or else it will be added to the default project in your `angular.json` file. 

## Build

Run `ng build textcolor` to build the project. The build artifacts will be stored in the `dist/` directory.

## Publishing

After building your library with `ng build textcolor`, go to the dist folder `cd dist/textcolor` and run `npm publish`.

## Running unit tests

Run `ng test textcolor` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
npm package: @pawanosman/textdiff
Description: Unicode-aware multilingual text diff library for Node.js that diffs by whole words and merges adjacent changes.
Latest version: 0.1.0

# TextDiff

Unicode-aware multilingual text diff library for Node.js. Diffs by whole words and merges adjacent changes. Accurately tracks positions in the original string (UTF-16 indices).

## Install

```bash
pnpm add textdiff
```

## Usage

```ts
import { getTextDiffs } from "textdiff";

const oldText = "The quick brown fox jumps over the lazy dog";
const newText = "The fast dark wolf leaps over the lazy dog";

const diffs = getTextDiffs(oldText, newText);
// [
//   {
//     text: 'quick brown fox',
//     position: { startIndex: 4, endIndex: 19 },
//     replacedWith: 'fast dark wolf'
//   }
// ]
```

## API

```ts
export type ChangeType = "insert" | "delete" | "replace" | "spell-correction";

export interface TextDiff {
	oldText: string;
	position: { startIndex: number; endIndex: number };
	newText: string;
	changeType: ChangeType;
}

export function getTextDiffs(oldText: string, newText: string): TextDiff[];
```
npm package: @pawansaket/tiniest
Description: [![npm (scoped)] (https://img.shields.io/apm/v/vim-mode.svg)] (https://github.com/pawan9124/tiny_exercise) [![npm bundle size (minified)] (https://img.shields.io/amo/stars/dustman.svg)] (https://github.com/pawan9124/tiny_exercise)
Author: pawansaket
Latest version: 2.0.1

# @pawansaket/tiny

![GitHub package.json version](https://img.shields.io/github/package-json/v/pawan9124/tiny_exercise.svg)
![GitHub](https://img.shields.io/github/license/pawan9124/tiny_exercise.svg)

Remove all spaces from a string.

# Install

$ npm install @pawansaket/tiniest

# Usage

const tiny = require("@pawansaket/tiny");

tiny("So much space!!");
// => "Somuchspace!!"

tiny(1357)
//=> uncaught TypeError: Tiny wants a string!
// at tiny(<anonymous>:2:41)
// at <anonymous>:1:1
npm package: @pawanxz/commitcraft
Description: AI-powered commit message generator - Craft commits that don't suck
Author: kolag
Latest version: 1.0.0

# 🎯 CommitCraft

AI-powered commit message generator using Google Gemini - Craft commits that don't suck!

## ✨ Features

- 🤖 **AI-Generated Commits** - Uses Google Gemini to analyze your changes
- ⚡ **Lightning Fast** - Generate professional commit messages in seconds
- 📝 **Conventional Commits** - Follows best practices automatically
- 🎨 **Beautiful CLI** - Clean, colorful interface with spinner animations
- ⚙️ **Simple Setup** - Just add your Gemini API key and go

## 🚀 Installation

```bash
npm install -g commitcraft
```

## 📖 Usage

### Initial Setup

```bash
commitcraft init
# Enter your Google Gemini API key
```

Get your free API key at: https://aistudio.google.com/app/apikey

### Generate Commit Messages

1. Stage your changes:

```bash
git add .
```

2. Generate commit message:

```bash
commitcraft
```

3. Choose to accept or cancel the generated message

### Auto-Commit

Skip the confirmation and commit automatically:

```bash
commitcraft --auto
# or
commitcraft -a
```

## 🎨 Example

```bash
$ git add src/features/auth.js
$ commitcraft

🎯 COMMITCRAFT
════════════════════════════════════════════════════════════

✔ Done!

📝 COMMIT MESSAGE:

feat(auth): Add JWT token validation middleware

? Action? ✓ Commit

✓ Committed! 🎉
```

## ⚙️ Configuration

CommitCraft stores your configuration in `~/.commitcraftrc`

Default settings:

- **Provider**: gemini
- **Model**: gemini-2.5-flash
- **Temperature**: 0.7
- **Max Tokens**: 1000

## 🔑 API Key

CommitCraft uses Google Gemini API. Get your free API key:

1. Visit https://aistudio.google.com/app/apikey
2. Create a new API key
3. Run `commitcraft init` and paste your key

## 📋 Requirements

- Node.js >= 14.0.0
- Git repository
- Google Gemini API key

## 🤝 Contributing

Contributions are welcome! Feel free to open issues or submit PRs.

## 📄 License

MIT

## 🙏 Credits

Built with ❤️ using:

- Google Gemini AI
- Commander.js
- Inquirer.js
- Chalk
- Ora

---

**Made by developers, for developers** 🚀
npm package: @pawastation/ilink-cc-bot
Description: WeChat iLink Bot channel for Claude Code
Author: pawaca
Latest version: 0.2.1

[English](./README.md) | **中文**

# @pawastation/ilink-cc-bot

适用于 [Claude Code](https://code.claude.com) 的微信 iLink Bot 通道。在 Claude Code 会话中直接接收和回复微信消息。

## 工作原理

```
微信用户 ←→ iLink API ←→ ilink-cc-bot (MCP Server) ←→ Claude Code (stdio)
```

ilink-cc-bot 是一个由 Claude Code 作为子进程启动的 MCP 服务器。它：
- 通过 `@pawastation/ilink-bot-sdk` 轮询微信新消息
- 将消息以 `<channel>` 事件的形式推送到 Claude Code 会话中
- 提供 `reply` 工具，让 Claude 可以回复微信消息

## 快速开始

### 1. 登录

```bash
npx @pawastation/ilink-cc-bot login
```

使用微信扫描二维码。登录凭据保存在 `~/.wechat-ilink-bot/cc-bot/`。

### 2. 配置

```bash
npx @pawastation/ilink-cc-bot setup
```

该命令会输出需要添加到项目中的 `.mcp.json` 配置。示例：

```json
{
  "mcpServers": {
    "wechat": {
      "command": "npx",
      "args": ["@pawastation/ilink-cc-bot", "start"]
    }
  }
}
```

### 3. 启动 Claude Code

```bash
claude --dangerously-load-development-channels server:wechat  # 开发阶段
# claude --channels server:wechat  # 通过白名单审批后
```

现在在微信上给 Bot 发送消息，消息将出现在你的 Claude Code 会话中。

## 功能特性

- 接收文本消息，支持引用消息上下文
- 接收媒体文件（图片、文件、视频），自动保存为本地临时文件
- 语音消息自动语音转文字
- 回复文本消息（自动将 markdown 转换为纯文本）
- 回复文件附件（图片、文档等）
- Claude 思考时显示输入状态指示
- 同步游标持久化，重启后继续

## 通道事件格式

微信收到的消息在 Claude 上下文中显示为：

```
<channel source="wechat" from_user_id="xxx@im.wechat">
Hello from WeChat!
</channel>
```

媒体附件包含本地文件路径：

```
<channel source="wechat" from_user_id="xxx@im.wechat">
[Attachment: /path/to/temp/file.jpg (image/jpeg)]
</channel>
```

## 限制

- **仅支持单会话**：一个微信账号同一时间只能在一个 Claude Code 会话中使用。同时运行两个会话会导致消息和回复重复。
- **仅支持被动回复**：Bot 只能回复已发送过消息的用户（需要来自入站消息的 `context_token`）。

## 回复工具

Claude 可以使用 `reply` 工具进行回复：

| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| `to` | string | 是 | 入站消息中的 `from_user_id` |
| `text` | string | 是 | 回复文本（纯文本） |
| `file_path` | string | 否 | 要作为附件发送的文件的绝对路径 |

## CLI 命令

| 命令 | 说明 |
|---|---|
| `npx @pawastation/ilink-cc-bot login` | 扫描二维码连接微信 |
| `npx @pawastation/ilink-cc-bot start` | 启动 MCP 通道服务器（由 Claude Code 调用） |
| `npx @pawastation/ilink-cc-bot setup` | 输出 `.mcp.json` 配置 |

## 许可证

MIT