open-index/open-npm huggingface dataset:
npm package: @mseep/weatherapi-mcp
Description: WeatherAPI MCP sunucusu - Hava durumu ve hava kalitesi verileri için MCP aracı
Author: swonixs
Latest version: 1.1.0

# WeatherAPI MCP Server

An MCP server that provides current weather and air quality data using WeatherAPI.

## Features

- Get current weather data for any city
- Air quality information (optional)
- Dynamic URI support for weather resources
- Easy integration with n8n, Claude Desktop App, Windsurf IDE,Cursor IDE, and other MCP clients

## Getting Started

### Get WeatherAPI Key

1. Go to [WeatherAPI.com](https://www.weatherapi.com)
2. Sign up for a free account
3. After signing in, go to your dashboard
4. Copy your API key from the "API Keys" section

### MCP Configuration

Add the following configuration to your Windsurf MCP config file:

```json
{
  "mcpServers": {
    "weather": {
      "command": "npx",
      "args": ["-y", "@swonixs/weatherapi-mcp"],
      "env": {
        "WEATHER_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}
```

Replace `YOUR_API_KEY_HERE` with the API key you obtained from WeatherAPI.com.

### Tools

#### get_weather

Get current weather data for a specified city.

Parameters:
- `location` (string): City name

Example response:
```json
{
  "location": "London",
  "country": "United Kingdom",
  "temp_c": 15.0,
  "condition": "Partly cloudy",
  "humidity": 71,
  "wind_kph": 14.4,
  "air_quality": {
    "co": 230.3,
    "no2": 13.5,
    "o3": 52.9,
    "pm2_5": 8.5,
    "pm10": 12.1,
    "us-epa-index": 1
  }
}
```

### Repository

[WeatherAPI MCP Server](https://github.com/swonixs/weatherapi-mcp)

## License

MIT
npm package: @mseep/yapi-mcp
Description: Model Context Protocol server for yapi integration
Latest version: 0.1.4

# Yapi MCP Server

## 环境配置

在项目根目录创建 `.env` 文件，并配置以下环境变量：

```env
# Yapi项目配置

# Server configuration
PORT=3388

# Token配置
# 多项目Token格式: projectId:token,projectId:token
YAPI_TOKEN=projectId:your_yapi_token_here,projectId2:your_yapi_token2_here

# 项目基础URL
YAPI_BASE_URL=your_yapi_base_url_here

# 缓存时效(分钟)，默认10分钟
YAPI_CACHE_TTL=10

# 日志级别: debug, info, warn, error, none
# - debug: 输出所有日志，包括详细的调试信息
# - info: 输出信息、警告和错误日志(默认)
# - warn: 只输出警告和错误日志
# - error: 只输出错误日志
# - none: 不输出任何日志
YAPI_LOG_LEVEL=info
```


## MCP Server 启动
### sse模式
```bash
pnpm install
pnpm run dev
```

### stdio启动
1、pnpm run build  
2、复制dist/cli.js的地址，如 User/xxxx/dist/cli.js  
3、stdio方式启动
```bash
node User/xxxx/dist/cli.js --stdio --yapi-base-url=https://yapi.xxxxx.com --yapi-token=projectId:token --yapi-cache-ttl=10 
```

## 如何获取 token
![Alt text](./images/token.png)
该 token 配置在.env 文件中示例：
```env
YAPI_TOKEN=1026:c1abxxxxxxxxxx
```

## 在Cursor中使用（SSE）
```json
{
  "mcpServers": {
    "yapi-mcp": {
      "url": "http://localhost:3388/sse"
    },
    ...其它MCP Server配置
  }
}
```
![Alt text](./images/sse-link.png)


## 使用例子
![Alt text](./images/demo1.png)

## Available Tools

The server provides the following MCP tools:

### yapi_get_api_desc

获取YApi中特定接口的详细信息。

### yapi_save_api

新增或更新YApi中的接口信息。

### yapi_search_apis

搜索YApi中的接口。


### yapi_list_projects

列出YApi的项目ID(projectId)和项目名称。


### yapi_get_categories

获取YApi项目下的接口分类列表，以及每个分类下的接口信息。


### get_api_desc

获取指定的yapi接口.
npm package: @mseep/ycloud-whatsapp-mcp-server
Description: YCloud WhatsApp API MCP Server
Latest version: 0.1.0

# YCloud WhatsApp API MCP 服务器

[English](README-en.md) | 中文

这是一个基于[Model Context Protocol (MCP)](https://modelcontextprotocol.io/)构建的YCloud WhatsApp API服务器。它能够自动从YCloud WhatsApp OpenAPI规范中生成工具，让AI模型（如Claude）可以直接与YCloud WhatsApp API交互。

## 前提条件

在使用此服务器之前，您需要：

1. 在 [YCloud官网](https://www.ycloud.com) 注册一个账户
2. 获取您的API密钥（请参阅下面的说明）
3. 安装必要的软件依赖（请参阅下面的说明）

## 系统要求

- Node.js v16.0.0 或更高版本
- npm v7.0.0 或更高版本
- Claude 桌面应用（如果要与 Claude 集成）

## 功能

- 自动从OpenAPI规范生成MCP工具
- 支持所有YCloud API端点
- 支持API认证
- 自动处理参数类型和验证
- 支持HTTP请求和响应处理

## 安装

```bash
# 克隆仓库
git clone https://github.com/YCloud-Developers/ycloud-whatsapp-mcp-server.git
cd ycloud-whatsapp-mcp-server

# 安装依赖
npm install

# 构建项目
npm run build
```

## 使用方法

### 获取API密钥

要使用YCloud API，您需要一个API密钥进行身份验证：

1. 登录到 [YCloud控制台](https://www.ycloud.com/console/)
2. 导航到开发者页面
3. 在此页面上，您可以找到您的API密钥

API密钥应作为请求头 `X-API-Key` 包含在所有API请求中。

### 环境变量配置

您可以通过以下环境变量配置服务器：

- `API_BASE_URL`: YCloud API的基础URL（默认：https://api.ycloud.com/v2）
- `OPENAPI_SPEC_PATH`: OpenAPI规范的路径或URL（默认：https://docs.ycloud.com/openapi.json）
- `API_HEADERS`: API请求头（格式：key1:value1,key2:value2）

### Claude桌面端集成

要在Claude桌面应用中使用此服务器，请编辑Claude配置文件：

1. 找到或创建Claude桌面配置文件：
   - 在macOS上：`~/Library/Application Support/Claude/claude_desktop_config.json`
   - 在Windows上：`%APPDATA%\Claude\claude_desktop_config.json`

2. 添加以下配置：

```json
{
  "mcpServers": {
    "ycloud-whatsapp": {
      "command": "node",
      "args": ["path/to/ycloud-whatsapp-mcp-server/build/index.js"],
      "env": {
        "API_BASE_URL": "https://api.ycloud.com/v2",
        "API_HEADERS": "X-API-Key:your-api-key-here"
      }
    }
  }
}
```

3. 替换`your-api-key-here`为您的YCloud API密钥

### 直接运行

```bash
# 设置环境变量并运行
API_BASE_URL=https://api.ycloud.com/v2 \
API_HEADERS="X-API-Key:your-api-key-here" \
npm start
```

## 示例

在Claude中，您可以使用以下提示来与YCloud API交互：

```
请帮我查询我的YCloud账户余额。
```

Claude将能够调用适当的API端点并返回结果。

## 调试

在开发过程中，您可以使用以下方法调试MCP服务器：

1. 查看服务器日志：服务器运行时会输出调试信息
2. 使用MCP Inspector：您可以使用[MCP Inspector](https://modelcontextprotocol.io/inspector)工具来检查服务器的运行状态
3. Claude桌面端调试：在Claude桌面应用中可以查看服务器状态和日志

## 贡献

欢迎提交Pull Request或创建Issue来改进此项目。

## 许可证

MIT
npm package: @mseep/yt-dlp-mcp
Description: An MCP server implementation that integrates with yt-dlp, providing video and audio content download capabilities (e.g. YouTube, Facebook, Tiktok, etc.) for LLMs.
Author: Dewei Yen
Latest version: 0.6.26

# yt-dlp-mcp

An MCP server implementation that integrates with yt-dlp, providing video and audio content download capabilities (e.g. YouTube, Facebook, Tiktok, etc.) for LLMs.

## Features

* **Subtitles**: Download subtitles in SRT format for LLMs to read
* **Video Download**: Save videos to your Downloads folder with resolution control
* **Audio Download**: Save audios to your Downloads folder
* **Privacy-Focused**: Direct download without tracking
* **MCP Integration**: Works with Dive and other MCP-compatible LLMs

## Installation

### Prerequisites

Install `yt-dlp` based on your operating system:

```bash
# Windows
winget install yt-dlp

# macOS
brew install yt-dlp

# Linux
pip install yt-dlp
```

### With [Dive Desktop](https://github.com/OpenAgentPlatform/Dive)

1. Click "+ Add MCP Server" in Dive Desktop
2. Copy and paste this configuration:

```json
{
  "mcpServers": {
    "yt-dlp": {
      "command": "npx",
      "args": [
        "-y",
        "@kevinwatt/yt-dlp-mcp"
      ]
    }
  }
}
```
3. Click "Save" to install the MCP server

## Tool Documentation

* **list_subtitle_languages**
  * List all available subtitle languages and their formats for a video (including auto-generated captions)
  * Inputs:
    * `url` (string, required): URL of the video

* **download_video_subtitles**
  * Download video subtitles in any available format. Supports both regular and auto-generated subtitles
  * Inputs:
    * `url` (string, required): URL of the video
    * `language` (string, optional): Language code (e.g., 'en', 'zh-Hant', 'ja'). Defaults to 'en'

* **download_video**
  * Download video to user's Downloads folder
  * Inputs:
    * `url` (string, required): URL of the video
    * `resolution` (string, optional): Video resolution ('480p', '720p', '1080p', 'best'). Defaults to '720p'

* **download_audio**
  * Download audio in best available quality (usually m4a/mp3 format) to user's Downloads folder
  * Inputs:
    * `url` (string, required): URL of the video

## Usage Examples

Ask your LLM to:
```
"List available subtitles for this video: https://youtube.com/watch?v=..."
"Download a video from facebook: https://facebook.com/..."
"Download Chinese subtitles from this video: https://youtube.com/watch?v=..."
"Download this video in 1080p: https://youtube.com/watch?v=..."
"Download audio from this YouTube video: https://youtube.com/watch?v=..."
```

## Manual Start

If needed, start the server manually:
```bash
npx @kevinwatt/yt-dlp-mcp
```

## Requirements

* Node.js 20+
* `yt-dlp` in system PATH
* MCP-compatible LLM service


## Documentation

- [API Reference](./docs/api.md)
- [Configuration](./docs/configuration.md)
- [Error Handling](./docs/error-handling.md)
- [Contributing](./docs/contributing.md)


## License

MIT

## Author

Dewei Yen
npm package: @mselmany/react-native-switcho
Description: Universal animated switcher ui element. Compatiple with ios, android, web.
Author: mselmany
Latest version: 1.3.2

# @mselmany/react-native-switcho

Universal animated switcher ui element. (with `react-native-reanimated`)<br>
Compatiple with **ios, android, web** - _expo_.

- 🎨 All colors customizable
- Supports optional icons (for on/off status)
- 👀 Looks the same across all platforms

[Example Video](https://github.com/mselmany/react-native-switcho/assets/1439466/294cd213-a48a-4bc4-82c3-daddb6f058bd)

## Installation

```sh
npm install --save @mselmany/react-native-switcho
# or
yarn add @mselmany/react-native-switcho
```

## Usage

```js
import { useState } from 'react';
import { MaterialIcons } from '@expo/vector-icons';

import Switcher from '@mselmany/react-native-switcho';

export default function App() {
  const [isToggled, onToggle] = useState(false);

  return (
    <Switcher
      value={isToggled}
      onValueChange={onToggle}
      size="medium" // number | xlarge | large | medium | small
      radius={25} // optional - default is equals to size
      disabled={false} // optional: true | false
      neutralColor="#c8c8c8" // optional - default is #c8c8c8
      positiveColor="#27cc0d" // optional - default is #27cc0d
      thumbColor="#fff" // optional - default is #fff
      IconOff={<MaterialIcons name="close" size={16} />} // optional
      IconOn={<MaterialIcons name="check" size={16} />} // optional
    />
  );
}

```

## Contributing

See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.

## License

MIT

---

Made with [create-react-native-library](https://github.com/callstack/react-native-builder-bob)
npm package: @msensis/ts-dns-packet
Description: An abstract-encoding compliant module for encoding / decoding DNS packets
Author: Mathias Buus / Austin Hounsel / Icemic Jia / Angelos Bouklis
Latest version: 1.1.10

## ts-dns-packet

A fork of a [fork](https://github.com/Icemic/dns-packet/tree/feat/ts) of [dns-packet](https://github.com/mafintosh/dns-packet) :)

The purpose of this fork is to maintain a typescript version of `dns-packet`,
and hopefully fix some bugs along the way.
npm package: @msepena/capacitor-plugin-sirishortcuts
Description: Capacitor siri shortcuts
Author: msepena
Latest version: 1.0.2

# @msepena/capacitor-plugin-sirishortcuts

This plugin adds support for donating and removing Siri Shortcuts. 

## Getting Started

npm i @msepena/capacitor-plugin-sirishortcuts

### Prerequisites

The plugin only works in XCode 10, and on the iOS 12 platform.

### Installing

npm i @msepena/capacitor-plugin-sirishortcuts


```

import { Component } from '@angular/core';
import { Platform } from '@ionic/angular';
import { Plugins } from '@capacitor/core';
import { SiriShortcutsPlugin } from "@msepena/capacitor-plugin-sirishortcuts";

@Component({
  selector: 'app-root',
  templateUrl: 'app.component.html'
})

export class AppComponent {
  constructor(
    private platform: Platform
  ) {
    this.initializeApp();
  }

  initializeApp() {
    this.platform.ready().then(() => {
      const { StatusBar, SplashScreen, Toast, SiriShortcuts } = Plugins;
      SplashScreen.hide();
    
      SiriShortcuts.addListener('appLaunchBySirishortcuts', (resp) => {
        Toast.show({text: resp['msg']});
      });
    });
  }
}

 donate() {
    const data = {
      persistentIdentifier: 'open-my-app',
      title: 'open-my-app',
      suggestedInvocationPhrase: 'open-my-app',
      isEligibleForSearch: true,
      userInfo: {msg: "murali"},
      isEligibleForPrediction: true,
    }
    const { Toast, SiriShortcuts } = Plugins;

    SiriShortcuts.donate(data).then(resp => {
      Toast.show( {text: "successfully submitted"});
    }, error => {
      Toast.show( {text: error['message']});
    });
  }
```


## Built With

https://capacitor.ionicframework.com/docs/plugins/js
npm package: @mservices-tech/scripts
Description: A collection of generic utility scripts. Useful for various development and maintenance tasks.
Latest version: 4.0.1

# @mservices-tech/scripts

A collection of generic utility scripts. Useful for various development and maintenance tasks.

## Installation

Add the following entry into `devDependencies` in target `package.json` via:

```console
yarn add --dev @mservices-tech/scripts
```

## Quick start

All the scripts provide individual documentation entries available via the `--help` flag:

```console
./node_modules/@mservices-tech/scripts/example/example.sh --help
```

## Common utilities

The package provides common scripting utilities which help in writing customized workspace-specific tooling:

```console
source ./node_modules/@mservices-tech/scripts/utils.sh
```

## TypeScript utilities

If you want to add TypeScript util you need to create a new folder in `src/<typeScriptUtilName>` directory with script file. Then you need to add this script to `src/index.ts` file. After that you can use this util in your project.

### Available utilities

| utility         | description                                                     |
| --------------- | --------------------------------------------------------------- |
| clean_exit      | exits a given script, killing the whole process tree            |
| run_script      | runs a CommonJS script using node                               |
| transpile       | transpile a TypeScript file using either 'esbuild' or 'tsc'     |
| token_set       | sets a shell token in the current environment                   |
| parse_arguments | parse shell script arguments into an associative array          |
| fix_exports     | overrides getter class export in a file transpiled with esbuild |

## Releasing

In order to release the package use the following script:

```console
yarn release
```

After the release succeeds, run the following to publish the package in GitHub registry:

```console
yarn publish
```
npm package: @mservicestech/design-system-automator
Description: Command-line interface for managing design systems
Author: mServices
Latest version: 1.19.0-rc.16

# design-system-automator

Command-line interface for managing design systems.

## Configuration

To configure the tool, put the relevant confguration inside `design-system-automator.config` file with a `ts` or `cjs` extension.
When using TypeScript, make sure to transpile it before usage, as native TypeScript configuration is not currently supported.

Example configuration:

```javascript
/* example TypeScript configuration */
export default {
  designSystemPackage: {
    scopeName: '@mbank-design',
    packageName: 'design-system',
  },
};

/* example CommonJS configuration */
module.exports = {
  default: {
    designSystemPackage: {
      scopeName: '@mbank-design',
      packageName: 'design-system',
    },
  },
};
```

### Custom commit message

In order to set an environment variable `AUTOMATOR_COMMIT_MESSAGE` with the message that will be used for the commit, run:

for example:

```console
AUTOMATOR_COMMIT_MESSAGE="chore(<your project>): update design system to version <version>" npx --yes @mservicestech/design-system-automator@latest
```

**_Note:_** if variable is not set, default commit message "chore: Upgrade <scopeName/packageName>" will be used.

### Logging debug information

The tool will output only info, warning and error messages when `NODE_ENV` environment variable is set to `production`. In
order to view debug logs, please set `NODE_ENV` to `development`:

```console
NODE_ENV=development npx --yes @mservicestech/design-system-automator@latest
```

In that case, debug logs will show with all the above messages as defined in `production` mode.
npm package: @mservicestech/scripts
Description: A collection of generic utility scripts. Useful for various development and maintenance tasks.
Latest version: 3.2.1

# @mservicestech/scripts

A collection of generic utility scripts. Useful for various development and maintenance tasks.

## Installation

Add the following entry into `devDependencies` in target `package.json` via:

```console
yarn add --dev @mservicestech/scripts
```

## Quick start

All the scripts provide individual documentation entries available via the `--help` flag:

```console
./node_modules/@mservicestech/scripts/example/example.sh --help
```

## Common utilities

The package provides common scripting utilities which help in writing customized workspace-specific tooling:

```console
source ./node_modules/@mservicestech/scripts/utils.sh
```

## TypeScript utilities

If you want to add TypeScript util you need to create a new folder in `src/<typeScriptUtilName>` directory with script file. Then you need to add this script to `src/index.ts` file. After that you can use this util in your project.

### Available utilities

| utility         | description                                                     |
| --------------- | --------------------------------------------------------------- |
| clean_exit      | exits a given script, killing the whole process tree            |
| run_script      | runs a CommonJS script using node                               |
| transpile       | transpile a TypeScript file using either 'esbuild' or 'tsc'     |
| token_set       | sets a shell token in the current environment                   |
| parse_arguments | parse shell script arguments into an associative array          |
| fix_exports     | overrides getter class export in a file transpiled with esbuild |

## Releasing

In order to release the package use the following script:

```console
yarn release
```

After the release succeeds, run the following to publish the package in GitHub registry:

```console
yarn publish
```
npm package: @mservicestech/scripts-test
Description: A collection of generic utility scripts. Useful for various development and maintenance tasks.
Latest version: 2.2.1

# @mservicestech/scripts

A collection of generic utility scripts. Useful for various development and maintenance tasks.

## Installation

Add the following entry into `devDependencies` in target `package.json` via:

```console
yarn add --dev @mservicestech/scripts
```

## Quick start

All the scripts provide individual documentation entries available via the `--help` flag:

```console
./node_modules/@mservicestech/scripts/example/example.sh --help
```

## Common utilities

The package provides common scripting utilities which help in writing customized workspace-specific tooling:

```console
source ./node_modules/@mservicestech/scripts/utils.sh
```

## TypeScript utilities

If you want to add TypeScript util you need to create a new folder in `src/<typeScriptUtilName>` directory with script file. Then you need to add this script to `src/index.ts` file. After that you can use this util in your project.

### Available utilities

| utility         | description                                                     |
| --------------- | --------------------------------------------------------------- |
| clean_exit      | exits a given script, killing the whole process tree            |
| run_script      | runs a CommonJS script using node                               |
| transpile       | transpile a TypeScript file using either 'esbuild' or 'tsc'     |
| token_set       | sets a shell token in the current environment                   |
| parse_arguments | parse shell script arguments into an associative array          |
| fix_exports     | overrides getter class export in a file transpiled with esbuild |

## Releasing

In order to release the package use the following script:

```console
yarn release
```

After the release succeeds, run the following to publish the package in GitHub registry:

```console
yarn publish
```
npm package: @mservicestech/strapi-plugin-github-publish
Description: Strapi plugin to publish changes via GitHub Actions.
Author: mServices sp. z o. o.
Latest version: 1.4.2

# Strapi plugin strapi-plugin-github-publish

## Description

This plugin allows you to run GitHub actions directly from Strapi admin panel.

## Installation

```console
npm install @mservicestech/strapi-plugin-github-publish
# or
yarn add @mservicestech/strapi-plugin-github-publish
```

## Configuration

To setup plugin you need to add following entry to the `./config/plugins.js` file:

```js
module.exports = ({ env }) => ({
  // ...
  'strapi-plugin-github-publish': {
    enabled: true,
    config: {
      owner: 'github_owner', // GitHub organisation or user
      repo: 'your_repository', // name of the repository
      workflow_id: 'workflow_name.yml', // workflow_id or filename
      token: env('GITHUB_DISPATCH_WORKFLOW_PERSONAL_ACCESS_TOKEN'), // GitHub personal access token with access to trigger workflows and view build status
      branch: 'master', // branch the workflow should be triggered on
      inputs: {
        // Optional inputs to pass through to the GitHub workflow
        // some_input: "Some value",
      },
    },
  },
  // ...
});
```
npm package: @msessa/find-s3-objects-by-acl
Description: Scan a S3 bucket recursively and print objects matching one or more ACLs 
Author: Matteo Sessa
Latest version: 0.0.11

# find-s3-objects-by-acl
Scan a S3 bucket recursively and print objects matching one or more ACLs

## Pre-requisites
- Node.js version 14.17 or above
- Valid AWS credentials and region configured in your shell

## Installation
### As global package
```bash
npm install -g @msessa/find-s3-objects-by-acl
find-s3-objects-by-acl --help
```

### With `npx`
```bash
npx @msessa/find-s3-objects-by-acl --help
```


## Usage
```
find-s3-objects-by-acl
> Scan a S3 bucket recursively and print objects matching the selected ACLs

ARGUMENTS:
  <bucket> - target S3 bucket

OPTIONS:
  --prefix <str>   - object prefix for recursive scanning [optional]
  --acl <str>      - object ACL to match, can be repeated multiple times (default: public-read,public-write)
  --output <value> - output format (default: tsv) [optional]

FLAGS:
  --help, -h - show help
```
npm package: @mseva/digit-ui-libraries
Description: > Made with @egovernments/create-ui-library
Latest version: 1.1.68-UAT.12

# digit-ui-libraries

> Made with @egovernments/create-ui-library

## Install

```bash
npm install --save @mseva/digit-ui-libraries
```

## Usage

```jsx
import React from "react";
import initLibraries from "@mseva/digit-ui-libraries";

import defaultConfig from "./config";

const App = ({ deltaConfig, stateCode, cityCode, moduleCode }) => {
  initLibraries();

  const store = eGov.Services.useStore(defaultConfig, { deltaConfig, stateCode, cityCode, moduleCode });

  return <p>Create React Library Example 😄</p>;
};

export default App;
```

## License

MIT © [](https://github.com/)
npm package: @mseva/digit-ui-react-components
Description: <!-- TODO: update this -->
Latest version: 1.0.8

<!-- TODO: update this -->

# egov-ui-components

> Made with create-ui-library

[![NPM](https://img.shields.io/npm/v/egov-ui-components.svg)](https://www.npmjs.com/package/egov-ui-components) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save egov-ui-components
```

## Usage

```jsx
import React, { Component } from "react";

import MyComponent from "egov-ui-components";
import "egov-ui-components/dist/index.css";

class Example extends Component {
  render() {
    return <MyComponent />;
  }
}
```

## License

MIT © [abhinav-egov](https://github.com/abhinav-egov)
npm package: @msfapigithub/counters
Description: Package with two counters `Counter` and `DecreasingCounter` constructors.
Author: CodeRoad
Latest version: 1.1.0

# @msfapigithub/counters

Package with two counters `Counter` and `DecreasingCounter` constructors.

## Installation

```
npm install @msfapigithub/counters
```

## Usage

To run demo app clone this repo and simply run:

```
npm install
```

```
npm start
```

## API

Every counter gets two arguments:
 1. selector of element to be rendered in
 2. start number (optional, default 0)

```javascript
import { Counter, DecreasingCounter } from '@msfapigithub/counters'

const counter1 = new Counter('.counter-1', 5)
counter1.init()

const counter2 = new DecreasingCounter('.counter-2', -11)
counter2.init()
```
npm package: @msfeldstein/dat-mirror
Description: # dat-mirror
Latest version: 1.4.0

# Not ready for usage yet

# dat-mirror

`dat-mirror` is a service to persistently mirror your [dat](https://datproject.org/) p2p websites, intended to run on a permanently connected computer like a raspberry pi, so your sites stay available if you close your laptop.  It also serves your sites over an http mirror so anyone can see it, even on mobile.

Currently this library can only connect to services on the same local network using multicast DNS (bonjour) but will be updated to use the [discovery-swarm](https://github.com/mafintosh/discovery-swarm) p2p discovery package to make connecting to your service from anywhere easy, avoiding any port forwarding or any reliance on a third party server.

## Usage

#### Start the service on your persistent connection computer / raspberry pi, and note the mirror key
```
$ npm install -g dat-mirror
$ dat-mirror serve
> Your mirror key is <xxxxxxx>
```
#### Mirror any dat you are authoring from your client machine
If the first run, you will be asked for the mirror key from the server side step to connect to your service.
``` 
$ npm install -g dat-mirror
$ dat-mirror share <dat-key>
> Enter Mirror Key: <xxxxxxx>
> dat://<dat-key> now mirrored
> Also available at http://<yourserver.tld>/<dat-key>
```
Now your dat will be hosted by your server, and kept up to date as your site changes.

You can pass a `--subdomain` flag to `dat-mirror share` to host this dat at subdomain.yourserver.tld instead of yourserver.tld/\<dat-key\>
npm package: @msfs/electron-react-titlebar
Description: A GitHub Desktop style titlebar component for Electron.
Author: KochiyaOcean
Latest version: 1.0.0

# electron-react-titlebar
A github desktop style title bar component for electron.

![screenshot](https://github.com/KochiyaOcean/electron-react-titlebar/raw/master/app/screenshot.PNG)

## Installation

```
npm i --save electron-react-titlebar
```

## Example

You should have electron installed first.

```
electron app
```

## Usage

### If you are using webpack

```javascript
import { TitleBar } from 'electron-react-titlebar'
import 'electron-react-titlebar/assets/style.css'

ReactDOM.render(
    <TitleBar menu={menuTemplate} icon={iconPath} />,
    document.querySelector('title-bar')
)
```

### If you're not a webpack user and wants to load css directly

```js
ReactDOM.render(
    <TitleBar menu={menuTemplate} icon={iconPath}>
      <link rel="stylesheet" type="text/css" href={require.resolve('electron-react-titlebar/assets/style.css')} />
    </TitleBar>,
    document.body
)
```

## Options

### children?: node

Elements to be rendered in between the menu and the window controls (optional).

### disableMinimize?: boolean

Disable minimize button (optional).

### disableMaximize?: boolean

Disable maximize button (optional).

### icon?: string

Path to icon file (optional).

### currentWindow?: \<BrowserWindow\>

The browserWindow Object that window controls affect to. Default value is `remote.currentWindow()` (optional).

### menu?: \<MenuTemplate\>

Menu template of [Electron's Menu](https://github.com/electron/electron/blob/master/docs/api/menu.md#main-process) (optional).

Note: electron-react-titlebar is supporting a subset of [Electron's MenuItem](https://github.com/electron/electron/blob/master/docs/api/menu-item.md).

Supported options:

* `click` - supported
* `type` - `submenu` is not supported.
* `label` - supported
* `enabled` - supported
* `visible` - supported
* `checked` - supported
npm package: @msfw/eslint-config
Description: + `pnpm add @msfw/eslint-config -D`
Latest version: 1.1.0

# Eslint React

## Install
+ `pnpm add @msfw/eslint-config -D`

## Config
+ `.eslintrc.js`
```js
module.exports = {
  "extends": ["@msfw/eslint-config"]
}
```
npm package: @msfw/tsconfig
Description: + `yarn add @msfw/tsconfig -D`
Latest version: 1.1.0

# TSConfig

## Install
+ `yarn add @msfw/tsconfig -D`

## Config
+ `tsconfig.json`
```js
module.exports = {
  "extends": "@msfw/tsconfig",
  "compilerOptions": {
    "types": ["node", "react", "@msfw/tsconfig"],
    "rootDir": ".",
    "baseUrl": ".",
    "paths": {
      "src/*": ["src/*"]
    },
  }
}
```