Skip to content
/ cli Public

The first package manager for web apps 📦

Notifications You must be signed in to change notification settings

hop-apps/cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


The Web's Missing Package Manager

If you're reading this, then you've stumbled across Hop, a CLI tool for installing web apps as native desktop applications! While tools like nativefier and WebCatalog exist, they're either too complicated or too limiting for the average user to use. You shouldn't need to type a long command to generate a desktop version of your favorite web app, and you especially shouldn't have to pay for it!

With Hop, installing a beautiful, pre-made version of your favorite app is as simple as:

Hop

Installing

To get started with Hop, you'll need to install it globally:

npm install -g @hopping/cli

Then just run hop from any directory!

How It Works

Similar to Homebrew, all of the apps supported by Hop are stored in this repository, under the apps folder. Each app has a manifest and an optional icon.

Under the hood, Hop will pass the app manifest as a series of configuration options to nativefier, which will build your app into a temporary directory, then automatically copy it to your system's applications.

Contributing

A contribution framework is still being ironed out. For now, if you want to add your own web application or a manifest for an existing web app, just open a PR! If you have a design sense and would like to help contribute to icon development, all of the Hop app icons live in this Figma file, which can be forked and added to an issue (seeing code changes are required to open PRs).

The Name

The name Hop was chosen to stick with the beer-themed naming of Homebrew (brew, taps, cask, etc.). Hops are a flower used in the brewing of beer. Alternatively, you can think of HOP as a backronym: Homebrew On PWA (progressive web apps).

Limitations

This codebase is in its infancy, and currently has only been confirmed to work on macOS. Additional code will need to be added to add support for Windows and Linux.