open-index/open-npm huggingface dataset:
npm package: @renfei/adblock-detect-react
Description: Provides utilities to check if ad block is enabled on a page via both a React hook and a wrapper component.
Author: https://github.com/renfei
Latest version: 1.1.2

# adblock-detect-react

## Description

Provides utilities to check if ad block is enabled on a page via either a React hook or a wrapper component.

## Example Usage

### useDetectAdBlock hook

```tsx
import React from "react";
import { useDetectAdBlock } from "@renfei/adblock-detect-react";

const SomeFunctionalComponent = () => {
  const adBlockDetected = useDetectAdBlock();

  React.useEffect(() => {
    if (adBlockDetected) {
      window.alert("ad block detected");
    }
  }, []);

  return <div>{adBlockDetected && "Hello Ad Blocked Page"}</div>;
};
```

### AdBlockDetectedWrapper component

```tsx
import React from "react";
import { AdBlockDetectedWrapper } from "@renfei/adblock-detect-react";

const SomeFunctionalComponent = () => {
  return (
    <AdBlockDetectedWrapper>
      <div>{"Hello Ad Blocked Page"}</div>
    </AdBlockDetectedWrapper>
  );
};
```
npm package: @renfeng/ai-code-review
Description: MCP servers for AI-assisted code review: git operations and GitLab API tools
Author: Frank Ren
Latest version: 1.7.0

# AI Code Review

A Kiro workspace for AI-assisted code review automation — skills, a custom agent, and a power backed by two MCP servers.

## What's Included

### Skills (auto-registered)

| Skill | Description |
|-------|-------------|
| `code-change-review` | Platform-agnostic diff analysis. Traces callers, types, imports, tests. Produces structured findings JSON. |
| `gitlab-mr-review` | End-to-end GitLab MR review. Clones, analyzes, posts draft notes, publishes with verdict. Supports batch reviews. |
| `gitlab-todo-triage` | GitLab todo list cleanup. Marks merged/closed/draft MRs as done, delegates open MRs for review. |

### Agent (auto-registered)

`Code Change Reviewer` — subagent used by `gitlab-mr-review` for code analysis. Reads diffs in full codebase context and produces structured findings.

### Power (manual import)

`code-review` — two MCP servers from the `@renfeng/ai-code-review` npm package:
- `git` — platform-agnostic git operations (clone, diff, show, log, grep)
- `gitlab` — GitLab API tools (MR metadata, draft notes, publish, todos)

## Usage

### 1. Add as a workspace folder

Add this repo to your `.code-workspace` file:

```json
{
  "folders": [
    { "name": "ai-code-review", "path": "../path/to/ai-code-review" }
  ]
}
```

This auto-registers the skills and the `Code Change Reviewer` agent.

### 2. Install the power

The power provides the MCP servers that the skills depend on.

In Kiro: Powers panel → Add power from Local Path → select `.kiro/powers/code-review/` within this repo.

To update the power after pulling new changes: reinstall from the same path.

## Prerequisites

- Node.js 18+ (for `npx` to run the MCP servers)
- GitLab authentication via one of: `GITLAB_TOKEN` + `GITLAB_URL` env vars in the power's `mcp.json`, or `glab` CLI (`glab auth login`)
- SSH keys configured for git clone operations

## Troubleshooting

### 401 "Token is expired" when using glab OAuth

The `gitlab` MCP server reads the token from the `glab` config file but does not perform OAuth refresh. If the token has expired, API calls fail with `401 Unauthorized`.

Fix: run `glab auth status` — this silently refreshes the OAuth token and writes it to disk. The MCP server picks up the new token on the next call, no restart needed.

## Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md).

## License

MIT
npm package: @renfeng/cli-mcp-server
Description: MCP server that wraps CLI tools (mvn, git, gradle, etc.) as individual MCP tools over stdio
Author: Frank Ren
Latest version: 0.3.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# terminal

An MCP server that exposes a single `execute` tool for running any CLI command over stdio. Uses `execFile` (no shell) to prevent injection.

## Quick Start

```bash
npx @renfeng/cli-mcp-server
```

## MCP Configuration

```json
{
  "mcpServers": {
    "terminal": {
      "command": "npx",
      "args": ["-y", "@renfeng/cli-mcp-server@0.2"],
      "autoApprove": ["execute"]
    }
  }
}
```

Remove `execute` from `autoApprove` to require user confirmation for every call.

## Tool: `execute`

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `command` | `string` | Yes | The CLI to run (e.g. `mvn`, `git`, `gradle`) |
| `args` | `string[]` | Yes | Arguments to pass |
| `cwd` | `string` | No | Working directory |
| `timeout` | `number` | No | Timeout in ms (default: 30000) |

### Examples

```json
{ "command": "mvn", "args": ["clean", "install", "-DskipTests"] }
{ "command": "git", "args": ["log", "--oneline", "-10"] }
{ "command": "gradle", "args": ["build", "--info"] }
{ "command": "docker", "args": ["ps"] }
{ "command": "kubectl", "args": ["get", "pods"] }
```

## Response Format

```
<stdout>
[stderr]
<stderr output>
[exit code: N]
```

Non-zero exit codes set `isError: true` in the MCP response.

## Environment Variables

| Variable | Default | Description |
|----------|---------|-------------|
| `CLI_TIMEOUT` | `30000` | Default execution timeout in milliseconds |

## Security

- `execFile` runs commands directly — no shell interpretation, no injection via args
- Trust is managed by Kiro's `autoApprove` in `mcp.json`
- The server has no allowlist — Kiro is the gatekeeper

## Development

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

## License

