open-index/open-npm huggingface dataset:
npm package: @stringzhao/auth-sdk
Description: Token verification SDK for Base Account.
Latest version: 0.1.1

# @stringzhao/auth-sdk

Token verification SDK for Base Account.

## Install

```bash
npm install @stringzhao/auth-sdk
```

## Usage

### Verify with JWKS URL

```ts
import { createRemoteJwksVerifier } from "@stringzhao/auth-sdk";

const verifier = createRemoteJwksVerifier({
  jwksUrl: "https://user.stringzhao.life/.well-known/jwks.json",
  config: {
    issuer: "https://user.stringzhao.life",
    audience: "base-account-client"
  }
});

const payload = await verifier.verifyAccessToken(token);
console.log(payload.sub, payload.email, payload.displayName, payload.avatarUrl, payload.status);
```

### Verify with RSA public key

```ts
import { verifyAccessTokenWithPublicKey } from "@stringzhao/auth-sdk";

const payload = await verifyAccessTokenWithPublicKey({
  token,
  publicKeyPem,
  config: {
    issuer: "https://user.stringzhao.life",
    audience: "base-account-client"
  }
});
```

## Token claims

The SDK validates JWT signature/issuer/audience and requires these claims:

- `sub`
- `email`
- `displayName` (nullable)
- `avatarUrl` (nullable)
- `status`
npm package: @stringzhao/base-account-cli
Description: CLI tool for AI agents to interact with base-account system
Latest version: 0.2.3

# @stringzhao/base-account-cli

CLI tool for AI agents to interact with the base-account system.

## Install

```bash
npm install -g @stringzhao/base-account-cli
```

## Authentication

### API Key (recommended for AI agents)

```bash
export BA_API_KEY=ba_k_xxxxxxxx
ba admin users list
```

### Interactive Login

```bash
ba login
```

## Commands

Commands are dynamically fetched from the server. After authentication:

```bash
ba admin users list
ba admin services list
ba admin api-keys create --name "my-key"
ba whoami
```

Run `ba --help` for all available commands.

## Release & Publish

This repository is configured to publish to npm with GitHub Actions.

### Trigger

Pushing a tag that matches `v<package.json version>` triggers `.github/workflows/npm-publish.yml`.

Example:

```bash
npm version patch
git push origin main --follow-tags
```

### Authentication

The workflow supports two publish modes:

1. Recommended: npm trusted publishing with GitHub Actions OIDC.
2. Fallback: add a repository secret named `NPM_TOKEN`.

For trusted publishing, create a trusted publisher for package `@stringzhao/base-account-cli` in npm and bind it to:

- GitHub owner: `strzhao`
- Repository: `base-account-cli`
- Workflow file: `npm-publish.yml`

Once configured, tag pushes like `v0.2.1` will automatically run tests, build the CLI, and publish the package.
npm package: @stringzhao/codex-mcp
Description: MCP server wrapping Codex CLI for AI agent access
Latest version: 1.0.1

# codex-mcp-server

MCP server that wraps the [Codex CLI](https://github.com/openai/codex) so other AI agents can use it as a tool.

## Tools

### `codex_exec`
Run Codex non-interactively with a prompt. Codex can read/write files, run shell commands, and perform complex software engineering tasks.

### `codex_review`
Run code reviews using Codex. Supports reviewing against a base branch, specific commits, or uncommitted changes.

## Setup

```bash
npm install
npm run build
```

## Usage

### With Claude Code

Add to your Claude Code MCP config (`~/.claude/settings.json` or project `.mcp.json`):

```json
{
  "mcpServers": {
    "codex": {
      "command": "node",
      "args": ["/path/to/codex-mcp-server/dist/index.js"]
    }
  }
}
```

### With any MCP client (stdio)

```bash
node dist/index.js
```

## Prerequisites

- [Codex CLI](https://github.com/openai/codex) installed and authenticated (`codex login`)
- Node.js >= 18
npm package: @stringzhao/gemini-mcp
Description: MCP server that wraps Google Gemini CLI, enabling other models to call Gemini
Latest version: 1.0.3

# gemini-mcp-server

MCP server that wraps the [Google Gemini CLI](https://github.com/google-gemini/gemini-cli), letting other AI models (Claude, GPT, etc.) call Gemini through the Model Context Protocol.

## Prerequisites

- Node.js >= 18
- Gemini CLI installed and authenticated: `npm install -g @google/gemini-cli`

## Install & Build

```bash
npm install
npm run build
```

## Usage with Claude Code

Add to your Claude Code MCP settings (`~/.claude/settings.json` or project `.claude/settings.json`):

```json
{
  "mcpServers": {
    "gemini": {
      "command": "node",
      "args": ["/absolute/path/to/gemini-mcp/dist/index.js"]
    }
  }
}
```

## Tools

### `gemini_prompt`

Send a prompt to Gemini CLI in non-interactive mode.

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `prompt` | string | *(required)* | The prompt to send |
| `model` | string | CLI default | Gemini model (e.g. `gemini-2.5-pro`) |
| `sandbox` | boolean | `false` | Run in sandbox mode |
| `yolo` | boolean | `false` | Auto-approve all tool actions |
| `cwd` | string | server cwd | Working directory |
| `timeout_ms` | number | `120000` | Timeout in ms |
| `output_format` | string | `text` | `text`, `json`, or `stream-json` |

### `gemini_version`

Returns the installed Gemini CLI version.
npm package: @stripchatdev/create-stripchat-extension
Description: CLI tool for creating new Stripchat extension projects.
Latest version: 0.1.7

# create-stripchat-extension

CLI tool for creating new Stripchat extension projects.

The generated project includes a Vite build setup, extension manifest, slot entry points, and a `resolveSlotPage` resolver -- everything needed to start developing and building an extension. [Read the docs to learn more](https://extensions.stripchat.com/docs/).

## Quick start

With NPM:
```bash
npm create @stripchatdev/stripchat-extension
```

With Yarn:
```bash
yarn dlx @stripchatdev/create-stripchat-extension
```

With PNPM:
```bash
pnpm create @stripchatdev/stripchat-extension
```

With Bun:
```bash
bun create @stripchatdev/stripchat-extension
```

Then follow the prompts to set up your new extension project.

You can also provide options directly via CLI arguments. For example:
```bash
npm create @stripchatdev/stripchat-extension -- --name=my-extension --category=games-and-fun
```