open-index/open-npm huggingface dataset:
npm package: @gonghaoran/ai-translate
Description: This package redirects to ai-tts. Install ai-tts directly for the best experience.
Latest version: 1.0.0

# @gonghaoran/ai-translate

This package redirects to [ai-tts](https://www.npmjs.com/package/ai-tts).

Install `ai-tts` directly:
```bash
npm install -g ai-tts
```
npm package: @gongrzhe/image-gen-server
Description: An MCP server for image generation using the Replicate Flux model
Author: GongRzhe
Latest version: 1.0.1

# Image Generation MCP Server
![](https://badge.mcpx.dev?type=server 'MCP Server')

This MCP server provides image generation capabilities using the Replicate Flux model.

## Setup

1. On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
   On Windows: %APPDATA%/Claude/claude_desktop_config.json

```json
{
  "mcpServers": {
    "image-gen": {
      "command": "node",
      "args": ["/path/to/image-gen-server/build/index.js"],
      "env": {
        "REPLICATE_API_TOKEN": "your-replicate-api-token",
        "MODEL": "alternative-model-name"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
```

2. Get your Replicate API token:
   - Sign up/login at https://replicate.com
   - Go to https://replicate.com/account/api-tokens
   - Create a new API token
   - Copy the token and replace `your-replicate-api-token` in the MCP settings

![image](https://github.com/user-attachments/assets/583afa78-1a08-4eb5-9a37-decb95bd50c4)

### Environment Variables

- `REPLICATE_API_TOKEN` (required): Your Replicate API token for authentication
- `MODEL` (optional): The Replicate model to use for image generation. Defaults to "black-forest-labs/flux-schnell"

### Configuration Parameters

- `disabled`: Controls whether the server is enabled (`false`) or disabled (`true`)
- `autoApprove`: Array of tool names that can be executed without user confirmation. Empty array means all tool calls require confirmation.

## Available Tools

### generate_image

Generates images using the Flux model based on text prompts.

![image](https://github.com/user-attachments/assets/766921ce-ca8e-4d68-866d-8c7b55b2e09d)

![out-0 (1)](https://github.com/user-attachments/assets/83549b2e-525a-4ff9-825c-83ba74459575)

#### Parameters

- `prompt` (required): Text description of the image to generate
- `seed` (optional): Random seed for reproducible generation
- `aspect_ratio` (optional): Image aspect ratio (default: "1:1")
- `output_format` (optional): Output format - "webp", "jpg", or "png" (default: "webp")
- `num_outputs` (optional): Number of images to generate (1-4, default: 1)

#### Example Usage

```typescript
const result = await use_mcp_tool({
  server_name: "image-gen",
  tool_name: "generate_image",
  arguments: {
    prompt: "A beautiful sunset over mountains",
    aspect_ratio: "16:9",
    output_format: "png",
    num_outputs: 1
  }
});
```

The tool returns an array of URLs to the generated images.


## 📜 License

This project is licensed under the MIT License.
npm package: @gongrzhe/langflow-doc-qa-server
Description: A Model Context Protocol server for document Q&A powered by Langflow
Author: gongrzhe
Latest version: 1.0.2

# Langflow-DOC-QA-SERVER

A Model Context Protocol server for document Q&A powered by Langflow

This is a TypeScript-based MCP server that implements a document Q&A system. It demonstrates core MCP concepts by providing a simple interface to query documents through a Langflow backend.

## Prerequisites

### 1. Create Langflow Document Q&A Flow
1. Open Langflow and create a new flow from the "Document Q&A" template
2. Configure your flow with necessary components (ChatInput, File Upload, LLM, etc.)
3. Save your flow

### 2. Get Flow API Endpoint
1. Click the "API" button in the top right corner of Langflow
2. Copy the API endpoint URL from the cURL command
   Example: `http://127.0.0.1:7860/api/v1/run/<flow-id>?stream=false`
3. Save this URL as it will be needed for the configuration

## Features

### Tools
- `query_docs` - Query the document Q&A system
  - Takes a query string as input
  - Returns responses from the Langflow backend

## Installation

### Option 1: Install from NPM

To use with Claude Desktop, add the server config:

On MacOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
On Windows: `%APPDATA%/Claude/claude_desktop_config.json`

```json
{
  "mcpServers": {
    "langflow-doc-qa": {
      "command": "npx",
      "args": [
        "@gongrzhe/langflow-doc-qa-server@1.0.0",
        "http://127.0.0.1:7860/api/v1/run/<your-flow-id>"
      ]
    }
  }
}
```

### Option 2: Build from Source

Install dependencies:
```bash
npm install
```

Build the server:
```bash
npm run build
```

For development with auto-rebuild:
```bash
npm run watch
```

Then add the server config:

```json
{
  "mcpServers": {
    "langflow-doc-qa": {
      "command": "node",
      "args": [
        "/path/to/doc-qa-server/build/index.js",
        "http://127.0.0.1:7860/api/v1/run/<your-flow-id>"
      ]
    }
  }
}
```

### Environment Variables

The server supports the following environment variables for configuration:

- `API_ENDPOINT`: The endpoint URL for the Langflow API service. Can also be provided as the first command line argument.

### Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the [MCP Inspector](https://github.com/modelcontextprotocol/inspector), which is available as a package script:

```bash
npm run inspector
```

The Inspector will provide a URL to access debugging tools in your browser.
npm package: @gongrzhe/server-ab-test-calculator
Description: A/B Test Calculator MCP App Server with statistical significance analysis
Latest version: 1.0.0

# A/B Test Calculator MCP Server

Statistical significance calculator for A/B tests with confidence intervals, power analysis, and sample size recommendations.

## Features

- **Statistical Significance Testing** - Two-proportion z-test to determine if observed differences are statistically significant
- **Confidence Intervals** - Wald confidence intervals for both control and variant conversion rates
- **Power Analysis** - Calculate current statistical power and required sample sizes for 80% power
- **Relative Uplift Calculation** - Quantify the percentage improvement from variant over control
- **P-Value Computation** - Get precise p-values to assess test results
- **Flexible Confidence Levels** - Support for custom confidence levels (default 95%)

## Installation

```bash
npm install @gongrzhe/server-ab-test-calculator
```

## Usage

### As a CLI

```bash
npx @gongrzhe/server-ab-test-calculator
```

### Claude Desktop Configuration

Add this to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "ab-test-calculator": {
      "command": "npx",
      "args": ["-y", "@gongrzhe/server-ab-test-calculator"]
    }
  }
}
```

### Claude Code Configuration

```bash
claude mcp add ab-test-calculator -- npx -y @gongrzhe/server-ab-test-calculator
```

## Tools

### calculate-ab-test

Computes statistical significance for an A/B test including conversion rates, confidence intervals, z-score, p-value, and required sample size.

**Parameters:**
- `controlVisitors` - Number of visitors in the control group
- `controlConversions` - Number of conversions in the control group
- `variantVisitors` - Number of visitors in the variant group
- `variantConversions` - Number of conversions in the variant group
- `confidenceLevel` - Confidence level (0-1), defaults to 0.95

**Returns:**
- Conversion rates and confidence intervals for both groups
- Relative uplift percentage
- Z-score and p-value
- Statistical significance at the specified confidence level
- Required sample size per group for 80% statistical power
- Current power analysis

## Example Prompt

```
Calculate significance for my A/B test: Control had 5000 visitors with 150 conversions, Variant had 5000 visitors with 195 conversions. Use 95% confidence level.
```

## License

MIT
npm package: @gongrzhe/server-data-wrangler
Description: CSV/JSON Data Wrangler MCP App Server with interactive table, type detection, sorting, filtering, and statistics
Latest version: 1.0.0

# Data Wrangler MCP Server

Interactive CSV/JSON data explorer with column type detection, sorting, filtering, and summary statistics.

## Features

- **Auto Format Detection** - Automatically detects CSV or JSON format with fallback parsing
- **Intelligent Type Detection** - Identifies column types (number, string, date, boolean) with 80% threshold matching
- **Advanced Filtering** - Filter data by equality, comparison (gt/lt), text matching (contains/startsWith)
- **Column Statistics** - Compute unique counts, null counts, min/max values, mean, median, and top value frequencies
- **Interactive UI** - Browse parsed data in a responsive table with sortable columns
- **Batch Analytics** - Get comprehensive statistics for any column including distribution analysis

## Installation

```bash
npm install @gongrzhe/server-data-wrangler
```

## Usage

### As a CLI

```bash
npx @gongrzhe/server-data-wrangler
```

### Claude Desktop Configuration

Add this to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "data-wrangler": {
      "command": "npx",
      "args": ["-y", "@gongrzhe/server-data-wrangler"]
    }
  }
}
```

### Claude Code Configuration

```bash
claude mcp add data-wrangler -- npx -y @gongrzhe/server-data-wrangler
```

## Tools

### parse-data

Parses CSV or JSON data with auto-detection of column types (number, string, date, boolean). Returns structured table data with statistics.

**Input:**
- `data` (string): The raw CSV or JSON data to parse
- `format` (optional): Data format - "csv", "json", or "auto" (default: "auto")

**Output:**
- `columns`: Array of column definitions with name, detected type, and null count
- `rows`: Array of objects representing data rows
- `rowCount`: Total number of rows parsed
- `stats`: Statistical summary for each column

### filter-data

Applies a filter to the last parsed dataset. Supports equality, comparison, contains, and startsWith operators.

**Input:**
- `column` (string): Column name to filter on
- `operator` (string): Filter operator - "eq", "neq", "gt", "lt", "contains", "startsWith"
- `value` (string): Value to compare against

**Output:**
- Filtered dataset with updated row count and statistics

### get-column-stats

Returns detailed statistics for a specific column including unique count, nulls, min/max, mean, median, and top values.

**Input:**
- `column` (string): Column name to get statistics for

**Output:**
- `column`: Column name
- `type`: Detected column type
- `uniqueCount`: Number of unique non-null values
- `nullCount`: Number of null/empty values
- `min`/`max`: Minimum and maximum values
- `mean`/`median`: Statistical averages (numeric columns only)
- `topValues`: Array of most frequent values with their counts

## Example Prompt

```
Parse this CSV data:

name,age,salary
Alice,32,125000
Bob,28,85000
Carol,45,155000

Then filter for employees with salary > 100000 and show me the statistics for the age column.
```

## License

MIT
npm package: @gongrzhe/server-decision-matrix
Description: Decision Matrix MCP App Server with weighted scoring for comparing options
Latest version: 1.0.0

# Decision Matrix MCP Server

Weighted scoring matrix for comparing options with adjustable criteria, ranked results, and winner highlighting.

## Features

- **Weighted Criteria Scoring** - Assign importance weights to evaluation criteria and automatically normalize them
- **Multi-Option Comparison** - Compare unlimited options across all criteria simultaneously
- **Automatic Ranking** - Options are ranked by total weighted score with clear position indicators
- **Winner Highlighting** - The top-ranked option is automatically identified and highlighted
- **Normalized Analysis** - Detailed breakdown showing criteria weights, individual scores, and weighted calculations
- **Interactive UI** - Visual decision matrix interface embedded in Claude

## Installation

```bash
npm install @gongrzhe/server-decision-matrix
```

## Usage

### As a CLI

```bash
npx @gongrzhe/server-decision-matrix
```

### Claude Desktop Configuration

Add this to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "decision-matrix": {
      "command": "npx",
      "args": ["-y", "@gongrzhe/server-decision-matrix"]
    }
  }
}
```

### Claude Code Configuration

```bash
claude mcp add decision-matrix -- npx -y @gongrzhe/server-decision-matrix
```

## Tools

### evaluate-matrix

Evaluates a weighted decision matrix by normalizing criteria weights, computing weighted scores for each option, and ranking them.

**Input:**
- `criteria` (array) - List of criteria with names and weights (1-10)
- `options` (array) - List of options with scores for each criterion (1-10)

**Output:**
- Normalized criteria weights
- Scored options with individual and weighted scores
- Ranked list of options by total score
- Winner identification
- Detailed analysis text

## Example Prompt

```
Compare MacBook Pro, ThinkPad X1, and Dell XPS on the following criteria:
- Performance (weight 9)
- Battery Life (weight 7)
- Build Quality (weight 8)
- Price (weight 6)

Score each laptop 1-10 for each criterion.
```

## License

MIT
npm package: @gongrzhe/server-form-builder
Description: Interactive Form Builder MCP App Server with live editor, preview, and JSON Schema export
Latest version: 1.0.0

# Form Builder MCP Server

Interactive form editor with drag-and-drop fields, validation rules, live preview, and JSON Schema/React export.

## Features

- **Drag-and-Drop Form Builder** - Intuitive interface for creating forms with field reordering
- **Multiple Field Types** - Support for text, email, number, select, checkbox, textarea, date, and radio inputs
- **Validation Rules** - Configure min/max values, string patterns, length constraints, and format validation
- **Live Preview** - See form changes in real-time as you build
- **JSON Schema Export** - Generate standard JSON Schema for form validation
- **React Component Export** - Auto-generate ready-to-use React components from form definitions
- **Data Validation** - Validate form submissions against the generated schema with detailed error messages

## Installation

```bash
npm install @gongrzhe/server-form-builder
```

## Usage

### As a CLI

```bash
npx @gongrzhe/server-form-builder
```

### Claude Desktop Configuration

Add the server to your Claude Desktop configuration:

```json
{
  "mcpServers": {
    "form-builder": {
      "command": "npx",
      "args": ["-y", "@gongrzhe/server-form-builder"]
    }
  }
}
```

### Claude Code Configuration

```bash
claude mcp add form-builder -- npx -y @gongrzhe/server-form-builder
```

## Tools

### generate-form-schema

Converts form field definitions into a JSON Schema and generates a React component.

**Input:**
- `fields` (array) - Array of field definitions with name, type, label, and optional validation rules

**Output:**
- `jsonSchema` (object) - Generated JSON Schema (draft-07)
- `reactComponent` (string) - Generated React component code
- `fieldCount` (number) - Number of fields in the form

### validate-form-data

Validates form data against a JSON Schema and returns validation results with detailed error messages.

**Input:**
- `schema` (object) - JSON Schema to validate against
- `data` (object) - Form data to validate

**Output:**
- `isValid` (boolean) - Whether the data passed validation
- `errors` (array) - Array of validation errors with field names and messages

## Example Prompt

```
Build a contact form with the following fields:
- name (required text field)
- email (required email field)
- subject (required dropdown with options: "General Inquiry", "Support", "Feedback")
- message (required textarea with max length 1000)

Then generate the JSON Schema and React component for this form.
```

## License

MIT
npm package: @gongrzhe/server-gantt-planner
Description: Timeline/Gantt Planner MCP App Server with interactive Gantt chart and dependency management
Latest version: 1.0.0

# Gantt Planner MCP Server

Interactive Gantt chart with task dependencies, critical path analysis, and SVG timeline visualization.

## Features

- **Automatic Task Scheduling** - Compute project schedules from task durations and dependencies using topological sort
- **Critical Path Analysis** - Identify the longest chain of dependent tasks to find true project completion date
- **Dependency Management** - Define complex task relationships with automatic date calculation
- **Task Assignment** - Assign team members to tasks and track task ownership
- **Circular Dependency Detection** - Automatically detect and report circular dependencies in task graphs
- **Interactive UI** - Visual Gantt chart with drag-and-drop task management and real-time schedule updates

## Installation

```bash
npm install @gongrzhe/server-gantt-planner
```

## Usage

### As a CLI

```bash
npx @gongrzhe/server-gantt-planner
```

### Claude Desktop Configuration

```json
{
  "mcpServers": {
    "gantt-planner": {
      "command": "npx",
      "args": ["-y", "@gongrzhe/server-gantt-planner"]
    }
  }
}
```

### Claude Code Configuration

```bash
claude mcp add gantt-planner -- npx -y @gongrzhe/server-gantt-planner
```

## Tools

### compute-schedule

Computes the project schedule based on tasks with durations and dependencies.

**Input:**
- `tasks` (array) - List of tasks with:
  - `id` (string) - Unique task identifier
  - `name` (string) - Task name
  - `durationDays` (number) - Duration in days
  - `dependsOn` (array, optional) - IDs of tasks this depends on
  - `assignee` (string, optional) - Person assigned to the task
  - `color` (string, optional) - Custom color for the task bar (hex)
- `startDate` (string) - Project start date (YYYY-MM-DD)

**Output:**
- `tasks` - Scheduled tasks with computed start/end dates
- `totalDays` - Total project duration in days
- `startDate` - Project start date
- `endDate` - Project end date
- `criticalPath` - Array of task IDs representing the critical path
- `hasCircularDeps` - Whether circular dependencies were detected
- `errors` (optional) - Array of error messages if any

### add-task

Creates a new task with a unique ID.

**Input:**
- `name` (string) - Task name
- `durationDays` (number) - Duration in days
- `dependsOn` (array, optional) - IDs of tasks this depends on
- `assignee` (string, optional) - Person assigned to the task

**Output:**
- `task` - The created task object with generated ID

## Example Prompt

```
Plan a project with the following tasks:
- Discovery: 5 days
- Wireframes: 3 days (after Discovery)
- Design: 5 days (after Wireframes)
- Dev: 8 days (after Design)
- QA: 3 days (after Dev)
```

## License

MIT
npm package: @gongrzhe/server-live-dashboard-builder
Description: Live Dashboard Builder MCP App Server
Latest version: 1.0.1

# Live Dashboard Builder MCP Server

Customizable dashboard with chart widgets (line, bar, pie, metric), data fetching via tool calls, and responsive grid layout.

## Features

- **Multiple Chart Types** - Line charts for trends, bar charts for comparisons, pie charts for composition, and metric cards for KPIs
- **Dynamic Data Generation** - Fetch mock data for widgets with deterministic but varied output based on data source names
- **Responsive Grid Layout** - Drag-and-drop dashboard layout with persistent position updates
- **Real-time Updates** - Refresh widget data on demand with tool calls
- **TypeScript Support** - Fully typed MCP server implementation
- **Express Integration** - Embedded HTTP server for UI asset serving

## Installation

```bash
npm install @gongrzhe/server-live-dashboard-builder
```

## Usage

### As a CLI

```bash
npx @gongrzhe/server-live-dashboard-builder
```

### Claude Desktop Configuration

```json
{
  "mcpServers": {
    "live-dashboard-builder": {
      "command": "npx",
      "args": ["-y", "@gongrzhe/server-live-dashboard-builder"]
    }
  }
}
```

### Claude Code Configuration

```bash
claude mcp add live-dashboard-builder -- npx -y @gongrzhe/server-live-dashboard-builder
```

## Tools

### `get-dashboard-data`

Fetches mock data for the specified dashboard widgets. Each widget receives data appropriate to its chart type.

**Input:**
- `widgets` (array) - List of widgets to fetch data for
  - `id` (string) - Unique widget identifier
  - `type` (enum) - Chart type: `line`, `bar`, `pie`, or `metric`
  - `title` (string) - Widget display title
  - `dataSource` (string) - Data source identifier (used as seed for deterministic generation)

**Output:**
- `widgets` (array) - Generated data for each widget
  - Line/Bar/Pie: Chart.js dataset format with labels and data
  - Metric: Value, percentage change, and unit ($ for revenue, % for rates)

### `update-layout`

Validates and returns an updated layout configuration for the dashboard widgets.

**Input:**
- `layout` (array) - Updated layout positions for widgets
  - `id` (string) - Widget identifier
  - `x`, `y` (number) - Grid position
  - `w`, `h` (number) - Grid dimensions

**Output:**
- Validation confirmation and layout structure

## Example Prompt

```
Create a dashboard with a line chart for revenue, a bar chart for sales, and a metric card for active users. Position the revenue chart at top-left, sales chart at top-right, and users metric at the bottom.
```

## License

MIT
npm package: @gongrzhe/server-wireframe-sketcher
Description: Wireframe Sketcher MCP App Server with interactive canvas for creating wireframes
Latest version: 1.0.0

# Wireframe Sketcher MCP Server

Interactive canvas for creating wireframes with drag-and-drop components, annotations, and developer spec export.

## Features

- **Drag-and-drop canvas** - Easily position and resize wireframe elements
- **Multiple component types** - Support for buttons, text boxes, images, containers, headers, inputs, and navigation bars
- **Developer annotations** - Add notes and specifications directly to elements
- **Real-time positioning** - Visual feedback with coordinates and dimensions
- **Spec export** - Generate structured markdown specifications from wireframes
- **Customizable dimensions** - Create wireframes at any size for different device targets

## Installation

```bash
npm install @gongrzhe/server-wireframe-sketcher
```

## Usage

### As a CLI

```bash
npx @gongrzhe/server-wireframe-sketcher
```

### Claude Desktop Configuration

Add this to your Claude Desktop `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "wireframe-sketcher": {
      "command": "npx",
      "args": ["-y", "@gongrzhe/server-wireframe-sketcher"]
    }
  }
}
```

### Claude Code Configuration

```bash
claude mcp add wireframe-sketcher -- npx -y @gongrzhe/server-wireframe-sketcher
```

## Tools

### create-wireframe

Creates a new blank wireframe canvas with the given title and dimensions.

**Input:**

- `title` (string, required) - Title for the wireframe
- `width` (number, optional) - Canvas width in pixels (default: 800)
- `height` (number, optional) - Canvas height in pixels (default: 500)

**Output:**

- Returns a wireframe object with ID, title, dimensions, and empty elements array

### export-wireframe

Exports wireframe elements as a structured developer specification in markdown format.

**Input:**

- `elements` (array, required) - Array of wireframe elements with type, position, size, and optional label/annotation

**Output:**

- `spec` (string) - Markdown specification with element details
- `elementCount` (number) - Total number of elements
- `summary` (string) - Summary of element types and counts

## Example Prompt

```
Create a wireframe for a login page with:
- A header at the top with the company logo
- An email input field
- A password input field
- A "Sign In" button
- A "Forgot Password?" link at the bottom
```

## License

MIT
npm package: @gongsaero/design-system
Description: 공새로 디자인 시스템
Author: sungwoo
Latest version: 0.2.77

# 공새로 디자인 시스템 (Gongsaero Design System)

공새로 디자인 시스템은 건설 현장의 자재 조달 프로세스를 디지털화하는 B2B 서비스 플랫폼을 위한 맞춤형 디자인 시스템입니다. antd를 기반으로 구축된 이 디자인 시스템은 일관된 UI 경험을 제공하기 위해 개발되었습니다.

## 링크

- **스토리북**: [Storybook 문서](https://designsystem.dev.gongsaero.com/)
- **Figma**: [디자인 시스템 Figma](https://www.figma.com/design/FooXJPOcaTUxn9yLz0PWlR/%E2%9C%A8Renewal-Design-system%E2%9C%A8?node-id=4029-4&p=f&t=9qzisoCDHl86G3OP-0)

## 설치

```bash
npm install gongsaero-design-system
# 또는
yarn add gongsaero-design-system
```

## 사용 방법

```jsx
import { Button, Input } from 'gongsaero-design-system';
import 'gongsaero-design-system/dist/gongsaero-design-system.css'; // CSS 파일 가져오기

