open-index/open-npm huggingface dataset:
npm package: @muhammad_zaki/currency-converterr
Description: A command-line tool built with TypeScript for converting currency amounts between different currencies. It provides a user-friendly interface for performing currency conversions directly from the terminal.
Author: Muhammad Zaki
Latest version: 1.0.0

# Currency-Converterr
A command-line tool built with TypeScript for converting currency amounts between different currencies. It provides a user-friendly interface for performing currency conversions directly from the terminal.
npm package: @muhammadabdullah626/todo
Description: A todo app created with oclif cli
Author: Muhammad Abdullah
Latest version: 0.0.0

abdullah_todo_cli
=================

A todo app created with oclif cli

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

<!-- toc -->
* [Usage](#usage)
* [Commands](#commands)
<!-- tocstop -->
# Usage
<!-- usage -->
```sh-session
$ npm install -g @muhammadabdullah626/todo
$ todo COMMAND
running command...
$ todo (-v|--version|version)
@muhammadabdullah626/todo/0.0.0 linux-x64 node-v14.15.4
$ todo --help [COMMAND]
USAGE
  $ todo COMMAND
...
```
<!-- usagestop -->
# Commands
<!-- commands -->
* [`todo add [TODO]`](#todo-add-todo)
* [`todo complete`](#todo-complete)
* [`todo delete`](#todo-delete)
* [`todo help [COMMAND]`](#todo-help-command)
* [`todo list`](#todo-list)

## `todo add [TODO]`

add <Task> - Add Task to Todo list

```
USAGE
  $ todo add [TODO]
```

## `todo complete`

complete <TaskID> - Mark Task of TaskID complete

```
USAGE
  $ todo complete

OPTIONS
  -i, --id=id
```

## `todo delete`

delete <TaskID> - Delete the task of TaskID

```
USAGE
  $ todo delete

OPTIONS
  -c, --complete  delete completed
  -i, --id=id     id of task
```

## `todo help [COMMAND]`

display help for todo

```
USAGE
  $ todo 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)_

## `todo list`

describe the command here

```
USAGE
  $ todo list

OPTIONS
  -a, --show_all
  -c, --show_complete
```
<!-- commandsstop -->
npm package: @muhammadbinsaeed/n8n-nodes-whatsapp-qr
Description: n8n community node for WhatsApp using QR code authentication
Author: Muhammad Bin Saeed
Latest version: 1.3.0

# 🚀 WhatsApp QR Node for n8n

**The easiest way to integrate WhatsApp into your n8n workflows!**

Simply install and start using - no complex setup required! 

## ⚡ Quick Start

1. **Install the node:**
   ```bash
   npm install @muhammadbinsaeed/n8n-nodes-whatsapp-qr
   ```

2. **Restart n8n**

3. **That's it!** The node will automatically handle browser setup for you.

## 🎯 Features

- ✅ **Zero-configuration** - Works out of the box
- ✅ **Auto-browser detection** - Finds or installs Chrome/Chromium automatically  
- ✅ **QR code authentication** - Simple WhatsApp Web login
- ✅ **Send messages** - Text, images, documents
- ✅ **Receive messages** - Real-time webhook support
- ✅ **Cross-platform** - Windows, macOS, Linux, Docker
- ✅ **Secure** - No data storage, memory-only operations

## 📱 How It Works

1. Add the WhatsApp node to your workflow
2. Run the workflow - a QR code will appear in the n8n interface
3. Scan the QR code with your WhatsApp mobile app
4. Start sending/receiving messages!

## 🔧 Advanced Configuration (Optional)

If you need custom browser settings:
- **Browser Path**: Specify custom Chrome/Chromium location
- **Webhook URL**: Set custom webhook for message receiving  
- **Session Name**: Use multiple WhatsApp accounts

## 🚨 Troubleshooting

**Getting mock/test messages instead of real WhatsApp?**
- Make sure Chrome or Chromium is installed
- On Linux servers, the node will try to install it automatically
- For Docker: Use our pre-configured image or install Chrome in your container

**Need help?**
- Check the [Setup Guide](./SETUP-GUIDE.md) for detailed instructions
- See [Quick Start Examples](./QUICK-START.md) for common use cases

## 🐳 Docker Support

The node works in Docker containers! It will automatically:
- Detect the Docker environment
- Configure headless browser settings
- Set up virtual display if needed

## 🔒 Security & Privacy

- **No QR code storage** - QR codes are never saved to disk
- **Memory-only sessions** - All data cleared when workflow stops
- **Local processing** - Everything runs on your server
- **No external dependencies** - Direct WhatsApp Web connection

## 📋 Requirements

- **n8n**: Version 0.190.0 or higher
- **Node.js**: Version 16 or higher  
- **Browser**: Chrome/Chromium (auto-installed if missing)
- **Memory**: 512MB RAM minimum for browser

## 📖 Documentation

- [Complete Setup Guide](./SETUP-GUIDE.md) - Detailed installation for all platforms
- [Quick Start Examples](./QUICK-START.md) - Common workflow examples
- [API Reference](./docs/API.md) - Full node documentation

## 🆘 Support

**Issues or questions?**
- 📧 Email: muhammad.bin.saeed@example.com  
- 💬 GitHub Issues: [Report a bug](https://github.com/muhammad-bin-saeed/n8n-nodes-whatsapp-qr/issues)
- 📚 Documentation: [Full guides](./docs/)

---

**Made with ❤️ by [Rhino Clicks](https://github.com/muhammad-bin-saeed)**

*This node is not affiliated with WhatsApp or Meta. WhatsApp is a trademark of Meta Platforms, Inc.*
npm package: @muhammaddariazzidane/pwa-gen
Description: An interactive and smart PWA icon and manifest generator
Author: Muhammad Dariaz Zidane
Latest version: 1.1.0

# 🚀 PWA Icon & Manifest Generator

An interactive, smart, and blazingly fast CLI tool to generate PWA standard icons and `manifest.json` for your web applications. Built with `sharp` and `@clack/prompts` for the best Developer Experience.

## ✨ Features

- **Blazing Fast Image Processing:** Powered by `sharp` to instantly generate all required PWA icon sizes (192x192, 512x512, 180x180 for iOS, and 64x64 favicon).
- **Interactive CLI UI:** Beautiful and user-friendly prompts to guide you through the process.
- **Smart Path Auto-correction:** Automatically detects and resolves your `public` directory and generates web-safe absolute paths.
- **Maskable Icon Support:** Automatically generates Android maskable icons with custom safe-zone padding and background colors.
- **Vite PWA Ready:** Generates a standalone `manifest.json` perfectly suited for `vite-plugin-pwa` integration.

## 📦 Usage

You don't need to install this package globally or locally. Just run it directly using `npx` inside your project directory:

```bash
npx @muhammaddariazzidane/pwa-gen
```
## The Interactive Flow:
- <b>Master Icon Path</b>: Provide the path to your high-res master icon (e.g., ./src/assets/logo.png).

- <b>Output Directory</b>: Tell the CLI where to generate the files (default is ./public).

- <b>Maskable Icon</b>: Choose whether you want a maskable icon and set your desired hex background color.

- <b>Manifest Details</b>: Enter your App Name, Short Name, and Theme Color.

- <b>Vite Plugin PWA</b>: Confirm if you are using Vite to receive specific setup instructions.

Boom! 💥 Your icons and manifest.json are instantly generated in your public folder.

## ⚡ Vite PWA Integration
If you are using Vite and vite-plugin-pwa, this tool generates a standalone manifest.json for you. To integrate it, update your vite.config.js or vite.config.ts to disable the plugin's default manifest generation:

```typescript
import { defineConfig } from 'vite'
import { VitePWA } from 'vite-plugin-pwa'

export default defineConfig({
  plugins: [
    VitePWA({
      manifest: false, // Disable plugin's manifest generation
      injectRegister: 'auto'
    })
  ]
})
```

And don't forget to link the generated manifest in your index.html:

```html
<link rel="manifest" href="/manifest.json">
```

## 🛠️ Tech Stack
- Node.js (ESM)
- Sharp - High-performance Node.js image processing
- @clack/prompts - Effortless CLI prompts

## 👨‍💻 Author
- Muhammad Dariaz Zidane
npm package: @muhammadfaizan59/calculator
Description: A simple calculator library in TypeScript
Author: Muhammad Faizan
Latest version: 1.0.2

# @muhammadfaizan59/calculator

A simple calculator library in TypeScript.

## Installation

You can install this package using npm:

```bash
npm install @muhammadfaizan59/calculator
Usage
To use the calculator functions in your TypeScript or JavaScript project, import them as follows:



const { add, sub, div, mul } = require('@muhammadfaizan59/calculator');

console.log(add(5, 3));      // Use the 'add' function
console.log(sub(10, 4));     // Use the 'sub' function
console.log(div(12, 3));     // Use the 'div' function
console.log(mul(6, 7));      // Use the 'mul' function
Available Functions
add(a: number, b: number): number - Adds two numbers.
sub(a: number, b: number): number - Subtracts the second number from the first.
div(a: number, b: number): number - Divides the first number by the second.
mul(a: number, b: number): number - Multiplies two numbers.
Examples
Here are some examples of how to use the calculator functions:



const { add, sub, div, mul } = require('@muhammadfaizan59/calculator');

console.log(add(5, 3));      // 8
console.log(sub(10, 4));     // 6
console.log(div(12, 3));     // 4
console.log(mul(6, 7));      // 42

License
This project is licensed under the MIT License - see the LICENSE file for details.

Author
Muhammad Faizan - GitHub
Support and Issues
If you encounter any issues or have questions about this package, please open an issue on the GitHub repository.

Contributing
Contributions are welcome! If you'd like to contribute to this project, please follow our contribution guidelines.

Acknowledgments
Thanks to the npm community for support and inspiration.
```
npm package: @muhammadghazali/dummy
Description: My superb module
Author: Muhammad Ghazali
Latest version: 1.0.0

# dummy [![Build Status](https://travis-ci.org/muhammadghazali/dummy.svg?branch=master)](https://travis-ci.org/muhammadghazali/dummy)

> My superb module


## Install

```
$ npm install --save @muhammadghazali/dummy
```


## Usage

```js
const dummy = require('@muhammadghazali/dummy');

dummy('unicorns');
//=> 'unicorns & rainbows'
```


## API

### dummy(input, [options])

#### input

Type: `string`

Lorem ipsum.

#### options

##### foo

Type: `boolean`<br>
Default: `false`

Lorem ipsum.


## License

MIT © [Muhammad Ghazali](http://muhammadghazali.wordpress.com)
npm package: @muhammadghazali/sails-auth
Description: Passport-based User Authentication system for sails.js applications.
Author: Travis Webb
Latest version: 1.5.0

# <img src="http://cdn.tjw.io/images/sails-logo.png" height='43px' /> auth

[![NPM version][npm-image]][npm-url]
[![Build status][travis-image]][travis-url]
[![Dependency Status][daviddm-image]][daviddm-url]

Passport-based User Authentication system for sails.js applications.

**Note:** For comprehensive user account control with role-based permissioning, object ownership, and row-level security, see [**sails-permissions**](https://github.com/tjwebb/sails-permissions), which uses this project as a dependency.

## Install
```sh
$ npm install sails-auth --save
```

## Usage

### 1. configure .sailsrc

```json
{
  "generators": {
    "modules": {
      "auth-api": "sails-auth/generator"
    }
  }
}
```

### 2. install sails.js extension
```sh
$ sails generate auth-api
```

#### config/policies.js
```js
  '*': [ 'basicAuth', 'passport', 'sessionAuth' ],

  AuthController: {
    '*': [ 'passport' ]
  }
```

> The policies above secure everything by default, including registration. In case you wish to open it, add the following:
```js
  UserController: {
    'create': true
  }
```

### 3. authenticate!

Create users as you normally would (`POST` to `/user`). Authenticate using the
endpoint of the provider you've chosen.

#### `/user/me`
Returns `User` for this authenticated session.

#### Passport Protocols
- [passport.google](https://github.com/jaredhanson/passport-google-oauth)
- [passport.twitter](http://passportjs.org/guide/twitter/)
- [passport.github](https://github.com/jaredhanson/passport-github)
- [passport.facebook](http://passportjs.org/guide/facebook/)
- et al

## License
MIT

## Maintained By
[<img src='http://i.imgur.com/zM0ynQk.jpg' height='36px'>](http://balderdash.co)

[sails-logo]: http://cdn.tjw.io/images/sails-logo.png
[sails-url]: https://sailsjs.org
[npm-image]: https://img.shields.io/npm/v/sails-auth.svg?style=flat-square
[npm-url]: https://npmjs.org/package/sails-auth
[travis-image]: https://img.shields.io/travis/tjwebb/sails-auth.svg?style=flat-square
[travis-url]: https://travis-ci.org/tjwebb/sails-auth
[daviddm-image]: http://img.shields.io/david/tjwebb/sails-auth.svg?style=flat-square
[daviddm-url]: https://david-dm.org/tjwebb/sails-auth
npm package: @muhammadghazali/sails-permissions
Description: Comprehensive user permissions and entitlements system for sails.js and Waterline. Supports user authentication with passport.js, role-based permissioning, object ownership, and row-level security.
Author: Travis Webb
Latest version: 1.5.0

# <img src="http://cdn.tjw.io/images/sails-logo.png" height='43px' />-permissions

[![Gitter][gitter-image]][gitter-url]
[![NPM version][npm-image]][npm-url]
[![Build status][travis-image]][travis-url]
[![Dependency Status][daviddm-image]][daviddm-url]

Comprehensive sails.js user permissions and entitlements system. Supports user authentication with passport.js, role-based permissioning, object ownership, and row-level security.

## Install
```sh
$ npm install sails-permissions sails-auth --save
```

## Quickstart

**Note:** Complete documentation available in the sails-permissions wiki: https://github.com/tjwebb/sails-permissions/wiki

### 1. configure sailsrc

```json
{
  "generators": {
    "modules": {
      "permissions-api": "sails-permissions/generator"
    }
  }
}
```

### 2. run generator

```sh
$ sails generate permissions-api
```

### 3. Set environment variables

| variable | description | default |
|:---|:---|:---|
| `ADMIN_USERNAME` | admin username | `admin` |
| `ADMIN_EMAIL` | admin user email address | `admin@example.com` |
| `ADMIN_PASSWORD` | admin user password | `admin1234` |

##### e.g in config/local.js (file is in .gitignore)
```
sails.config.permissions.adminUsername = 'admin'
sails.config.permissions.adminEmail = 'admin@example.com'
sails.config.permissions.adminPassword = 'admin1234'
```
#### 4. update configs

#### config/policies.js
```js
  '*': [
    'basicAuth',
    'passport',
    'sessionAuth',
    'ModelPolicy',
    'AuditPolicy',
    'OwnerPolicy',
    'PermissionPolicy',
    'RolePolicy',
    'CriteriaPolicy'
  ],

  AuthController: {
    '*': [ 'passport' ]
  }
```

#### 5. Login
You can now login using the aforementioned default login data or the admin settings you specified using the `/auth/local` endpoint.
```json
{
    "identifier": "admin@example.com",
    "password": "admin1234"
}
```

## License
MIT

## Maintained By
[<img src='http://i.imgur.com/zM0ynQk.jpg' height='36px'>](http://balderdash.co)

<img src='http://i.imgur.com/NsAdNdJ.png'>

[sails-logo]: http://cdn.tjw.io/images/sails-logo.png
[sails-url]: https://sailsjs.org
[npm-image]: https://img.shields.io/npm/v/sails-permissions.svg?style=flat-square
[npm-url]: https://npmjs.org/package/sails-permissions
[travis-image]: https://img.shields.io/travis/tjwebb/sails-permissions.svg?style=flat-square
[travis-url]: https://travis-ci.org/tjwebb/sails-permissions
[daviddm-image]: http://img.shields.io/david/tjwebb/sails-permissions.svg?style=flat-square
[daviddm-url]: https://david-dm.org/tjwebb/sails-permissions
[gitter-image]: http://img.shields.io/badge/+%20GITTER-JOIN%20CHAT%20%E2%86%92-1DCE73.svg?style=flat-square
[gitter-url]: https://gitter.im/tjwebb/sails-permissions
npm package: @muhammadkasim/xformer
Description: xFormer provides an extensive set of utilities, a way to define declarative transformation pipelines and a parser to facilitate easier data transformations.
Author: eMumba
Latest version: 1.0.12

## XFormer: Easier Data Transformations

XFormer makes data transformations easy on your cognition and hassle-free.

Read complete docs [here](https://lordvoldemortrocks.github.io/xformer/).



#### Features

- Provides an intuitive way to express transformation pipelines
- Supports a flexible palette of actions
- Provides 2 ways of describing an action: a string or JSON

#### Installation

```
npm i @muhammadkasim/xformer --save
```

#### Usage

With Xformer, you can execute a simple pipeline of actions by providing a list of action descriptions to the `executePipe` method on the imported instance.

```javascript
import X from '@muhammadkasim/xformer';

const mock_data = [{ a: 1 }, { a: 2 }, { b: 3 }];
X.executePipe(['mergeWithAdd', 'getAvg'], mock_data);

// Returns an object containing the result of executing the pipeline and the
// corresponding result of each step.
// {
//   buffer: [
//     { data: [{a: 1}, {a: 2}, {b: 3}], title: 'Original Data' },
//     { data: {a: 3, b: 3}, title: 'mergeWithAdd' },
//     { data: 3, title: 'getAvg' }
//   ],
//   result: 3
// }
```

An action can be described either as a string or JSON.

```javascript
X.executePipe([{ name: 'pickByRegex', params: ['a'] }, 'getAvg'], mock_data); //=> 1.5
```

Xformer also provides a short hand for passing params when describing an action in string form.

```javascript
X.executePipe(['pickByRegex(a)', 'getAvg'], mock_data); //=> 1.5
```

You can perform also perform multiple actions on the same data.

```javascript
X.executePipe(
  [
    ['pickFrom([0, "a"])', 'pickFrom([2, "b"])'], //=> [1, 3]
    'getAvg'
  ],
  mock_data
); //=> 2
```

If you need to pass some external values to assist execution of the pipe, you can do so like shown below.

```javascript
X.executePipe(['mergeWithAdd', 'getRate($.interval)'], mock_data, { interval: 30 }); //=> {a: 0.1, b: 0.1}
```

You can also group and `execute` multiple pipelines on the same data. This group of pipelines is called a query and can be a list of pipelines or a JSON structure where value in each key-value pair is a pipeline.

```javascript
X.execute(
  {
    avg_by_key: ['mergeWithAdd', 'getAvg'],
    rate_by_30: ['mergeWithAdd', 'getRate($.interval)']
  },
  mock_data
);

// Takes a query and data as input and executes all pipelines within the query, with
// each pipeline receiving the provided data.
// {
//     avg_by_key: {
//         buffer: [
//           { data: [{a: 1}, {a: 2}, {b: 3}], title: 'Original Data' },
//           { data: {a: 3, b: 3}, title: 'mergeWithAdd' },
//           { data: 3, title: 'getAvg' }
//         ],
//         result: 3
//     },
//     rate_by_30: {
//         buffer: [
//           { data: [{a: 1}, {a: 2}, {b: 3}], title: 'Original Data' },
//           { data: {a: 3, b: 3}, title: 'mergeWithAdd' },
//           { data: {a: 0.1, b: 0.1}, title: 'getRate($.interval)' }
//         ],
//         result: {a: 0.1, b: 0.1}
//     }
// }
```
npm package: @muhammadnoman7600/mcp-google-calendar
Description: MCP server implementation for Google Calendar integration
Latest version: 1.0.0

# MCP Google Calendar Server 
 
A Model Context Protocol (MCP) server implementation that enables AI assistants like Claude to create and manage Google Calendar events. 
 
## Features 
 
- Create calendar events with title, description, start/end times 
- Support for adding event attendees 
- OAuth2 authentication with Google Calendar API 
- Full MCP protocol implementation 
- Debug logging for troubleshooting 
 
## Prerequisites 
 
- Node.js v18 or later 
- Google Cloud Console project with Calendar API enabled 
- OAuth2 credentials (Client ID and Client Secret) 
 
## Setup 
 
1. Clone the repository: 
```bash 
git clone [your-repo-url] 
cd mcp-google-calendar 
``` 
 
2. Install dependencies: 
```bash 
npm install 
``` 
 
3. Set up environment variables: 
- Copy .env.example to .env 
- Add your Google OAuth2 credentials 
 
4. Get your refresh token: 
```bash 
npm run auth 
``` 
 
5. Update the refresh token in index.js 
 
## Usage 
 
```bash 
npm start 
```
npm package: @muhammadnoman7600/web-search
Description: MCP server for web search functionality
Author: muhammadnoman7600
Latest version: 0.1.0

# Web Search MCP Server

A Model Context Protocol (MCP) server that enables free web searching using Google search results, with no API keys required.

## Features

- Search the web using Google search results
- No API keys or authentication required
- Returns structured results with titles, URLs, and descriptions
- Configurable number of results per search

## Installation

1. Clone or download this repository
2. Install dependencies:
```bash
npm install
```
3. Build the server:
```bash
npm run build
```
4. Add the server to your MCP configuration:

For VSCode (Claude Dev Extension):
```json
{
  "mcpServers": {
    "web-search": {
      "command": "node",
      "args": ["/path/to/web-search/build/index.js"]
    }
  }
}
```

For Claude Desktop:
```json
{
  "mcpServers": {
    "web-search": {
      "command": "node",
      "args": ["/path/to/web-search/build/index.js"]
    }
  }
}
```

## Usage

The server provides a single tool named `search` that accepts the following parameters:

```typescript
{
  "query": string,    // The search query
  "limit": number     // Optional: Number of results to return (default: 5, max: 10)
}
```

Example usage:
```typescript
use_mcp_tool({
  server_name: "web-search",
  tool_name: "search",
  arguments: {
    query: "your search query",
    limit: 3  // optional
  }
})
```

Example response:
```json
[
  {
    "title": "Example Search Result",
    "url": "https://example.com",
    "description": "Description of the search result..."
  }
]
```

## Limitations

Since this tool uses web scraping of Google search results, there are some important limitations to be aware of:

1. **Rate Limiting**: Google may temporarily block requests if too many searches are performed in a short time. To avoid this:
   - Keep searches to a reasonable frequency
   - Use the limit parameter judiciously
   - Consider implementing delays between searches if needed

2. **Result Accuracy**: 
   - The tool relies on Google's HTML structure, which may change
   - Some results might be missing descriptions or other metadata
   - Complex search operators may not work as expected

3. **Legal Considerations**:
   - This tool is intended for personal use
   - Respect Google's terms of service
   - Consider implementing appropriate rate limiting for your use case

## Contributing

Feel free to submit issues and enhancement requests!