open-index/open-npm huggingface dataset:
npm package: @skumtron/minesweeper-engine
Description: A Minesweeper Engine
Author: Elis Haavistu
Latest version: 2.0.1

# Minesweeper Engine

An easy to use Minesweeper Engine.


## Installation

Only `lib/minesweeper.js` is needed. Either download and add it locally or embed it through CDN:

```javascript
<script src="https://unpkg.com/@skumtron/minesweeper-engine/lib/minesweeper.js"></script>
```

Alternatively install it through npm:

```
npm install @skumtron/minesweeper-engine -S
```

## Usage

Create a game by calling the global `Minesweeper` function. 
```javascript
game = Minesweeper(rows, columns, mines);
```

Reveal tile(s).
```javascript
game.reveal(row, column);
```

Add/remove flag.
```javascript
game.flag(row, column);
```

Checking the state of the game.
Returns a string with possible values:
`'PENDING'` - Initial game state.
`'LOST'` - Stepped on a mine.
`'WON'` - Revealed all tiles without mines.
```javascript
game.state;
```

Get a tile.
```javascript
tile = game.board.getTile(row, col);
```

Get board dimensions.
```javascript
game.board.getBoardHeight();
game.board.getBoardWidth();
```

Tile properties.
```javascript
tile.isRevealed;
tile.isMine;    
tile.isFlagged;
tile.minesBordering; // Amout of mines bordering that particular tile.
```

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details
npm package: @skumtron/poll
Description: When all you need to do is poll a HTTP resource. A tiny, TINY polling library.
Author: Elis Haavistu
Latest version: 1.0.0

Poll
=========

When all you need to do is poll a HTTP resource. A tiny, TINY polling library.

## Installation

Embed `lib/poll.js` to your project or add it through CDN:

```js
<script src="https://unpkg.com/@skumtron/poll/lib/poll.js"></script>
```

Alternatively install it through npm:

  `npm install @skumtron/poll`

## Usage
Takes an object with following properties as it's argument
```js

var postsPoll = poll({
    url: "https://api.example.com/posts/",
    onResponse: function(res) {
        // handle response
    },
    onError: function(err) {
        // handle errors
    },
    interval: 5000, // Optional, defaults to 10000
    autoStart: false // Optional, defaults to true
});
```

Returns an object with following (self explanatory) methods

```js
postsPoll.start();
postsPoll.stop();
```

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details
npm package: @skunkceo/cli
Description: Install and manage Skunk Global skills and WordPress plugins
Author: Skunk Global
Latest version: 2.2.1

# Skunk CLI

Install and manage Skunk Global AI skills and WordPress plugins.

## Installation

```bash
npm install -g @skunkceo/cli
```

## Quick Start

```bash
# Interactive setup wizard
skunk setup

# Install an AI skill (teaches your AI assistant)
skunk install skill skunkforms

# Install a WordPress plugin
skunk install plugin skunkforms

# Install Pro version with license
skunk install plugin skunkcrm-pro --license=YOUR_LICENSE_KEY
```

## Commands

| Command | Description |
|---------|-------------|
| `skunk setup` | Interactive setup wizard |
| `skunk install skill <name>` | Install an AI skill |
| `skunk install plugin <name>` | Install a WordPress plugin |
| `skunk remove skill <name>` | Remove an installed skill |
| `skunk list` | List installed skills |
| `skunk available` | List available skills |
| `skunk plugins` | List available plugins |
| `skunk update` | Update CLI and refresh skills |
| `skunk help` | Show help |

## Skills vs Plugins

**Skills** teach your AI assistant (OpenClaw, Claude, etc.) how to work with Skunk products. They're installed to `~/.openclaw/skills/`.

**Plugins** are the actual WordPress plugins that run on your site. They're installed via WP-CLI or WordPress Studio.

For the best experience, install both:
```bash
# Install the skill so your AI knows how to use it
skunk install skill skunkforms

# Install the plugin on your WordPress site
skunk install plugin skunkforms
```

## Available Products

- **skunkcrm** / **skunkcrm-pro** - CRM & contact management
- **skunkforms** / **skunkforms-pro** - Form builder
- **skunkpages** / **skunkpages-pro** - Landing page builder

## Requirements

- Node.js 18+
- For plugin installation: WP-CLI or WordPress Studio

## Links

