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

@raisindb/cli

v0.1.16

Published

Interactive CLI for RaisinDB with Ink-based terminal UI

Readme

@raisindb/cli

Interactive command-line interface for RaisinDB with a beautiful Ink-based terminal UI.

Features

  • Interactive shell with command history and autocomplete
  • SQL mode with syntax highlighting and multiline support
  • Browser-based authentication with OAuth flow
  • Package management (create and upload .rap packages)
  • Beautiful gradient banner and intuitive UI
  • Configuration file support (.raisinrc)

Installation

npm install -g @raisindb/cli
# or
pnpm add -g @raisindb/cli

Usage

Interactive Shell (Default)

Start the interactive shell:

raisindb
# or
raisindb shell

Connect to a specific server:

raisindb shell --server http://localhost:8080

Connect and use a specific database:

raisindb shell --server http://localhost:8080 --database mydb

Package Commands (Offline)

Create a .rap package from a folder:

raisindb package create ./my-package
raisindb package create ./my-package --output my-package.rap

Upload a package to the server:

raisindb package upload my-package.rap
raisindb package upload my-package.rap --server http://localhost:8080

Shell Commands

Connection & Authentication

  • /connect <url> - Connect to a RaisinDB server
  • /login - Authenticate via browser (OAuth flow)
  • /logout - Clear stored authentication

Database Operations

  • use <database> - Switch to a different database
  • /databases - List available databases

SQL Mode

  • /sql - Enter SQL mode for running queries
  • /exit-sql - Exit SQL mode (also available in SQL mode)

In SQL mode:

  • Type queries normally and press Enter for single-line queries
  • Omit semicolon to start multiline mode
  • Press Ctrl+Enter to execute multiline queries
  • Press ESC to cancel multiline input

Package Management

  • /packages - List installed packages
  • /install <name> - Install a package by name (installs mixins before node types)
  • /upload [file] - Upload a package file

Other Commands

  • /help - Show help screen with all commands
  • /clear - Clear the terminal screen
  • /quit or /exit - Exit the CLI

Configuration File

The CLI looks for .raisinrc in the current directory tree, falling back to ~/.raisinrc.

Example .raisinrc:

server: http://localhost:8080
token: your-auth-token
default_repo: mydb

Configuration is automatically updated when you use /connect, /login, or use commands.

Development

Build the package:

pnpm build

Run in development mode:

pnpm dev

Run the built CLI:

pnpm start

Architecture

The CLI is built with:

  • Ink - React for terminal UIs
  • Commander - CLI argument parsing
  • ink-text-input - Interactive text input
  • ink-gradient & ink-big-text - Beautiful banner
  • sql-highlight - SQL syntax highlighting
  • yaml - Configuration file parsing
  • open - Browser launching for OAuth

License

MIT