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

eazepro-cli

v1.1.0

Published

CLI tool for EazePro catering management system - Moltbot integration

Readme

EazePro CLI

Command-line interface for managing your EazePro catering business. Full CRUD operations for orders, customers, invoices, estimates, products, drivers, and more.

Installation

npm install -g eazepro-cli

Quick Start

# Login to your EazePro instance
eazepro login

# List today's orders
eazepro orders today

# Create a new order
eazepro orders create --customer <id> --event-date 2026-02-15 --item "Lunch:25:15.00"

# Check unpaid invoices
eazepro invoices unpaid

Authentication

Login with email/password (recommended)

eazepro login

This will:

  1. Prompt for your API URL (defaults to https://www.eazepro.tech/api/trpc)
  2. Prompt for your email and password
  3. Authenticate and automatically create an API key
  4. Save the configuration to ~/.eazepro/config.json

Manual configuration

eazepro configure --api-key ep_your_api_key --api-url https://www.eazepro.tech/api/trpc

Environment Variables

export EAZEPRO_API_KEY=ep_your_api_key
export EAZEPRO_API_URL=https://www.eazepro.tech/api/trpc

Other auth commands

eazepro whoami                                  # Show current user info
eazepro logout                                  # Remove saved credentials
eazepro config                                  # View current configuration

Commands

Orders

# List orders
eazepro orders list                              # List all orders
eazepro orders list --status CONFIRMED           # Filter by status
eazepro orders list --from 2026-01-01 --to 2026-01-31  # Filter by date range
eazepro orders list --customer <customerId>      # Filter by customer

# Get order details
eazepro orders get <id>

# Create order
eazepro orders create --customer <id> --event-date 2026-02-15 --item "Lunch:10:15.00"

# Update order
eazepro orders update <id> --event-date 2026-02-20 --guests 100
eazepro orders update <id> --status READY
eazepro orders update <id> --item "New Item:5:20.00"  # Replace all items

# Status shortcuts
eazepro orders update-status <id> READY
eazepro orders update-status <id> OUT_FOR_DELIVERY
eazepro orders update-status <id> DELIVERED

# Cancel order
eazepro orders cancel <id> --reason "Event cancelled"

# Convenience filters
eazepro orders today                             # List today's orders
eazepro orders upcoming                          # List orders for next 7 days
eazepro orders confirmed                         # List confirmed orders

Create Order Options

| Option | Description | |--------|-------------| | -c, --customer <id> | Customer ID | | --event-date <date> | Event date (YYYY-MM-DD) | | --event-time <time> | Event time (HH:MM) | | --guests <count> | Estimated guest count | | --address <address> | Delivery address line 1 | | --address2 <address> | Delivery address line 2 | | --city <city> | Delivery city | | --state <state> | Delivery state/province | | --postal <code> | Delivery postal/ZIP code | | --country <country> | Delivery country | | --contact <name> | Contact person name | | --phone <phone> | Contact person phone | | --instructions <text> | Delivery instructions | | --cc <emails> | CC email addresses | | -i, --item <item> | Order item (repeatable) | | --tax-rate <rate> | Tax rate % (default: 13) | | --discount <amount> | Discount amount (default: 0) | | -s, --status <status> | Order status (default: CONFIRMED) | | --notes <text> | Internal notes | | --driver <id> | Driver ID | | --driver-payout <amount> | Driver payout amount |

Item format: name:quantity:unitPrice[:notes]

  • Example: "Sandwich Platter:10:25.00"
  • With notes: "Beverage Package:50:5.00:Include water bottles"

Order statuses: DRAFT, CONFIRMED, READY, OUT_FOR_DELIVERY, DELIVERED, CANCELLED

Customers

# List and search
eazepro customers list                           # List all customers
eazepro customers list --search "john"           # Search customers
eazepro customers get <id>                       # Get customer details with history
eazepro customers search "acme corp"             # Search by name/company/email

# Create customer
eazepro customers create --name "John Doe" --email "[email protected]"
eazepro customers create \
  --name "Jane Smith" \
  --email "[email protected]" \
  --first-name "Jane" \
  --last-name "Smith" \
  --company "Acme Corp" \
  --phone "416-555-1234" \
  --address "123 Main St" \
  --city "Toronto" \
  --state "ON" \
  --postal "M5V 1A1" \
  --country "Canada"

# Update customer
eazepro customers update <id> --name "John Smith Jr."
eazepro customers update <id> --email "[email protected]" --phone "647-555-9999"

# Delete customer
eazepro customers delete <id>

Create Customer Options

| Option | Description | |--------|-------------| | -n, --name <name> | Display name (required) | | -e, --email <email> | Email address (required) | | --first-name <name> | First name | | --last-name <name> | Last name | | -c, --company <name> | Company name | | -p, --phone <phone> | Phone number | | --address <address> | Street address | | --address2 <address> | Address line 2 | | --city <city> | City | | --state <state> | State/Province | | --postal <code> | Postal code | | --country <country> | Country | | --notes <notes> | Notes |

Invoices

# List invoices
eazepro invoices list                           # List all invoices
eazepro invoices list --status SENT             # List sent invoices
eazepro invoices list --status PAID             # List paid invoices
eazepro invoices list --customer <customerId>   # Filter by customer

# Get invoice details
eazepro invoices get <id>

# Create invoice from order
eazepro invoices create --order <orderId>
eazepro invoices create --order <orderId> --due-date 2026-02-28 --discount 50

# Update invoice
eazepro invoices update <id> --status SENT
eazepro invoices update <id> --due-date 2026-03-15 --notes "Extended payment terms"
eazepro invoices update <id> --item "Line Item:1:100.00"  # Replace items

# Send and mark paid
eazepro invoices send <id>                      # Send invoice via email
eazepro invoices mark-paid <id>                 # Mark invoice as paid
eazepro invoices mark-paid <id> --amount 500 --method CREDIT_CARD

# Convenience filters
eazepro invoices unpaid                         # List unpaid invoices
eazepro invoices overdue                        # List overdue invoices

Create Invoice Options

| Option | Description | |--------|-------------| | -o, --order <id> | Order ID (required) | | --due-date <date> | Payment due date (YYYY-MM-DD) | | --discount <amount> | Discount amount | | --notes <notes> | Notes | | --terms <terms> | Terms and conditions |

Invoice statuses: DRAFT, SENT, VIEWED, PAID, PARTIALLY_PAID, OVERDUE, CANCELLED

Estimates

# List estimates
eazepro estimates list                           # List all estimates
eazepro estimates list --status SENT             # Filter by status
eazepro estimates list --customer <customerId>   # Filter by customer

# Get estimate details
eazepro estimates get <id>

# Create estimate
eazepro estimates create \
  --customer <customerId> \
  --item "Catering Package:50:25.00" \
  --item "Beverage Service:50:8.00" \
  --event-date 2026-03-15 \
  --guests 50

# Update estimate
eazepro estimates update <id> --expiry 2026-02-28
eazepro estimates update <id> --item "Updated Package:60:30.00"
eazepro estimates update <id> --notes "Revised based on feedback"

# Send estimate
eazepro estimates send <id>                      # Send estimate via email

# Convenience filters
eazepro estimates pending                        # List pending estimates
eazepro estimates accepted                       # List accepted estimates

Create Estimate Options

| Option | Description | |--------|-------------| | -c, --customer <id> | Customer ID (required) | | -i, --item <item> | Item (required, repeatable) | | -o, --order <id> | Link to order ID | | --expiry <date> | Expiry date (YYYY-MM-DD) | | --event-date <date> | Event date (YYYY-MM-DD) | | --event-time <time> | Event time (HH:MM) | | --guests <count> | Estimated guest count | | --delivery-date <date> | Delivery date | | --address <address> | Delivery address | | --city <city> | Delivery city | | --state <state> | Delivery state/province | | --postal <code> | Postal code | | --country <country> | Country | | --contact <name> | Contact person name | | --phone <phone> | Contact person phone | | --instructions <text> | Delivery instructions | | --tax-rate <rate> | Tax rate % (default: 13) | | --discount <amount> | Discount amount | | --notes <notes> | Notes | | --terms <terms> | Terms and conditions |

Estimate statuses: DRAFT, SENT, VIEWED, ACCEPTED, REJECTED, EXPIRED, CONVERTED

Products

# List products
eazepro products list                            # List all products
eazepro products list --active                   # List active products only

# Get product details
eazepro products get <id>

# Create product
eazepro products create --name "Sandwich Platter" --price 25.00
eazepro products create \
  --name "Premium Lunch Box" \
  --price 35.00 \
  --description "Includes sandwich, salad, drink, and dessert"

# Update product
eazepro products update <id> --price 30.00
eazepro products update <id> --name "Deluxe Sandwich Platter"
eazepro products update <id> --inactive          # Deactivate product
eazepro products update <id> --active            # Reactivate product

# Delete product
eazepro products delete <id>

Create Product Options

| Option | Description | |--------|-------------| | -n, --name <name> | Product name (required) | | -p, --price <price> | Unit price (required) | | -d, --description <desc> | Description | | --inactive | Create as inactive |

Drivers

# List drivers
eazepro drivers list                             # List all drivers
eazepro drivers list --active                    # List active drivers only

# Get driver details
eazepro drivers get <id>

# Create driver
eazepro drivers create --name "John Driver"
eazepro drivers create --name "Jane Driver" --phone "416-555-1234" --notes "Part-time weekends"

# Update driver
eazepro drivers update <id> --phone "647-555-9999"
eazepro drivers update <id> --notes "Available Mon-Fri"

# Delete driver
eazepro drivers delete <id>

Create Driver Options

| Option | Description | |--------|-------------| | -n, --name <name> | Driver name (required) | | -p, --phone <phone> | Phone number | | --notes <notes> | Notes |

Reports

eazepro reports revenue                          # Revenue report (last month)
eazepro reports revenue --period week            # Last week
eazepro reports revenue --period month           # Last month
eazepro reports revenue --period quarter         # Last quarter
eazepro reports revenue --period year            # Last year
eazepro reports revenue --from 2026-01-01 --to 2026-01-31  # Custom date range
eazepro reports orders                           # Orders statistics
eazepro reports orders --period month            # Orders for last month

Payments

eazepro payments list                            # List all payments
eazepro payments list --invoice <invoiceId>      # Filter by invoice
eazepro payments list --status COMPLETED         # Filter by status

Payment statuses: PENDING, COMPLETED, FAILED, REFUNDED

Output Format

By default, output is formatted for human readability with colors and tables.

Use --json flag for raw JSON output (useful for scripting):

eazepro orders list --json
eazepro customers get <id> --json

JSON output format:

{
  "success": true,
  "data": { ... },
  "error": null
}

On error:

{
  "success": false,
  "data": null,
  "error": "Error message here"
}

Common Use Cases

Check unpaid invoices

eazepro invoices unpaid

View today's deliveries

eazepro orders today

Get revenue for this month

eazepro reports revenue --period month

Find a customer

eazepro customers search "John Smith"

Create a customer and order

# Create customer
eazepro customers create --name "New Client" --email "[email protected]" --json

# Use the returned ID to create an order
eazepro orders create \
  --customer <customerId> \
  --event-date 2026-02-20 \
  --item "Lunch Package:25:15.00" \
  --address "100 King St" \
  --city "Toronto"

Mark an order as delivered

eazepro orders update-status <orderId> DELIVERED

Send an invoice

eazepro invoices send <invoiceId>

Create and send an estimate

eazepro estimates create \
  --customer <customerId> \
  --item "Full Service Catering:100:45.00" \
  --event-date 2026-04-01 \
  --guests 100

Add a new product to catalog

eazepro products create \
  --name "Corporate Lunch Box" \
  --price 28.50 \
  --description "Sandwich, side salad, chips, cookie, and drink"

Add a new driver

eazepro drivers create --name "Mike Wilson" --phone "416-555-0000"

Moltbot Integration

This CLI is designed to work as a skill for Moltbot and other AI assistants.

Copy SKILL.md to your Moltbot skills directory:

cp SKILL.md ~/.clawdbot/skills/eazepro/SKILL.md

Configure in ~/.clawdbot/moltbot.json:

{
  "skills": {
    "entries": {
      "eazepro": {
        "enabled": true,
        "env": {
          "EAZEPRO_API_KEY": "ep_your_api_key",
          "EAZEPRO_API_URL": "https://www.eazepro.tech/api/trpc"
        }
      }
    }
  }
}

Development

From source

git clone <repository>
cd plugin/eazepro-cli
npm install
npm run build
npm link  # Makes 'eazepro' command available globally

Scripts

npm run dev    # Watch mode
npm run build  # Build for production
npm start      # Run CLI

Requirements

  • Node.js 18+
  • An EazePro instance with API access

Notes

  • All dates use ISO 8601 format (YYYY-MM-DD)
  • All times use 24-hour format (HH:MM)
  • API key must start with ep_ prefix
  • Results are limited by default (use --limit to change)
  • Use eazepro config to view current configuration
  • All --item options can be repeated multiple times
  • Item format: name:quantity:unitPrice[:notes]

License

MIT