open-index/open-npm huggingface dataset:
npm package: @ggcv/auto-release
Description: 懒人统一版本发布工具：交互式版本升级、自动变更日志生成及 GitHub 发布。
Author: Ggchivalrous
Latest version: 1.0.3

# auto-release

> 统一的发布工具：支持交互式版本升级、修改日志生成以及 GitHub Release 发布。

`auto-release` 结合了 `bumpp` 的交互式体验与 `changelogen` 强大的修改日志生成和 GitHub Release 功能，为您提供一站式的发布方案。

## 特性

- **交互式版本管理**：支持提示驱动的版本选择（patch, minor, major 等）。
- **约定式提交 (Conventional Commits)**：根据 commit 历史自动推断版本号。
- **自动生成修改日志 (Changelog)**：自动更新 `CHANGELOG.md`，并对 commit 进行分类。
- **Git 自动化**：自动执行 commit、tag 以及 push 操作。
- **GitHub Release 同步**：将修改日志直接同步到 GitHub Releases。
- **NPM 发布**：支持自动发布到 NPM 仓库。
- **高度可配置**：通过 `auto-release.config.ts` 定制完整流程。

## 安装

```bash
pnpm add -D auto-release
```

## 使用方法

在项目根目录下运行：

```bash
pnpm exec auto-release
```

或者将其添加到 `package.json` 的 scripts 中：

```json
{
  "scripts": {
    "release": "auto-release"
  }
}
```

## 常用命令

### 基础使用

```bash
# 进入交互式界面选择升级类型
pnpm exec auto-release

# 直接升级为特定的语义化版本
pnpm exec auto-release patch
pnpm exec auto-release minor
pnpm exec auto-release major

# 升级到指定版本号
pnpm exec auto-release 1.2.3
```

### 自动化流程

```bash
# 跳过确认提示 (静默模式)
pnpm exec auto-release -y

# 只升级版本，不自动创建 Git commit 和 Tag
pnpm exec auto-release --no-commit --no-tag

# 全自动化：升级版本 + 生成修改日志 + Git 推送 + 创建 GitHub Release + 发布到 NPM
pnpm exec auto-release --github --publish
```

### 特殊场景

```bash
# 递归升级 Monorepo 中所有包的版本
pnpm exec auto-release -r

# 发布 Canary 版本 (例如 1.0.0-beta.x)
pnpm exec auto-release --canary

# 升级后执行特定脚本 (例如构建或清理)
pnpm exec auto-release -x "pnpm run build"
```

### 修改日志 (Changelog) 控制

```bash
# 仅更新修改日志，不升级版本号 (利用 position 参数传递 currentVersion)
pnpm exec auto-release --release none

# 预览最近的 Commit 记录
pnpm exec auto-release --print-commits
```

## 配置

在项目中创建 `auto-release.config.ts` 文件：

```typescript
import { defineConfig } from "auto-release/config";

export default defineConfig({
  commit: true,
  tag: true,
  push: true,
  github: true,
});
```

更多详细的定制化玩法（如：修改 Emoji、使用图片图标、映射 Scope 等），请参阅我们的 [定制化指南](./docs/customization.md)。

## 高级技巧

### 临时覆盖包名（发布到私有作用域）

如果您希望在发布到私有仓库时使用特定的作用域前缀（例如 `@db/auto-release`），但又不想永久修改 `package.json` 中的 `name` 字段，可以使用 `publish.name` 配置。

`auto-release` 会在执行发布前临时修改 `package.json` 中的包名，待发布完成后自动还原，确保您的源码和 Git 记录始终保持原始包名。

```typescript
export default defineConfig({
  publish: {
    // 发布的临时包名
    name: "@xx/auto-release",
    // 配合私有仓库地址使用
    args: ["--registry", "https://your-registry.com"],
  },
});
```

### GitHub API Token 配置

如果您在配置中开启了 `github: true`，`auto-release` 将尝试调用 GitHub API 自动为您创建关联的 Release 发布。  
为了保证接口调用成功，您需要提供 GitHub Token 授权（**必填**，否则会降级为在浏览器中打开链接手动创建）：

