open-index/open-npm huggingface dataset:
npm package: @michaelhutchinson/parkrun-mcp-server
Description: MCP server for parkrun - find events near you, search by name, and explore parkrun locations worldwide
Author: Michael Hutchinson
Latest version: 1.0.0

# parkrun-mcp-server

An MCP server for finding parkrun events worldwide. No API key needed, no auth required.

## Tools

| Tool                    | Description                                                       |
| ----------------------- | ----------------------------------------------------------------- |
| `find_nearby_parkruns`  | Find parkrun events near a location, sorted by distance           |
| `search_parkruns`       | Search events by name, city, or park                              |
| `get_parkrun_details`   | Get details and links for a specific event                        |
| `get_parkrun_stats`     | Worldwide parkrun stats: total events, breakdown by country       |

## Setup

No API keys needed. Just add to Claude Code:

```bash
claude mcp add parkrun -- npx -y @michaelhutchinson/parkrun-mcp-server
```

Or add to Claude Desktop's `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "parkrun": {
      "command": "npx",
      "args": ["-y", "@michaelhutchinson/parkrun-mcp-server"]
    }
  }
}
```

Restart Claude Code or Claude Desktop and you're ready.

## Example questions

- "Find parkruns near Manchester"
- "What's the closest parkrun to me?" (Claude will ask for your location)
- "Search for parkruns in Leeds"
- "Tell me about Fletcher Moss parkrun"
- "How many parkrun events are there worldwide?"
- "Which country has the most parkruns?"
- "Find parkruns within 5km of central London"

## License

MIT
npm package: @michaeljacquemart/holidate
Description: Command line tool that will verify the parameter is a well-formatted country name, transform it into a two-letters country code, then perform an HTTP request to the API of https://date.nager.at/, returning all the official holidays in that country.
Author: michaeljacquemart
Latest version: 1.0.5

# holidate

Command line tool that will verify the given parameter is a well-formatted country name, transform it into a two-letters country code, then perform an HTTP request to the API of the nager.date service, returning all official holidays in that country. You can add the year as a second parameter to the command line, as such ;

```
$ npx @michaeljacquemart/holidate [country] [year]
```

[ ] indicates that the argument is optional. The default value is the current year.



# Install

### Prerequisites : Node.js and npm

 Simply go to the official [Node.JS website](https://nodejs.org/en/) and follow the instructions (for Ubuntu/Debian, the instructions are [here](https://github.com/nodesource/distributions/blob/master/README.md)).


### used npm packages (you don't have to manually install them)

[country-list](https://www.npmjs.com/package/country-list), to convert the country name onto a country code

[axios](https://www.npmjs.com/package/axios), to perform HTTP requests

[chalk](https://www.npmjs.com/package/chalk), to add some colors in your terminal

[figlet](https://www.npmjs.com/package/figlet), add some style to your terminal


### And finally...


run the following command line ;

```
$ npm i @michaeljacquemart/holidate

```



...You are ready to go !
npm package: @michaeljaltamirano/eslint-plugin
Description: Strongly-opinionated ESLint config
Author: Michael J. Altamirano
Latest version: 0.8.0

# @michaeljaltamirano/eslint-plugin

Strongly-opinionated ESLint configuration.

Currently there are no additional rules added via the plugin, so it is purely configuration. It was setup as a plugin in the event bespoke rules are added in the future.

## Usage

### Installation

`yarn add @michaeljaltamirano/eslint-plugin --dev` or `npm install @michaeljaltamirano/eslint-plugin --saveDev`

### All

```json
"extends": "plugin:@michaeljaltamirano/all"
```

### Base

```json
"extends": "plugin:@michaeljaltamirano/base"
```

### Cypress

```json
"extends": "plugin:@michaeljaltamirano/cypress"
```

### Jest

```json
"extends": "plugin:@michaeljaltamirano/jest"
```

### Prettier

```json
"extends": "plugin:@michaeljaltamirano/prettier"
```

### React

```json
"extends": "plugin:@michaeljaltamirano/react"
```

### TypeScript

```json
"extends": "plugin:@michaeljaltamirano/typescript"
```
npm package: @michaelkhabarov/capacitor-sms-retriever
Description: Capacitor plugin to retrieve SMS on Android
Author: Mikhail Khabarov
Latest version: 0.2.0

# Capacitor SMS Retriever

Android-only plugin for Capacitor 7 that retrieves SMS messages without requiring runtime permissions. Suitable for OTP (One-Time Password) use cases using the Google Play Services SMS Retriever API.

## Installation

```bash
npm install @michaelkhabarov/capacitor-sms-retriever
```

## Platform Support

- Android: Fully supported
- iOS: Not supported
- Web: Not supported

## Usage

```js
import { Capacitor } from '@capacitor/core'
import { CapacitorSmsRetriever } from "@michaelkhabarov/capacitor-sms-retriever";

