open-index/open-npm huggingface dataset:
npm package: @pokerrdev/poker-engine
Description: High-performance C++ poker game engine with direct Node.js bindings - handle MongoDB IDs in your backend
Author: Aditya Agarwal
Latest version: 1.0.1

# @pokerrdev/poker-engine

🚀 **High-performance C++ poker engine for Node.js/TypeScript backends**

## Performance: 11,000+ games/second

Ultra-fast C++ poker engine with direct Node.js bindings.

## Installation

```bash
npm install @pokerrdev/poker-engine
```

## Quick Start

```typescript
import { PokerEngine } from '@pokerrdev/poker-engine';

const engine = new PokerEngine();
const gameId = engine.createGame(10, 20); // smallBlind, bigBlind

// Add players (no names needed - just ID and chips)
engine.addPlayer(gameId, 1, 1000);
engine.addPlayer(gameId, 2, 1000);

// Start and play
engine.startGame(gameId);
engine.dealHoleCards(gameId);
engine.playerCall(gameId, 1);
engine.playerBet(gameId, 2, 50);
```

## API

### Game Management
- `createGame(smallBlind, bigBlind): number`
- `startGame(gameId): boolean`
- `endGame(gameId): void`

### Players
- `addPlayer(gameId, playerId, chips): boolean`
- `playerFold(gameId, playerId): boolean`
- `playerCall(gameId, playerId): boolean`
- `playerBet(gameId, playerId, amount): boolean`

### State
- `getGameState(gameId): GameState`
- `getCommunityCards(gameId): Card[]`

## Publishing

### Validation

First, validate your package is ready:

```bash
npm run validate
```

This checks:
- ✅ Node.js version (>= 16)
- ✅ NPM login status
- ✅ Required files exist
- ✅ Package configuration

### Automated Publishing

Use the included publish script for easy publishing:

```bash
# Full automated publish (recommended)
npm run publish:package

# Or simple publish (less checks)
npm run publish:simple
```

The automated script will:
- ✅ Check prerequisites (Node.js, npm, login status)
- ✅ Clean previous builds
- ✅ Install dependencies
- ✅ Build C++ addon
- ✅ Run all tests
- ✅ Show package contents
- ✅ Ask for confirmation
- ✅ Publish to NPM
- ✅ Verify publication

### Manual Publishing

If you prefer to publish manually:

```bash
# Build and test
npm run build
npm test

# Publish
npm publish --access public

# Verify
npm info @pokerrdev/poker-engine
```

## License

MIT
npm package: @pokertools/types
Description: TypeScript type definitions for poker game engine
Author: A.Aurelius
Latest version: 1.0.1

# @pokertools/types

Pure TypeScript type definitions for poker game engine. This package contains zero runtime code - only type definitions.

## Installation

```bash
npm install @pokertools/types
```

## Usage

```typescript
import {
  Action,
  GameState,
  Player,
  Pot,
  ActionType,
  PlayerStatus,
  Street,
} from "@pokertools/types";

// Use types in your application
const player: Player = {
  id: "player1",
  name: "Alice",
  seat: 0,
  stack: 1000,
  hand: null,
  shownCards: null, // New: tracks which cards are visible at showdown
  status: PlayerStatus.WAITING,
  betThisStreet: 0,
  totalInvestedThisHand: 0,
  isSittingOut: false,
  timeBank: 30,
};

const action: Action = {
  type: ActionType.RAISE,
  playerId: "player1",
  amount: 100,
  timestamp: Date.now(),
};
```

## Type Exports

### Core Types

- `Action` - Player actions (fold, check, call, bet, raise, etc.)
- `GameState` - Complete game state
- `Player` - Player information
- `Pot` - Pot information (main and side pots)
- `Config` - Game configuration
- `PublicState` - Masked state for public view
- `HandHistory` - Hand history information

### Enums

- `ActionType` - All possible action types
- `PlayerStatus` - Player statuses (active, folded, all-in, etc.)
- `Street` - Betting rounds (preflop, flop, turn, river, showdown)

### Interfaces

All types are readonly and immutable by design.

## Philosophy

This package follows these principles:

1. **Pure Types Only** - No runtime code, no validation, no logic
2. **Immutable by Design** - All fields are readonly
3. **Zero Dependencies** - Lightweight for frontend use
4. **Single Source of Truth** - Used by engine, API, and SDK

## Related Packages

- `@pokertools/engine` - Game engine (depends on this package)
- `@pokertools/api` - REST/WebSocket API (depends on this package)
- `@pokertools/sdk` - Frontend SDK (depends on this package)