function App() {
  return (
    <div>
      <Button>클릭하세요</Button>
      <Input placeholder="입력하세요" />
    </div>
  );
}
```

## 컴포넌트

공새로 디자인 시스템은 다음과 같은 컴포넌트를 제공합니다:

- **Badge**: 상태나 카테고리를 표시하는 뱃지
- **Button**: 다양한 크기와 스타일의 버튼
- **Checkbox**: 체크박스 및 체크박스 그룹
- **Drawer**: 슬라이드인 패널
- **Input**: 텍스트, 패스워드, 숫자 입력 필드
- **Modal**: 모달 대화 상자
- **Radio**: 라디오 버튼 및 라디오 그룹
- **Select**: 드롭다운 선택 메뉴
- **Table**: 데이터 테이블
- **Tabs**: 탭 내비게이션
- **Textarea**: 여러 줄 텍스트 입력 영역
- **Typography**: 텍스트 스타일링 컴포넌트

각 컴포넌트에 대한 자세한 사용 예시는 [스토리북 문서](https://designsystem.dev.gongsaero.com/)를 참조하세요.

## 라이센스

MIT 라이센스 하에 배포됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.
npm package: @gongt/fix-esm
Description: auto fix ERR_REQUIRE_ESM by esbuild
Latest version: 1.1.4
Deprecated: do not support commonjs any more

# fix-esm

fix ERR_REQUIRE_ESM with realtime `esbuild` transform.

`require('@gongt/fix-esm')` will register legacy commonjs loader, mutiple call will ignored. (no way to unregister)

When ERR_REQUIRE_ESM happen, it will spawn esbuild to compile target file. loaded module will inside require cache. compiled result will save at `filename.jsc` to speed up next run.

It's best to use this package in a final-end-user project, not in a library, many people have thier own `fix-esm` method, may cause conflict.
npm package: @gongt/kexec
Description: This is a copy of https://github.com/StorytellerCZ/node-kexec
Author: JP Richardson
Latest version: 4.0.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

Node.js - kexec
===============

[![npm Package](https://img.shields.io/npm/v/kexec.svg?style=flat-square)](https://www.npmjs.org/package/kexec)
[![build status](https://api.travis-ci.org/jprichardson/node-kexec.svg)](http://travis-ci.org/jprichardson/node-kexec)
[![JavaScript Style Guide](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/)

This module causes your current Node.js process to be replaced by the process invoked by the parameter of this function. It's like the Ruby exec function. It currently does not work on Windows.


Usage
-----

```js
var kexec = require('kexec')

