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

ryuu

v5.0.1

Published

Domo App Dev Studio CLI, The main tool used to create, edit, and publish app designs to Domo

Downloads

5,703

Readme

Domo Apps CLI

npm version install size npm downloads Known Vulnerabilities

The official command-line interface for developing, publishing, and managing Domo Custom Apps. Build powerful data applications with modern web technologies and deploy them directly to the Domo platform.

🚀 Quick Start

Installation

npm install -g ryuu

First Steps

  1. Login to Domo:

    # OAuth (interactive)
    domo login
    
    # Or token-based (CI/CD friendly)
    domo login -t YOUR-DEVELOPER-TOKEN
  2. Create a new app:

    domo init my-app
  3. Start developing:

    domo dev
  4. Publish your app:

    domo publish

📖 Documentation

🛠️ Commands

Authentication

The CLI supports two authentication methods:

OAuth Login (Default)

domo login                                    # Interactive login
domo login -i company.domo.com               # Login to specific instance

Options:

  • -i, --instance <value> - Domo instance hostname
  • -u, --user-email <value> - User email address
  • --migrate - Migrate login files from ryuu 3.x
  • --no-upgrade-check - Skip version check
  • --upgrade-download - Auto-download newer version

Token-Based Login

# Login with developer token
domo login -i company.domo.com -t DDCI27236b8d8690ab86cf5328c41a94d068aca1cde4eb6edc34

# Interactive token prompt
domo login -i company.domo.com --token-only

Options:

  • -t, --token <value> - Developer token for authentication
  • --token-only - Force token-only mode (will prompt)

Getting Your Developer Token: Developer tokens can be found in the Admin section of your Domo instance. Tokens are alphanumeric strings (letters and numbers only). Token-based authentication is ideal for CI/CD pipelines and automated workflows.

Token Management

domo token add                               # Add developer token
domo token add -i company.domo.com -t TOKEN  # Add token non-interactively
domo token remove                            # Remove stored token
domo token remove -i company.domo.com        # Remove token for specific instance

Options:

  • -i, --instance <value> - Domo instance
  • -t, --token <value> - Developer token value

Session Management

domo logout                                  # Sign out from current instance
domo logout -i company.domo.com             # Sign out from specific instance
domo remove                                  # Remove saved login (interactive)
domo remove --instance company.domo.com     # Remove specific instance
domo remove --all                            # Remove all saved logins

Development

Initialize New App

domo init                                    # Interactive app creation
domo init -n "My App" -t "hello world"      # Non-interactive creation
domo init --no-datasets                      # Skip dataset prompts

Options:

  • -n, --design_name <value> - Name of the design
  • -t, --template <value> - Starter template (choices: hello world, manifest only, basic chart, map chart, sugarforce)
  • --no-datasets - Skip dataset prompting
  • -i, --dataset-id [value...] - Dataset IDs (multiple)
  • -a, --dataset-alias [value...] - Dataset aliases (multiple)

Development Server

domo dev                                     # Start dev server
domo dev -u USER_ID                          # Use specific user ID
domo dev -e                                  # Allow external connections

Options:

  • -u, --userId <value> - Use a specific userId
  • -e, --external - Allow external connections to dev server

Download Existing App

domo download                                # Interactive download
domo download -i DESIGN_ID                   # Download specific design
domo download -i DESIGN_ID -d latest         # Download specific version

Options:

  • -i, --design-id <id> - Design ID to download
  • -d, --design-version <version> - Design version (default: latest)

Publishing

Publish App

domo publish                                 # Publish app
domo publish -g                              # Publish and open in browser
domo publish --build-dir ./dist              # Publish from build directory
domo publish --build-dir ./build -g          # Publish from build directory and open in browser

Options:

  • -g, --go - Navigate to design in Asset Library after publishing
  • -d, --build-dir <path> - Path to build directory containing the app files (defaults to current directory)

Release to App Store

domo release                                 # Interactive version selection
domo release -v latest                       # Release latest version (non-interactive)
domo release -v 1.0.0                        # Release specific version

Options:

  • -v, --version <value> - Version to release (bypasses interactive prompt, defaults to latest)

Delete App

domo delete                                  # Delete app in current directory
domo delete DESIGN_ID                        # Delete specific design
domo delete -f                               # Force delete (skip confirmation)