- [OpenClaw WordPress Guide](https://skunkglobal.com/guides/openclaw-wordpress)
- [Skunk Global](https://skunkglobal.com)
npm package: @skunkteam/google-cloudevents-firestore
Description: Javascript and Typescript classes for Google Cloud Events for Firestore.
Author: Skunk Team
Latest version: 1.1.0

# @skunkteam/google-cloudevents-firestore

This module provides pre-compiled JavaScript classes and TypeScript types for decoding Google Cloud Events from Firestore, simplifying the
development of Cloud Functions that respond to Firestore events.

## Motivation

When building Google Cloud Functions triggered by Firestore events, you receive CloudEvents with binary payloads containing protobuf-encoded
Firestore event data. Google's documentation suggests compiling protobuf decoders at runtime, which introduces complexities:

-   You need to include `.proto` files in your application bundle.
-   Runtime compilation adds overhead and potential errors.
-   The resulting JavaScript classes lack TypeScript type definitions, hindering development and maintainability.

## Solution

`@skunkteam/google-cloudevents-firestore` addresses these issues by:

1.  **Pre-compiling protobuf definitions:** The necessary `.proto` files are compiled into JavaScript classes during the module's build
    process.
2.  **Including TypeScript types:** Type definitions are generated alongside the JavaScript classes, providing a fully typed development
    experience.
3.  **Simplifying usage:** You can directly import and use the pre-compiled classes in your Cloud Functions, eliminating runtime
    compilation and the need to manage `.proto` files.

This approach streamlines the development of Firestore-triggered Cloud Functions, improving code clarity, reducing errors, and enhancing
maintainability.

## Example Usage

```typescript
import * as functions from '@google-cloud/functions-framework';
import { google } from '@skunkteam/google-cloudevents-firestore';
import assert from 'node:assert';

functions.cloudEvent('onTaskCreate', async function onTaskCreate(cloudEvent: functions.CloudEvent<Buffer>) {
    console.log(`Function triggered by event on: ${cloudEvent.source}`);
    console.log(`Event type: ${cloudEvent.type}`);

    console.log('Decoding data...');
    assert(Buffer.isBuffer(cloudEvent.data));
    const firestoreReceived = google.events.cloud.firestore.v1.DocumentEventData.decode(cloudEvent.data);

    console.log('\nOld value:');
    console.log(JSON.stringify(firestoreReceived.oldValue, null, 2));

    console.log('\nNew value:');
    console.log(JSON.stringify(firestoreReceived.value, null, 2));
});
```

## Installation

```bash
npm install @skunkteam/google-cloudevents-firestore
```
npm package: @skutally/ui-library
Description: A modern UI component library for HTML, Tailwind CSS & Stimulus.js. Copy-paste components into your project.
Latest version: 0.1.21

# @skutally/ui-library

A CLI for adding beautifully designed components to your HTML + Tailwind CSS v4 + Stimulus.js projects.

This is NOT a component library you install as a dependency. It's a collection of re-usable components that you copy into your apps and customize. The code is yours.

## Installation

npx @skutally/ui-library init

For Rails projects:
npx @skutally/ui-library init --rails


The `init` command creates a `components.json` config file and sets up `src/base.css` with Tailwind CSS v4 theme variables. In Rails mode, it also generates ERB partials, Stimulus controllers, and a helper module.

## Usage

### add

Add components to your project. Automatically resolves all required dependencies.


npx @skutally/ui-library add button
npx @skutally/ui-library add modal tabs accordion
npx @skutally/ui-library add button --rails


### update

Update installed components to the latest version. Run without arguments to update all installed components, or specify names to update only those.


npx @skutally/ui-library update
npx @skutally/ui-library update button modal


### remove

Remove components from your project.
npx @skutally/ui-library remove button


### list

View all available components.
npx @skutally/ui-library list


### diff

Check if your local component differs from the registry version.
npx @skutally/ui-library diff button


## Components (48)

- Accordion
- Alert
- Alert Dialog
- Aspect Ratio
- Avatar
- Badge
- Breadcrumb
- Button
- Button Group
- Calendar
- Card
- Carousel
- Checkbox
- Collapsible
- Combobox
- Command
- Context Menu
- Date Picker
- Dialog
- Dropdown Menu
- Hover Card
- Input
- Input OTP
- Kbd
- Label
- Menubar
- Navigation Menu
- Pagination
- Popover
- Progress
- Radio Group
- Rating
- Resizable
- Scroll Area
- Select
- Separator
- Sheet
- Skeleton
- Slider
- Spinner
- Switch
- Table
- Tabs
- Textarea
- Timeline
- Toast
- Toggle Group
- Tooltip
- Typography

## Dark Mode

All components support dark mode out of the box. Add the `dark` class to your `<html>` element or use the built-in dark mode toggle controller.

## Documentation

Visit the [documentation page](https://ui-library-swart.vercel.app/docs.html) to view the full docs.

## License

Licensed under the [MIT license](LICENSE).
npm package: @skuyjs/http-plugin-cors
Description: Cross-Origin Resource Sharing plugin for SkuyJS
Author: Hadi Hidayat Hammurabi
Latest version: 0.0.1

# http-plugin-cors
Cross-Origin Resource Sharing plugin for SkuyJS

# Basic Usage
## Installation
```bash
npm install @skuyjs/http-plugin-cors
```

## Usage
```javascript
const Server = require('@skuyjs/http-server');

const cors = require('.')({
  'Access-Control-Allow-Origin': ['localhost'],
  'Access-Control-Allow-Headers': ['Content-Type'],
  'Access-Control-Allow-Methods': ['GET', 'POST'],
});

const app = new Server();

app.use(cors.build());

app.get('/', (req, res) => {
  res.send('hore');
});

app.listen(8080);
```
npm package: @skuyjs/http-server
Description: Mini http server framework for NodeJS
Author: Hadi Hidayat Hammurabi
Latest version: 0.0.7-1

# @skuyjs/http-server
Http server framework for NodeJS

## Installation
To install `@skuyjs/http-server`, run this command using terminal inside your project.
```bash
npm install @skuyjs/http-server
```

## Usage
To use this framework, you can follow this example.
```javascript
const Server = require('@skuyjs/http-server');
const server = new Server();

server.get('/', (req, res) => {
  res.send('hello');
});

server.listen(8080);
```

<details><summary>More Examples</summary>
You can see more examples <a href="./examples">here</a>.
</details>

## License
[MIT](./LICENSE)
npm package: @skvelymake/extract-pg-schema
Description: Reads various metadata from your postgres database and return a Javascript object. This package is used by [Kanel](https://github.com/kristiandupont/kanel) to generate Typescript types and [Schemalint](https://github.com/kristiandupont/schemalint) to prov
Author: Kristian Dupont
Latest version: 4.2.6

# Extract Schema from Postgres Database

Reads various metadata from your postgres database and return a Javascript object.
This package is used by [Kanel](https://github.com/kristiandupont/kanel) to generate Typescript types and [Schemalint](https://github.com/kristiandupont/schemalint) to provide linting of database schemas.

View the documentation [here](https://kristiandupont.github.io/extract-pg-schema)

## Installation

```bash
npm i extract-pg-schema
```

## Usage

You give it a [postgres connection config object](https://node-postgres.com/api/client) and some options and it will connect to your database and generate

```javascript
const { extractSchemas } = require('extract-pg-schema');

async function run() {
  const connection = {
    host: 'localhost',
    database: 'postgres',
    user: 'postgres',
    password: 'postgres',
  };

  const result = await extractSchemas(connection);

  console.log(result);
}

run();
```

For an example of a generated object, take a look at [dvdrental.json](./dvdrental.json) file which is generated from the [sample Database](https://www.postgresqltutorial.com/postgresql-sample-database/) from [PostgreSQLTutorial.com](https://www.postgresqltutorial.com).

---

## Contributors

<a href="https://github.com/kristiandupont/extract-pg-schema/graphs/contributors">
  <img src="https://contrib.rocks/image?repo=kristiandupont/extract-pg-schema" />
</a>

Made with [contrib.rocks](https://contrib.rocks).
npm package: @skwiryt/id-generator
Description: It generates a series of random letters and digits that may be used as an id.
Author: MB
Latest version: 1.0.2

# Description
It generates a series of random letters and digits that may be used as an id.

# Installation
```
npm istall @skwiryt/id-generator
```
# Use
The function exported from the module takes a parameter that represents the requested length of generated id.
```
const genterator = require('@skwiryt/id-generator');
const id = generator(20);
```