kexec('top') //your process now becomes top, can also accept parameters in one string
```

```javascript
var kexec = require('kexec')

kexec('du', [ '-sh', '/etc/fstab' ]) //your process now becomes du, with the arguments indicated
```


Details
-------

`kexec` can be called in either of two ways, as indicated by the examples, above.

With one argument `arg`, that argument must be a string.  The resulting system
call is:

    execvp("/bin/sh", [ "/bin/sh", "-c", arg, 0 ]);

With two arguments, the first (`cmd`) must be a string, and the second (`args`) an array of strings.  The resulting
system call is:

    execvp(cmd, [ cmd, args[0], args[1], ..., 0 ]);

In the first case, the command is subject to shell parsing, and shell meta
characters retain their special meanings.  In the second case, the arguments
are passed directly to `execvp`, without an intervening shell.


License
-------

(The MIT License)

Copyright (c) 2011-2015 JP Richardson
npm package: @gongt/mysql-docgen
Description: 生成MySQL文档，用于我自己的微服务系统。
Latest version: 1.1.22
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# sql-docgen

生成 MySQL 文档，用于我自己的微服务系统。

#### 安装

```bash
yarn global add @gongt/mysql-docgen
```

#### 使用

```bash
cd /path/to/project
microservice-mysql-docgen -uroot -p123456 -h127.0.0.1 -p3306 project_database_name
```

#### 参数

```text
Usage: mysql-docgen [OPTIONS] [database]
Default config is get by running command "mysql --print-defaults"
If "mysql" command is not in PATH, only these config has default:
 * host is localhost
 * port is 3306
