open-index/open-npm huggingface dataset:
npm package: @nicolasflamel/blake2b
Description: NPM package for parts of the official BLAKE2b implementation
Author: Nicolas Flamel
Latest version: 0.0.3

# BLAKE2b NPM Package

### Description
NPM package for parts of [the official BLAKE2b implementation](https://github.com/BLAKE2/BLAKE2).

This package will attempt to use the following modules in the order they are listed. This results in the fastest BLAKE2b implementation being used on every platform.
* [BLAKE2b React Native Module](https://github.com/NicolasFlamel1/BLAKE2b-React-Native-Module)
* [BLAKE2b Node.js Addon](https://github.com/NicolasFlamel1/BLAKE2b-Node.js-Addon)
* [BLAKE2b WASM Wrapper](https://github.com/NicolasFlamel1/BLAKE2b-WASM-Wrapper)
npm package: @nicolasflamel/ed25519
Description: NPM package for parts of SUPERCOP's Ed25519 implementation
Author: Nicolas Flamel
Latest version: 0.0.5

# Ed25519 NPM Package

### Description
NPM package for parts of [SUPERCOP's Ed25519 implementation](https://bench.cr.yp.to/supercop.html).

This package will attempt to use the following modules in the order they are listed. This results in the fastest Ed25519 implementation being used on every platform.
* [Ed25519 React Native Module](https://github.com/NicolasFlamel1/Ed25519-React-Native-Module)
* [Ed25519 Node.js Addon](https://github.com/NicolasFlamel1/Ed25519-Node.js-Addon)
* [Ed25519 WASM Wrapper](https://github.com/NicolasFlamel1/Ed25519-WASM-Wrapper)
npm package: @nicolasflamel/ed25519-native
Description: Node.js addon for parts of SUPERCOP's Ed25519 implementation
Author: Nicolas Flamel
Latest version: 0.0.19

# Ed25519 Node.js Addon

### Description
Node.js addon for parts of [SUPERCOP's Ed25519 implementation](https://bench.cr.yp.to/supercop.html).
npm package: @nicolasflamel/ed25519-wasm
Description: WASM wrapper for parts of SUPERCOP's Ed25519 implementation
Author: Nicolas Flamel
Latest version: 0.0.22

# Ed25519 WASM Wrapper

### Description
WASM wrapper for parts of [SUPERCOP's Ed25519 implementation](https://bench.cr.yp.to/supercop.html).
npm package: @nicolasflamel/secp256k1-zkp
Description: NPM package for parts of libsecp256k1-zkp
Author: Nicolas Flamel
Latest version: 0.0.16

# Secp256k1-zkp NPM Package

### Description
NPM package for parts of [libsecp256k1-zkp](https://github.com/NicolasFlamel1/secp256k1-zkp).

This package will attempt to use the following modules in the order they are listed. This results in the fastest secp256k1-zkp implementation being used on every platform.
* [Secp256k1-zkp React Native Module](https://github.com/NicolasFlamel1/Secp256k1-zkp-React-Native-Module)
* [Secp256k1-zkp Node.js Addon](https://github.com/NicolasFlamel1/Secp256k1-zkp-Node.js-Addon)
* [Secp256k1-zkp WASM Wrapper](https://github.com/NicolasFlamel1/Secp256k1-zkp-WASM-Wrapper)
npm package: @nicolasflamel/secp256k1-zkp-native
Description: Node.js addon for parts of libsecp256k1-zkp
Author: Nicolas Flamel
Latest version: 0.0.26

# Secp256k1-zkp Node.js Addon

### Description
Node.js addon for parts of [libsecp256k1-zkp](https://github.com/NicolasFlamel1/secp256k1-zkp).
npm package: @nicolasflamel/secp256k1-zkp-react
Description: React Native module for parts of libsecp256k1-zkp
Author: Nicolas Flamel
Latest version: 0.0.13

# Secp256k1-zkp React Native Module

### Description
React Native module for parts of [libsecp256k1-zkp](https://github.com/NicolasFlamel1/secp256k1-zkp).
npm package: @nicolasflamel/secp256k1-zkp-wasm
Description: WASM wrapper for parts of libsecp256k1-zkp
Author: Nicolas Flamel
Latest version: 0.0.29

# Secp256k1-zkp WASM Wrapper

### Description
WASM wrapper for parts of [libsecp256k1-zkp](https://github.com/NicolasFlamel1/secp256k1-zkp).
npm package: @nicolasflamel/smaz
Description: NPM package for parts of the official SMAZ implementation
Author: Nicolas Flamel
Latest version: 0.0.7

# SMAZ NPM Package

### Description
NPM package for parts of [the official SMAZ implementation](https://github.com/antirez/smaz).

This package will attempt to use the following modules in the order they are listed. This results in the fastest SMAZ implementation being used on every platform.
* [SMAZ React Native Module](https://github.com/NicolasFlamel1/SMAZ-React-Native-Module)
* [SMAZ Node.js Addon](https://github.com/NicolasFlamel1/SMAZ-Node.js-Addon)
* [SMAZ WASM Wrapper](https://github.com/NicolasFlamel1/SMAZ-WASM-Wrapper)
npm package: @nicolasflamel/x25519
Description: NPM package for parts of SUPERCOP's X25519 implementation
Author: Nicolas Flamel
Latest version: 0.0.4

# X25519 NPM Package

### Description
NPM package for parts of [SUPERCOP's X25519 implementation](https://bench.cr.yp.to/supercop.html).

This package will attempt to use the following modules in the order they are listed. This results in the fastest X25519 implementation being used on every platform.
* [X25519 React Native Module](https://github.com/NicolasFlamel1/X25519-React-Native-Module)
* [X25519 Node.js Addon](https://github.com/NicolasFlamel1/X25519-Node.js-Addon)
* [X25519 WASM Wrapper](https://github.com/NicolasFlamel1/X25519-WASM-Wrapper)
npm package: @nicolasflamel/x25519-native
Description: Node.js addon for parts of SUPERCOP's X25519 implementation
Author: Nicolas Flamel
Latest version: 0.0.20

# X25519 Node.js Addon

### Description
Node.js addon for parts of [SUPERCOP's X25519 implementation](https://bench.cr.yp.to/supercop.html).
npm package: @nicolasflamel/x25519-wasm
Description: WASM wrapper for parts of SUPERCOP's X25519 implementation
Author: Nicolas Flamel
Latest version: 0.0.23

# X25519 WASM Wrapper

### Description
WASM wrapper for parts of [SUPERCOP's X25519 implementation](https://bench.cr.yp.to/supercop.html).
npm package: @nicolasjengler/onboard
Description: Onboard users to web3 by allowing them to select a wallet, get that wallet ready to transact and have access to synced wallet state.
Author: Aaron Barnard
Latest version: 1.34.2-0.0.7

# Onboard

JavaScript library to easily onboard users to ethereum apps by enabling wallet selection, connection, wallet checks and real time state updates.

## Install

`npm install @nicolasjengler/onboard`

## Quick Start

```javascript
import Onboard from '@nicolasjengler/onboard'
import Web3 from 'web3'

// set a variable to store instantiated web3
let web3

// head to blocknative.com to create a key
const BLOCKNATIVE_KEY = 'blocknative-api-key'

// the network id that your dapp runs on
const NETWORK_ID = 1

// initialize onboard
const onboard = Onboard({
  dappId: BLOCKNATIVE_KEY,
  networkId: NETWORK_ID,
  subscriptions: {
    wallet: wallet => {
      // instantiate web3 when the user has selected a wallet
      web3 = new Web3(wallet.provider)
      console.log(`${wallet.name} connected!`)
    }
  }
})

// Prompt user to select a wallet
await onboard.walletSelect()

// Run wallet checks to make sure that user is ready to transact
await onboard.walletCheck()
```

## Documentation

For detailed documentation head to [docs.blocknative.com](https://docs.blocknative.com/onboard)
npm package: @nicolasmondain/cli-agent
Description: MCP server that turns your scripts into AI-powered tools for Claude and other AI assistants
Author: Nicolas Mondain
Latest version: 3.0.4
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# cli-agent

> Turn your scripts into AI-powered tools

`cli-agent` is an MCP server that lets AI assistants execute your scripts (JavaScript, TypeScript, or shell) through natural language.

## Why cli-agent?

`cli-agent` turns your scripts into AI-powered tools without writing MCP boilerplate. Instead of manually registering each script as an MCP tool with its own schema, argument parsing, and error handling, you define them once in a simple JSON config (and both CLI and MCP interfaces are generated automatically). The more scripts you have, the more time you save: one config file replaces dozens of lines of repetitive TypeScript per command.

## How it works

1. You define your scripts in `.cli-agent.json`
2. `cli-agent` exposes them as MCP tools
3. Your AI assistant understands what they do and runs them when needed

```mermaid
graph TD
    subgraph User
        A[AI assistant, deploy to staging]
    end

    subgraph MCP_cli-agent[MCP cli-agent]
        B[matches intent]
        C[run the script]
    end

    D[results]

    A --> B
    B --> C
    C --> D

```

## Quick Start

### 1. Install

```bash
npm install -d @nicolasmondain/cli-agent
```
### 2. Create `.cli-agent.json`
`cli-agent` looks for configuration in this order:

1. `--config <path>` flag
2. `.cli-agent.json` in current directory (prefered)
3. `cli-agent` field in `package.json`
4. `~/.cli-agent.json` (global)

```json
{
  "name": "cli-agent",
  "commands": [
    {
      "name": "command-name",
      "description": "What this command does (helps AI assistants understand when to use it) by giving clear descriptions of arguments and options. You can also provide examples of usage.",
      "script": "./path/to/script.js",
      "arguments": [
        { "name": "arg", "description": "Positional argument", "required": true }
      ],
      "options": [
        { "flags": "-o, --option <value>", "description": "Named option", "default": "value" }
      ]
    }
  ]
}
```

### 3. Configure your MCP settings

```json
{
  "mcpServers": {
    "cli-agent": {
      "command": "npx",
      "args": ["@nicolasmondain/cli-agent", "mcp:serve"]
    }
  }
}
```

```json
{
  "context_servers": {
    "mcp-server-cli-agent": {
      "command": "npx",
      "args": ["@nicolasmondain/cli-agent", "mcp:serve"]
    }
  }
}
```

## CLI Usage

```bash
# Start MCP server (used by Claude Code)
cli-agent mcp:serve

# List available commands
cli-agent list

# Run a command directly
cli-agent deploy --env staging

# JSON output for scripting
cli-agent deploy --env staging --format json
```

## License

MIT
npm package: @nicolaspanda/syncstate-core
Description: Fork to add origin in setDoc(set, origin)
Author: Sanket Sahu, Himanshu Satija
Latest version: 0.7.2

# <img width="25px" src="https://github.com/syncstate/syncstate.github.io/blob/master/img/SyncStateLogoBlack.png" alt="SyncState Logo"> SyncState

Fork to add origin in setDoc(set, origin)
npm package: @nicolasparada/bodyparser-middleware
Description: Body Parser Middlewares
Author: Nicolás Parada
Latest version: 0.5.2

# @nicolasparada/bodyparser-middleware ![npm version](https://badge.fury.io/js/%40nicolasparada%2Fbodyparser-middleware.svg) ![dependencies](https://david-dm.org/nicolasparada/bodyparser-middleware.svg)

Body Parser Middleware.

## Usage

```js
const framework = require('@nicolasparada/web-framework')
const bodyparser = require('@nicolasparada/bodyparser-middleware')

const app = framework()

app.post('/json', bodyparser.json(), req => req.body)
app.post('/multipart', bodyparser.multipart(), req => {
  // Files are at req.files
  return req.body
})

app.listen(80, '127.0.0.1', () => {
  console.log('Make a POST request to http://localhost/echo-body')
})
```

## Options

### JSON
* `limit` **{number}** Maximum bytes to parse. Defaults to `(1024 ** 2) * 100` (1mB).
* `types` **{string[]}** 'Content-Type' headers to handle. Defaults to:
  * application/json
  * application/json-patch+json
  * application/vnd.api+json
  * application/csp-report

### MULTIPART
The multipart body parser uses [formidable](https://github.com/felixge/node-formidable), so you can pass any options supported by it.
npm package: @nicolasparada/cors-middleware
Description: CORS Middleware
Author: Nicolás Parada
Latest version: 0.2.0

# @nicolasparada/cors-middleware [![npm version](https://badge.fury.io/js/%40nicolasparada%2Fcors-middleware.svg)](https://badge.fury.io/js/%40nicolasparada%2Fcors-middleware)

CORS Middleware

## Usage

```js
const framework = require('@nicolasparada/web-framework')
const cors = require('@nicolasparada/cors-middleware')

const middlewares = [
  cors()
]

const app = framework(middlewares)

app.listen(80, '127.0.0.1', () => {
  console.log('Server running at http://localhost/')
})
```

## Options

* **origin**: Access-Control-Allow-Origin (`String`, `Boolean` or `Function`. Defaults to 'Origin' request header or '*'. Set to 'false' to disable CORS)
* **expose**: Access-Control-Expose-Headers (`Array` or `String`)
* **maxAge**: Access-Control-Max-Age (`Int`)
* **credentials**: Access-Control-Allow-Credentials (`Boolean`)
* **methods**: Access-Control-Allow-Methods (`Array` or `String`)
* **headers**: Access-Control-Allow-Headers (`Array` or `String`. Defaults to 'Access-Control-Request-Headers' request header)
npm package: @nicolasparada/graphiql-middleware
Description: GraphiQL Middleware
Author: Nicolás Parada
Latest version: 0.1.0

# @nicolasparada/graphiql-middleware ![npm version](https://badge.fury.io/js/%40nicolasparada%2Fgraphiql-middleware.svg) ![dependencies](https://david-dm.org/nicolasparada/graphiql-middleware.svg)

GraphiQL Middleware.

## Usage

```js
const framework = require('@nicolasparada/web-framework')
const json = require('@nicolasparada/bodyparser-middleware/json')
const graphql = require('@nicolasparada/graphql-middleware')
const graphiql = require('@nicolasparada/graphiql-middleware')
const { makeExecutableSchema } = require('graphql-tools')

const typeDefs = `
  type Query {
    hello: String!
  }
`

const resolvers = {
  Query: {
    hello: () => 'Hello, world!'
  }
}

const schema = makeExecutableSchema({ typeDefs, resolvers })

const app = framework()

app.post('/graphql', json(), graphql({ schema }))
app.get('/graphiql', graphiql({ endpointURL: '/graphql' }))

app.listen(80, '127.0.0.1', () => {
  console.log('Server running at http://localhost/graphiql 🚀')
})
```
npm package: @nicolasparada/graphql-middlewares
Description: GraphQL Middlewares
Author: Nicolás Parada
Latest version: 0.2.0

# @nicolasparada/graphql-middlewares ![npm version](https://badge.fury.io/js/%40nicolasparada%2Fgraphql-middlewares.svg) ![dependencies](https://david-dm.org/nicolasparada/graphql-middlewares.svg)

GraphQL Middlewares

## Usage

```js
const framework = require('@nicolasparada/web-framework')
const bodyparser = require('@nicolasparada/bodyparser-middleware')
const { graphql, graphiql } = require('@nicolasparada/graphql-middlewares')
const { makeExecutableSchema } = require('graphql-tools')

const typeDefs = `
  type Query {
    hello: String!
  }
`

const resolvers = {
  Query: {
    hello: () => 'Hello, world!'
  }
}

const schema = makeExecutableSchema({ typeDefs, resolvers })

const app = framework()

app.post('/graphql', bodyparser.json(), graphql({ schema }))
app.get('/graphiql', graphiql({ endpointURL: '/graphql' }))

app.listen(80, '127.0.0.1', () => {
  console.log('Server running at http://localhost/graphiql 🚀')
})
```
npm package: @nicolasparada/json-middleware
Description: JSON Body Parser Middleware
Author: Nicolás Parada
Latest version: 0.1.0
Deprecated: use @nicolasparada/bodyparser-middleware

# @nicolasparada/json-middleware [![npm version](https://badge.fury.io/js/%40nicolasparada%2Fjson-middleware.svg)](https://badge.fury.io/js/%40nicolasparada%2Fjson-middleware)

JSON Body Parser Middleware

## Usage

```js
const createServer = require('http').createServer
const createApp = require('@nicolasparada/web-framework')
const json = require('@nicolasparada/json-middleware')

const app = createApp()

app.onPost('/echo', json(), req => {
  console.log('Body', req.body)
  return req.body
})

createServer(app.handleRequest).listen(80, '127.0.0.1', () => {
  console.log('Server running at http://localhost/')
})
```
npm package: @nicolasparada/jwt-middleware
Description: JSON Web Token Middleware
Author: Nicolás Parada
Latest version: 0.3.1

# @nicolasparada/jwt-middleware ![npm version](https://badge.fury.io/js/%40nicolasparada%2Fjwt-middleware.svg)

JSON Web Token Middleware

[`jsonwebtoken`](https://www.npmjs.com/package/jsonwebtoken) is a peerDependency, so make sure to install it as well.

## Usage

```js
const framework = require('@nicolasparada/web-framework')
const jwt = require('@nicolasparada/jwt-middleware')
const { sign } = require('jsonwebtoken')

const app = framework()
const SECRET = 'shared-secret'

const makeResponse = (statusCode, body, headers = {}) => ({ statusCode, headers, body })

app.get('/login', ({ query: { username, password } }) => {
  if (!(username === 'admin' && password === 'lol')) {
    return makeResponse(401, { message: 'Wrong credentials.' })
  }
  const token = sign({ username }, SECRET, { expiresIn: 60 * 60 * 24 * 7 })
  return makeResponse(201, { token })
})

app.get('/me', jwt({ secret: SECRET }), req => req.user)

app.listen(80, '127.0.0.1', () => {
  console.log('Server running at http://localhost/')
})
```

```bash
curl "http://localhost/login?username=admin&password=lol"
```
```bash
curl -H "Authorization: Bearer token-here" http://localhost/me
```

## Options

* **secret**: Shared secret to verify the token (string or buffer required).
* **passthrough**: Whether you want to allow to pass middlewares through, in case, the request user will be `null` (defaults to `false`).
* **verifyOptions**: Object to be passed down to [`jsonwebtoken.verify`](https://github.com/auth0/node-jsonwebtoken#jwtverifytoken-secretorpublickey-options-callback).
* **key**: Key to use in the request to put the decoded token in (defaults to `user`).
* **tokenKey**: Key to use in the request to put the token in (defaults to `token`).
npm package: @nicolasparada/static-middleware
Description: Serve static content middleware
Author: Nicolás Parada
Latest version: 0.1.2

# @nicolasparada/static-middleware ![npm version](https://badge.fury.io/js/%40nicolasparada%2Fstatic-middleware.svg) ![dependencies](https://david-dm.org/nicolasparada/static-middleware.svg)

Middleware to serve static content.

## Usage

```js
const framework = require('@nicolasparada/web-framework')
const static = require('@nicolasparada/static-middleware')
const path = require('path')

const middlewares = [
  static.serve(path.join(__dirname, 'dist')),
  static.fallback(path.join(__dirname, 'dist', 'index.html'))
]

const app = framework(middlewares)

app.listen(80, '127.0.0.1', () => {
  console.log('Server running at http://localhost/ 🚀')
})
```