MIT
npm package: @renfeng/kiro-code-review
Description: MCP servers for AI-assisted code review: git operations and GitLab API tools
Author: Frank Ren
Latest version: 1.10.0

# AI Code Review

A Kiro workspace for AI-assisted code review automation — skills, a custom agent, and a power backed by two MCP servers.

## What's Included

### Skills (auto-registered)

| Skill | Description |
|-------|-------------|
| `code-change-review` | Platform-agnostic diff analysis. Traces callers, types, imports, tests. Produces structured findings JSON. |
| `gitlab-mr-review` | End-to-end GitLab MR review. Clones, analyzes, posts draft notes, publishes with verdict. Supports batch reviews. |
| `gitlab-todo-triage` | GitLab todo list cleanup. Marks merged/closed/draft MRs as done, delegates open MRs for review. |

### Agent (auto-registered)

`Code Change Reviewer` — subagent used by `gitlab-mr-review` for code analysis. Reads diffs in full codebase context and produces structured findings.

### Power (manual import)

`code-review` — two MCP servers from the `@renfeng/kiro-code-review` npm package:
- `git` — platform-agnostic git operations (clone, diff, show, log, grep)
- `gitlab` — GitLab API tools (MR metadata, draft notes, publish, todos)

## Usage

### 1. Add as a workspace folder

Add this repo to your `.code-workspace` file:

```json
{
  "folders": [
    { "name": "ai-code-review", "path": "../path/to/ai-code-review" }
  ]
}
```

This auto-registers the skills and the `Code Change Reviewer` agent.

### 2. Install the power

The power provides the MCP servers that the skills depend on.

In Kiro: Powers panel → Add power from Local Path → select `.kiro/powers/code-review/` within this repo.

To update the power after pulling new changes: reinstall from the same path.

## Prerequisites

- Node.js 18+ (for `npx` to run the MCP servers)
- GitLab authentication via one of: `GITLAB_TOKEN` + `GITLAB_URL` env vars in the power's `mcp.json`, or `glab` CLI (`glab auth login`)
- SSH keys configured for git clone operations

## Troubleshooting

### 401 "Token is expired" when using glab OAuth

The `gitlab` MCP server reads the token from the `glab` config file but does not perform OAuth refresh. If the token has expired, API calls fail with `401 Unauthorized`.

Fix: run `glab auth status` — this silently refreshes the OAuth token and writes it to disk. The MCP server picks up the new token on the next call, no restart needed.

## Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md).

## License

MIT
npm package: @renfeng/kiro-self-service
Description: Kiro self-service MCP server — install powers, reconnect MCP servers
Author: renfeng
Latest version: 0.1.0

# self-kirospace

[Kiro](https://kiro.dev) self-service: skills and an MCP server for managing Kiro powers.

## What This Is

A repo that provides:
- An MCP server (`@renfeng/kiro-self-service`) with tools for installing powers and reconnecting MCP servers
- A `power-developer` skill with shell scripts as a bootstrap fallback
- A `self` power that bundles the MCP server for use in Kiro

## Usage

Add as a workspace folder alongside any kirospace repo:

```json
{
  "folders": [
    { "name": "self-kirospace", "path": "../self-kirospace" },
    { "name": "ai-code-review", "path": "../ai-code-review-kirospace" }
  ]
}
```

Then ask Kiro: "register the code-review power locally" or "register the published terminal power".

## MCP Tools

| Tool | Description |
|------|-------------|
| `install_power` | Register a power from local build or published npm package |
| `reconnect_power` | Restart MCP servers for a power via disabled flag toggle |

## Supported Powers

| Power | Source Repo |
|-------|------------|
| code-review | ai-code-review-kirospace |
| terminal | terminal-kirospace |
| browser | browser-kirospace |
npm package: @renfeng/terminal
Description: MCP server providing terminal/CLI tool execution for Kiro IDE — wraps mvn, git, gradle, and other CLI tools as MCP tools over stdio
Author: Frank Ren
Latest version: 0.4.0

# terminal

An MCP server that exposes a single `execute` tool for running any CLI command over stdio. Uses `execFile` (no shell) to prevent injection.

## Quick Start

```bash
npx @renfeng/terminal
```

## MCP Configuration

```json
{
  "mcpServers": {
    "terminal": {
      "command": "npx",
      "args": ["-y", "@renfeng/terminal@0.4"],
      "autoApprove": ["execute"]
    }
  }
}
```

Remove `execute` from `autoApprove` to require user confirmation for every call.

## Tool: `execute`

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `command` | `string` | Yes | The CLI to run (e.g. `mvn`, `git`, `gradle`) |
| `args` | `string[]` | Yes | Arguments to pass |
| `cwd` | `string` | No | Working directory |
| `timeout` | `number` | No | Timeout in ms (default: 30000) |

### Examples

```json
{ "command": "mvn", "args": ["clean", "install", "-DskipTests"] }
{ "command": "git", "args": ["log", "--oneline", "-10"] }
{ "command": "gradle", "args": ["build", "--info"] }
{ "command": "docker", "args": ["ps"] }
{ "command": "kubectl", "args": ["get", "pods"] }
```

## Response Format

```
<stdout>
[stderr]
<stderr output>
[exit code: N]
```

Non-zero exit codes set `isError: true` in the MCP response.

## Environment Variables

| Variable | Default | Description |
|----------|---------|-------------|
| `CLI_TIMEOUT` | `30000` | Default execution timeout in milliseconds |

## Security

- `execFile` runs commands directly — no shell interpretation, no injection via args
- Trust is managed by Kiro's `autoApprove` in `mcp.json`
- The server has no allowlist — Kiro is the gatekeeper

## Development

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

## License

MIT