Options:

  • -f, --force - Delete even if referenced by Custom Apps
  • -c, --confirm - Auto-confirm deletion (skip prompt)

Restore Deleted App

domo undelete                                # Undelete app in current directory
domo undelete DESIGN_ID                      # Undelete specific design

Management

List Apps

domo ls                                      # List all your published apps

Displays a table with:

  • Design Name
  • Design ID
  • Version
  • Last Published date
  • URL to Asset Library

Manage Owners

domo owner ls                                # List owners
domo owner add [email protected]              # Add owner
domo owner rm [email protected]               # Remove owner
domo owner add [email protected] [email protected]    # Add multiple owners

Options:

  • -i, --designId <id> - Specify design ID (otherwise reads from manifest)

Configure Proxy

domo proxy proxy.company.com 8080            # Set proxy
domo proxy proxy.company.com 8080 -a         # Set proxy with authentication
domo proxy -r                                # Remove proxy

Options:

  • -r, --remove-proxy - Remove current proxy settings
  • -a, --auth - Enable username authentication for proxy

🎯 Features

Flexible Authentication

  • OAuth Login - Traditional username/password authentication
  • Token-Based Login - Developer token for CI/CD pipelines
  • Multi-Instance Support - Manage multiple Domo instances
  • Secure Credential Storage - Encrypted token storage

Modern Development Experience

  • Real-time autocomplete for instance selection
  • Single-key confirmations (y/n without Enter)
  • Interactive prompts with modern UX
  • TypeScript support with full type safety

App Templates

  • Hello World - Basic starter template with HTML/JS/CSS
  • Manifest Only - Minimal template with just manifest.json
  • Basic Chart - Chart visualization template with D3.js
  • Map Chart - Geographic data visualization with mapping
  • Sugarforce - Salesforce integration with pre-built components

Development Tools

  • Hot reload during development
  • Live preview with browser sync
  • Asset optimization and bundling
  • Source maps for debugging

🔧 Configuration

Environment Variables

# Disable SSL verification (development only)
NODE_TLS_REJECT_UNAUTHORIZED=0

# Force color output
FORCE_COLOR=1

Proxy Support

# Configure proxy for corporate networks
domo proxy [host] [port]

📦 Requirements

  • Node.js 16+
  • npm 7+
  • Domo account with developer access

🚀 Getting Started

1. Install the CLI

npm install -g ryuu

2. Login to Domo

Option A: OAuth (Interactive)

domo login
# Follow the prompts to authenticate with username/password

Option B: Token-Based (Recommended for CI/CD)

domo login -i company.domo.com -t YOUR-DEVELOPER-TOKEN
# Or use --token-only for interactive token prompt

3. Create Your First App

domo init my-first-app
cd my-first-app

4. Start Development

domo dev
# Opens browser at http://localhost:3000

5. Publish to Domo

domo publish
# Your app is now live on Domo!

# Or publish from a build directory
domo publish --build-dir ./dist

🎨 App Templates

Choose from professionally designed templates:

  • Hello World - Perfect for learning the basics (HTML/JS/CSS)
  • Manifest Only - Minimal setup with just manifest.json
  • Basic Chart - Ready-to-use D3.js chart components
  • Map Chart - Geographic data visualization with mapping
  • Sugarforce - Salesforce integration with pre-built components

🔍 Troubleshooting

Common Issues

Login Problems:

# Clear stored credentials and re-login
domo logout
domo login

# For token authentication issues
domo login -i company.domo.com --token-only

Token Validation Errors:

Tokens must be alphanumeric strings (letters and numbers only):

  • Valid example: DDCI27236b8d8690ab86cf5328c41a94d068aca1cde4eb6edc34
  • Minimum length: 20 characters
  • No special characters, spaces, or dashes allowed

If you receive an "Invalid token format" error, verify your token from the Admin section of Domo contains only letters and numbers.

Build Errors:

# Clear node_modules and reinstall
rm -rf node_modules package-lock.json
npm install

Proxy Issues:

# Configure corporate proxy
domo proxy your-proxy.com 8080

Getting Help

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🤝 Contributing

We welcome contributions! Please see our Contributing Guide for details.


Built with ❤️ by the Domo team