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 🙏

© 2025 – Pkg Stats / Ryan Hefner

hivekit

v4.15.0

Published

Building Blocks for Building Bots

Readme

Hivekit - Building Blocks for Building Bots

npm David npm Build Status

Hivekit is an open source developer tool for building chat bots, apps and custom integrations for major messaging platforms.

The information in this document is for the brand new 4.0 branch of Hivekit! If you're looking for documentation for previous versions, look here.

Install Hivekit

The best way to get started locally with Hivekit is by installing our Yeoman template, and using it to create a new Hivekit project. This will install and configure a starter kit for you!

npm install -g yo generator-hivekit
yo hivekit

Remix on Glitch

Want to dive right in? Remix one of our starter kits on Glitch. You'll start with a fully functioning app that you can edit and run from the browser!

Remix on Glitch

Build Your Bot

The goal of Hivekit is to make it easier and more fun to build software that talks and works like a robot! Building a bot should feel cool, and not too technically complicated.

Hivekit handles all the nitty gritty details like API calls, session management and authentication, allowing you to focus on building COOL FEATURES for your bot using middleware and event handlers.

The toolkit is designed to provide meaningful building blocks for creating conversational user interfaces - with functions like hears(), ask(), and reply() that do what they say they do.

The full documentation for Hivekit's capabilities begins here »

Platform Support

Hivekit can connect to multiple messaging channels through the Microsoft Bot Framework Service. No plugins are necessary to use the Bot Framework service, and bots can be developed locally using the Bot Framework Emulator.

The Hivekit project includes several official adapters. Using these plugins, your bot can communicate directly with the messaging platforms.

Additional adapters can be found by searching npm for Bot Framework-compatible adapters. The open source community has created a variety of plugins and extensions to Bot Framework. Check out the Bot Builder Community Repo for additional adapters, storage connectors and middlewares.

Platform specific documentation can be found on the main docs site »

Hearing Keywords

Most bots do their thing by listening for keywords, phrases or patterns in messages from users. Hivekit has a special event handler called hears() that makes it easy to configure your bot to listen for this type of trigger.

controller.hears(['string','pattern .*',new RegExp('.*','i')],'message,other_event', async (bot, message) => {

  // do something!
  await bot.reply(message, 'I heard a message.')

});

Read more about hearing things ›

Responding to Events

Bots can respond to non-verbal events as well, like when a new user joins a channel, a file gets uploaded, or a button gets clicked. These events are handled using an event handling pattern that should look familiar. Most events in Hivekit can be replied to like normal messages.

controller.on('channel_join', async (bot, message) => {

  await bot.reply(message,'Welcome to the channel!');

});

See a full list of events and more information about handling them ›

Middleware

In addition to taking direct action in response to a certain message or type of event, Hivekit can also take passive action on messages as they move through the application using middlewares. Middleware functions work by changing messages, adding new fields, firing alternate events, and modifying or overriding the behavior of Hivekit's core features.

Middleware can be used to adjust how Hivekit receives, processes, and sends messages.

// Log every message received
controller.middleware.receive.use(function(bot, message, next) {

  // log it
  console.log('RECEIVED: ', message);

  // modify the message
  message.logged = true;

  // continue processing the message
  next();

});

// Log every message sent
controller.middleware.send.use(function(bot, message, next) {

  // log it
  console.log('SENT: ', message);

  // modify the message
  message.logged = true;

  // continue processing the message
  next();

});

Documentation

Full documentation of Hivekit, including a class reference, can be found on the docs site.

Change Log

Community & Support

Join our thriving community of Hivekit developers and bot enthusiasts at large. Over 10,000 members strong, our Github site is the place for people interested in the art and science of making bots. Come to ask questions, share your progress, and commune with your peers!

You can also find help from members of the Hivekit team in our dedicated Cisco Spark room!

About Hivekit

Hivekit is a part of the Microsoft Bot Framework.

Want to contribute? Read the contributor guide

Hivekit is released under the MIT Open Source license