open-index/open-npm huggingface dataset:
npm package: @kingether/generator-kingether
Description: A Yeoman generator for generating Springboot microservice and microservices
Author: Abel Morris Ben
Latest version: 0.0.8

#generator-kingether
A Yeoman generator for generating Microservices with SpringBoot

## How to use?

```
> npm install -g yo
> npm i @kingether/generator-kingether
> yo kingether
```

## Features

* SpringBoot REST API with jar type packaging
* CORS configuration
* Swagger UI Integration
* Spring Data JPA integration with option to select databases like MySQL, Postgresql, MariaDB etc
* Flyway or Liquibase data migration support
* SpringBoot Actuator configuration
* TestContainers integration
* JUnit 5 
* Docker configuration for Application, ELK, Prometheus, Grafana
* Localstack configuration
* Jenkinsfile
* GitHub Actions Configuration
* CheckStyle, PMD, SonarQube, Google-java-format static analysis tools configuration


### Generate SpringBoot Microservice

![Microservice Generation](docs/server-generation-1.png)
![Microservice Generation](docs/server-generation-2.png)

### Generate REST API with CRUD operations
You can generate REST API with CRUD operation using the following command:

:high_brightness: You should run the following command from within the generated project folder. 

`myservice> yo kingether:controller Customer --base-path /api/customers`

This will generate:
* JPA entity
* Spring Data JPA Repository
* Service
* Spring MVC REST Controller with CRUD operations
* Unit and Integration Tests for REST Controller
* Flyway or Liquibase migration to create table

![CRUD Generation](docs/crud-generation.png)


## Why another generator when you have JHipster?
JHipster is an amazing SpringBoot application generator with lots and lots of cool features.
However, there are certain JHipster features that does not fit for my preferences such as:

1. I like *jar* packaging
2. I like to use spring-boot-starter-* than configuring individual libraries
3. I like to have an option to generate application without spring-security
4. I prefer Flyway to Liquibase
5. I like to have only minimum and required configuration ie no AsyncConfiguration, LocaleConfiguration, CacheConfiguration, Logstash Logging etc.
6. I like .properties over .yml

## Changelog

### Version 0.0.5
* Added support for generating docker-compose yml files for application, ELK, Prometheus, Grafana

### Version 0.0.6
* Updated to use testcontainers-spring-boot https://github.com/testcontainers/testcontainers-spring-boot
* Generate Zipkin docker-compose file when Distributed Tracing is selected
* Fixed Flyway/Liquibase db migration script generation issue
* Added tests for sanity check

### Version 0.0.7
* Removed support for generation of `config-server` and `service-registry`
* Updated SpringBoot and other libraries version

### Version 0.0.8
* Configured Checkstyle, PMD, SonarQube, google-java-format plugins
* Added Localstack autoconfiguration support
npm package: @kingfang007/react-native-ftp-client
Description: FTP client library for android and ios
Author: bruce
Latest version: 1.1.7

# react-native-ftp-client

