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

@matimo/cli

v0.1.0-alpha.7.1

Published

CLI tools for managing Matimo tool installations

Readme

Matimo CLI

Command-line tool for managing Matimo tool packages and discovering available tools.

Installation

npm install -g @matimo/cli

Or use directly with npx:

npx @matimo/cli@latest list
npx @matimo/cli@latest search

Commands

matimo list

List all installed Matimo tool packages.

matimo list

Output:

📦 Installed Matimo Packages:

  📍 @matimo/slack
     Slack workspace tools
     Tools: slack-send-message, slack-list-channels, slack-get-messages, ...

  📍 @matimo/github
     GitHub repository and issue management tools
     Tools: github-create-issue, github-list-repos, github-get-issue, ...

  📍 @matimo/gmail
     Gmail email tools
     Tools: gmail-send-email, gmail-list-messages, gmail-create-draft, ...

Total: 3 packages installed

Use when: You want to see all installed tool packages and a preview of available tools.

matimo install [package...]

Install one or more tool packages from npm.

# Install a single package
matimo install slack

# Install multiple packages
matimo install github stripe notion

# Install specific version
matimo install [email protected]

The CLI automatically resolves {package} to @matimo/{package} and installs from npm.

Examples:

# Install Slack tools
matimo install slack
# → Installs @matimo/slack

# Install GitHub and Stripe
matimo install github stripe
# → Installs @matimo/github and @matimo/stripe

# See what's available
matimo search email

Next Steps:

After installation, you can use auto-discovery in your code:

import { MatimoInstance } from 'matimo';

const matimo = await MatimoInstance.init({ autoDiscover: true });

// New tools are automatically available!
const result = await matimo.execute('slack-send-message', {
  channel: '#general',
  text: 'Hello from Matimo!'
});

matimo search [query]

Search for tools or packages by name.

# Search for email tools
matimo search email

# Search for a specific package
matimo search github

# Search for Slack tools
matimo search slack

Output:

Results for "email":

  📍 @matimo/gmail
     Gmail email tools
     Tools: gmail-send-email, gmail-list-messages, gmail-create-draft, ...

  📍 @matimo/sendgrid
     SendGrid email tools
     Tools: sendgrid-send-email, sendgrid-list-templates, ...

Use when: You want to find tools before installing them, or discover what's available for a specific service.

Auto-Discovery

After installing packages with the CLI, use auto-discovery to automatically load them:

import { MatimoInstance } from 'matimo';

// Discovers all installed @matimo/* packages
const matimo = await MatimoInstance.init({ autoDiscover: true });

// List all available tools
const tools = matimo.listTools();

// Execute any tool
const result = await matimo.execute('github-create-issue', {
  owner: 'tallclub',
  repo: 'matimo',
  title: 'My issue'
});

How it works:

  1. CLI installs packages to node_modules/@matimo/{provider}
  2. MatimoInstance.init({ autoDiscover: true }) scans that directory
  3. All tool definitions are loaded and registered automatically
  4. Tools are ready to use via matimo.execute()

Package Ecosystem

Matimo packages are published to npm with the @matimo scope:

  • @matimo/slack - Slack workspace tools
  • @matimo/github - GitHub repository tools
  • @matimo/gmail - Gmail email tools
  • @matimo/stripe - Stripe payment tools (coming soon)
  • @matimo/twilio - Twilio SMS/voice tools (coming soon)

Browse all Matimo packages

Creating Tool Packages

Want to create your own tools? See the Adding Tools to Matimo guide.

Summary: Create a package with YAML tool definitions and publish it to npm as @matimo/{provider}.

Development

Build and test the CLI:

# Install deps
pnpm install

# Build
pnpm build

# Test
pnpm test

# Link locally for testing
pnpm link --global packages/cli
matimo list  # Test the command

Help

Get help for any command:

matimo --help
matimo list --help
matimo search --help

Examples

Install and Use Slack Tools

# 1. Install
matimo install slack

# 2. Use in code
const { MatimoInstance } = require('matimo');

const matimo = await MatimoInstance.init({ autoDiscover: true });

const result = await matimo.execute('slack-send-message', {
  channel: '#general',
  text: 'Hello Slack!'
});

Search and Install GitHub Tools

# 1. Search for GitHub tools
matimo search github

# 2. Install
matimo install github

# 3. Use
const matimo = await MatimoInstance.init({ autoDiscover: true });

const issue = await matimo.execute('github-create-issue', {
  owner: 'tallclub',
  repo: 'matimo',
  title: 'New feature'
});

Install Multiple Packages

matimo install slack github gmail

# All three are now installed and auto-discoverable
const matimo = await MatimoInstance.init({ autoDiscover: true });

// Use any tool from any package
await matimo.execute('slack-send-message', {...});
await matimo.execute('github-create-issue', {...});
await matimo.execute('gmail-send-email', {...});

Troubleshooting

"Package not found" error

# Verify the package name (should be valid npm package)
npm search @matimo/slack

# Try installing with full name
npm install @matimo/slack

Tools not showing in list

# Reinstall packages in current project
npm install @matimo/slack

# Verify they're installed
npm ls @matimo/slack

# Use auto-discovery in code
const matimo = await MatimoInstance.init({ autoDiscover: true });

Need specific version?

matimo install [email protected]
npm install @matimo/[email protected]

Support