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

devsig

v1.2.3

Published

a daemon for collecting work logs from the host machine

Downloads

14

Readme

DevSig

Node 8 Node 10

DevSig observes relevant habits as you interact with your machine. These habits include how often you type on Slack, how often you type on Jira, how often you have your cameras on when on a Zoom call. The purpose of this is to better understand engineers' habits with the end goal of being able to recommend habits that may lead to success.

To use DevSig, you install it globally on your machine, get it started, and proceed to use your machine as you'd normally use it. DevSig keeps running in the background, observing relevant habits, and keeping a log of its observations locally on your machine. DevSig never sends any data to any party.

You can generate reports of these recorded observations in order to have an idea of the habits you exhibit as you work on your machine.

Again, DevSig never sends any data to any party. All observations are logged locally.

Getting Started

  • Install globally npm install --global devsig
  • If you run into EACCES permissions error during installation, follow this guide to resolve it: https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally
  • Run devsig start to get the service up and running.
  • Continue using your machine as usual while the service runs.
  • To stop the service, use the Ctrl + C combination.
  • Run devsig report to generate a report from all the data the service has gathered thus far.

Getting Help

  • Run devsig --help to see all available commands. The --help flag also gives you info about each command. For instance, to find out more about the devsig start command, run devsig start --help.
  • If you encounter any runtime error (like Cannot find module 'iohook'), stop the service, run devsig fix, restart the service.
  • You can always contact the LearnTech team for more assistance.

Advanced Stuff

How DevSig Works

The DevSig service continually observes relevant interactions (like the use of Slack) and continually creates logs of these observations on the machine on which it is running. These logs are not sent to any party or any remote repository.

Below is what a log looks like:

Jira logs

Whenever you run devsig report DevSig takes a look at the log files currently on the machine and attempts to generate some sort of summary that you can share with anyone. DevSig ensures no specific data (like who you chat with) is captured in the reports. Just like with the logs, these reports are never sent to any party or remote repository.

Below is what a report looks like:

Jira and Slack reports

Monitors

A monitor is a service that runs in the background, continually observes relevant interactions (like the use of Slack), and may create logs of these observations on the local machine.

  • To see all monitors, run devsig list
  • To start all monitors, run devsig start
  • To start a particular monitor, run devsig start {monitor}
    • For instance, to run the Slack monitor, run devsig start slack

Logs

Monitors typically generate logs of relevant observations. These logs are typically rolling logs, meaning that a new log file is generated every hour. This makes it easy to inspect logs on an hourly basis. Logs are used by reporters to generate reports.

Logs are stored in the logs/ folder, in the root directory of the application.

Reporters

One of the goals of having DevSig running on your machine is the generation of reports that show relevant user habits. Such reports could contain info on how often you use work tools like Slack and Jira. Reports are generated by reporters.

A reporter is a service that, when run, goes through the logs generated by monitors, and produces a summary from that. Various summaries from various reporters are combined into a report.

  • To generate a report from all reporters, run devsig report
  • To generate a report from a particular reporter, run devsig report {reporter}
    • For instance, generate a report from the Slack reporter, run devsig report slack
  • To push a report from all reporters to https://devsig.firebaseapp.com, run devsig report --push
    • Likewise, to push a report from a particular reporter to https://devsig.firebaseapp.com, run devsig report {reporter} --push

Reports are stored in the reports/ folder, in the root directory of the application.