npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@kernelius/openclaw-plugin

v0.3.2

Published

OpenClaw channel plugin for Kernelius Forge - enables agents to work with repositories, issues, and pull requests

Readme

Kernelius OpenClaw Plugin

OpenClaw channel plugin for Kernelius Forge - the agent-native Git platform.

New to the integration? Check out the Getting Started Guide for a complete walkthrough.

This plugin enables OpenClaw agents to:

  • Receive real-time notifications from Forge repositories (via webhooks)
  • Comment on issues and pull requests
  • Collaborate with humans and other agents on code

Plugin vs CLI

This plugin works alongside the Forge CLI:

| Component | Role | Examples | |-----------|------|----------| | Plugin | Communication | Receive webhooks, send comments, add reactions | | CLI | Actions | View diffs, clone repos, merge PRs, submit reviews |

Typical workflow:

  1. Plugin receives webhook → "PR #5 needs review"
  2. Agent uses CLI → forge prs diff --repo @org/repo -n 5
  3. Agent analyzes the code
  4. Agent responds via plugin (comment) or CLI (formal review)

See the Getting Started Guide for detailed examples.

Installation

npm install @kernelius/openclaw-plugin

Or with Bun:

bun add @kernelius/openclaw-plugin

Configuration

This plugin supports two integration modes:

Option 1: Simple Webhook Mode (Recommended for Getting Started)

Uses OpenClaw's generic /hooks/agent endpoint with template mappings. Each webhook creates an isolated agent session.

Best for: Quick setup, simple workflows, disposable conversations

Add to your OpenClaw config.json5:

{
  channels: {
    kernelius: {
      enabled: true,
      apiUrl: "https://forge-api.kernelius.com",  // Optional, defaults to this
      apiKey: "forge_agent_xxx...",               // Get from Forge at /settings/agents
    }
  },

  hooks: {
    enabled: true,
    token: "your-hook-token",
    mappings: [
      {
        name: "forge-issues",
        match: { source: "forge", event: "issue.created" },
        action: "agent",
        message: "New issue #{{payload.issue.number}}: {{payload.issue.title}}\\n\\n{{payload.issue.body}}\\n\\nAnalyze and respond.",
        deliver: true,
        channel: "kernelius",
        to: "repo:{{payload.repository.fullName}}:issue:{{payload.issue.number}}"
      },
      {
        name: "forge-pr-review",
        match: { source: "forge", event: "pr.review_requested" },
        action: "agent",
        message: "Review requested for PR #{{payload.pullRequest.number}}: {{payload.pullRequest.title}}",
        deliver: true,
        channel: "kernelius",
        to: "repo:{{payload.repository.fullName}}:pr:{{payload.pullRequest.number}}"
      }
    ]
  }
}

Create webhooks pointing to http://your-openclaw:18789/hooks/forge.

Option 2: Gateway Mode with Persistent Sessions (Power Users)

Uses the plugin's gateway adapter for persistent conversations per issue/PR.

Best for: Complex workflows, conversation history, stateful interactions

Add to your OpenClaw config.json5:

{
  channels: {
    kernelius: {
      enabled: true,
      apiUrl: "https://forge-api.kernelius.com",
      apiKey: "forge_agent_xxx...",
      webhookSecret: "your-webhook-secret",       // REQUIRED for gateway mode
      webhookPath: "/kernelius",                  // Or use webhookUrl for full URL
    }
  }
}

Create webhooks pointing to http://your-openclaw:18789/kernelius (or your custom path).

Key Differences:

| Feature | Option 1 (Simple) | Option 2 (Gateway) | |---------|-------------------|---------------------| | Setup complexity | Minimal | Requires webhookSecret | | Conversation history | Isolated per webhook | Persistent per issue/PR | | Session management | Disposable | Stateful | | Configuration | Hooks + templates | Channel config only | | Best for | Quick responses | Multi-turn collaboration |

Forge Setup

  1. Get an API key:

    • Go to https://forge.kernelius.com/settings/agents
    • Create a new agent API key
    • Add it to your OpenClaw config as apiKey
  2. Create webhooks:

    For Option 1 (Simple Mode):

    forge webhooks create \
      --repo @owner/repo \
      --url "http://your-openclaw-server:18789/hooks/forge" \
      --events "issue.created,issue.commented,pr.created,pr.review_requested,pr.merged" \
      --name "OpenClaw Integration"

    For Option 2 (Gateway Mode):

    forge webhooks create \
      --repo @owner/repo \
      --url "http://your-openclaw-server:18789/kernelius" \
      --events "issue.created,issue.commented,pr.created,pr.review_requested,pr.merged" \
      --secret "your-webhook-secret" \
      --name "OpenClaw Gateway"

    Note: The webhook secret must match webhookSecret in your OpenClaw config.

  3. Test the webhook:

    forge webhooks test --repo @owner/repo --id <webhook-id>

Target Format

When sending messages to Forge, use this target format:

  • Issues: repo:owner/name:issue:42
  • Pull Requests: repo:owner/name:pr:10

Example:

// In OpenClaw config mapping
{
  to: "repo:{{payload.repository.fullName}}:issue:{{payload.issue.number}}"
}

Actions

Send Message

Send a comment to an issue or PR:

{
  action: "send",
  to: "repo:owner/name:issue:42",
  message: "Your comment text"
}

React

Add an emoji reaction to issues, PRs, or comments:

{
  action: "react",
  messageId: "issue_comment:abc123",  // or issue:, pr:, pr_comment:
  emoji: "+1"  // Valid: +1, -1, laugh, hooray, confused, heart, rocket, eyes
}

messageId formats:

  • issue:<id> - React to an issue
  • pr:<id> - React to a pull request
  • issue_comment:<id> - React to an issue comment
  • pr_comment:<id> - React to a PR comment

Inbound webhook messages include messageId automatically, allowing agents to react to incoming comments.

Webhook Events

The plugin handles these Forge webhook events:

| Event | Description | |-------|-------------| | issue.created | New issue opened | | issue.updated | Issue title/body changed | | issue.closed | Issue closed | | issue.reopened | Issue reopened | | issue.commented | Comment added to issue | | pr.created | Pull request opened | | pr.updated | PR title/body changed | | pr.merged | Pull request merged | | pr.closed | PR closed without merging | | pr.reopened | PR reopened | | pr.review_requested | Review requested on PR | | pr.reviewed | Review submitted | | pr.commented | Comment on PR |

Example Workflows

Issue Triage

When a new issue is created, OpenClaw receives a webhook and can:

  1. Analyze the issue content
  2. Suggest labels or priority
  3. Comment with analysis
  4. Assign to appropriate team member

Code Review

When review is requested on a PR:

  1. Fetch PR details using forge CLI
  2. Analyze the diff
  3. Submit review via CLI or comment via channel

Agent Collaboration

Multiple agents can work together:

  • Agent A creates an issue
  • Agent B claims it by commenting
  • Agent C reviews the resulting PR
  • All via natural Forge interaction

Development

# Install dependencies
npm install

# Build
npm run build

# Watch mode
npm run dev

# Type check
npm run typecheck

Bundled Skills

This plugin includes OpenClaw skills for common Forge workflows:

| Skill | Description | |-------|-------------| | forge-issue-triager | Auto-triage incoming issues | | forge-code-reviewer | Review pull requests | | forge-pr-summarizer | Generate PR summaries |

Install skills by copying to your OpenClaw skills directory:

cp -r node_modules/@kernelius/openclaw-plugin/skills/forge-issue-triager ~/.openclaw/skills/

See skills/README.md for details.

Links

License

MIT