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

slackpipe

v0.2.3

Published

slackpipe - a command line interface for some simple interractions with slack.com

Readme

slackpipe - a command line interface for some simple interractions with slack.com

Slack is an amazing communcation tool, and we use it extensively. However, because there are many rooms that I must follow, I find myself spending more time than I would like clicking between them. I wanted to be able to read all of my slack updates in a single stream.

This is a work in progress. Feel free to contact through github with questions, concerns, or pull requests

installation

npm install slackpipe -g

set up your token

Your token may be sent in a few ways, the easiest for long-term use is an environment variable

export SLACK_TOKEN='xoxp-239847-xxxx-2398-xxxxx'

However, for the purposes of testing, all commands may be run with -t or --token. The command line argument takes precident.

command line usage

the following is a brief overview of the project. For more information, see

slackpipe.js --help

for more information on advice for setting this project up for greatest effect, see the "recommended aliases" section below

follow many rooms

the most useful feature of this project, in my opinion, is the ability to follow many rooms in a single buffer.

echo "[\"channel_1\", \"channel_2\"]" | slackpipe.js follow

or

cat follow_rooms.json | slackpipe.js follow

you may also separate the rooms into their own streams, writing to log files within a defined directory

cat follow_rooms.json | slackpipe.js follow --log ~/.slack/ --quiet

quiet is not required, but without it slackpipe will log to both the directory defined and stdout

write a message

"my message" | slackpipe.js -c channel-name write

or

slackpipe.js -c channel-name write -m "my message"

by default all messages will come from your user unless you indicate otherwise

"my message" | slackpipe.js -c channel-name write

write also accepts --username and --emoji to customize your message's look

for more information see

slackpipe.js write --help

recommended aliases

the nature of this project is that many tasks can be accomplished with the tools provided. However, in many cases, some work will be required on the part of the user to make the project useful. Below are a few aliases and bash functions that will get you started

write and follow

ask a question in a specific room, and follow that room for a response

alias ask-mychannel='ask-slack new-test-channel'

ask-slack(){
  local room=${1}
  local question=${2}
  echo $question | slackpipe.js write -c $room | slackpipe.js follow
}

usage:

ask-mychannel "who wants to go to lunch?"

or

ask-slack channel_2 "does anyone know what went wrong with the demo?"

follow important rooms

keeping a list of rooms to follow is easy, and allows watching for updates in many places while watching one output

alias follow-slack="cat ~/.my-slack-rooms.json | slackpipe.js follow"

where ~/.my-slack-rooms.json is an array of channel names

[
  "channel_1",
  "channel_2"
] 

read recent history for a room

this is an example of a bash function which will read at most 15 messages over the last two hours from a particular room. other aliases may be made from this to read from a particular room, or chain many readings together

sup(){
  local room=${1}
  room | slackpipe.js read -n 15 -t 120
}

usage

sup channel_1