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

fixme-cli

v0.0.16

Published

Assisting you in fixing broken commands in the command line.

Downloads

21

Readme

Fixme

Assisting you in fixing broken commands in the command line.

Install this globally and you'll have access to the fixme command anywhere on your system.

npm install -g fixme-cli

How to use it

We have all been there (probably many times a day). We execute a command, and it fails.

$ git status
HEAD detached at 084178d
nothing to commit, working directory clean

In some cases we know how to fix it, and in others we know how to google for a fix. Most of the time, the fix is simple, but it is still a time suck to get it fixed.

Let's see how fixme can solve this issue:

$ fixme !!

-------------------- Running --------------------
HEAD detached at 084178d
nothing to commit, working directory clean


-------------------- Fixing --------------------
We have found a fix: 

----
Fix  : Git Status Detached Head

      Something went wrong with this head, but we can get it back.

      git checkout master
      git pull origin master
----

Do you want to apply the fix? [Y] or return : y

By confirming with y, we allow fixme to automatically run the commands displayed in the fix.

How does it work

This is a proof of concept implementation. It simply checks the outputs of the last command (!! tells the command line to repeat the last command) and matches it with some code-based "database" (it's not really a database, it's just code) of fixes. If there is a fix, it generates the fixing code which can depend on parameters of the actual command.

That's it, and it is very much work in progress.

Currently supported fixes

Have a look at the db subfolder. It mostly revolves around:

  • Version Control (git and svn)
  • Package Management (composer, easy_install, npm, pip)
  • Compilers and Makers (grunt)
  • Shell Commands (rm)
  • Network Commands (ssh)

Adding fix recipes

Simply add them to the db subfolder. If you think your fixes might be beneficial to the rest of us, please add a pull request.

TODOs

  • Sandboxing fixes
  • Reading console output instead of re-running command
  • Add operating system to descriptor
  • Checking whether the execution of any of the commands of a fix require another fix (recursion)