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

meowvc

v2.0.2

Published

a version control system for dummies

Downloads

14

Readme

If you tap on computers regularly it is likely that at one time or another you have lost work. If this is true then it is possible you are also someone who obsessively saves and makes copies to placate your anxiety about losing work.

I would cmd-s all the time: web pages, email, listening to music. I knew I had a problem when my ⌘ key broke. ¬ me

mμ is a version control system geared towards chilling out the stress endemic to digital creation.

version control

Version control systems (VCS) are file databases that track file changes over time. VCS replace manual file versioning with software management. This simplification facilitates complex workflows unachievable by hand.

# Managed by hand
── final
   ├── finalpaper.docx
   ├── finalpaper1.docx
   ├── finalpaper121.docx
   ├── finalpaper-final.docx
   ├── finalpaper-final_REAL.docx
   └── finalpaper-THISONEISWEAR.docx

# Managed with code
── final
   ├── .mu
   └── finalpaper.docx

Thanks to TheDataLeek for the brilliant "Managed by hand" example.

The big takeaway from the above example is that version control lets you work with the version of the files you want (e.g. finalpaper.docx) and keeps archived files accessible but out of sight.

Another big win of version control is disaster prevention! If you ever loose work or screw up, it’s easy to recover with version control. For instance, to save a snapshot of everything in a directory with mµ is:

$ mu save "short explanation"

No matter what you change within this directory, recovering the previous snapshot is simple:

$ mu undo .

For more information on version control check out the visual guide to version control.

why mµ

Most version control systems are complex and scary, e.g. git.

"Git has 145 commands, but there’s no git undo." ~ Peter Lundgren

mµ, on the other hand, is simple and approachable. Let’s get started!

get mµ

from npm

$ npm install -g meowvc

or from GitHub

$ git clone https://github.com/jzwood/meowvc.git && cd meowvc $ npm install && npm link

and you're ready to go!

$ mu help

use mµ

$ mu <command> [<args>]

Commands and arguments:

help : shows usage

start [<name>] : creates a new mµ repo

state: : shows the current repo state

save <message> : records snapshot of current repo

which : shows name of current repo

saveas <name> : saves current repo with a new name

history [<limit=∞>] : shows ≤ the limit number of save messages for current repo

undo <file|pattern> : reverts file(s) (by name or pattern) to last save

get <name> [<version>] : switches to a different named repo

mash <name> [<version>] : mashes (ie merges) named repo into current repo

diff <file|pattern> : shows the word differences between current and saved version of file

when to use mµ

For people who already use Git, SVN, Mercurial, or other there still may be reasons to use mu. If you give mu start the optional name parameter your mu data will be stored in Dropbox if possible. This means that if you want to backup your personal work (which you do) without setting up and syncing a repository on BitBucket or polluting your GitHub you can use mu!

power users

If you want to resume working on a project from a different computer that is still linked to your Dropbox run mu start <name_of_repo>. If you then run mu state mu will tell you that all your files have been deleted (cuz the dir is empty). Run mu undo . and your latest master branch will be restored.