## License

MIT
npm package: @pokesol/pokesol-text-parser-ts
Description: a pokesol-text parser written in typescript
Author: megane42
Latest version: 0.5.0

# Installation

```sh
npm i @pokesol/pokesol-text-parser-ts
```

# Usage

```javascript
import { parse } from "@pokesol/pokesol-text-parser-ts"

const pokesolText = `
カイリュー @ あおぞらプレート
テラスタイプ: ステラ
特性: マルチスケイル
性格: さみしがり
166-204(252)-132(252)-105-105-101(4) *C0,D0
じしん / りゅうのまい / テラバースト / けたぐり
`

console.dir(parse(pokesolText), { depth: null })

{
  pokemonName: 'カイリュー',
  itemName: 'あおぞらプレート',
  abilityName: 'マルチスケイル',
  terastalName: 'ステラ',
  natureName: 'さみしがり',
  ivs: {
    hp: 31,
    attack: 31,
    defense: 31,
    specialAttack: 0,
    specialDefense: 0,
    speed: 31
  },
  evs: {
    hp: 0,
    attack: 252,
    defense: 252,
    specialAttack: 0,
    specialDefense: 0,
    speed: 4
  },
  actualValue: {
    hp: 166,
    attack: 204,
    defense: 132,
    specialAttack: 105,
    specialDefense: 105,
    speed: 101
  },
  moveNames: [ 'じしん', 'りゅうのまい', 'テラバースト', 'けたぐり' ]
}
```

# Release

- `npm run build`
- `npm link`
- Check the new behaviors
- Write CHANGELOG.md
- `git commit -m "add changelog for v*.*.*"`
- `npm version {major,minor,patch}`
- `npm publish`
npm package: @pokit/config
Description: Configuration types and utilities for pok
Latest version: 0.0.10

# @pokit/config

Configuration types and utilities for pok.

## Installation

```bash
bun add @pokit/config
```

## Usage

```ts
import { defineConfig } from '@pokit/config'
import { createReporterAdapter } from '@pokit/reporter-clack'
import { createPrompter } from '@pokit/prompter-clack'

export default defineConfig({
  reporter: createReporterAdapter(),
  prompter: createPrompter(),
})
```

## API

### `defineConfig(config: PokConfig): PokConfig`

Identity function for type inference in config files.

### `findConfigFile(startDir: string): { configPath: string; configDir: string } | null`

Search for a config file starting from the given directory, walking up the directory tree until found or reaching root.

### `validateConfig(config: unknown, configPath: string): ResolvedPokConfig`

Validate required config fields and return clear error messages.

### `CONFIG_TEMPLATE`

Template string for scaffolding new pok.config.ts files.

### `PokConfig`

Configuration type with the following fields:

- `reporter` (required) - Instantiated reporter adapter
- `prompter` (required) - Instantiated prompter
- `commandsDir` (optional) - Directory containing command files (defaults to './commands')
- `appDir` (optional) - Root directory of the pok CLI app (defaults to '.')
- `cwd` (optional) - Working directory for running commands (defaults to '.')
- `appName` (optional) - App name for CLI display
- `tabs` (optional) - Instantiated tabs adapter
- `version` (optional) - Version string for --version flag

### Adapter Types

The package exports minimal structural types for adapters:

- `ReporterAdapter` - Contract for reporter adapters
- `Prompter` - Contract for prompter adapters  
- `TabsAdapter` - Contract for tabs adapters

Full behavioral contracts are defined in `@pokit/core`.
npm package: @pokit/opentui
Description: OpenTUI adapters for tabs and fullscreen apps in pok CLI applications
Latest version: 0.0.48

# @pokit/opentui

OpenTUI adapters for `pok` tabbed execution and fullscreen interactive apps.

## Installation

```bash
bun add @pokit/opentui
```

## Usage

```ts
import { defineConfig } from '@pokit/core';
import { createTabsAdapter, createAppAdapter } from '@pokit/opentui';

export default defineConfig({
  tabs: createTabsAdapter(),
  app: createAppAdapter(),
});
```

## Exports

- `createTabsAdapter()`
- `createEventAdapter(bus, options?)`
- `createAppAdapter()`

See docs: `docs/packages/opentui.md`.
npm package: @pokit/prompter-clack
Description: Clack-based prompter adapter for pok CLI applications
Latest version: 0.0.48

# @pokit/prompter-clack

