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 🙏

© 2024 – Pkg Stats / Ryan Hefner

cable-cli

v0.1.1

Published

p2p chat

Downloads

12

Readme

cabal-cli

Terminal client for cabal, the p2p chat platform.

See cabal-core for the underlying database & api.

chat with us: npx cabal cabal://cabal.chat

Installation

$ npm install --global cabal
$ cabal --new

If that fails the newest node is not yet supported by the stack. Try this:

Install nvm, open a new shell and run

$ nvm install 12
$ npm install --global cabal
$ cabal --new

Usage

Start a new instance:

cabal --new

then copy the key and give it to someone else.

Connect to an existing instance:

cabal <key>

e.g.

cabal cabal://0201400f1aa2e3076a3f17f4521b2cc41e258c446cdaa44742afe6e1b9fd5f82

Remember cabals for auto-joining

save a cabal to the config

cabal --save <key>

then connect to all of your saved cabals, by simply running cabal:

cabal

show saved cabals with --cabals and remove a saved cabal with --forget

cabal --cabals
cabal --forget <key|alias>

Save an alias to a key

create a local name for a key.

cabal --alias <name> --key <key>
cabal <name>

Scan a QR code to join a cabal:

Cabal can use a webcam connected to your computer to read a cabal key from a QR code. For this to work, you'll need to install an additional system dependency:

  • Linux: sudo apt-get install fswebcam
  • MacOS: brew install imagesnap
# Hold up your QR code in front of the webcam and then run:
cabal --qr

Headless mode

This will run cabal without a UI. You can use this to seed a cabal (e.g. on a VPS) and make its data more available:

cabal <key> --seed

Custom port

If you have a tightly configured firewall and need to port-forward a port, the default port Cabal uses is port 13331. You can change this with the --port flag, or setting preferredPort in your .cabal.yml config file.

cabal <key> --seed --port 7331

Commands

/add, /cabal
  add a cabal
/new
  create a new cabal
/nick, /n
  change your display name
/emote, /me
  write an old-school text emote
/names
  display the names of the currently online peers
/channels
  display the cabal's channels
/panes
  set pane to navigate up and down in panes: channels, cabals
/join, /j
  join a new channel
/leave, /l
  leave a channel
/clear
  clear the current backscroll
/help
  display this help message
/qr
  generate a qr code with the current cabal's address
/quit, /exit
  exit the cabal process
/topic, /motd
  set the topic/description/message of the day for a channel
/whoami, /key
  display your local user key
/whois
  display the public keys associated with the passed in nick

alt-n
  move between channels/cabals panes
ctrl-{n,p}
  move up/down channels/cabals

Hotkeys

ctrl-l
    redraw the screen
ctrl-u
    clear input line
ctrl-w
    delete last word in input
up-arrow
    cycle through command history
down-arrow
    cycle through command history
home
    go to start of input line
end
    go to end of input line
ctrl-n
    go to next channel
ctrl-p
    go to previous channel
ctrl-a
    go to next unread channel
pageup
    scroll up through backlog
pagedown
    scroll down through backlog
shift-pageup
    scroll up through nicklist
shift-pagedown
    scroll down through nicklist
alt-[1,9]
    select channels 1-9
alt-n
    tab between the cabals & channels panes
alt-l
    tab toggle id suffixes on/off

Configuration

The message styling can be slightly tweaked.
Regarding the supported options, see .cabal.yml-example