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

@egintegrations/bot-cli

v0.1.0

Published

CLI for managing bots in the Agent Fleet Platform

Readme

Bot CLI

Command-line interface for managing bots in the Agent Fleet Platform.

Installation

pnpm install
pnpm build

Commands

create-bot

Create a new bot from template.

bot-cli create-bot [options]

Options:
  -n, --name <name>        Bot name
  -r, --runtime <runtime>  Runtime (node or python)
  -d, --dir <directory>    Output directory

Example:

bot-cli create-bot --name scheduler-bot --runtime node

register-bot

Register a bot with the orchestrator.

bot-cli register-bot [options]

Options:
  -m, --manifest <path>  Path to manifest.json
  -u, --url <url>        Bot URL

Example:

cd scheduler-bot
bot-cli register-bot --url http://localhost:3000

deploy-bot

Deploy bot via GitOps (creates PR).

bot-cli deploy-bot [options]

Options:
  -m, --manifest <path>       Path to manifest.json
  -e, --env <environment>     Environment (staging, production)
  -r, --repo <repo>           GitOps repository

Example:

bot-cli deploy-bot --env staging --repo myorg/deployments

list-bots

List all registered bots.

bot-cli list-bots [options]

Options:
  --status <status>  Filter by status (active, inactive)

Example:

bot-cli list-bots --status active

doctor

Check environment and dependencies.

bot-cli doctor

Checks:

  • Node.js version (>= 20.0.0)
  • Docker installation
  • kubectl installation
  • gh CLI installation (optional)
  • Environment variables
  • Orchestrator API connection

Configuration

Set environment variables:

export ORCHESTRATOR_API_URL=http://localhost:8000
export ORCHESTRATOR_API_KEY=your-api-key
export GITOPS_REPO=myorg/deployments

Or create a .env file:

ORCHESTRATOR_API_URL=http://localhost:8000
ORCHESTRATOR_API_KEY=your-api-key
GITOPS_REPO=myorg/deployments

Bot Manifest

The bot manifest (manifest.json) defines bot configuration:

{
  "name": "scheduler-bot",
  "version": "1.0.0",
  "description": "Manages calendar events and meeting scheduling",
  "runtime": "node",
  "image": "ghcr.io/yourorg/scheduler-bot:v1.0.0",
  "resources": {
    "cpu": "500m",
    "memory": "512Mi",
    "gpu": false
  },
  "scaling": {
    "min": 1,
    "max": 10,
    "targetCPU": 70
  },
  "capabilities": [
    {
      "name": "schedule_meeting",
      "description": "Create calendar event with Meet link",
      "parameters": {
        "title": "string",
        "attendees": "string[]",
        "start_time": "datetime",
        "duration_minutes": "number"
      }
    }
  ],
  "integrations": ["google-calendar", "google-meet"],
  "policies": {
    "requireApproval": false,
    "maxCostPerTask": 0.50,
    "rateLimit": "100/hour"
  },
  "endpoints": {
    "health": "/healthz",
    "readiness": "/readyz",
    "metrics": "/metrics",
    "tools": "/tools"
  }
}

Workflow

1. Create Bot

bot-cli create-bot --name my-bot --runtime node
cd my-bot
pnpm install

2. Develop Bot

Edit src/index.ts to implement your bot's capabilities.

pnpm dev

3. Register Bot

bot-cli register-bot --url http://localhost:3000

4. Deploy Bot

# Deploy to staging
bot-cli deploy-bot --env staging

# Review PR, get approval, merge

# Deploy to production
bot-cli deploy-bot --env production

GitOps Integration

The CLI integrates with GitHub for GitOps deployments:

  1. Generates Kubernetes manifests (Deployment, Service, HPA, ServiceMonitor)
  2. Creates feature branch in GitOps repo
  3. Commits manifests
  4. Opens pull request
  5. CI runs validation and security checks
  6. Team reviews and approves
  7. PR merge triggers Argo CD sync
  8. Bot deployed to cluster

Kubernetes Manifests

Generated manifests include:

  • deployment.yaml: Pod template, resources, probes
  • service.yaml: ClusterIP service for internal traffic
  • hpa.yaml: Horizontal Pod Autoscaler
  • servicemonitor.yaml: Prometheus metrics scraping

Testing

pnpm test

Development

# Watch mode
pnpm dev -- create-bot --name test-bot

# Build
pnpm build

# Run built version
node dist/index.js --help

Dependencies

  • commander: CLI framework
  • inquirer: Interactive prompts
  • axios: HTTP client
  • chalk: Terminal colors
  • ora: Loading spinners
  • zod: Schema validation
  • js-yaml: YAML generation

Related Packages

License

See LICENSE