The [database] is required!

program config:
  -d, --dist                Folder for store output files.

mysql connection config:
  -h, --host=name           Connect to host.
  -P, --port=#              Port number to use for connection.
  -S, --socket=name         The socket file to use for connection.
  -u, --user=name           User for login if not current user.
  -p, --password[=name]     Password to use when connecting to server. If password is
                            not given it's asked from the tty.
  --connect-timeout=#       Number of seconds before connection timeout.
  --secure-auth             Refuse client connecting to server if it uses old
							(pre-4.1.1) protocol.
// TODO: add ssl config
```
npm package: @gongxh/bit-behaviortree
Description: 行为树库
Author: bit老宫
Latest version: 0.0.12

# bit-behaviortree

简洁、高效的 TypeScript 行为树库，适用于游戏 AI 开发。

## 简介

`bit-behaviortree` 是一个零依赖的行为树实现，使用有向无环图的树状结构组织和执行行为逻辑。行为树广泛应用于游戏 AI、机器人控制、自动化系统等领域，是解决复杂行为逻辑的优秀工具。

**核心特性**：
- 🔧 完整的 TypeScript 类型支持
- 📦 零依赖，纯净实现
- 🔄 分层黑板系统，数据隔离清晰
- 🎯 内置丰富的节点类型
- 🖥️ 配套可视化编辑器（付费插件）

**行为树资料**：
- [行为树逻辑详解](./docs/BehaviorTree.md)

## 安装

```bash
npm install @gongxh/bit-behaviortree
```

## 可视化编辑器

提供专业的可视化编辑器，支持拖拽式设计行为树。

**下载地址**：[Cocos Store](https://store.cocos.com/app/detail/8201)

**编辑器文档**：[编辑器使用文档](./docs/GUI-USED.md)

![编辑器截图](./image/bt-gui.png)

## 使用说明

### 状态类型 (Status)

行为树节点的执行结果：

- `SUCCESS` - 成功
- `FAILURE` - 失败
- `RUNNING` - 运行中

### 节点类型

**组合节点 (Composite)**：
- `Selector` - 选择第一个成功的子节点
- `Sequence` - 按顺序执行子节点，全部成功才成功
- `Parallel` - 并行执行所有子节点（逻辑并行，实际顺序执行）
- `RandomSelector` - 随机选择一个子节点执行
- `ParallelAnySuccess` - 任一子节点成功即成功

**装饰节点 (Decorator)**：
- `ConditionDecorator` - 条件装饰，需实现 `isEligible()` 方法
- `Inverter` - 反转子节点的成功/失败状态
- `LimitTime` - 时间限制，超时返回失败
- `LimitTicks` - 次数限制，超过次数返回失败
- `Repeat` - 重复执行指定次数
- `RepeatUntilSuccess` - 重复直到成功（可设置最大次数）
- `RepeatUntilFailure` - 重复直到失败（可设置最大次数）
- `WeightDecorator` - 权重装饰，用于随机选择

**叶子节点 (LeafNode)**：
- `LeafNode` - 叶子节点基类，需实现 `tick()` 方法
- `WaitTicks` - 等待指定帧数
- `WaitTime` - 等待指定时间

**条件节点 (Condition)**：
- `Condition` - 条件节点基类，需实现 `isEligible()` 方法

### 黑板系统 (Blackboard)

黑板系统是行为树的数据共享中心，提供三层数据隔离：

**1. 全局数据 (Global Level)**：
- 作用域：所有行为树实例可见
- 生命周期：应用程序生命周期
- 用途：全局配置、静态数据、跨树共享状态

**2. 树级数据 (Tree Level)**：
- 作用域：整棵行为树内所有节点可见
- 生命周期：随行为树创建和销毁
- 用途：树内节点间共享的状态、任务进度

**3. 本地数据 (Node Level)**：
- 作用域：当前节点可见
- 生命周期：随节点创建和销毁
- 用途：节点内部状态、临时变量

**黑板 API**：
- `globalBlackboard.set(key, value)` - 设置全局数据
- `this.getGlobal<T>(key)` - 获取全局数据
- `this.setRoot(key, value)` - 设置树级数据
- `this.getRoot<T>(key)` - 获取树级数据
- `this.set(key, value)` - 设置节点数据
- `this.get<T>(key)` - 获取节点数据

### 典型使用流程

1. **定义节点类型** - 创建自定义叶子节点和条件节点
2. **构建行为树** - 组合节点构建树结构
3. **设置黑板数据** - 配置初始数据
4. **更新行为树** - 在游戏循环中调用 `tick()` 方法
5. **响应结果** - 根据返回的状态处理逻辑

详细 API 请查看 `bit-behaviortree.d.ts` 类型定义文件和编辑器文档。

## 内置示例

项目根目录下的 `bt-demo` 文件夹提供完整示例（基于 Cocos Creator 3.8.6）。

## 许可证

MIT License

## 作者

**bit老宫** (gongxh)  
**邮箱**: gong.xinhai@163.com

## 源码仓库

- [GitHub](https://github.com/Gongxh0901/bit-framework)
- [npm](https://www.npmjs.com/package/@gongxh/bit-behaviortree)
npm package: @gongxh/bit-condition
Description: 基于creator的条件系统库
Author: bit老宫
Latest version: 0.0.12

# bit-condition

条件显示系统，用于实现 UI 红点、解锁提示等动态显示功能。

## 简介

`bit-condition` 是基于 Cocos Creator 的条件显示系统，提供灵活的条件判断和自动更新机制。适用于需要根据游戏数据动态控制 UI 显示的场景，如红点系统、功能解锁、任务提示等。

**核心特性**：
- 🎯 条件变化自动通知关联节点
- 🔄 支持 Any（任一）和 All（全部）条件组合模式
- 🎨 装饰器注册条件类型
- ⚡ 定时批量更新，性能优化
- 🔌 继承基类轻松扩展自定义条件

## 安装

```bash
npm install @gongxh/bit-condition
```

## 使用说明

### 条件模块 (ConditionModule)

场景中的条件系统管理组件，负责定时更新所有条件。

**配置属性**：
- `updateDeltaTime` - 条件更新间隔（秒，默认 0.3）

**使用方式**：
- 在场景根节点或管理节点上添加 `ConditionModule` 组件
- 组件会自动初始化所有注册的条件

### 条件基类 (ConditionBase)

所有条件的抽象基类，需要继承并实现。

**必须实现的方法**：
- `onInit()` - 条件初始化，注册监听等
- `evaluate()` - 判断条件是否满足，返回 boolean

**可调用的方法**：
- `tryUpdate()` - 手动触发条件更新

**属性**：
- `type` - 条件类型（自动设置）

### 条件节点 (ConditionNode)

UI 节点上的组件，用于响应条件变化。

**配置属性**：
- `conditionTypes` - 需要监听的条件类型列表
- `modeType` - 条件模式（Any 或 All）
- `onNotify` - 条件变化回调函数 `(canShow: boolean) => void`

**使用方式**：
- 在需要动态显示的 UI 节点上添加 `ConditionNode` 组件
- 配置条件类型和模式
- 设置回调函数处理显示逻辑

### 条件模式 (ConditionMode)

- `ConditionMode.Any` (0) - 任意一个条件满足即可
- `ConditionMode.All` (1) - 所有条件都必须满足

### 条件管理器 (ConditionManager)

全局条件管理，提供静态方法。

**主要方法**：
- `initCondition()` - 初始化所有条件（由 ConditionModule 自动调用）
- `_addUpdateCondition(conditionType)` - 手动标记条件需要更新
- `_nowUpdateConditionNode(node)` - 立即更新指定节点

### 装饰器

使用 `@condition(conditionType)` 装饰器注册条件类：

```typescript
import { condition, ConditionBase } from '@gongxh/bit-condition';

