open-index/open-npm huggingface dataset:
npm package: @gui-chat-plugin/tictactoe
Description: Tic-Tac-Toe game plugin for GUI Chat
Latest version: 0.1.2

[![npm version](https://badge.fury.io/js/%40gui-chat-plugin%2Ftictactoe.svg)](https://badge.fury.io/js/%40gui-chat-plugin%2Ftictactoe)
# GUIChatPluginTicTacToe

Tic-Tac-Toe game plugin for GUI Chat.

## Development

### 1. Plugin単体でデバッグ

```bash
yarn install
yarn run dev
```

ブラウザで http://localhost:5173/ を開く

### 2. MulmoChatでデバッグ

**初回セットアップ（MulmoChat側）:**

1. `MulmoChat/package.json` に依存関係を追加:
```json
"@gui-chat-plugin/tictactoe": "file:../GUIChatPluginTicTacToe",
```

2. `MulmoChat/src/main.ts` にCSS importを追加:
```typescript
import "@gui-chat-plugin/tictactoe/style.css";
```

3. `MulmoChat/src/tools/index.ts` にプラグインを登録:
```typescript
import TicTacToePlugin from "@gui-chat-plugin/tictactoe/vue";
// pluginList に TicTacToePlugin を追加
```

**デバッグ実行:**
```bash
# プラグインをビルドしてMulmoChatに反映
./refresh-in-mulmochat.sh

# MulmoChatを起動
cd ../MulmoChat
yarn run dev
```

### 3. チェックスクリプト

```bash
# プラグインファイル構成チェック
./check-plugin-structure.sh

# MulmoChat統合チェック（CSS, 依存関係, 登録）
./check-mulmochat-integration.sh
```

## Required Files (24 files)

```
【ルート設定ファイル (7)】
  .gitignore
  package.json
  tsconfig.json
  tsconfig.build.json
  vite.config.ts
  eslint.config.js
  index.html

【ソースエントリ (2)】
  src/index.ts
  src/style.css

【Coreモジュール (6)】
  src/core/index.ts
  src/core/types.ts
  src/core/definition.ts
  src/core/logic.ts
  src/core/plugin.ts
  src/core/samples.ts

【Vueモジュール (3)】
  src/vue/index.ts
  src/vue/View.vue
  src/vue/Preview.vue

【デモファイル (2)】
  demo/main.ts
  demo/App.vue
```

## Scripts

| Command | Description |
|---------|-------------|
| `yarn dev` | 開発サーバー起動 |
| `yarn build` | プロダクションビルド |
| `yarn typecheck` | TypeScriptチェック |
| `yarn lint` | ESLintチェック |
| `./check-plugin-structure.sh` | ファイル構成チェック |
| `./check-mulmochat-integration.sh` | MulmoChat統合チェック |
| `./refresh-in-mulmochat.sh` | MulmoChatに反映 |
npm package: @gui-chat-plugin/todo
Description: Todo list plugin for GUIChat
Latest version: 0.1.2

# @gui-chat-plugin/todo

[![npm version](https://badge.fury.io/js/%40gui-chat-plugin%2Ftodo.svg)](https://www.npmjs.com/package/@gui-chat-plugin/todo)

Todo list plugin for GUI Chat applications. Manage tasks with a persistent todo list that syncs via localStorage.

## Features

- Add, update, and delete todo items
- Mark tasks as completed/uncompleted
- Clear all completed items at once
- Persistent storage via localStorage
- Inline text editing capability

## Installation

```bash
yarn add @gui-chat-plugin/todo
```

## Usage

### Vue Integration

```typescript
// In src/tools/index.ts
import TodoPlugin from "@gui-chat-plugin/todo/vue";

const pluginList = [
  // ... other plugins
  TodoPlugin,
];

// In src/main.ts
import "@gui-chat-plugin/todo/style.css";
```

### Core-only Usage

```typescript
import { executeTodo, TOOL_DEFINITION } from "@gui-chat-plugin/todo";

// Show the todo list
const result = await executeTodo(context, {
  action: "show",
});

// Add a new item
const result = await executeTodo(context, {
  action: "add",
  text: "Buy groceries",
});
```

## API

### TodoArgs

```typescript
interface TodoArgs {
  action: "show" | "add" | "toggle" | "delete" | "clear_completed" | "update";
  text?: string;     // For add/update actions
  itemId?: string;   // For toggle/delete/update actions
}
```

### TodoItem

```typescript
interface TodoItem {
  id: string;
  text: string;
  completed: boolean;
  createdAt: number;
}
```

## Development

```bash
# Install dependencies
yarn install

# Run demo
yarn dev

# Build
yarn build

# Lint
yarn lint
```

## Test Prompts

Try these prompts to test the plugin:

1. "Show me my todo list"
2. "Add 'Buy groceries' to my todo list"
3. "I finished shopping, mark the groceries task as done"

## License

MIT
npm package: @gui-chat-plugin/weather
Description: Weather forecast plugin for GUI Chat - Japan Meteorological Agency
Latest version: 0.0.2

# @gui-chat-plugin/weather

[![npm version](https://badge.fury.io/js/%40gui-chat-plugin%2Fweather.svg)](https://www.npmjs.com/package/@gui-chat-plugin/weather)

Weather forecast plugin for GUI Chat applications. Fetches weather data from Japan Meteorological Agency (JMA) API.

## Features

- Real-time weather forecast from JMA API
- Support for all 47 Japanese prefectures and 59 regional areas
- Interactive weather display with temperature charts
- Extended forecast with daily cards
- Precipitation probability visualization

## Installation

```bash
yarn add @gui-chat-plugin/weather
```

## Usage

### Vue Integration

```typescript
// In src/tools/index.ts
import WeatherPlugin from "@gui-chat-plugin/weather/vue";

const pluginList = [
  // ... other plugins
  WeatherPlugin,
];

// In src/main.ts
import "@gui-chat-plugin/weather/style.css";
```

### Core-only Usage

```typescript
import { executeWeather, TOOL_DEFINITION } from "@gui-chat-plugin/weather";

// Fetch weather for Tokyo
const result = await executeWeather(context, {
  areaCode: "130000",
});
```

## API

### WeatherArgs

```typescript
interface WeatherArgs {
  areaCode: string; // JMA area code (e.g., "130000" for Tokyo)
}
```

### Area Codes

Common area codes:
- Tokyo: `130000`
- Osaka: `270000`
- Kyoto: `260000`
- Fukuoka: `400000`
- Hokkaido (Ishikari): `016000`
- Okinawa: `471000`

## Development

```bash
# Install dependencies
yarn install

# Run demo
yarn dev

# Build
yarn build

# Lint
yarn lint
```

## Test Prompts

Try these prompts to test the plugin:

1. "What's the weather forecast for Tokyo?"
2. "Show me the weather in Osaka"
3. "Will it rain in Hokkaido this week?"

## License

MIT
npm package: @gui-framework/core
Description: Toy UI library
Latest version: 1.0.4

<img src='https://github.com/tori-getz/gui/blob/main/logo.png?raw=true' />

# @gui-framework/core
> <b>Gui</b> core library

Please, open [<b>Gui</b>](https://github.com/tori-getz/gui) home page for more details.
npm package: @gui-framework/dom
Description: Gui library for working with DOM
Latest version: 1.0.4

<img src='https://github.com/tori-getz/gui/blob/main/logo.png?raw=true' />

# @gui-framework/dom
> <b>Gui</b> library for working with DOM

Please, open [<b>Gui</b>](https://github.com/tori-getz/gui) home page for more details.
npm package: @gui-framework/vite-plugin
Description: Vite plugin for Gui
Author: tori-getz
Latest version: 1.0.3

<img src='https://github.com/tori-getz/gui/blob/main/logo.png?raw=true' />

# @gui-framework/vite-plugin
> <b>Gui</b> library for working with DOM

Please, open [<b>Gui</b>](https://github.com/tori-getz/gui) home page for more details.
npm package: @gui-marc/eslint-config-backend
Description: Eslint + Prettier configs for backend projects with Typescript
Author: Guilherme Marcondes
Latest version: 1.0.3

# Eslint Config

This is a simple repo containing some eslint configs that I use in my projects.

## Usage

Install the package:

```bash
npm install --save-dev @gui-marc/eslint-config-backend
```

And install the peer dependencies:

```bash
npx install-peerdeps --dev @gui-marc/eslint-config-backend
```

Then add the config to your eslint config file:

```json
{
  "extends": "@gui-marc/eslint-config-backend",
  "parserOptions": {
    "project": "./tsconfig.json" // the path to your tsconfig.json file
  }
}
```

Then add this config to your `.prettierrc` file:

```json
{
    "trailingComma": "none",
    "semi": true,
    "singleQuote": true
}
```
npm package: @gui-marc/eslint-config-react
Description: An eslint config for React
Author: Guilherme Marcondes
Latest version: 1.0.0

# Eslint Config React

A simple eslint config for react projects.

## Installation

```bash
npm install --save-dev @gui-marc/eslint-config-react
```

## Usage

Add the following to your `.eslintrc` file:

```json
{
  "extends": "@gui-marc/eslint-config-react"
}
```

And this to your `prettierrc` file:

```json
{
  "singleQuote": true,
  "trailingComma": "es5"
}
```
npm package: @gui-one/core
Description: 引擎、事件驱动器、相关事件，拖拽逻辑，与框架无关，涉及到框架的放入 react
Latest version: 0.19.4

# @gui-one/core

引擎、事件驱动器、相关事件，拖拽逻辑，与框架无关，涉及到框架的放入 react
npm package: @gui-one/external-resource
Description: 归一可视化搭建时用到的资源，如图片、图标等
Latest version: 0.11.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @gui-one/external-resource

归一可视化搭建时用到的资源，如图片、图标等
npm package: @gui-one/function
Description: <h1 align="center">@gui-one/function</h1> <div align="center">
Latest version: 0.19.4

<h1 align="center">@gui-one/function</h1>
<div align="center">

归一的函数

</div>

## 📄 Usage

这个包是归一封装的函数库，内部封装了 lodash，以及自己的函数库，如发布订阅函数，文件处理等函数，以便于低代码平台中使用。
npm package: @gui-one/function-h5
Description: <h1 align="center">@gui-one/function-h5</h1> <div align="center">
Latest version: 0.19.4

<h1 align="center">@gui-one/function-h5</h1>
<div align="center">

归一的函数

</div>

## 📄 Usage

这个包是归一封装的函数库，功能定位和 @gui-one/function 一样，但是是基于 h5 的，同样也是为了在各个平台中都能提供统一的函数。
npm package: @gui-one/function-miniapp
Description: <h1 align="center">@gui-one/function-miniapp</h1> <div align="center">
Latest version: 0.19.4

<h1 align="center">@gui-one/function-miniapp</h1>
<div align="center">

归一的函数

</div>

## 📄 Usage

这个包是归一封装的函数库，功能定位和 @gui-one/function 一样，但是是基于小程序的，同样也是为了在各个平台中都能提供统一的函数。
npm package: @gui-one/material
Description: <h1 align="center">@gui-one/material</h1> <div align="center">
Latest version: 0.19.4

<h1 align="center">@gui-one/material</h1>
<div align="center">

归一的组件

</div>

## 📄 Usage

这个包是归一封装的组件库，包含了一些自己设计的组件，或需要依赖到应用级功能的组件。
如上传组件，这个组件就需要配置上传地址等信息，为了更好的在低代码平台中使用，我们设计了这个包。
npm package: @gui-one/material-h5
Description: <h1 align="center">@gui-one/material-h5</h1> <div align="center">
Latest version: 0.19.4

<h1 align="center">@gui-one/material-h5</h1>
<div align="center">

归一的组件

</div>

## 📄 Usage

这个包是归一封装的组件库，功能定位和 @gui-one/material 一样，但是是基于 h5 的，同样也是为了在各个平台中都能提供统一的组件。
npm package: @gui-one/material-miniapp
Description: <h1 align="center">@gui-one/material-miniapp</h1> <div align="center">
Latest version: 0.19.4

<h1 align="center">@gui-one/material-miniapp</h1>
<div align="center">

归一的组件

</div>

## 📄 Usage

这个包是归一封装的组件库，功能定位和 @gui-one/material 一样，但是是基于小程序的，同样也是为了在各个平台中都能提供统一的组件。
npm package: @gui-one/pro-layout
Description: @ant-design/pro-layout
Latest version: 6.34.5

# @ant-design/pro-layout

![](https://gw.alipayobjects.com/zos/antfincdn/HSeAGqaEwn/1586504755352-479bf47d-97a6-4080-afed-d38ffe905e57.png)

ProLayout provides a standard, yet flexible, middle and backend layout, with one-click layout switching and automatic menu generation. It can be used with PageContainer to automatically generate breadcrumbs, page headers, and provide a low-cost solution to access the footer toolbar.

## When to use

ProLayout can be used to reduce layout costs when content needs to be carried on a page.

### Use with umi plugins

ProLayout works best with umi. umi automatically injects the routes from config.ts into the configured layout for us, so we don't have to write the menus by hand.

ProLayout extends umi's router configuration, adding name, icon, locale, hideInMenu, hideChildrenInMenu and other configurations, so that it is easier to generate menus in one place. The data format is as follows.

```ts | pure
export interface MenuDataItem {
  /** @name submenu */
  children?: MenuDataItem[];
  /** @name Hide child nodes in the menu */
  hideChildrenInMenu?: boolean;
  /** @name hideSelf and children in menu */
  hideInMenu?: boolean;
  /** @name Icon of the menu */
  icon?: React.ReactNode;
  /** @name Internationalization key for custom menus */
  locale?: string | false;
  /** @name The name of the menu */
  name?: string;
  /** @name is used to calibrate the selected value, default is path */
  key?: string;
  /** @name disable menu option */
  disabled?: boolean;
  /** @name path */
  path?: string;
  /**
   * When this node is selected, the node of parentKeys is also selected
   *
   * @name custom parent node
   */
  parentKeys?: string[];
  /** @name hides itself and elevates child nodes to its level */
  flatMenu?: boolean;

  [key: string]: any;
}
```

ProLayout will automatically select the menu based on `location.pathname` and automatically generate the corresponding breadcrumbs. If you don't want to use it, you can configure `selectedKeys` and `openKeys` yourself for controlled configuration.

## Install

Using npm:

```bash
$ npm install --save  @ant-design/pro-layout
```

or using yarn:

```bash
$ yarn add @ant-design/pro-layout
```
npm package: @gui-one/runtime-core
Description: 引擎、事件驱动器、相关事件，拖拽逻辑，与框架无关，涉及到框架的放入 react
Latest version: 0.19.4

# @gui-one/core

引擎、事件驱动器、相关事件，拖拽逻辑，与框架无关，涉及到框架的放入 react