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

hubot-support

v0.0.7

Published

Relay conversations between the web and your favorite chat room.

Downloads

7

Readme

Chat Support with Hubot

This module relays conversations between the web and wherever your Hubot lives.

Quick Start

  • cd [your/hubot/repo]
  • npm --save install hubot-support
  • Add 'hubot-support' to your external-scripts.json
    • This confused me once, so, FYI it's a JSON file with a single array of strings, each of which is a module name (i.e. hubot-support) NOT a script path (i.e. hubot-support.coffee)
  • Start Hubot PORT=5000 bin/hubot -n bot
  • Visit http://localhost:5000 (or whatever PORT you picked)
    • Enter your name
    • Press return
    • Send some messages to yourself
  • Respond to your messages in the Hubot shell with bot support [name-of-client] go read the manual
  • See all connected clients with bot support

Environment Variables

  • HUBOT_SUPPORT_FRONTEND_DIR - location of support frontend
  • HUBOT_SUPPORT_EMAIL - your support team's email, in case you are not home

Customize the UI

You'll probably want to style up your frontend (like we did at https://chat-support.hired.com) so you can set the HUBOT_SUPPORT_FRONTEND_DIR environment variable to a directory relative to Hubot's root where the frontend lives. Hubot will serve this directory, statically, at /. (I'll make that route configurable soon).

For an example, take a look at the fe directory in this repo. It's a simple frontend bundle (meant for assembly with my tool - http://github.com/dashkb/fec) that present a client app. Experiment with how far you can modify it; behind the scenes Backbone is managing the views so I wouldn't change any element classes or ids that look semantic. The Fortitude classes (xs-pt1 and friends) are safe to change

Hacking

Prereq: you should be familiar with hacking on Node.js projects, and some Hubot scripting experience might help.

  • Install my fec globally with npm -g i fec
  • Use npm link in this project (docs)
  • npm link hubot-support to itself; necessary only if you use the default UI
  • Clone a fresh hubot for testing from github.com/github/hubot
  • npm link hubot-support in the Hubot clone

Ok now this next part kinda sucks and I'm going to automate it at some point. Background: there are two things this project builds: the client and the frontend. The frontend depends on the client.

The frontend is built by running fec [--compress]. Without rebuilding the frontend, only backend changes (i.e. to index.coffee or files in the server dir) will affect your Hubot. (You'll still have to restart Hubot for backend changes to take effect.)

The client is built by running bin/export-[debug-]client in this project. You MUST rebuild the frontend after exporting the client; else you'll be frustrated when your changes don't show up. (See fe/fe.coffee for why; it's also the reason we npm link the project to itself.)