@condition(ConditionType.NewMail)
export class NewMailCondition extends ConditionBase {
    protected onInit(): void {
        // 初始化逻辑
    }
    
    protected evaluate(): boolean {
        // 条件判断逻辑
        return MailSystem.hasUnreadMail();
    }
}
```

### 典型使用流程

1. **添加模块** - 在场景中添加 `ConditionModule` 组件
2. **定义条件类型** - 使用枚举定义条件类型
3. **实现条件类** - 继承 `ConditionBase` 并使用装饰器注册
4. **添加条件节点** - 在 UI 节点上添加 `ConditionNode` 组件
5. **触发更新** - 数据变化时调用 `ConditionManager._addUpdateCondition()`

详细 API 请查看 `bit-condition.d.ts` 类型定义文件。

## 依赖

- [@gongxh/bit-core](https://www.npmjs.com/package/@gongxh/bit-core) - 核心功能

## 许可证

MIT License

## 作者

**bit老宫** (gongxh)  
**邮箱**: gong.xinhai@163.com

## 源码仓库

- [GitHub](https://github.com/Gongxh0901/bit-framework)
- [npm](https://www.npmjs.com/package/@gongxh/bit-condition)
npm package: @gongxh/bit-ec
Description: 基于creator的ec库
Author: bit老宫
Latest version: 0.0.12

# bit-ec

基于 Cocos Creator 的 Entity-Component 框架，专为 Cocos Creator 优化的轻量级 EC 架构。

## 简介

`bit-ec` 是一套专为 Cocos Creator 设计的实体组件系统，将游戏对象（实体）的数据（组件）和行为分离。区分数据组件和逻辑组件，支持灵活的组件更新顺序管理和多世界（多战斗场景）。

**核心特性**：
- 🎯 组件更新顺序精确控制
- 🎨 灵活的 EC 装饰器
- 🌍 支持多世界（多战斗场景互不影响）
- 📊 区分数据组件和逻辑组件

**下载地址**：[Cocos Store - kunpocc-ec](https://store.cocos.com/app/detail/7311)

![编辑器截图](image/image-entity-editor.png)

## 使用说明

### 组件基类 (Component)

所有组件的基类，提供组件生命周期。

**生命周期方法**：
- `onAdd()` - 组件添加到实体时调用
- `onEnter()` - 实体进入场景时调用（可获取其他组件）
- `onRemove()` - 组件从实体移除时调用
- `update(dt)` - 每帧更新（需设置 `needUpdate = true`）

**组件方法**：
- `getComponent<T>(type)` - 获取同实体上的其他组件
- `getSingleton<T>(type)` - 获取单例组件

### EC 装饰器

提供装饰器简化组件定义和配置。

**类装饰器**：
- `@ecclass(name, type, options?)` - 注册组件类
  - `name` - 组件名称
  - `type` - 组件类型（枚举值）
  - `options.describe` - 组件描述（可选）

**属性装饰器**：
- `@ecprop(config)` - 注册组件属性
  - 支持类型：int, float, string, boolean, enum, entity, array, object
  - 支持 Cocos 类型：spriteframe, prefab, skeleton, particle, animation, audio, vec2, vec3, color, size
  - 支持数组和对象嵌套

### 世界管理 (ECManager)

全局管理器，负责 EC 世界的创建和管理。

**初始化**：
- `init(ecConfig?)` - 初始化 EC 系统（只调用一次）
  - `ecConfig` - 实体配置信息（可选，通常使用编辑器导出）

**世界管理**：
- `createECWorld(worldName, node, componentUpdateOrderList, maxCapacityInPool?, preloadEntityCount?)` - 创建 EC 世界
  - `worldName` - 世界名称
  - `node` - 世界节点
  - `componentUpdateOrderList` - 组件更新顺序列表
  - `maxCapacityInPool` - 实体池最大容量（默认 300）
  - `preloadEntityCount` - 预加载实体数量（默认 10）

**实体管理**：
- `createEntity(worldName, entityName)` - 创建实体
  - `worldName` - 世界名称
  - `entityName` - 实体名称（配置表中的名称）

### 世界 (ECWorld)

EC 世界实例，管理实体和组件。

**主要方法**：
- `update(dt)` - 更新世界（每帧调用）
- `getSingleton<T>(type)` - 获取单例组件

### 典型使用流程

1. **定义组件类型** - 使用枚举定义数据组件和逻辑组件类型
2. **编写组件脚本** - 继承 Component 并使用装饰器注册
3. **配置实体** - 使用编辑器配置实体和组件属性
4. **创建世界** - 初始化 ECManager 并创建 EC 世界
5. **创建实体** - 通过配置名称创建实体
6. **更新世界** - 在游戏循环中调用 `world.update(dt)`

详细 API 请查看 `bit-ec.d.ts` 类型定义文件和编辑器文档。

## 许可证

MIT License

## 作者

**bit老宫** (gongxh)  
**邮箱**: gong.xinhai@163.com

## 源码仓库

- [GitHub](https://github.com/Gongxh0901/bit-framework)
- [npm](https://www.npmjs.com/package/@gongxh/bit-ec)
npm package: @gongxh/bit-ecs
Description: 一个ts实现的ECS系统
Author: bit老宫
Latest version: 0.0.12

# bit-ecs

高性能 Entity-Component-System 框架，为游戏开发和大规模实时模拟提供优化解决方案。

## 简介

`bit-ecs` 是一个高性能的 ECS 框架，使用优化的数据结构和算法支持处理大量实体。采用稀疏集合 + 密集数组的数据布局方式，适合频繁添加删除实体和组件的场景。

**核心特性**：
- ⚡ 高性能设计，优化的数据结构
- 💾 内存高效，使用对象池减少 GC 压力
- 🔍 强大的实体查询系统
- 📊 完整的 TypeScript 类型支持
- 🎯 命令缓冲模式，避免迭代中修改
- 🖥️ 配套可视化编辑器（付费插件）

**版本支持**：
- Cocos Creator 3.7.0+ ✅

## 安装

```bash
npm install @gongxh/bit-ecs
```

## 可视化编辑器

提供专业的数据编辑器，支持可视化配置实体和组件。

**下载地址**：[Cocos Store - kunpoec](https://store.cocos.com/app/detail/7311)

**编辑器要求**：基于 Creator 3.8.6 开发，支持 3.7.0 及之后版本

## 使用说明

### 核心概念

- **实体 (Entity)** - 游戏对象的唯一标识符（纯数字 ID）
- **组件 (Component)** - 纯数据结构，描述实体特性
- **系统 (System)** - 包含游戏逻辑，处理特定组件组合的实体
- **世界 (World)** - 管理所有实体、组件和系统的容器

### 组件 (Component)

组件基类，所有组件必须继承。

**装饰器**：
- `@ecsclass(name)` - 注册组件类
- `@ecsprop(config)` - 注册组件属性（用于编辑器）

**必须实现**：
- `reset()` - 重置组件数据（用于对象池回收）

### 系统 (System)

系统基类，包含游戏逻辑。

**装饰器**：
- `@ecsystem(name, options?)` - 注册系统类

**生命周期**：
- `onInit()` - 系统初始化（配置查询规则）
- `update(dt)` - 每帧更新

**查询规则配置**：
- `this.matcher.allOf(...types)` - 必须包含所有指定组件
- `this.matcher.anyOf(...types)` - 包含任意一个指定组件
- `this.matcher.excludeOf(...types)` - 必须不包含指定组件
- `this.matcher.optionalOf(...types)` - 可选组件（查询时一并返回）

### 查询器 (Query)

提供高效的实体查询和迭代。

**查询方式**：
1. **直接获取实体集合**：
   - `this.query.entitys` - 获取所有匹配实体

2. **通用迭代器**（最多 8 个组件，极少 GC）：
   - `this.query.iterate(...types)` - 通用迭代

3. **特定数量迭代器**（零 GC）：
   - `this.query.iterate1(Type1)` - 1 个组件
   - `this.query.iterate2(Type1, Type2)` - 2 个组件
   - `this.query.iterate3(Type1, Type2, Type3)` - 3 个组件
   - `this.query.iterate4(Type1, Type2, Type3, Type4)` - 4 个组件

### 世界 (World)

ECS 世界实例，管理所有实体、组件和系统。

**创建世界**：
- `new World(name, maxEntityCount)` - 创建世界
  - `name` - 世界名称
  - `maxEntityCount` - 最大实体数（建议 2 的指数）

**系统管理**：
- `addSystem(system)` - 添加系统
- `SystemGroup(name, frameInterval?)` - 创建系统组
  - `frameInterval` - 帧间隔（可选，如 3 表示每 3 帧更新一次）

**实体管理**：
- `createEmptyEntity()` - 创建空实体
- `createEntity(entityName)` - 通过配置创建实体
- `removeEntity(entity)` - 删除实体（延迟到下一帧）

**组件管理**：
- `addComponent(entity, Type)` - 添加组件（延迟到下一帧）
- `removeComponent(entity, Type)` - 移除组件（延迟到下一帧）
- `getComponent<T>(entity, Type)` - 获取组件

**更新**：
- `initialize()` - 初始化世界（必须调用）
- `update(dt)` - 更新世界（每帧调用）

### 命令缓冲区

使用命令缓冲模式避免迭代中修改数据结构：

- 删除实体 - 延迟到下一帧 update 前处理
- 添加组件 - 延迟到下一帧 update 前处理
- 删除组件 - 延迟到下一帧 update 前处理

### 性能特点

**数据布局方式**（稀疏集合 + 密集数组）：
- ✅ 优秀：频繁添加删除实体
- ✅ 优秀：频繁添加删除组件
- ✅ 良好：系统遍历
- ⚠️ 较差：内存占用

**查询器优化**：
- 条件相同时自动复用
- 多次获取查询结果无额外消耗
- 使用掩码进行高效匹配

### 典型使用流程

1. **定义组件** - 继承 Component 并使用装饰器
2. **定义系统** - 继承 System 并配置查询规则
3. **创建世界** - 实例化 World 并设置最大实体数
4. **注册系统** - 添加系统和系统组
5. **初始化世界** - 调用 `world.initialize()`
6. **创建实体** - 创建实体并添加组件
7. **更新世界** - 在游戏循环中调用 `world.update(dt)`

详细 API 请查看 `bit-ecs.d.ts` 类型定义文件。

## 许可证

MIT License

## 作者

**bit老宫** (gongxh)  
**邮箱**: gong.xinhai@163.com

## 源码仓库

- [GitHub](https://github.com/Gongxh0901/bit-framework)
- [npm](https://www.npmjs.com/package/@gongxh/bit-ecs)
npm package: @gongxh/bit-event
Description: bit-event
Author: bit老宫
Latest version: 0.0.12

# bit-event

轻量级事件系统，提供全局事件管理和模块间通信。

## 简介

`bit-event` 是一个轻量级、高性能的事件系统，提供全局事件管理和模块间松耦合通信能力。支持事件的添加、移除、发送、批量管理等操作，适用于游戏各系统之间的解耦通信。

**核心特性**：
- 🚀 零依赖，轻量级实现
- 📡 全局事件管理器
- 🎯 支持按 ID、名称、目标对象移除事件
- 🔥 支持一次性事件（addOnce）
- 🎨 完整的 TypeScript 类型定义
- ⚡ 高性能事件分发机制

## 安装

```bash
npm install @gongxh/bit-event
```

## 使用说明

### 全局事件 (GlobalEvent)

全局单例事件管理器，用于模块间通信。

**添加事件**：
- `add(name, callback, target?)` - 添加事件监听，返回事件 ID
- `addOnce(name, callback, target?)` - 添加一次性事件监听（触发后自动移除）

**发送事件**：
- `send(name, ...args)` - 发送事件给所有监听者
- `sendToTarget(name, target, ...args)` - 发送事件给指定目标

**移除事件**：
- `remove(eventId)` - 按 ID 移除事件
- `removeByName(name)` - 移除指定名称的所有事件
- `removeByTarget(target)` - 移除指定目标的所有事件
- `removeByNameAndTarget(name, target)` - 移除指定名称和目标的事件
- `clearAll()` - 清空所有事件

**参数说明**：
- `name` - 事件名称（建议使用常量管理）
- `callback` - 回调函数 `(...args: any[]) => void`
- `target` - 目标对象（用于批量移除）
- `eventId` - 事件 ID（add 方法返回）

### 事件管理器 (EventManager)

可创建独立的事件管理器实例，用于特定模块或系统。

**使用方式**：
- `new EventManager()` - 创建独立的事件管理器
- API 与 `GlobalEvent` 完全相同

**适用场景**：
- 需要隔离的事件系统
- 模块内部事件管理
- 可以整体清空的事件组

### 最佳实践

1. **使用事件名称常量** - 避免字符串拼写错误

2. **及时移除事件** - 在对象销毁时移除监听，避免内存泄漏

3. **使用 target 参数** - 方便批量移除事件

4. **避免事件循环** - 不要在事件 A 中触发事件 B，再在事件 B 中触发事件 A

5. **事件分组管理** - 对于复杂系统，使用独立的 EventManager 实例

详细 API 请查看 `bit-event.d.ts` 类型定义文件。

## 依赖

无外部依赖

## 许可证

MIT License

## 作者

**bit老宫** (gongxh)  
**邮箱**: gong.xinhai@163.com

## 源码仓库

- [GitHub](https://github.com/Gongxh0901/bit-framework)
- [npm](https://www.npmjs.com/package/@gongxh/bit-event)
npm package: @gongxh/bit-hotupdate
Description: 基于Cocos Creator的热更新库
Author: bit老宫
Latest version: 0.0.12

# bit-hotupdate

Cocos Creator 热更新系统封装，提供简单易用的热更新接口。

## 简介

`bit-hotupdate` 是基于 Cocos Creator 的热更新系统封装，提供增量更新和版本管理功能。支持 Android 和 iOS 原生平台，简化了热更新的使用流程。

**核心特性**：
- 🔄 增量更新，只下载变化的文件
- 📦 自动版本管理和对比
- ⚡ 实时下载进度跟踪
- 🛡️ 完善的错误码和重试机制
- 🎯 简洁的 API 设计
- 📱 支持 Android 和 iOS 原生平台

## 安装

```bash
npm install @gongxh/bit-hotupdate
```

## 使用说明

### 热更新管理器 (HotUpdateManager)

全局单例，负责热更新配置和实例管理。

**初始化配置**：
- `getInstance()` - 获取单例实例
- `init(config)` - 初始化热更新系统
  - `config.manifestUrl` - 本地 manifest 文件路径
  - `config.writablePath` - 热更新资源存储路径

**实例管理**：
- `create()` - 创建热更新实例
- `resVersion` - 获取当前资源版本号

### 热更新实例 (HotUpdate)

执行具体的更新操作。

**检查更新**：
- `checkUpdate()` - 检查是否有新版本
  - 返回 `Promise<ICheckUpdatePromiseResult>`
  - 成功：返回新版本信息和文件大小
  - 失败：返回错误码和消息

**开始更新**：
- `startUpdate(options)` - 开始下载更新
  - `options.skipCheck` - 是否跳过检查（默认 false）
  - `options.progress` - 进度回调 `(downloadedKB, totalKB) => void`
  - `options.complete` - 完成回调 `(code, message) => void`

**重试更新**：
- `retryUpdate()` - 重试失败的资源下载

**属性**：
- `resVersion` - 当前资源版本号

### 状态码 (HotUpdateCode)

定义了所有可能的更新状态：

**成功状态**：
- `Succeed` (0) - 更新成功

**特殊状态**：
- `PlatformNotSupported` (-1000) - 平台不支持（非原生平台）
- `NotInitialized` (-1001) - 未初始化
- `LatestVersion` (-1002) - 已是最新版本
- `Updating` (-1003) - 更新中

**错误状态**：
- `LoadManifestFailed` (-1004) - 加载本地 manifest 失败
- `ParseManifestFailed` (-1005) - 解析 manifest 文件失败
- `LoadVersionFailed` (-1006) - 下载 version.manifest 失败
- `ParseVersionFailed` (-1007) - 解析 version.manifest 失败
- `UpdateFailed` (-1008) - 更新失败（可重试）
- `UpdateError` (-1009) - 更新错误
- `DecompressError` (-1010) - 解压错误

### Manifest 文件

热更新需要两个 manifest 文件：

1. **project.manifest** - 完整的资源清单
   - 包含所有资源的 MD5 和大小
   - 用于计算需要下载的文件

2. **version.manifest** - 轻量级版本文件
   - 只包含版本信息
   - 用于快速检查版本

### 典型使用流程

1. **初始化** - 游戏启动时初始化 HotUpdateManager
2. **创建实例** - 创建 HotUpdate 实例
3. **检查更新** - 调用 checkUpdate() 检查新版本
4. **提示用户** - 显示更新对话框
5. **开始更新** - 用户确认后调用 startUpdate()
6. **显示进度** - 更新进度条
7. **处理结果** - 更新成功后重启游戏

### 服务端配置

**目录结构**：
```
hotupdate/
├── version.manifest
├── project.manifest
├── assets/
└── src/
```

**Nginx 配置要点**：
- 允许跨域请求
- manifest 文件禁止缓存
- 支持 Range 请求（断点续传）

详细 API 请查看 `bit-hotupdate.d.ts` 类型定义文件。

## 依赖

- [@gongxh/bit-core](https://www.npmjs.com/package/@gongxh/bit-core) - 核心功能

## 许可证

MIT License

## 作者

**bit老宫** (gongxh)  
**邮箱**: gong.xinhai@163.com

## 源码仓库

- [GitHub](https://github.com/Gongxh0901/bit-framework)
- [npm](https://www.npmjs.com/package/@gongxh/bit-hotupdate)
npm package: @gongxh/bit-minigame
Description: 小游戏平台适配库（支持微信、支付宝、字节跳动）
Author: bit老宫
Latest version: 0.0.12

# bit-minigame

小游戏平台适配库，抹平微信、支付宝、字节跳动小游戏平台的 API 差异。

## 简介

`bit-minigame` 是小游戏平台适配库，提供统一的接口调用方式，屏蔽微信、支付宝、字节跳动等平台的 API 差异。让开发者使用一套代码适配多个小游戏平台。

**核心特性**：
- 🔌 统一接口，一套代码适配三大平台
- 🎮 平台自动识别，无需手动判断
- 💰 统一的支付接口
- 📺 激励视频广告支持
- 🛠️ 登录、分享、剪贴板等常用功能
- 📱 完整的 TypeScript 类型定义

**支持平台**：
- ✅ 微信小游戏 (`Platform.isWX`)
- ✅ 支付宝小游戏 (`Platform.isAlipay`)
- ✅ 字节跳动小游戏 (`Platform.isBytedance`)

## 安装

```bash
npm install @gongxh/bit-minigame
```

## 使用说明

### 统一访问入口 (MiniHelper)

提供静态方法访问各功能模块：

- `common<T>()` - 获取通用接口实例
- `ad<T>()` - 获取广告接口实例
- `pay<T>()` - 获取支付接口实例

### 通用接口 (IMiniCommon)

提供平台基础信息和常用功能。

**启动参数**：
- `getLaunchOptions()` - 获取冷启动参数
- `getHotLaunchOptions()` - 获取热启动参数

**版本信息**：
- `getLibVersion()` - 获取基础库版本号
- `getHostVersion()` - 获取宿主程序版本（微信/支付宝/抖音版本）

**平台信息**：
- `getPlatform()` - 获取运行平台（ios/android/devtools等）
- `getEnvType()` - 获取运行类型（release/debug）

**屏幕信息**：
- `getScreenSize()` - 获取屏幕尺寸 `{width, height}`

**其他功能**：
- `exitMiniProgram()` - 退出小程序
- `setClipboardData(text)` - 复制到剪切板

### 广告接口 (IMiniRewardAds)

支持激励视频广告。

**显示广告**：
- `showRewardedVideoAd(options)` - 显示激励视频广告
  - `options.adUnitId` - 广告位 ID
  - `options.onComplete` - 广告播放完成回调
  - `options.onError` - 广告播放失败回调 `(errCode, errMsg) => void`
  - `options.onClose` - 广告关闭回调

**注意事项**：
- 广告位 ID 需在各平台后台单独申请
- 建议预加载广告提高成功率
- 必须处理广告加载失败的情况

### 支付接口 (IMiniPay)

统一的支付接口。

**初始化**：
- `init(offerId, unitPriceQuantity)` - 初始化支付
  - `offerId` - 商户号/AppId（因平台而异）
  - `unitPriceQuantity` - 单价数量

**价格检查**：
- `isPayable(rmb)` - 检查价格是否满足限制
  - 不同平台可能有不同的价格限制

**发起支付**：
- `pay(params)` - 发起支付
  - `params.rmb` - 支付金额（元）
  - `params.orderId` - 订单号
  - `params.shopId` - 商品 ID
  - `params.shopName` - 商品名称
  - `params.sandbox` - 沙盒环境（0:正式, 1:沙盒）
  - `params.extraInfo` - 额外信息（可选）
  - `params.success` - 成功回调 `(res) => void`
  - `params.fail` - 失败回调 `(res) => void`

**重要提示**：
- 必须在服务器端验证支付结果
- 测试时使用沙盒环境
- 不同平台的 offerId 参数含义不同

### 平台检测

建议使用 `@gongxh/bit-core` 的 `Platform` 类进行平台判断：

```typescript
import { Platform } from '@gongxh/bit-core';