Interactive prompts adapter for pok using [Clack](https://github.com/natemoo-re/clack).

## Installation

```bash
bun add @pokit/prompter-clack
```

## Usage

```typescript
import { run } from '@pokit/core';
import { createPrompter } from '@pokit/prompter-clack';

await run(args, {
  prompter: createPrompter(),
  // ...
});
```

## Features

- Text input prompts
- Password/secret input
- Confirmation prompts
- Select menus (single choice)
- Multi-select menus

## What It Does

When a command defines required context fields that aren't provided via flags, pok uses the prompter to interactively request them:

```typescript
export const command = defineCommand({
  context: {
    env: {
      from: 'flag',
      schema: z.enum(['dev', 'staging', 'prod']),
      description: 'Target environment',
    },
  },
  run: async (r, ctx) => {
    // If --env not provided, prompter asks user to select
  },
});
```

```bash
$ mycli deploy
? Select environment > dev / staging / prod
```

## Documentation

See the [full documentation](https://github.com/openpok/pok/blob/main/docs/packages/prompter-clack.md).
npm package: @pokit/reporter-clack
Description: Clack-based event reporter for pok CLI applications
Latest version: 0.0.48

# @pokit/reporter-clack

Terminal output adapter for pok using [Clack](https://github.com/natemoo-re/clack).

## Installation

```bash
bun add @pokit/reporter-clack
```

## Usage

```typescript
import { run } from '@pokit/core';
import { createReporterAdapter } from '@pokit/reporter-clack';

await run(args, {
  reporterAdapter: createReporterAdapter(),
  // ...
});
```

## Features

- Styled log messages (info, success, warn, error)
- Progress spinners
- Grouped output with collapsible sections
- Activity indicators
- Unicode and ASCII symbol sets

## Options

```typescript
createReporterAdapter({
  output: {
    color: false,
    unicode: false,
    interactive: false,
    verbose: false,
  },
});
```

## Exports

```typescript
// Main adapter
import { createReporterAdapter } from '@pokit/reporter-clack';

// Symbol customization
import { getSymbols, UNICODE_SYMBOLS, ASCII_SYMBOLS } from '@pokit/reporter-clack';
```

## Documentation

See the [full documentation](https://github.com/openpok/pok/blob/main/docs/packages/reporter-clack.md).
npm package: @pokit/tabs-core
Description: Core tab management utilities for pok CLI applications
Latest version: 0.0.48

# @pokit/tabs-core

Shared logic for pok tabbed terminal UI adapters.

## Purpose

This package provides framework-agnostic types, state management, and process handling used by tabs adapter implementations like `@pokit/opentui`.

## Installation

```bash
bun add @pokit/tabs-core
```

Note: This is typically a dependency of adapter packages, not installed directly.

## Exports

### State Management

```typescript
import { createInitialState, reducer } from '@pokit/tabs-core';
```

### Process Manager

```typescript
import { ProcessManager } from '@pokit/tabs-core';
```

### Types

```typescript
import type { TabStatus, TabProcess, EventDrivenState } from '@pokit/tabs-core';
```

### Status Indicators

```typescript
import { STATUS_INDICATORS, getStatusIndicator } from '@pokit/tabs-core';
```

## Documentation

See the [full documentation](https://github.com/openpok/pok/blob/main/docs/packages/tabs-core.md).
npm package: @pokit/tabs-ink
Description: Ink-based tab renderer for pok CLI applications
Latest version: 0.0.46
Deprecated: Deprecated: use @pokit/opentui

# @pokit/tabs-ink

Tabbed terminal UI adapter for pok using [Ink](https://github.com/vadimdemedes/ink).

## Installation

```bash
bun add @pokit/tabs-ink
```

## Usage

```typescript
import { run } from '@pokit/core';
import { createTabsAdapter } from '@pokit/tabs-ink';

await run(args, {
  tabs: createTabsAdapter(),
  // ...
});
```

In commands:

```typescript
run: async (r) => {
  await r.tabs([r.exec('npm run dev'), r.exec('stripe listen')], { name: 'Development' });
};
```

## Features

- Full-screen tabbed interface
- Keyboard navigation (arrow keys, numbers)
- Scrollable output per tab
- Process lifecycle management
- Status indicators (running, success, error)

## Documentation

See the [full documentation](https://github.com/openpok/pok/blob/main/docs/packages/tabs-ink.md).
npm package: @pokkur/forkme
Description: Stick a 'Fork Me On GitHub' ribbon onto the page.
Author: Yoshiki Kobayashi
Latest version: 1.0.1

# @pokkur/Forkme

Stick a 'Fork Me On GitHub' ribbon onto the page.

## Usage

```js
import forkme from '@pokkur/forkme'
```

or

### browser

```html
```

```js
const Ribbon = new Forkme('pokkur/forkme', 'right')
```

# License

MIT © Pokkur
npm package: @pokle/basecoat-css
Description: Tailwind CSS for Basecoat components
Author: hunvreus
Latest version: 0.3.10-beta.fork

# basecoat-css

This package provides the core CSS styles for [Basecoat](https://basecoatui.com), a component library built with Tailwind CSS.

## Prerequisites

Your project must have [Tailwind CSS](https://tailwindcss.com/docs/installation) installed and configured, as Basecoat relies on Tailwind utility classes and theming.

## Installation

Install with any package manager:

```bash
npm install basecoat-css # or pnpm add / yarn add / bun add
```

## Usage

Add it just after Tailwind in your stylesheet:

```css
@import "tailwindcss";
@import "basecoat-css";
```

That's it, you can use any Basecoat class (`btn`, `card`, `input`, etc) in your markup.

### (Optional) JavaScript files

Some interactive components (Dropdown Menu, Popover, Select, Sidebar, Tabs, Toast) need some JavaScript.

With a build tool (ESM):

```js
import 'basecoat-css/all';
```

Or cherry-pick the components you need:

```js
import 'basecoat-css/tabs';
import 'basecoat-css/popover';
```

Without a build tool, copy the files from `node_modules`:

```bash
npx copyfiles -u 1 "node_modules/basecoat-css/dist/js/**/*" public/js/basecoat
```

Then reference what you need, e.g.

```html
<script src="/js/basecoat/tabs.min.js" defer></script>
```

## Documentation

For more detailed information on components, their usage, and customization options, please refer to the [Basecoat documentation](https://basecoatui.com/installation/#install-css).

## License

[MIT](https://github.com/hunvreus/basecoat/blob/main/LICENSE.md)
npm package: @pokooo/bb-api-mcp
Description: MCP server for bitbank-api TypeScript SDK
Latest version: 0.1.0

# @pokooo/bb-api-mcp

> [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server for [bitbank-api](https://github.com/poko/bitbank-api) — exposes the TypeScript SDK source to AI assistants via tools and resources.

[![npm](https://img.shields.io/npm/v/@pokooo/bb-api-mcp)](https://www.npmjs.com/package/@pokooo/bb-api-mcp)
[![license](https://img.shields.io/badge/license-MIT-blue)](LICENSE)
[![pnpm](https://img.shields.io/badge/packageManager-pnpm-orange)](https://pnpm.io)

---

## Tools

| Tool | Description |
|------|-------------|
| `list_sdk_files` | List all TypeScript source files in the bitbank-api SDK |
| `get_sdk_file` | Return the full content of a specific SDK source file |
| `search_sdk` | Search across all SDK source files for a keyword (case-insensitive, with file name and line number) |
| `get_api_overview` | Return a structured overview of all client classes and their public methods |

## Resources

| URI | Description |
|-----|-------------|
| `bitbank-api://overview` | Structured summary of all SDK clients and their methods |
| `bitbank-api://source/<path>` | Raw content of an individual SDK source file |

---

## Installation

```bash
pnpm install
pnpm build
```

**Requirements:** Node.js 18+, and the `bitbank-api` repository cloned locally.

---

## Quick Start

By default the server looks for the SDK at `../bitbank-api/src` relative to this package. Override with an environment variable:

```bash
export BITBANK_API_SRC_PATH=/path/to/bitbank-api/src
node dist/index.js
```

---

## Claude Desktop

Add the following to `~/Library/Application Support/Claude/claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "bb-api-mcp": {
      "command": "node",
      "args": ["/path/to/bb-api-mcp/dist/index.js"],
      "env": {
        "BITBANK_API_SRC_PATH": "/path/to/bitbank-api/src"
      }
    }
  }
}
```

---

## Configuration

| Environment Variable | Default | Description |
|----------------------|---------|-------------|
| `BITBANK_API_SRC_PATH` | `../bitbank-api/src` | Absolute path to the `bitbank-api` SDK `src` directory |

---

## Development

```bash
pnpm dev    # Watch mode (tsc --watch)
pnpm build  # Compile TypeScript
pnpm start  # Start the server
```

---

## License

[MIT](LICENSE)