if (Capacitor.getPlatform() === 'android') {
  // Start listening for SMS
  CapacitorSmsRetriever.startListening()
    .then((res) => console.log("SMS Content", res.body))
    .catch((err) => console.log("Failed", err));

  // Stop listening
  CapacitorSmsRetriever.stopListening();

  // Get signature
  CapacitorSmsRetriever.getAppSignature()
    .then((res) => { console.log("App signature", res.signature) });
}
```

## API

### `startListening()`

Starts listening for incoming SMS messages.

**Returns:** `Promise<{ body: string }>`

### `stopListening()`

Stops listening for SMS messages.

### `getAppSignature()`

This is a helper method to generate your message hash to be included in your SMS message. Without the correct hash, your app won't receive the message callback. This only needs to be generated once per app and stored.

Note: Do not use hash strings dynamically computed on the client in your verification messages.

**Returns:** `Promise<{ signature: string }>`

## Requirements

- Capacitor 7.0.0 or higher
- Android SDK 23 (Android 6.0) or higher
- Android Gradle Plugin 8.7.2
- Google Play Services (play-services-auth-api-phone 18.1.0)

## How It Works

This plugin uses the Google Play Services SMS Retriever API, which allows your app to automatically retrieve verification codes from SMS messages without requiring the READ_SMS permission. The SMS message must be formatted according to Google's requirements (max 140 bytes, contains a hash string identifying your app).

For more information, see the [SMS Retriever API documentation](https://developers.google.com/identity/sms-retriever/overview).

## Credits

This package is based on:
- https://github.com/skmd87/capacitor-sms-retriever
- https://www.npmjs.com/package/capacitor-sms-retriever#appsignature
npm package: @michaelkoelewijn/faq
Description: This package can be used to quickly create a FAQ module. Clicking on an FAQ-item will trigger one of the following events: - a jQuery slideToggle() of the answer (leaving the question visible) - A class toggle of the complete item itself. The rest is up t
Author: Michael Koelewijn
Latest version: 1.0.1

# Frequently Asked Questions

This package can be used to quickly create a FAQ module.
Clicking on an FAQ-item will trigger one of the following events:
- a jQuery slideToggle() of the answer (leaving the question visible)
- A class toggle of the complete item itself. The rest is up to you.

## Installing
```
npm install @michaelkoelewijn91/faq
yarn add @michaelkoelewijn91/faq
```
* * *
  
## Usage
```
var Faq = require('@michaelkoelewijn91/faq');
$(() => {
    Faq.init({
        children: '.js-faq-item',
        question: '.js-faq-question',
        answer: '.js-faq-answer'
    })
})
```

#### Options
| Key | Value | Default | Description |
| --- | ---   |   ---   |     ---     |
| children | string | .js-faq-item | These items will be toggleable |
| question | string | .js-faq-question | Clicking on this element triggers the toggle event | 
| answer | string | .js-faq-answer | The event will target this element |
| toggle | string | slide | Use ```slide``` for a jQuery slideToggle. Use ```class``` to set an active class on the value provided for the key ```children``` |
npm package: @michaelkoelewijn/scrollanimate
Description: This package will check if the specified elements are visible in your viewport. If so, a class and an increased animation-duration will be added per element in milliseconds.
Author: Michael Koelewijn
Latest version: 1.0.1

# Scroll Animation

This package will check if the specified elements are visible in your viewport. If so, a class and an increased animation-duration will be added per element in milliseconds.

Example:  
```<div class="slide" style="animation-duration: 0ms"></div>```  
```<div class="slide" style="animation-duration: 75ms"></div>```  
```<div class="slide" style="animation-duration: 150ms"></div>```  

The incremented value will be reset back to 0ms after element(s) have entered.


## Install
``` npm install @michaelkoelewijn91/scrollanimate```  
``` yarn add @michaelkoelewijn91/scrollanimate```

## How to use
```
var Anim = require('@michaelkoelewijn91/scrollanimate');
$(() => {
    Anim.init({
        element: '.slides',
        children: '.slide',
        delay: 75, //In milliseconds
        offset: .5 //How much of the element must be visible in order to trigger the event
    })
})
```

#### Options
| Key | Value | Default | Description |
| --- | ---   |   ---   |     ---     |
| element | string | .js-scroll-animate | The wrapper containing the animated items |
| children | string | .js-scroll-animate-item | These are the items that need to be animated | 
| delay | int | 75 | Delay in ```milliseconds``` that gets added incrementally to each item in sequence. |
| offset | float | 0.5 | How much of the element needs to be visible in order to trigger the event |

#### Events
| Key | Params | Description |
| --- | ---   |   ---   |     ---     |
| onEnter | (index, item) | Gets fired each time a new item becomes visible. Using this will stop adding the active class and the animation-duration property so you can add your own logic. |
npm package: @michaelkoelewijn/textsplit
Description: You can use this project to kickstart your npm package. This project uses webpack & babel (env) to build your files so ES6 code can be used.
Author: Michael Koelewijn
Latest version: 0.1.0

# NPM package starting point

You can use this project to kickstart your npm package.
This project uses webpack & babel (env) to build your files so ES6 code can be used.

## How to use
- Update ```package.json``` with your package info
- Change the constants in ```webpack.config.js```

### Available scripts
- ```build``` This will run webpack
- ```watch``` This will run webpack in watch mode
- ```publish``` This will publish your package to NPM. Keep in mind that the --acces=public flag is active. You can remove this if necessary
npm package: @michaelkplai/donothing
Description: Node.js donothing framework inspired by Dan Slimmon
Author: Michael Lai
Latest version: 0.1.0

# donothing

Node.js donothing framework inspired by Dan Slimmon's blog post on [Do-nothing scripting](https://blog.danslimmon.com/2019/07/15/do-nothing-scripting-the-key-to-gradual-automation/).

This library is not a direct translation of Dan Slimmon's [go framework](https://github.com/danslimmon/donothing).

Collection of console-focused helper functions to organize scripts by procedures, steps, text, code, amd prompts.

## Usage

```bash
# npm
npm i @michalekplai/donothing
# yarn
yarn add @michalekplai/donothing
# pnpm
pnpm i @michalekplai/donothing
```

Procedure to create a new Ubuntu user with sudo privileges. Adapted from https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-20-04

```js
// doNothing.js

