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

@plori/cli

v0.1.0

Published

plori on the command line: give your AI agent its own cloud computer.

Readme

plori CLI

plori drives your hosted agents (each one a cloud computer with its own disk, tools, and memory) from a terminal or a script. It is the CLI+skills counterpart to the remote MCP server at https://api.plori.ai/mcp: same account, same agents, same REST API underneath, and the commands mirror the MCP tool names (create_agent → create, invoke_agent → run, get_run_result → result, …).

Install

Build from this repository (Go ≥ 1.25):

go build -o plori ./cli/cmd/plori

Binary releases and an npm wrapper (@plori/cli) are published per docs/release-channels.md.

Authenticate

Create an API key at https://plori.ai/settings, then either:

plori login                  # prompts for the key, validates it, stores it 0600
export PLORI_API_KEY=…       # or: environment (CI, agents)

PLORI_BASE_URL (or --base-url) points the CLI at a non-production control-plane, e.g. a local uat-server.

Use

plori create mate                        # get-or-create an agent named "mate"
plori run mate "clone repo X and run the tests"
plori run mate "long job" --no-wait      # returns a run id immediately
plori result mate <run-id> --wait        # poll it later
plori run mate "build it" --follow       # stream the turn live (tools on stderr)
echo "summarize this" | plori run mate -  # message from stdin
plori schedule mate "daily report" --in 86400
plori inputs mate                        # runs paused on a human question
plori answer <run-id> <tool-call-id> --approve
plori credits && plori disk

Agents are addressed by name or UUID. Every command accepts --json; when stdout is not a TTY the output is JSON automatically, so scripts and agents can parse without flags. Errors go to stderr; exit codes: 0 success, 1 API failure, 2 usage error.

For agent authors

The reply text of plori run is the only thing written to stdout (tool narration streams to stderr), so a calling agent can pipe it directly. A run that pauses on a human approval reports status: "awaiting_input"; surface it and answer with plori answer. Prefer one long-lived agent (create returns the existing agent for a reused name) over creating new ones.

Wire-level acceptance cases live in UAT.md.