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

openapp-cli

v1.0.1

Published

A secure CLI tool to quickly open websites in your browser from the terminal. Supports custom shortcuts, multiple browsers, and incognito mode.

Downloads

9

Readme

OpenApp CLI

A secure, cross-platform CLI tool to quickly open websites in your browser from the terminal. Save time with built-in shortcuts for 50+ popular websites and create your own custom shortcuts.

npm version License: MIT Node.js Version

Features

  • 50+ Built-in Shortcuts - Instantly open YouTube, Gmail, GitHub, LinkedIn, and many more
  • Custom Shortcuts - Add your own shortcuts for any URL
  • Cross-Platform - Works on Windows, macOS, and Linux
  • Multiple Browsers - Support for Chrome, Firefox, Safari, Edge, Brave, and Opera
  • Incognito Mode - Open links in private/incognito browsing mode
  • Quick Search - Search Google, Bing, or DuckDuckGo directly from terminal
  • Secure by Design - URL validation, input sanitization, and no shell injection vulnerabilities

Installation

# Install globally via npm
npm install -g openapp-cli

# Or using yarn
yarn global add openapp-cli

Quick Start

# Open YouTube
openapp youtube

# Open Gmail
openapp gmail

# Open GitHub
openapp github

# Open in incognito mode
openapp youtube --incognito

# Search on Google
openapp search how to learn javascript

Usage

Open a Website

openapp <shortcut>

Examples:

openapp youtube      # Opens YouTube
openapp linkedin     # Opens LinkedIn
openapp github       # Opens GitHub
openapp gmail        # Opens Gmail

Open in Incognito/Private Mode

openapp <shortcut> --incognito
# or
openapp <shortcut> -i

Examples:

openapp youtube --incognito
openapp gmail -i

Search the Web

openapp search <query>

Options:

  • -i, --incognito - Search in incognito mode
  • -e, --engine <engine> - Choose search engine (google, bing, duckduckgo)

Examples:

openapp search javascript tutorials
openapp search react hooks --incognito
openapp search node.js best practices -e duckduckgo

Add Custom Shortcuts

openapp add <name> <url>

Examples:

openapp add myresume https://drive.google.com/file/d/abc123/view
openapp add portfolio https://myportfolio.com
openapp add company-wiki https://wiki.mycompany.com

Now you can use:

openapp myresume     # Opens your resume
openapp portfolio    # Opens your portfolio

Remove Custom Shortcuts

openapp remove <name>

Example:

openapp remove myresume

List All Shortcuts

# List all shortcuts
openapp list

# List only built-in shortcuts
openapp list --builtin

# List only custom shortcuts
openapp list --custom

Configure Browser

# Set Chrome as default
openapp config browser chrome

# Set Firefox as default
openapp config browser firefox

# Available browsers: chrome, firefox, safari, edge, brave, opera, default
openapp config browser default  # Use system default

View Configuration

openapp config show

Reset Configuration

openapp config reset

Built-in Shortcuts

Social Media

| Shortcut | Website | |----------|---------| | youtube | YouTube | | facebook | Facebook | | twitter | Twitter | | x | X (Twitter) | | instagram | Instagram | | linkedin | LinkedIn | | reddit | Reddit | | pinterest | Pinterest | | tiktok | TikTok | | snapchat | Snapchat |

Productivity & Work

| Shortcut | Website | |----------|---------| | gmail | Gmail | | outlook | Outlook | | drive | Google Drive | | docs | Google Docs | | sheets | Google Sheets | | slides | Google Slides | | calendar | Google Calendar | | notion | Notion | | trello | Trello | | slack | Slack | | discord | Discord | | zoom | Zoom | | meet | Google Meet | | teams | Microsoft Teams |

Development

| Shortcut | Website | |----------|---------| | github | GitHub | | gitlab | GitLab | | bitbucket | Bitbucket | | stackoverflow | Stack Overflow | | npm | npm | | codepen | CodePen | | codesandbox | CodeSandbox | | vercel | Vercel | | netlify | Netlify |

Entertainment

| Shortcut | Website | |----------|---------| | netflix | Netflix | | prime | Amazon Prime Video | | hotstar | Disney+ Hotstar | | spotify | Spotify | | twitch | Twitch |

Shopping

| Shortcut | Website | |----------|---------| | amazon | Amazon | | flipkart | Flipkart | | ebay | eBay |

Search & Information

| Shortcut | Website | |----------|---------| | google | Google | | bing | Bing | | duckduckgo | DuckDuckGo | | wikipedia | Wikipedia |

AI Tools

| Shortcut | Website | |----------|---------| | chatgpt | ChatGPT | | claude | Claude | | gemini | Gemini | | perplexity | Perplexity AI |

News & Blogs

| Shortcut | Website | |----------|---------| | hackernews | Hacker News | | medium | Medium | | devto | Dev.to |

Configuration File

OpenApp stores custom shortcuts and settings in ~/.openapprc.json in your home directory.

Example configuration:

{
  "customShortcuts": {
    "myresume": "https://drive.google.com/file/d/abc123/view",
    "portfolio": "https://myportfolio.com"
  },
  "settings": {
    "browser": "chrome"
  }
}

Security

OpenApp is built with security as a priority:

  • URL Validation - All URLs are validated using the URL constructor to prevent malformed URLs
  • Protocol Whitelist - Only http:// and https:// protocols are allowed. Dangerous protocols like javascript:, data:, file:, etc. are blocked
  • Input Sanitization - Shortcut names can only contain alphanumeric characters, hyphens, and underscores
  • No Shell Injection - Uses the open package which properly escapes arguments
  • Reserved Names Protection - Command names like add, remove, list cannot be used as shortcuts
  • Safe JSON Handling - Proper error handling for configuration file operations

Requirements

  • Node.js >= 18.0.0
  • npm or yarn

Platform Support

| Platform | Supported | Notes | |----------|-----------|-------| | Windows | Yes | Uses system browser associations | | macOS | Yes | Full browser support including Safari | | Linux | Yes | Requires browser to be installed |

Browser Support

| Browser | Incognito Flag | Status | |---------|----------------|--------| | Chrome | --incognito | Full support | | Firefox | --private-window | Full support | | Edge | --inprivate | Full support | | Brave | --incognito | Full support | | Opera | --private | Full support | | Safari | N/A | No CLI incognito support |

Troubleshooting

Browser not opening?

  1. Make sure the browser is installed on your system
  2. Try setting a specific browser: openapp config browser chrome
  3. Check if the browser path is in your system PATH

Custom shortcut not working?

  1. Check the URL is valid: openapp list --custom
  2. Make sure the shortcut name uses only letters, numbers, hyphens, and underscores
  3. Verify the URL starts with http:// or https://

Incognito mode not working?

  1. Set a specific browser: openapp config browser chrome
  2. Note: Safari doesn't support command-line incognito mode

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

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

Author

Shubham Rawat

Changelog

v1.0.0

  • Initial release
  • 50+ built-in shortcuts
  • Custom shortcut support
  • Multi-browser support
  • Incognito mode
  • Search functionality
  • Cross-platform support

Made with love for developers who live in the terminal.