A ftp client library for react native
Thanks for [react-native-ftp](https://github.com/ne0z/react-native-ftp).
Get inspired from it, but almost rewrite every corner.

1. support three operations
    * list ftp dir.  
    * upload file to ftp.  
    * download file from ftp.
    * remove file or dir from ftp.  

2. NO session, which means treating each operation as a session.  
   Therefore, it is easier to use for javascript client even introduce some overhead on login and logout.  

## Limit

the download operation depends on the ftp server support size cmd

## Example
```javascript
const downloadFileFrom = async (ftpHost, remote_file_path) => {
    FTP.setup({
      ip_address: ftpHost,
      port: 21,
      username: 'anonymous',
      password: 'guest',
    }); //Setup host

    const localPath = 'local file path';

    try {
      let currentToken = '';
      const subscription = FTP.addProgressListener(({token, percentage}) => {
        if (percentage === 0) {
            //record token
            currentToken = token;
        }
        if (token !== currentToken) {
            //ignore
        } else {
            //show percentage. it is a integer
            if (percentage >= 100) {
                //finish download
            }
        }
      });
      await FTP.downloadFile(localPath, remote_file_path);
      //continue after download finish
    } catch (error) {
        if(error.message === FTP.ERROR_MESSAGE_CANCELLED){
            //the download is cancelled
        }
        //other error
    }
  };
  ```
npm package: @kingfishers/awesome_tools
Description: 强大工具集合 - 提供Git统计分析、Vue项目清理、FFmpeg音视频转换等实用命令行工具
Author: Kingfishers
Latest version: 2.1.0

# @kingfishers/awesome_tools 🚀

强大的命令行工具集合，提供开发、运维、测试等多种实用工具。支持超简洁缩写命令 `ats`！

[![npm version](https://img.shields.io/npm/v/@kingfishers/awesome_tools.svg)](https://www.npmjs.com/package/@kingfishers/awesome_tools)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
[![Node.js Version](https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen)](https://nodejs.org/)

## ⚡ 快速开始

```bash
# 全局安装
npm install -g @kingfishers/awesome_tools

# 查看帮助
ats --help
awesome-tools --help
```

## 🎯 核心功能

### 开发工具
- **[Git统计分析](docs/commands/git-stats.md)** - 深度分析Git提交历史，生成可视化报告
- **[Vue死代码清理](docs/commands/clean-code.md)** - 智能检测和清理Vue项目中的未使用代码
- **[FFmpeg工具集](docs/commands/ffmpeg.md)** - 音视频处理、格式转换、流媒体推送

### 服务器工具
- **[文件分享服务器](docs/commands/share-server.md)** - 快速搭建本地文件分享服务
- **[SSH端口转发](docs/commands/remote-server.md)** - 简化的SSH隧道管理工具
- **[动画WebSocket服务器](docs/commands/animation-server.md)** - 翠鸟3D引擎集成服务

### 测试工具
- **[API自动化测试](docs/commands/api-test.md)** - 智能API测试工具，支持Swagger和MCP集成
- **[数据库查询](docs/commands/database.md)** - MySQL/PostgreSQL快速连接查询工具

### 实用工具
- **[工作屏保](docs/commands/screensaver.md)** - 专业的工作状态伪装工具
- **[消息推送](docs/commands/notify.md)** - Server酱微信通知推送
- **[翠鸟场景检查器](docs/commands/kingfisher-scene-inspector.md)** - 3D场景实时分析优化

## 📖 命令速查

| 命令 | 缩写 | 说明 |
|------|------|------|
| `git-stats` | `gs` | Git提交历史分析 |
| `clean-code` | `cc` | Vue死代码清理 |
| `debug-file` | `df` | 调试文件引用关系 |
| `ffmpeg` | `ff` | FFmpeg音视频处理 |
| `share-server` | `ss` | 文件分享服务器 |
| `remote-server` | `rs` | SSH端口转发 |
| `screensaver` | `screen` | 工作屏保 |
| `animation-server` | `as` | 动画WebSocket服务器 |
| `api-test` | `at` | API自动化测试 |

## 🤖 AI IDE 集成

### Claude Desktop 集成

提供两个专门的 MCP (Model Context Protocol) 服务器：

#### 1. 通用工具MCP
```bash
# 自动添加
claude mcp add awesome-tools -- node $(npm root -g)/@kingfishers/awesome_tools/mcp/server.js
```

#### 2. API测试MCP  
```bash
# 在项目根目录运行
cd /your/project
ats api-test --mcp-server
```

详细配置请参考 [MCP集成文档](docs/mcp-integration.md)

## 📦 安装要求

- Node.js >= 18.0.0
- npm 或 yarn

## 🔧 本地开发

```bash
# 克隆仓库
git clone https://github.com/kingfishers/awesome_tools.git
cd awesome_tools

# 安装依赖
npm install

# 链接到全局
npm link

# 运行命令
ats --help
```

## 📄 许可证

MIT License - 详见 [LICENSE](LICENSE) 文件

## 🤝 贡献

欢迎提交 Issue 和 Pull Request！

## 📮 联系方式

- GitHub: [@kingfishers](https://github.com/kingfishers)
- npm: [@kingfishers/awesome_tools](https://www.npmjs.com/package/@kingfishers/awesome_tools)
npm package: @kingfwd/element
Description: Vue3 components library
Author: kingfwd
Latest version: 1.0.0

# vue-element

This template should help get you started developing with Vue 3 in Vite.

## Recommended IDE Setup

[VS Code](https://code.visualstudio.com/) + [Vue (Official)](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur).

## Recommended Browser Setup

- Chromium-based browsers (Chrome, Edge, Brave, etc.):
  - [Vue.js devtools](https://chromewebstore.google.com/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd)
  - [Turn on Custom Object Formatter in Chrome DevTools](http://bit.ly/object-formatters)
- Firefox:
  - [Vue.js devtools](https://addons.mozilla.org/en-US/firefox/addon/vue-js-devtools/)
  - [Turn on Custom Object Formatter in Firefox DevTools](https://fxdx.dev/firefox-devtools-custom-object-formatters/)

## Type Support for `.vue` Imports in TS

TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) to make the TypeScript language service aware of `.vue` types.

## Customize configuration

See [Vite Configuration Reference](https://vite.dev/config/).

## Project Setup

```sh
pnpm install
```

### Compile and Hot-Reload for Development

```sh
pnpm dev
```

### Type-Check, Compile and Minify for Production

```sh
pnpm build
```

### Lint with [ESLint](https://eslint.org/)

```sh
pnpm lint
```
npm package: @kingga/kc-config
Description: A configuration container for the kings collection.
Author: Isaac Skelton
Latest version: 1.0.0

# Kings Collection Configuration Container
[![Build Status](https://travis-ci.com/kingga/kc-config.svg?branch=master)](https://travis-ci.com/kingga/kc-config)

A configuration container which can load configurations from multiple configuration file types. These include:

- JSON
- YAML
- DotEnv

## Installation
### Yarn
`yarn add @kingga/kc-config`

### NPM
`npm i @kingga/kc-config`

## Usage
```yaml
host: localhost
port: 999
user: root
pass: secret
database: db1
```

```ts
import Container from '@kingga/kc-container';
import ConfigServiceProvider, { IConfig } from '@kingga/kc-config';
import { resolve } from 'path';

const container = new Container();
const provider = new ConfigServiceProvider(container);
provider.register();

const config = container.make<IConfig>('IConfig');
config.loadFile(resolve(__dirname, './configs/db.yaml'));

// Some third party library.
db.createConnection({
    host: config.get('db.host', 'localhost'),
    port: config.get('db.port', 3306),
    user: config.get('db.user', 'root'),
    pass: config.get('db.pass', ''),
    database: config.get('db.database'),
});
```
npm package: @kingga/kc-container
Description: A simple IoC container for the kings collection.
Author: Isaac Skelton
Latest version: 1.0.3

# Kings Collection IoC Container
[![Build Status](https://travis-ci.com/kingga/kc-container.svg?branch=master)](https://travis-ci.com/kingga/kc-container)

A simple IoC container for the kings collection. Inspired by the [Laravel container](https://laravel.com/docs/6.x/container)!

## Installation
### Yarn
`yarn add @kingga/kc-container`

### NPM
`npm i @kingga/kc-container`

## Usage
```ts
import Container from 'kc-container';

const container = new Container;

class Foo {
    toString(): string {
        return 'foo';
    }
}

class Faz {
    public readonly foo: Foo;

    public constructor(foo: Foo) {
        this.foo = foo;
    }
}

class State {
    protected hiddenState: object = {};

    public set state(state: object) {
        this.hiddenState = state;
    }

    public get state(): object {
        return this.hiddenState;
    }
}

// Simple bindings.
container.bind(Foo, () => new Foo);
container.bind(Faz.name, (app: Container) => new Faz(app.make<Foo>(Foo)));

// Singletons.
container.singleton(State, () => new State);

// Getting something from the container.
const stateA = container.make<State>(State);
stateA.state = { foo: 'bar' };

const stateB = container.make<State>(State);
it('should be the same since it is a singleton', () => strictEqual(stateA, stateB));
```
npm package: @kingga/kc-http
Description: An HTTP strategy which allows you to switch between multiple HTTP libraries such as Axios, Fetch, etc. without changing any code.
Author: Isaac Skelton
Latest version: 1.0.4

# KC HTTP
*A wrapper around common HTTP libs*

[![Build Status](https://travis-ci.com/kingga/kc-http.svg?branch=master)](https://travis-ci.com/kingga/kc-http)

Change HTTP library without any hassle, switching between different HTTP libs could be as easy as changing one line.

## Installation

```bash
yarn add @kingga/kc-http
# OR
npm i @kingga/kc-http
```

## Usage

```typescript
import Container from '@kingga/kc-container'; // Not needed, requires yarn add @kingga/kc-container.
import { FetchHttp, IHttp } from '@kingga/kc-http';

const container = new Container();

container.bind<IHttp>('IHttp', () => new FetchHttp());

// Anywhere else in your application.
import { IHttp, IResponse, IErrorResponse } from '@kingga/kc-http';

const http = container.make<IHttp>('IHttp');
http.get({ url: '/user' })
    .then((response: IResponse) => {
        console.log(response.data);
    })
    .catch((error: IErrorResponse) => {
        console.error(error);
    });
```

## Short Docs
### Interfaces
#### IRequest

```typescript
interface IRequest {
    url: string;
    method?: RequestMethod; // E.g. GET | POST | PUT | ...
    body?: any;
    headers?: Record<string, string>;
}
```

#### IResponse

```typescript
interface IResponse {
    data: any;
    status: number;
    statusText: string;
    headers: Record<string, string>;
    request: IRequest;
}
```

#### IErrorResponse

```typescript
interface IErrorResponse {
    code?: number,
    message: string;
    name: string;
    response?: IResponse;
    request: IRequest;
}
```
npm package: @kinggoesgaming/omem
Description: Minimal memoization library with explicit cache control
Author: Hunar Roop Kahlon
Latest version: 0.2.0

# omem

Memoize values in JavaScript.

## Installation

<details>
<summary>Node.js</summary>

```bash
npm install omem
```

</details>

<details>
<summary>Browser</summary>

```html
<script type="module" src="https://unpkg.com/omem"></script>
```

</details>

## Usage

```js
import { memoize } from "omem";

const value = memoize("key", () => "value");
```

## API

### `memoize(key, getValue)`

Memoizes a value.

```js
const value = memoize("key", () => "value");
```

### `memoizeAsync(key, getValue)`

Memoizes an async value.

```js
const value = await memoizeAsync("key", () => Promise.resolve("value"));
```

### `clearMemoized(key)`

Clears a memoized value.

```js
clearMemoized("key");
```

### `clearAllMemoized()`

Clears all memoized values.

```js
clearAllMemoized();
```

## License

[MIT](LICENSE)

## Contributing

Contributions are welcome! Please open an issue or submit a pull request.
npm package: @kinginsun/mcp-aitep
Description: A CLI tool for retrieving PDE (Permitted Daily Exposure) reports for Active Pharmaceutical Ingredients (APIs) via Model Context Protocol.
Author: kinginsun@CUHK
Latest version: 0.0.9

# mcp-aitep

A CLI tool providing a Model Context Protocol (MCP) interface to retrieve PDE (Permitted Daily Exposure) reports for Active Pharmaceutical Ingredients (APIs) via AITEP.

## Installation

```bash
npm install -g @kinginsun/mcp-aitep
```

## Configuration

Before using the tool, you need to set your API key as an environment variable:

```bash
export AITEP_API_KEY=your_api_key_here
```

## Usage

This tool provides a Model Context Protocol (MCP) interface for retrieving PDE reports for pharmaceutical ingredients. It can be used with any MCP-compatible client.

The tool provides the following capability:

### AITEP_PDE_Report

Retrieves the PDE (Permitted Daily Exposure) report in JSON format for a given API (Active Pharmaceutical Ingredient).

**Parameters:**

- `ingredient`: (Required) Name of the active pharmaceutical ingredient

**Example request payload:**

```json
{
  "ingredient": "Paracetamol"
}
```

## Requirements

- Node.js >= 18.0.0
- Valid `AITEP_API_KEY` environment variable

## License

MIT
npm package: @kingironman2011/xterm-addon-search-bar
Description: **This is a fork of [xterm-addon-search-bar](https://github.com/yinshuxun/xterm-addon-search-bar) with some package updates and improvements**
Author: KingIronMan2011
Latest version: 0.3.7

# @kingironman2011/xterm-addon-search-bar

**This is a fork of [xterm-addon-search-bar](https://github.com/yinshuxun/xterm-addon-search-bar) with some package updates and improvements**

[![Build Status](https://github.com/KingIronMan2011/xterm-addon-search-bar/workflows/ci/badge.svg?branch=main&event=push)](https://github.com/KingIronMan2011/xterm-addon-search-bar-upgraded/actions)
[![Build Status](https://github.com/KingIronMan2011/xterm-addon-search-bar/workflows/publish/badge.svg?branch=main&event=push)](https://github.com/KingIronMan2011/xterm-addon-search-bar-upgraded/actions)
[![NPM](https://img.shields.io/npm/v/@kingironman2011/xterm-addon-search-bar.svg)](https://www.npmjs.com/package/@kingironman2011/xterm-addon-search-bar)
![License](https://img.shields.io/npm/l/@kingironman2011/xterm-addon-search-bar.svg)

An addon for [xterm.js](https://github.com/xtermjs/xterm.js) that enables show search bar in terminal. This addon requires xterm.js & xterm-addon-search v4+.

## Install

```bash
npm install --save @kingironman2011/xterm-addon-search-bar
```

## Usage

```ts
import { Terminal } from '@xterm/xterm';
import { SearchAddon } from '@xterm/addon-search';
import { SearchAddonBar } from '@kingironman2011/xterm-addon-search-bar';

const terminal = new Terminal();
const searchAddon = new SearchAddon();
const searchAddonBar = new SearchAddonBar({ searchAddon });
terminal.loadAddon(searchAddon);
terminal.loadAddon(searchAddonBar);
// Can be uesd in a action as click
searchAddonBar.show();
```

See the full [API](https://github.com/KingIronMan2011/xterm-addon-search-bar/blob/main/typings/index.d.ts) for more advanced usage
npm package: @kingjan1999/dtv-app-server-client
Description: Automatisch generierter TS-Client für die Swagger-Config von rossmannappserver / rossmannserverapp.
Latest version: 2.1.5

# Rossmann App Server Client

Automatisch generierter TS-Client für die Swagger-Config von rossmannappserver / rossmannserverapp.

Kommando zum Generieren:
```bash
java -jar swagger-codegen-cli.jar generate -i ../rossmannserverapp/swagger.yaml -l typescript-node -o lib/ -c config.json
```