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

botio

v0.0.2

Published

Github build/test bot

Downloads

35

Readme

Bot.io: Keep pull requests from breaking your master

Bot.io is a fully flexible build/test bot for Github projects. It is similar to Travis-CI in purpose, but most of the action happens at the pull request level. (And you have to run your own test/build servers).

Bot.io has been guarding the master branch of Mozilla's pdf.js since late 2011.

How it works

Reviewers write shell-like scripts such as on_test.js. The bot listens for /botio test comments in pull requests, and runs the script when the command is detected.

The bot then reports back to the pull request with the result of the tests run by the script. Other commands are possible. For example, to listen for /botio publish simply create a new script on_publish.js.

Getting started

Bot.io depends on Node.js and git. To get started, create a new directory for your Botio files. In this directory, bootstrap Github hooks/configuration files, and start the server:

$ npm install -g botio
$ botio bootstrap --repo user/repo_name --user repo_admin_name --pwd password123 --port 8877
$ botio start --user maybe_someone_else --pwd password123

You can then go to your Github repo and trigger the first Bot.io job by leaving the following comment on any pull request:

/botio test

The bot should write back a hello world response in the PR discussion. See on_test.js in your bot files directory for how this is done. You will want to modify that script to fire up your own builds/tests.

FAQ

What's a typical Bot.io workflow?

  1. User submits pull request
  2. Reviewers think the code is desirable, so they fire up the bot by leaving a special comment like /botio test
  3. Bot runs the tests/builds and writes back to PR with results

Reviewers can then either merge or ask for further revision based on bot results.

I don't want to use Bot.io anymore. How do I uninstall the Github hooks installed by Bot.io?

On Github, go to Account Settings > Service Hooks > Post-Receive URLs and disable the URL corresponding to the IP of your machine. (Don't forget to save it).

How many concurrent tests can I run?

At the moment Bot.io uses a simple queueing system, so only one test can be run at a time. This might change in the future.

How does the bot handle security?

Bot.io only responds to white-listed users.