您可以通过以下三种方式中**任意一种**提供 Token：

1. 配置环境变量 `GITHUB_TOKEN` （推荐）
2. 配置环境变量 `GH_TOKEN`
3. 如果您在使用 [GitHub CLI (`gh`)](https://cli.github.com/) 且已经授权登录过，工具也会尝试自动读取 `gh` 的授权 Token。

_（注意：您的 Token 需要具有 `repo` 权限以便能正常创建 Release 发版）_

## 许可

基于 [MIT](./LICENSE) 许可协议 © 2026 [GGChivalrous](https://github.com/ggchivalrous)
npm package: @ggcv/vite-plugin-ssg
Description: Vite plugin for Static Site Generation (SSG) — prerender Vue/React apps to static HTML at build time
Author: ggchivalrous
Latest version: 1.0.1

# vite-plugin-ssg

## 起因

> 由于作者在vite项目中弄了一个多入口的MPA多页应用，每个页面都需要SSG渲染
>
> 使用 **vite-ssg** 包进行SSG时发现这个包似乎对多入口的应用不起作用，所以请 Ai 设计了这么一个Vite SSG插件

## 设计理念

核心原则：

1. **零项目假设** — 不假设任何目录结构（`.generated`、`html` 子目录等）
2. **框架无关** — 默认支持 Vue，但通过 `render` 回调可用于 React、Solid 等任何框架
3. **显式优于隐式** — 用户声明 `entries` 列表，而非扫描某个约定目录
4. **配置继承** — 自动从 Vite `resolvedConfig` 中继承 `root`、`outDir`、`alias`
5. **无需SSR判断** — 内部自带浏览器环境mock，虽然不保证百分百覆盖，但能减少非常多的SSR环境判断

## API 概览

### 核心选项

| 选项             | 类型                               | 说明                                         |
| ---------------- | ---------------------------------- | -------------------------------------------- |
| `entries` ⚡必填 | `SSGEntry[]` \| `() => SSGEntry[]` | 需要预渲染的页面列表                         |
| `render`         | `(ctx) => { html }`                | 自定义渲染函数（默认 Vue SSR）               |
| `ssrViteConfig`  | `UserConfig`                       | SSR 服务器的 Vite 配置覆盖                   |
| `mock`           | `boolean`                          | 是否安装 happy-dom Mock（默认 `true`）       |
| `appSelector`    | `string`                           | HTML 占位标记（默认 `<div id="app"></div>`） |
| `createAppFn`    | `string`                           | 入口导出函数名（默认 `createApp`）           |
| `enabled`        | `boolean`                          | 是否启用（默认 `true`）                      |

### `SSGEntry` 结构

```ts
interface SSGEntry {
  entry: string; // SSR 入口模块路径（供 vite.ssrLoadModule 加载）
  html: string; // 输出 HTML 路径（相对于 build.outDir）
}
```

## 使用示例

### Vue 单页应用（最简）

```ts
ssgPlugin({
  entries: [{ entry: "./src/main.ts", html: "index.html" }],
});
```

### Vue 多页应用

```ts
ssgPlugin({
  entries: [
    { entry: "./src/pages/home/main.ts", html: "index.html" },
    { entry: "./src/pages/about/main.ts", html: "about/index.html" },
  ],
  ssrViteConfig: {
    ssr: { noExternal: ["naive-ui"] },
  },
});
```

### 动态生成入口

```ts
ssgPlugin({
  entries: async () => {
    const pages = await scanPages("./src/pages");
    return pages.map((p) => ({ entry: p.entry, html: p.output }));
  },
});
```

### 自定义渲染（React）

```ts
ssgPlugin({
  entries: [{ entry: "./src/main.tsx", html: "index.html" }],
  mock: false,
  render: async ({ module, html }) => {
    const { renderToString } = await import("react-dom/server");
    const appHtml = renderToString(module.default());
    return {
      html: html.replace('<div id="root"></div>', `<div id="root">${appHtml}</div>`),
    };
  },
});
```
npm package: @ggedde/db-cli
Description: Database CLI tool for Creating, Copying, and Syncing databases quickly
Author: https://github.com/ggedde
Latest version: 1.2.2

# db-cli

![GitHub tag (latest by date)](https://img.shields.io/github/v/tag/ggedde/dbcli) &nbsp; ![GitHub](https://img.shields.io/github/license/ggedde/dbcli?label=license)


#### Database CLI tool for Creating, Copying, and Syncing databases quickly. It can create local databases, copy local or remote database or copy remote to local databases. It cannot write to remote databases. It uses Project Config Files to store the settings for each project. Prject Config files and Backups will be stored in ~/.dbcli

\* Currently only supports mysql and mariadb  
\* All Databases are collated as utf8mb4_unicode_ci  

![db-cli gif](db-cli.gif)

# Installation
    npm i --global @ggedde/db-cli

Test that the CLI is working and see what Version it is
    
    db -v

See Help
    
    db -h

*\* If it does not work then you might need to add the global path to your $PATH*


### db copy [-o] [project_config_file]

&nbsp; &nbsp; Copies Remote Database to Local Database using the project_config_file.  
&nbsp; &nbsp; Local Database will be backup before getting overwritten

&nbsp; &nbsp; -o &nbsp; Omits the backup files. Use only if you are sure you will not need to revert back.


### db backup [-l | -r] [project_config_file]

&nbsp; &nbsp; Backsup databases from both local and remote

&nbsp; &nbsp; -l &nbsp; Backup local database Only  
&nbsp; &nbsp; -r &nbsp; Backup remote database Only


### db add [project_config_file]

&nbsp; &nbsp; Adds a new project_config_file, but does not create a local database


### db create [-a] [project_config_file]

&nbsp; &nbsp; Creates a new database on your localhost

&nbsp; &nbsp; -a &nbsp; Also add a new project_config_file


### db list

&nbsp; &nbsp; List all Project Config Files in the Databases Folder


### db backups

&nbsp; &nbsp; List all Backup Files in the Backups Folder
npm package: @ggedde/spry-js
Description: A simple JS Toolkit while being as lightweight as possible
Author: ggedde
Latest version: 1.1.5

# SpryJs
A simple and lightweight JS Toolkit

![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/ggedde/spry-js?include_prereleases) &nbsp; ![GitHub](https://img.shields.io/github/license/ggedde/spry-js?label=license)

## [View Documentation](https://ggedde.github.io/spry-js)
npm package: @ggez/anim-compiler
Description: Compiler pipeline from editor documents to compiled runtime animation graphs.
Latest version: 0.1.12

# @ggez/anim-compiler

Semantic validation and compilation of authoring documents into runtime-oriented graphs.

```ts
import { compileAnimationEditorDocument } from "@ggez/anim-compiler";

const result = compileAnimationEditorDocument(document);
if (!result.ok) console.error(result.diagnostics);
```
npm package: @ggez/anim-core
Description: Pure animation runtime primitives: rigs, clips, poses, masks, blending, and root motion.
Latest version: 0.1.12

# @ggez/anim-core

Pure animation data structures and hot-path helpers with no React or Three.js dependency.

Main exports:

- `createRigDefinition`
- `createPoseBuffer`
- `sampleClipPose`
- `blendPoses`
- `blendPosesMasked`
- `addPoseAdditive`
- `extractRootMotionDelta`
npm package: @ggez/anim-editor-core
Description: React-independent animation graph editor domain logic and state store.
Latest version: 0.1.12

# @ggez/anim-editor-core

Command-driven editor store and document manipulation primitives for the animation graph editor.

This package keeps editor state outside React and exposes:

- document defaults
- selection
- graph/node mutations
- undo/redo
- clipboard
- compile and diagnostics integration
npm package: @ggez/anim-exporter
Description: Versioned import/export for compiled ggez animation runtime artifacts.
Latest version: 0.1.12

# @ggez/anim-exporter

Serialization helpers for versioned animation artifacts.

Main exports:

- `createAnimationArtifact`
- `createAnimationBundle`
- `serializeAnimationArtifact`
- `serializeAnimationBundle`
- `parseAnimationArtifactJson`
- `parseAnimationBundleJson`
- `loadRigFromArtifact`
- `loadClipsFromArtifact`
npm package: @ggez/anim-runtime
Description: Animator runtime evaluator for compiled ggez animation graphs.
Latest version: 0.1.12

# @ggez/anim-runtime

Framework-agnostic animator instance and runtime graph evaluator.

```ts
import { createAnimatorInstance } from "@ggez/anim-runtime";

const animator = createAnimatorInstance({ rig, graph, clips });
animator.setFloat("speed", 1);
const result = animator.update(dt);
```

The runtime evaluates into typed-array pose buffers and root motion deltas, not Three.js animation actions.
npm package: @ggez/anim-three
Description: Three.js bridge for ggez animation runtime rigs, clips, and skeleton application.
Latest version: 0.1.12

# @ggez/anim-three

Three.js bridge helpers for importing rigs/clips and applying evaluated poses.

Main exports:

- `createRigFromSkeleton`
- `createClipAssetFromThreeClip`
- `applyPoseToSkeleton`
- `createThreeAnimatorBridge`
npm package: @ggez/anim-utils
Description: Shared animation utilities for the ggez animation toolchain.
Latest version: 0.1.12

# @ggez/anim-utils

Small shared helpers used across the animation packages.

Exports:

- math helpers such as `clamp`, `lerp`, and `inverseLerp`
- a tiny emitter used by the editor store
- stable id generation for editor documents
npm package: @ggez/dev-sync
Description: Development-time editor and game synchronization utilities for Web Hammer.
Latest version: 0.1.12

# @ggez/dev-sync

Development-time editor and game synchronization utilities for Web Hammer.

## Install

```bash
bun add @ggez/dev-sync
```

## Exports

- `@ggez/dev-sync`: shared registry types and helpers
- `@ggez/dev-sync/node`: Node-side registry persistence helpers

Use this package to coordinate editor and local game runtime state during development.
npm package: @ggez/editor-core
Description: Scene document, command stack, selection, and event bus primitives for Web Hammer editors.
Latest version: 0.1.12

# @ggez/editor-core

Editor-domain primitives for Web Hammer.

This package contains the scene document model, command stack, selection state, event bus wiring, and related editor-facing helpers used by the main editor application.

## Install

```bash
bun add @ggez/editor-core
```
npm package: @ggez/game-dev
Description: Vite development plugin for Web Hammer game projects with scene discovery and editor sync.
Latest version: 0.1.12

# @ggez/game-dev

Vite development plugin utilities for Web Hammer game projects.

This package provides scene discovery and editor-sync helpers for local game development workflows built around exported Web Hammer runtime scenes.

## Install

```bash
bun add -d @ggez/game-dev
```
npm package: @ggez/gameplay-runtime
Description: Lightweight gameplay runtime primitives and system orchestration for Web Hammer scenes.
Latest version: 0.1.12

# @ggez/gameplay-runtime

Lightweight gameplay runtime primitives for Web Hammer scenes.

Use this package for event buses, runtime world state, systems, and host-owned gameplay orchestration on top of exported scene data.

## Install

```bash
bun add @ggez/gameplay-runtime
```
npm package: @ggez/geometry-kernel
Description: Brush, polygon, and editable mesh operations for Web Hammer.
Latest version: 0.1.12

# @ggez/geometry-kernel

Geometry editing primitives for Web Hammer.

This package contains brush operations, polygon helpers, editable mesh structures, and mesh editing algorithms used by the editor and export pipeline.

## Install

```bash
bun add @ggez/geometry-kernel
```
npm package: @ggez/render-pipeline
Description: Render-facing scene derivation and viewport data structures for Web Hammer.
Latest version: 0.1.12

# @ggez/render-pipeline

Render-facing scene derivation and viewport helpers for Web Hammer.

Use this package when you need derived render meshes, scene projection helpers, or viewport-oriented state built from authoring data.

## Install

```bash
bun add @ggez/render-pipeline
```
npm package: @ggez/runtime-build
Description: Headless build utilities and CLI for compiling Web Hammer runtime bundles.
Latest version: 0.1.12

# @ggez/runtime-build

Headless runtime build utilities for Web Hammer.

This package owns:

- compiling `.whmap` snapshots into `RuntimeScene`
- asset externalization
- runtime bundle packing and unpacking
- world-index creation
- a CLI for manifest and bundle output

## Install

```bash
bun add @ggez/runtime-build
```

## Build From A `.whmap` Snapshot

```ts
import {
  buildRuntimeBundleFromSnapshot,
  buildRuntimeSceneFromSnapshot
} from "@ggez/runtime-build";

const runtimeScene = await buildRuntimeSceneFromSnapshot(snapshot);
const runtimeBundle = await buildRuntimeBundleFromSnapshot(snapshot, {
  assetDir: "assets"
});
```

## CLI

```bash
web-hammer-runtime-build manifest --input level.whmap --output scene.runtime.json
web-hammer-runtime-build bundle --input level.whmap --output scene.runtime.zip
web-hammer-runtime-build world-index --chunks hub:/world/chunks/hub/scene.runtime.json --output world-index.json
```

Use this package from editor workers, CI, or a content-build step. It does not depend on Three runtime scene instantiation.
npm package: @ggez/runtime-format
Description: Renderer-agnostic runtime contracts, parsing, and validation for Web Hammer.
Latest version: 0.1.12

# @ggez/runtime-format

Renderer-agnostic runtime contracts for Web Hammer.

This package owns:

- `RuntimeScene`
- `RuntimeBundle`
- `RuntimeWorldIndex`
- runtime scene validation and migration
- world-index parsing
- renderer-agnostic physics descriptor enumeration

## Install

```bash
bun add @ggez/runtime-format
```

## Example

```ts
import {
  getRuntimePhysicsDescriptors,
  parseRuntimeScene,
  parseRuntimeWorldIndex,
  validateRuntimeScene
} from "@ggez/runtime-format";

const scene = parseRuntimeScene(runtimeSceneJson);
const validation = validateRuntimeScene(scene);

if (!validation.ok) {
  throw new Error(validation.errors.join("\n"));
}

const physics = getRuntimePhysicsDescriptors(scene);
const worldIndex = parseRuntimeWorldIndex(worldIndexJson);
```

Use this package when you need the content contract without pulling in Three.js, Rapier, or editor code.
npm package: @ggez/runtime-physics-rapier
Description: Rapier physics adapters for Web Hammer runtime scenes.
Latest version: 0.1.12

# @ggez/runtime-physics-rapier

Optional Rapier bindings for Web Hammer runtime physics data.

This package owns:

- Rapier world creation from runtime scene settings
- collider and rigid-body helpers for derived render meshes
- renderer-agnostic physics descriptor consumption from `runtime-format`

## Install

```bash
bun add @ggez/runtime-physics-rapier @dimforge/rapier3d-compat
```

## Example

```ts
import {
  createDynamicRigidBody,
  createRapierPhysicsWorld,
  createStaticRigidBody,
  ensureRapierRuntimePhysics
} from "@ggez/runtime-physics-rapier";

await ensureRapierRuntimePhysics();

const world = createRapierPhysicsWorld({ world: { gravity: { x: 0, y: -9.81, z: 0 } } });
const floorBody = createStaticRigidBody(world, floorMesh);
const crateBody = createDynamicRigidBody(world, crateMesh);
```

The host application still owns the Rapier world lifecycle, stepping, and disposal.
npm package: @ggez/runtime-streaming
Description: Chunk and world streaming helpers for Web Hammer runtime content.
Latest version: 0.1.12

# @ggez/runtime-streaming

Optional world-streaming orchestration for Web Hammer runtime chunks.

This package owns:

- world-index driven chunk state
- focus-based load and unload decisions
- host-provided chunk loading and unloading
- concurrency limits for chunk loading

## Install

```bash
bun add @ggez/runtime-streaming
```

## Example

```ts
import { createRuntimeWorldManager } from "@ggez/runtime-streaming";

const manager = createRuntimeWorldManager({
  async loadChunk(chunk) {
    return fetch(chunk.manifestUrl!).then((response) => response.json());
  },
  async unloadChunk(_chunk, data) {
    data.dispose?.();
  },
  worldIndex
});

await manager.updateStreamingFocus({ x: 0, y: 1.8, z: 0 });
```

The package is adapter-agnostic. Your host decides how a loaded chunk becomes render objects, gameplay state, or cached data.
npm package: @ggez/shared
Description: Shared scene types and utilities used across Web Hammer packages.
Latest version: 0.1.12

# @ggez/shared

Shared types and utilities used across the Web Hammer package set.

This package contains common scene contracts, transforms, graph helpers, and other foundational utilities consumed by editor, runtime, and build packages.

## Install

```bash
bun add @ggez/shared
```
npm package: @ggez/tool-system
Description: Tool registry and state machine primitives for Web Hammer editors.
Latest version: 0.1.12

# @ggez/tool-system

Tool registry and tool state machine primitives for Web Hammer editors.

This package wraps the core tool lifecycle patterns used by editor interactions and input-driven editing workflows.

## Install

```bash
bun add @ggez/tool-system
```
npm package: @gggdomi/loading
Description: 1. Copy this folder content 2. Change name and repo in `package.json` 3. Copy code to `src/` 4. `yarn` 5. `yarn build` 6. `yarn publish --access public`
Author: gggdomi
Latest version: 0.1.0

### How to use

1. Copy this folder content
2. Change name and repo in `package.json`
3. Copy code to `src/`
4. `yarn`
5. `yarn build`
6. `yarn publish --access public`
npm package: @gggdomi/rrh-alerts
Description: Plugin for RRH to display notifications when requests resolve.
Author: Guillaume Dominici
Latest version: 0.1.0

Plugin for [RRH](https://github.com/gggdomi/rrh) to display notifications when requests resolve.

## Installation

### Pre-requisites

- [RRH](https://github.com/gggdomi/rrh) need to be set up
- [react-toastify](https://github.com/fkhadra/react-toastify) is a peer dependency and `ToastContainer` component need to be added to your app (see https://github.com/fkhadra/react-toastify#one-component-to-rule-them-all)

`yarn add @gggdomi/rrh-alerts`

### Add rrh-alerts sagas to the app

```js
// index.js
import rrhAlertsSagas from '@gggdomi/rrh-alerts/src/sagas'

// configure saga middleware...

rrhAlertsSagas.map(sagaMiddleware.run)
```

## Usage

```js
import rrh from '@gggdomi/rrh'

export const addComment = rrh.new('ADD_COMMENT', '/comment/add/', {
  method: 'POST',
  // if not null, will display a success notification (default: null)
  successAlertText: "Comment added!",
  
  // if false won't display notification on errors (default: true)
  displayErrorAlert: false, 
  
  // if not null, will replace error message (default: null)
  failAlertText: "Could not add comment :-(", 
})
```

Then dispatch `addComment.Start()` 

## Configuration

### Global

```js
import rrhAlerts from '@gggdomi/rrh-alerts'

// set to true to automatically display a notification if a request fails (for all routes) (default: true)
rrhAlerts.displayErrorAlerts = false
```
npm package: @gggdomi/same-domain-different-port
Description: Front-end server running on port 3000, back-end server on port 5000.
Author: Guillaume Dominici
Latest version: 1.0.0

Helper function created for personal use.

### Use-case

Front-end server running on port 3000, back-end server on port 5000.

```js
import 'sddp' from '@gggdomi/same-domain-different-port'
const BACKEND_URL = sddp(5000)
```

API call will reach the corresponding server, no matter which device and url is used to access the front-end (be it localhost, LAN ip, domain name...)