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 🙏

© 2024 – Pkg Stats / Ryan Hefner

rdme

v10.0.0

Published

ReadMe's official CLI and GitHub Action.

Downloads

302,822

Readme

rdme

With rdme, you can manage your API definition (we support OpenAPI, Swagger, and Postman) and sync it to your API reference docs on ReadMe.

Not using ReadMe for your docs? No worries. rdme has a variety of tools to help you identify issues with your API definition — no ReadMe account required.

[!NOTE] If you're using ReadMe Refactored, you'll want to use rdme@10 or later. If you're not using ReadMe Refactored, you'll want to use rdme@9. More info can be found in our migration guide.

Table of Contents

Quick Start

Install the CLI (see here for more setup options):

npm install -g rdme

Validate an OpenAPI file in your working directory or any subdirectories (see here for all command topics):

rdme openapi validate

Every command has a help page, which you can access in our docs or via the CLI:

rdme openapi validate --help

To view the current version of rdme (helpful for troubleshooting and bug reports):

rdme --version

CLI Configuration

Setup

[!NOTE] These setup instructions are for CLI usage only. For usage in GitHub Actions, see GitHub Actions Configuration below.

To install the rdme CLI, you'll need to have Node.js installed. Node.js comes bundled with the npm CLI, which you'll need to install rdme. You can see our current Node.js version requirements in the green badge on the right.

Installing rdme to Your Local Machine

The simplest way to use rdme is to install it globally:

npm install -g rdme

With a global installation, you'll be able to run rdme within any directory on your local machine. If you log in once, you can quickly access your project without having to remember your API key (see the Authentication section below).

Installing rdme to a Project

The recommended approach for shared projects is to install rdme in your project's dependencies, that way you don't run into unexpected behavior with mismatching versions of rdme. We also suggest using the --save-dev flag since rdme is typically used as part of a CI process and is unlikely to be running in your production application:

npm install rdme --save-dev

Once installed in your project, you can use the npx prefix (which is included if you have npm installed) to run your CLI commands locally. For example:

npx rdme openapi validate [file]

To ensure you're getting the latest features and security updates, we recommend using a tool like Dependabot to keep rdme (and your other dependencies) up-to-date.

Authentication

For local CLI usage with a single project, you can authenticate rdme to your ReadMe project using rdme login. Once you follow the prompts and are successfully authenticated, your API key will be saved to a local configuration file (~/.config/configstore/rdme-production.json) and you won't have to provide the --key option to commands that require it.

[!WARNING] For security reasons, we strongly recommend providing a project API key via the --key option in automations or CI environments (GitHub Actions, CircleCI, Travis CI, etc.). It's also recommended if you're working with multiple ReadMe projects to avoid accidentally overwriting existing data.

You can also pass in your API key via environmental variable. Here is the order of precedence when passing your API key into rdme:

  1. The --key option. If that isn't present, we look for...
  2. The RDME_API_KEY environmental variable. If that isn't present, we look for...
  3. The README_API_KEY environmental variable. If that isn't present, we look for...
  4. The API key value stored in your local configuration file (i.e., the one set via rdme login)

rdme whoami is also available to you to determine who is logged in, and to what project. You can clear your stored credentials with rdme logout.

1Password

As a secure alternative to the rdme login approach to using the CLI locally, 1Password users can set up the ReadMe shell plugin. With this approach, you can store your ReadMe API key in 1Password and securely pass it in your rdme commands using biometrics. See below for a demo of this behavior:

https://user-images.githubusercontent.com/8854718/208739413-590aa265-072d-4800-bca1-27f281448017.mp4

To set this up, check out 1Password's documentation on the ReadMe shell plugin.

Proxy

rdme makes API requests to the ReadMe API, which is located at dash.readme.com. If you need to configure a proxy for these requests, you can do so by setting the HTTPS_PROXY environmental variable.

export HTTPS_PROXY=https://proxy.example.com:5678
rdme openapi

GitHub Actions Configuration

[!NOTE] For a full GitHub Workflow file example and additional information on GitHub Actions usage, check out our docs.

For usage in GitHub Actions, you can create a new GitHub Actions workflow file by installing the CLI on your local machine and running the the command you wish to run in GitHub Actions, along with the --github flag. For example:

rdme openapi --github

This will run through the openapi command, ask you a few quick questions, and then automatically create a fully functional GitHub Actions workflow file for you. 🪄

You can see examples featuring the latest version in our docs. We recommend configuring Dependabot to keep your actions up-to-date.

Command Topics

  • rdme autocomplete - Display autocomplete installation instructions.
  • rdme changelogs - Sync Markdown files to your ReadMe project as Changelog posts.
  • rdme help - Display help for rdme.
  • rdme login - Login to a ReadMe project.
  • rdme logout - Logs the currently authenticated user out of ReadMe.
  • rdme openapi - Manage your API definition (e.g., syncing, validation, analysis, conversion, etc.). Supports OpenAPI, Swagger, and Postman collections, in either JSON or YAML formats.
  • rdme whoami - Displays the current user and project authenticated with ReadMe.

[!IMPORTANT] You'll notice that several previous rdme commands are no longer present. That's because this version is for projects that use ReadMe Refactored and bi-directional syncing is the recommended approach for most workflows previously managed via rdme. See more in our migration guide.