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

hufi-cli

v1.0.1

Published

CLI tool for the [hu.fi](https://hu.finance) DeFi platform.

Readme

hufi-cli

CLI tool for the hu.fi DeFi platform.

Install

bun install -g hufi-cli

Or run without installing:

bunx hufi-cli <command>

All examples below assume global install. Otherwise replace hufi with bunx hufi-cli.

Quick Start

# Generate a wallet
hufi auth generate

# Login with saved key
hufi auth login

# Browse campaigns
hufi campaign list

Commands

auth

| Command | Description | |---------|-------------| | auth generate | Generate a new EVM wallet (saves to ~/.hufi-cli/key.json) | | auth login | Authenticate with Recording Oracle (uses saved key by default) | | auth status | Show current auth status |

hufi auth generate --json
hufi auth login --private-key <key>
hufi auth status

campaign

| Command | Description | |---------|-------------| | campaign list | Browse available campaigns | | campaign get | Get details for a specific campaign | | campaign joined | List campaigns you've joined | | campaign join | Join a campaign | | campaign status | Check join status | | campaign progress | Check your progress | | campaign leaderboard | View campaign leaderboard | | campaign create | Create a new campaign (launch escrow on-chain) |

hufi campaign list                                          # list active campaigns
hufi campaign list --status completed --chain-id 1          # completed on Ethereum
hufi campaign get --chain-id 137 --address 0x...            # campaign details
hufi campaign join --address 0x...                          # join (chain-id defaults to 137)
hufi campaign status --address 0x...                        # check status
hufi campaign progress --address 0x...                      # your progress
hufi campaign progress --address 0x... --watch              # live updates (polling)
hufi campaign progress --address 0x... --watch --interval 3000
hufi campaign leaderboard --address 0x...                   # leaderboard

campaign list and campaign get print exact campaign timestamps and round token balances for human-readable text output.

Campaign Create

Requires staked HMT, gas, and fund tokens (USDT/USDC). Creates an escrow contract on-chain.

# Market Making
hufi campaign create \
  --type market_making --exchange mexc --symbol HMT/USDT \
  --start-date 2026-04-01 --end-date 2026-05-01 \
  --fund-token USDT --fund-amount 10000 \
  --daily-volume-target 50000

# Holding
hufi campaign create \
  --type holding --exchange mexc --symbol HMT \
  --start-date 2026-04-01 --end-date 2026-05-01 \
  --fund-token USDT --fund-amount 5000 \
  --daily-balance-target 1000

# Threshold
hufi campaign create \
  --type threshold --exchange mexc --symbol HMT \
  --start-date 2026-04-01 --end-date 2026-05-01 \
  --fund-token USDT --fund-amount 5000 \
  --minimum-balance-target 500

Running campaign status/join/progress/leaderboard without -a shows help.

exchange

| Command | Description | |---------|-------------| | exchange register | Register a read-only exchange API key | | exchange list | List registered API keys | | exchange delete | Delete API keys for an exchange | | exchange revalidate | Revalidate an exchange API key |

hufi exchange register --name mexc --api-key <key> --secret-key <secret>
hufi exchange list
hufi exchange revalidate --name mexc
hufi exchange delete --name mexc

staking

| Command | Description | |---------|-------------| | staking status | Check HMT staking status | | staking deposit | Show deposit address and QR code | | staking stake | Stake HMT tokens | | staking unstake | Initiate unstaking (tokens locked for lock period) | | staking withdraw | Withdraw unlocked tokens after lock period |

hufi staking deposit                                   # show address QR code
hufi staking status                                    # check your staking
hufi staking status --address 0x...                    # check another address
hufi staking stake -a 1000                             # stake 1000 HMT
hufi staking unstake -a 500                            # unstake 500 HMT
hufi staking withdraw                                  # withdraw unlocked tokens

Supports Polygon (chain 137) and Ethereum (chain 1). Staking contract: 0x01D1...07F1D on Polygon.

dashboard

Portfolio overview — staking, active campaigns, and progress in one view.

hufi dashboard              # full overview
hufi dashboard --json       # machine output
hufi dashboard --export csv # export active campaign rows as CSV
hufi dashboard --export json

Global Options

| Option | Description | |--------|-------------| | --config-file <path> | Custom config file (default: ~/.hufi-cli/config.json) | | --key-file <path> | Custom key file (default: ~/.hufi-cli/key.json) | | -V, --version | Show version | | -h, --help | Show help |

All commands support --json for machine-readable output.

Configuration

Stored at ~/.hufi-cli/config.json:

{
  "recordingApiUrl": "https://ro.hu.finance",
  "launcherApiUrl": "https://cl.hu.finance",
  "defaultChainId": 137,
  "address": "0x...",
  "accessToken": "..."
}

Development

bun install              # install deps
bun run dev -- --help    # run from source
bun run build            # build to dist/cli.js
bun test                 # unit tests
bun run test:cli         # integration tests
bun run typecheck        # type check

API Endpoints

| Service | URL | |---------|-----| | Recording Oracle | https://ro.hu.finance | | Campaign Launcher | https://cl.hu.finance |