const { Procedure } = require('@michalekplai/donothing')

;(async () => {
  const pcd = new Procedure()

  pcd.step('Creating a New User')
  const newUser = await pcd.prompt(
    'Enter a username for the new user:',
    'NEW_USER'
  )
  pcd.text('Run the following command:')
  pcd.code(`sudo adduser ${newUser}`)

  pcd.step('Granting Administrative Privileges')
  pcd.text('Run the following command:')
  pcd.code(`sudo usermod -aG sudo ${newUser}`)

  pcd.done() // Don't forget to call this when you're done!
})()
```

Run the script using:

```
node doNothing.js
```

## Procedure

Procedures are logical collections of steps. New collections will reset step numbering. Notice that you must call `done()` when you're done with a procedure.

## Steps, Text, Code

The step, text, and code method are all methods to output text to the console. Each method has a distinct appearance to make console output more readable.

## Input/Output (Prompts)

User input can be requested using the `prompt(prompt: string, envVar = '')` method. The prompt method also accepts an optional second parameter which is the name of an environment variable to use for the value when user input is not available (CI/CD environments).

## TODO

- ESLint
- Automate publish
- Add Unit Tests
npm package: @michaelkramer/eslint-plugin-facepalm
Description: All the dumb! code you left in before your push.
Author: Michael Kramer
Latest version: 1.1.7

# eslint-plugin-facepalm

[![npm (scoped)](https://img.shields.io/npm/v/@michaelkramer/eslint-plugin-facepalm?style=flat-square)](https://www.npmjs.com/package/@michaelkramer/eslint-plugin-facepalm)
[![npm](https://img.shields.io/npm/dm/@michaelkramer/eslint-plugin-facepalm?style=flat-square)](https://www.npmjs.com/package/@michaelkramer/eslint-plugin-facepalm)

Do you get reviewers who tell you that these is a commented `console.log`? 🤦

Do you feel like facepalm is the only response you can give? 🤦

Do you want to stop submitting these silly code issues? 🤦

### Why

I made this little plugin because I keep leaving `// console.log(item)` in my code. I'm not saying they are wrong but its little annoying. It just does not make for clean code.

## How to use

### Install

```
yarn add @michaelkramer/eslint-plugin-facepalm --dev
```

#### Config

```
"eslintConfig": {
    "plugins": [
      "@michaelkramer/eslint-plugin-facepalm"
    ],
    "rules": {
      "@michaelkramer/facepalm/no-comment-console": "warn",
      "@michaelkramer/facepalm/no-useless-comments": "warn"
      "@michaelkramer/facepalm/missing-copyright": [ "warn", "copyright.txt" ]
    }
}
```

