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

@revos/cli

v0.2.0

Published

RevOS CLI for managing RevOS platform resources

Readme

RevOS CLI

Command-line interface for managing RevOS resources.

Installation

pnpm add @revos/cli

Usage

revos [command] [options]

Global Options

-o, --org <id>  Override organization ID for this command
    --json      Format output as JSON

Commands

Project Initialization

revos init [destination] [--yes] [--dry-run]

Scaffolds a new RevOS data engineering project. If destination is omitted, initializes in the current directory.

Arguments:

destination   Path or project name (default: current directory)
              Examples:
                my-project             → creates ./my-project/
                ./my-project           → same as above
                ../my-project          → one level up
                /home/user/my-project  → absolute path

Flags:

-y, --yes    Skip confirmation prompts, use defaults
    --dry-run  Show what would be created without creating files or GCP resources

Non-empty directory behavior:

If the destination already exists and is not empty, you will be prompted to confirm before proceeding. Use --yes to skip this prompt.

What it does:

  1. Fetches your organizations and prompts you to select one (auto-selects if only one).
  2. Provisions a GCP service account for your org (idempotent) and writes the key to ~/.revos/{project-name}-gsa-creds.json.
  3. Creates the project directory structure (medallion layout: bronze/silver/gold).
  4. Generates .devcontainer/devcontainer.json with Python 3.11, Node.js, Google Cloud SDK (bq), and dbt pre-installed. The Dev Container mounts ~/.revos/{project-name}-gsa-creds.json automatically.
  5. Generates dbt/profiles.yml pre-configured for BigQuery.
  6. Generates .gitignore and README.md.
  7. Scaffolds AI companion files: CLAUDE.md, AGENTS.md, and .claude/skills/ with three pre-installed skills: explore-lakehouse, create-semantic-model, and create-dbt-transformations.

Requires: revos auth login first.


Authentication

Login

revos auth login

Logout

revos auth logout

Show auth status

revos auth status [--json]

Organization Management

List organizations

revos org list [--columns name,id] [--json]

Show current organization

revos org current [--json]

Switch organization

# Interactive mode
revos org switch

# Direct by ID
revos org switch <org-id>

Overlays Management

Overlay files are Cube.dev semantic model definitions stored as YAML in semantic/. The overlay name is taken from the name field inside the file (or derived from the filename as a fallback). A description field is synced with the overlay's description on push.

Example semantic/my_table.yml:

name: my_table
description: My custom overlay
sql_table: my_table
dimensions:
  id:
    sql: "${CUBE}.id"
    type: number
    primary_key: true
measures:
  count:
    type: count

Push overlays to API

revos overlays push [files...] [-d <dir>] [-f] [--json]

Options:
  -d, --dir <path>  Directory containing overlay files (default: "./semantic")
  -f, --force       Force push even if remote is newer

Pull overlays from API

revos overlays pull [-d <dir>] [-n <name>...] [--json]

Options:
  -d, --dir <path>       Directory to save overlay files (default: "./semantic")
  -n, --name <name>      Specific overlay names to pull (repeatable)

Show diff between local and remote

revos overlays diff [files...] [-d <dir>] [--json]

Check overlay status

revos overlays status [files...] [-d <dir>] [--columns name,status] [--json]

Resource commands

The CLI exposes every method of @revos/api-client as a topic-prefixed command. Each topic mirrors a resource on the SDK and supports the standard CRUD verbs (list, get, create, update, delete) plus any resource-specific extras.

Topics

| Topic | Verbs | | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | | tables | list, get, create, update, delete | | table-views | list, create, update, delete | | scores | list, create, update, delete | | score-groups | list, get, create, update, delete | | gservice-accounts | list, get, create, delete | | gservice-account-keys | get, reveal | | actions | list, get, get-params-schema, get-input-schema | | action-runs | list, get | | ai-instructions | list, get, create, update, delete | | org | list, current, switch, get, create | | segments | list, get, create, update, delete, list-versions, get-version, restore-version, get-evaluation-history, evaluate |

List flags

list commands accept --page-size, --page-token, --order-by, --filter, and --fields. actions list adds --only-used.

revos tables list --page-size 50 --order-by 'createdAt desc'

Request bodies (--body)

create and update take a single --body flag. Three forms:

# Inline JSON literal
revos tables create --body '{"name":"customers","sql_table":"customers"}'

# Read from file
revos tables create --body @./table.json

# Read from stdin
cat table.json | revos tables create --body -

Bad JSON is rejected before any HTTP call.

Examples

revos tables list --json
revos tables get tbl_123
revos segments evaluate seg_456
revos segments list-versions seg_456
revos segments get-version seg_456 3
revos actions get-params-schema act_789
revos gservice-account-keys reveal key_abc

Output Formats

Every command supports --json for machine-readable output:

revos org list --json
revos auth status --json
revos overlays status --json

List commands support --columns to limit displayed columns:

revos org list --columns name
revos overlays status --columns name,status

Configuration

| Variable | Description | | --------------- | -------------------------------------------------------- | | REVOS_TOKEN | Authentication token (alternative to revos auth login) | | REVOS_API_URL | API endpoint (default: https://api.revos.ai) | | REVOS_ORG_ID | Organization ID override |