if (Platform.isWX) {
    // 微信小游戏
} else if (Platform.isAlipay) {
    // 支付宝小游戏
} else if (Platform.isBytedance) {
    // 字节跳动小游戏
}
```

### 典型使用场景

1. **获取启动参数** - 处理分享邀请等
2. **激励视频广告** - 观看广告获取奖励
3. **内购支付** - 购买游戏道具
4. **平台差异处理** - 根据平台使用不同配置

详细 API 请查看 `bit-minigame.d.ts` 类型定义文件。

## 依赖

- [@gongxh/bit-core](https://www.npmjs.com/package/@gongxh/bit-core) - 核心功能（Platform 平台检测）

## 许可证

MIT License

## 作者

**bit老宫** (gongxh)  
**邮箱**: gong.xinhai@163.com

## 源码仓库

- [GitHub](https://github.com/Gongxh0901/bit-framework)
- [npm](https://www.npmjs.com/package/@gongxh/bit-minigame)
npm package: @gongxh/bit-quadtree
Description: 基于TypeScript的四叉树库
Author: bit老宫
Latest version: 0.0.12

# bit-quadtree

高性能四叉树空间索引库，专为 2D 游戏碰撞检测优化。

## 简介

`bit-quadtree` 是一个使用 TypeScript 编写的四叉树空间数据结构库，通过空间划分优化碰撞检测性能。适用于需要大量碰撞检测的 2D 游戏和模拟场景。

**核心特性**：
- 🎯 支持多种形状：矩形 (Box)、圆形 (Circle)、凸多边形 (Polygon)
- ⚡ 高效空间查询和碰撞检测
- 🔄 内置对象池减少 GC 压力
- 📐 可配置树深度和节点容量
- 🛠️ 完整的 TypeScript 类型定义

## 安装

```bash
npm install @gongxh/bit-quadtree
```

## 使用说明

### 四叉树 (QuadTree)

空间索引的核心类，用于管理和查询空间对象。

**创建四叉树**：
- `new QuadTree(x, y, width, height, maxDepth, maxShapes)` - 创建四叉树
  - `x, y` - 四叉树根节点的位置
  - `width, height` - 四叉树覆盖的区域大小
  - `maxDepth` - 树的最大深度（建议 4-6）
  - `maxShapes` - 每个节点最大形状数（建议 10-20）

**主要方法**：
- `insert(shape)` - 插入形状到四叉树
- `query(shape, mask)` - 查询与指定形状碰撞的所有形状
- `update()` - 更新四叉树（在形状移动后调用）
- `clear()` - 清空四叉树

### 形状创建

提供便捷的形状创建函数：

- `createBox(x, y, width, height, group)` - 创建矩形
- `createCircle(radius, group)` - 创建圆形
- `createPolygon(vertices, group)` - 创建凸多边形

**参数说明**：
- `group` - 碰撞分组，用于过滤碰撞检测（相同分组的形状不会碰撞）

### 工具类

**Vec2** - 2D 向量类：
- `new Vec2(x, y)` - 创建向量
- 支持加减乘除等基本运算
- 提供距离、归一化等常用方法

**ObjectPool** - 对象池：
- 自动管理对象复用
- 减少内存分配和垃圾回收
- 内部使用，无需手动管理

### 典型使用流程

1. **初始化** - 创建四叉树并设置参数
2. **添加形状** - 使用 `insert()` 添加游戏对象
3. **更新位置** - 移动对象后调用 `update()` 更新四叉树
4. **碰撞检测** - 使用 `query()` 查询碰撞
5. **清理** - 退出场景时调用 `clear()` 清空四叉树

详细 API 请查看 `bit-quadtree.d.ts` 类型定义文件。

## 许可证

MIT License

## 作者

**bit老宫** (gongxh)  
**邮箱**: gong.xinhai@163.com

## 源码仓库

- [GitHub](https://github.com/Gongxh0901/bit-framework)
- [npm](https://www.npmjs.com/package/@gongxh/bit-quadtree)
npm package: @gongyi/area-select1
Description: A Vue.js project
Latest version: 1.0.0

# @gongyi/area-select

> A Vue.js project

## Build Setup

``` bash
# install dependencies
npm install

# serve with hot reload at localhost:8080
npm run dev

# build for production with minification
npm run build
```

For detailed explanation on how things work, consult the [docs for vue-loader](http://vuejs.github.io/vue-loader).
npm package: @gongyi/hello
Description: A Vue.js project
Author: gongyi
Latest version: 1.0.2
Deprecated: 22

# hello

> A Vue.js project

## Build Setup

``` bash
# install dependencies
npm install

# serve with hot reload at localhost:8080
npm run dev

# build for production with minification
npm run build
```

For detailed explanation on how things work, consult the [docs for vue-loader](http://vuejs.github.io/vue-loader).
npm package: @gongyi/timepicker
Description: A Vue.js project
Author: gongyi
Latest version: 1.0.2

# timepicker

> A Vue.js project

## Build Setup

``` bash
# install dependencies
npm install

# serve with hot reload at localhost:8080
npm run dev

# build for production with minification
npm run build
```

For detailed explanation on how things work, consult the [docs for vue-loader](http://vuejs.github.io/vue-loader).