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

@getzulu/cli

v0.2.0

Published

getzulu — terminal CLI for the Zulu API v1

Readme

getzulu CLI

A terminal CLI for the Zulu API v1. Read and manage your clients, suppliers, products, invoices, purchase orders, job cards, opportunities, notes, stock, forms, and more — straight from the shell.

The command is getzulu, with zulu installed as a shorthand alias — both run the same binary. Zero runtime dependencies.

The full API is available: list/get commands read, and create/update/ add/remove commands write. getzulu list marks writes with .

For the same tools inside Claude, see the companion MCP server, @getzulu/mcp.

Install

npm install -g @getzulu/cli

Requires Node.js 18+.

Configure

All you need is an API token — get one from your Zulu dashboard under Settings → API. Run setup once and the token is saved securely (~/.config/zulu/config.json, owner-only permissions):

getzulu setup        # prompts for your API token (hidden input)
getzulu config       # show current settings
getzulu logout       # remove the saved config

Re-run getzulu setup any time to update the token — leaving it blank keeps the existing one. Non-interactive: getzulu setup --api-token zulu_….

Everything is scoped to the token's account.

Usage

Commands read as getzulu <resource> <action>:

getzulu list                          # list every command
getzulu client                        # list a resource's actions
getzulu client list --help            # show a command's parameters

# Read — flags or a JSON object:
getzulu tenant info
getzulu client list --limit 5 --search acme
getzulu client get --token abc123
getzulu product list '{"limit":2}'
getzulu product taxonomy

# Write — simple fields as flags, nested data as JSON:
getzulu note create --object client --token <client-token> --title "Called re: quote"
getzulu client create '{"company":"Acme","email":"[email protected]","addresses":[{"line1":"1 Main St","city":"Auckland"}]}'
getzulu invoice line_add --token <invoice-token> --product <product-token> --quantity 2

Arguments are --key value flags (numeric strings coerce to numbers) or a single JSON object as the last argument. Use the JSON form for writes with nested data (addresses, contacts, invoice/PO lines). Output is the raw API JSON, so it pipes straight into jq:

getzulu client list --limit 50 | jq '.data.clients[].company'

File uploads take a local path via --file:

getzulu file upload --file ./contract.pdf --object client --object_id <client-token>
getzulu product image_upload --token <product-token> --url https://example.com/photo.jpg

Parameters & filtering

Every parameter is a --flag, named exactly as in the command's schema — run getzulu <command> --help to see them all with descriptions.

  • Resources are addressed by token, not id. A list command returns each item's token; pass that to the matching get:

    getzulu product list --search gouda                 # → find the product's token
    getzulu inventory stock --product <product-token>   # → stock for that product
  • list commands filter server-side — combine any of their flags:

    getzulu invoice list --status paid --client <client-token>
    getzulu submission list --form <form-token> --date_from 2026-06-01
  • All list commands paginate with --limit and --offset.

Commands

The command set mirrors the Zulu API exactly, so it grows with the API. Run getzulu list for the authoritative, always-current catalogue (writes marked ), and getzulu <command> --help for a command's parameters.

| Resource | Actions | About | |---|---|---| | tenant | info | The connected account — company, plan, modules | | client | list get create update | Customers, with addresses & contacts | | supplier | list get create update | Suppliers | | product | list get create update taxonomy price_update category_* tag_* image_upload | Products, prices, categories, tags, images | | category | get create update | Product categories | | invoice | list get create update line_add line_update line_remove | Invoices/sales and their line items | | porder | list get create update line_add line_update line_remove | Purchase orders and their line items | | opportunity | list get create stage_list stage_set | Pipeline opportunities | | jobcard | list get create update | Job cards / projects | | post | list get create update | Website posts (blog, page, …) | | note | list create | Notes on clients, sales, products, opportunities | | inventory | stock stock_adjust | Stock totals and adjustments | | form | list get | Forms and field definitions | | submission | list get | Form submissions and answers | | file | upload | Upload a file, optionally attached to an entity | | account | modules signup verify | Module keys; agent account signup/verify |

Required parameters are marked * in each command's --help; every list command also takes --limit / --offset. Resources are addressed by token (returned by the matching list), never by numeric id.

License

MIT