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

tupelo-cli

v0.2.5

Published

Tupelo CLI for workspace and agent operations

Downloads

743

Readme

Tupelo CLI

Install (local package from this repo):

npm install -g ./packages/tupelo-cli

Quick start:

tupelo login --base-url http://localhost:3000
tupelo whoami
tupelo workspace list

Auth options:

  • Browser login: tupelo login --base-url <url>
  • API key login: tupelo login --base-url <url> --api-key <key>

Run help:

tupelo help

Core workspace workflows:

# Create workspace + initial session
tupelo workspace create --title "My Workspace" --session-title "Chat 1"

# Send a prompt
tupelo chat send --session 123 --prompt "Summarize README.md"

# File operations
tupelo fs ls --session 123 --path uploads --long
tupelo fs write --session 123 --path notes/todo.md --content "# TODO"
tupelo file upload --session 123 --from ./local.txt --path uploads/local.txt
tupelo file download --session 123 --path uploads/local.txt --out ./downloaded.txt

Chat control workflows:

# Replay chat daemon events
tupelo chat events --session 123 --since 0 --timeout-sec 10

# Follow activity in near-realtime (convenience wrapper around chat events --follow)
tupelo chat watch --session 123 --since 0 --timeout-sec 300

# Interrupt active run
tupelo chat interrupt --session 123

# Respond to AskUserQuestion / tool requests
tupelo chat tool-response \
  --session 123 \
  --tool-use-id toolu_abc123 \
  --allow \
  --answers "How should I respond?=Short and concise"

Workspace artifacts + discovery:

tupelo session resources --session 123 --long
tupelo session installs --session 123
tupelo workspace installs --workspace 45
tupelo workspace discovery-search --workspace 45 --query "plugin"
tupelo workspace discovery-sync --workspace 45

Integrations:

tupelo integration get --workspace 45
tupelo integration set --workspace 45 --scope workspace --toolkits "github,slack"

Environment secrets:

tupelo env list --workspace 45
tupelo env set --workspace 45 --key OPENAI_API_KEY --value "$OPENAI_API_KEY"
tupelo env delete --workspace 45 --key OPENAI_API_KEY

Notes:

  • env set/env delete require server env encryption setup (AGENT_SDK_CREDENTIALS_ENCRYPTION_KEY).

App runtime controls:

tupelo app run \
  --workspace 45 \
  --port 3000 \
  --command 'npm run dev' \
  --cwd apps/web

tupelo app status --workspace 45 --port 3000
tupelo app stop --workspace 45 --port 3000

Runtime setup + health:

tupelo session setup --session 123 --timeout-sec 240
tupelo session connect --session 123 --hide-token
tupelo session snapshot --session 123
tupelo session snapshot-reset --session 123
tupelo session show --session 123 --limit 30 --tail

tupelo workspace chat-status --workspace 45
tupelo workspace chat-status --ids 45,46 --db
tupelo workspace broker --workspace 45

Share and clone:

tupelo workspace publish --workspace 45 --public true
tupelo workspace share-info --share <share-id>
tupelo workspace clone --share <share-id> --title "My Clone"

Plugin export from workspace to library:

tupelo workspace plugin-export --workspace 45 --path plugins/my-plugin --scope user

Global HTTP tuning (applies to non-stream API requests):

tupelo workspace list --http-timeout-sec 20 --http-retries 2 --http-retry-delay-ms 300

Release workflow (repo maintainers):

  • Version bump helper: npm run cli:release:version -- patch
  • Dry-run verify: npm run cli:release:verify
  • Publish: npm run cli:release:publish -- --yes
  • Full runbook: docs/tupelo-cli-release-workflow.md

Library + install lifecycle:

# Save a skill to personal library
tupelo library put --kind skill --name my-skill --body-from ./SKILL.md --scope user

# List library items
tupelo library list --scope user --kind skill

# Install / uninstall into workspace
tupelo install add --workspace 45 --type library-skill --id my-skill --scope user
tupelo install remove --workspace 45 --type library-skill --id my-skill