![Example](example.png)

## Rules

#### no-comment-console

This reports if you leave `// console.log` in the code.

#### no-useless-comments

This reports if you leave `// const a = b` in the code.
This looks for any of the javascript reserved words.

Examples:

- `// for (var i = 0; i < a.length; i++) {`
- `// while (a < b.length)`
- `// with(MATH)`
- `// do {`
- `// this.setStatus()`

#### missing-copyright

this reports if the file is missing a copyright at the top of a file.

[![coffee](https://cdn.buymeacoffee.com/buttons/v2/default-orange.png)](https://www.buymeacoffee.com/CVtZwWc)
npm package: @michaelkramer/kramer-react-ui
Description: Just my collection of ui component
Author: michaelkramer
Latest version: 1.0.7

# kramer-react-ui

> Just my collection of ui component

![npm (scoped)](https://img.shields.io/npm/v/@michaelkramer/kramer-react-ui?style=flat-square)
![npm](https://img.shields.io/npm/dm/@michaelkramer/kramer-react-ui?style=flat-square)

[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Demo

[https://michaelkramer.github.io/kramer-react-ui/](https://michaelkramer.github.io/kramer-react-ui/)

## Install

```bash
npm install --save @michaelkramer/kramer-react-ui
```

or

```bash
yarn add @michaelkramer/kramer-react-ui
```

## Usage

```tsx
... coming soon
```

## License

MIT © [michaelkramer](https://github.com/michaelkramer)
npm package: @michaelkramer/npmhtml-to-draftjs
Description: A library for converting plain HTML to DraftJS Editor content. Build for use with **[react-draft-wysiwyg](https://github.com/jpuri/react-draft-wysiwyg)**.
Author: Jyoti Puri
Latest version: 1.4.1

# HTML To DraftJS

A library for converting plain HTML to DraftJS Editor content.
Build for use with **[react-draft-wysiwyg](https://github.com/jpuri/react-draft-wysiwyg)**.

## Installation

```
npm install html-to-draftjs --save
```

## Usage

```
import { EditorState, ContentState } from 'draft-js';
import htmlToDraft from 'html-to-draftjs';

const blocksFromHtml = htmlToDraft(this.props.content);
const { contentBlocks, entityMap } = blocksFromHtml;
const contentState = ContentState.createFromBlockArray(contentBlocks, entityMap);
const editorState = EditorState.createWithContent(contentState);
```

### (optional) customChunkRenderer
Use to define additional html nodes. Only supports atomic blocks.

* _nodeName: string_ - the name of the node, in lowercase
* _node: HTMLElement_ - the parsed node itself

This renderer function is executed before any other html to draft conversion.
Return nothing (or something falsy) to continue with the normal translation.

Example:

```
htmlToDraft('<hr/>', (nodeName, node) => {
  if (nodeName === 'hr') {
    return {
      type: 'HORIZONTAL_RULE',
      mutability: 'MUTABLE',
      data: {}
    };
  }
})
```


**Take Care:** Plz not use version `1.2.0` it has build issues.
npm package: @michaelkrog/node-red-blauberg-vento
Description: This is a Javascript module with Typescript support for communicating with a Blauberg Vento (as OEMS like Duka One S6w). The Blauberg Vento is a one room ventilationsystem with a heat exchanger.
Author: Apaq
Latest version: 1.0.0-alpha.1

# Introduction

This is a Javascript module with Typescript support for communicating with a Blauberg Vento (as OEMS like Duka One S6w).
The Blauberg Vento is a one room ventilationsystem with a heat exchanger.

This module has roots in the [dukaonesdk](https://github.com/dingusdk/dukaonesdk/blob/master/readme.md) but has been rewritten from scratch in order to better seperate reponsibilites into different classes, while still beig able to reuse shared logic.

The primary goal for this module is to create a Javascript client that makes communicating with Blauberg Vento(and its derivatives) a simple task. My personal need is to integrate it into Homebridge and node-red.

## Installation
```
npm i blaubergventojs
```

The modules 2 levels of communication:
1. A low level client that mimics the communication protocol specified by Blauberg.
2. A high level resource that wraps the low level client for easier usage.
 
## Low level Example 

```
import { BlaubergVentoClient, FunctionType, Parameter, DataEntry } from 'blaugbergventojs'

const client = new BlaubergVentoClient();

// Find all devices on the local network
const addresses = await client.findDevices();

// Assemble package for reading ON_OFF state
const packet = new Packet(addresses[0].id, '1111', FunctionType.READ, [DataEntry.of(Parameter.ON_OFF)])

// Send package and wait for response.
const response = await client.send(packet, addresses[0].ip);

// Check value
const isOn = response.packet.dataEntries[0].value === 1;
```

## High Level Example

```
import { BlaubergVentoResource, FunctionType, Parameter, DataEntry } from 'blaugbergventojs'

const resource = new BlaubergVentoResource();

// Find all devices on the local network
const devices = await resource.findAll();

// Change a device and save it
let device = devices.contents[0];
device.speed = 1;
device = await resource.save(device);

```

[You can see the documentation from Blauberg here](https://blaubergventilatoren.de/uploads/download/b133_4_1en_01preview.pdf)
npm package: @michaelkrog/node-red-contrib-blauberg-vento
Description: This is a Javascript module with Typescript support for communicating with a Blauberg Vento (as OEMS like Duka One S6w). The Blauberg Vento is a one room ventilationsystem with a heat exchanger.
Author: Apaq
Latest version: 1.0.0

# node-red-contrib-blauberg-vento
npm package: @michaellee8/nestjs-firebase
Description: @nestjs with firebase
Latest version: 9.0.0

# nestjs-firebase

![Actions Status](https://github.com/g59/nestjs-plugins/workflows/Node%20CI/badge.svg)
[![npm version](https://badge.fury.io/js/nestjs-firebase.svg)](https://badge.fury.io/js/nestjs-firebase)

## Install

```
npm install nestjs-firebase
```

## Usage

```typescript
@Module({
  imports: [
    FirebaseModule.forRoot({
      googleApplicationCredential: "path/to/credential file.json",
    }),
  ],
})
export class AppModule {}

// using in service class
export class Service {
  constructor(
    @InjectFirebaseAdmin() private readonly firebase: FirebaseAdmin,
  ) {}
}
```

## Contributing

PRs accepted.

## License

[MIT](https://github.com/g59/nestjs-plugins/blob/main/LICENSE) © g59
npm package: @michaelnkomo/cli
Description: BroCode CLI - AI coding assistant with @ file tagging and multi-language support
Author: Michael Mlungisi Nkomo
Latest version: 2.1.1

# BroCode CLI

An AI-powered coding companion that helps you create projects, write code, and manage files.

## Installation

```bash
# Install dependencies
npm install

# Build the project
npm run build

# Link globally (optional)
npm link
```

## Usage

### Running the CLI

```bash
# If linked globally
brocode

# Or run directly
npm start
```

### Configuration

BroCode uses environment variables and a config file for configuration.

#### Environment Variables

Create a `.env` file in the project root (see `.env.example`):

```env
NVIDIA_API_KEY=your_api_key_here
LLM_MODEL=meta/llama-3.1-70b-instruct
LLM_TEMP=0.3
```

Get your free NVIDIA API key at: https://build.nvidia.com/meta/llama-3_1-70b-instruct

#### Config File

You can also create `~/.brocode/config.json`:

```json
{
  "apiKey": "your_api_key_here",
  "model": "meta/llama-3.1-70b-instruct",
  "temperature": 0.3,
  "verbose": false,
  "debug": false
}
```

### Features

**BroCode can:**

- 🚀 Create complete projects in 11+ frameworks:
  - FastAPI (Python)
  - Express (Node.js)
  - Flask (Python)
  - Django (Python)
  - React (JavaScript)
  - Vue (JavaScript)
  - Next.js (React)
  - Go
  - Rust
  - TypeScript
  - Spring Boot (Java)

- 📝 Write and edit code files
- 📂 Manage directories and files
- 🔍 Search and read files
- 💬 Interactive chat interface

### Example Commands

Once in the CLI:

```
You: create a FastAPI project called my-api

You: create a Python script to fetch data from an API

You: read the package.json file

You: list files in the current directory

You: exit
```

## Development

```bash
# Watch mode (auto-rebuild on changes)
npm run dev

# Run tests
npm test

# Type checking
npm run typecheck
```

## Troubleshooting

### "NVIDIA API key not configured"

Make sure you have set `NVIDIA_API_KEY` in your `.env` file or `~/.brocode/config.json`.

### CLI not responding

Check logs at `~/.brocode/logs/` for error messages.

### Permission errors on Windows

Run PowerShell as Administrator when linking globally with `npm link`.

## Architecture

BroCode is built as a monorepo with TypeScript:

```
packages/
├── core/        # Core AI agent, services, and utilities
├── cli/         # Interactive CLI interface (this package)
└── test-utils/  # Testing utilities
```

## License

MIT