Home

Awesome

npm npm npm

WIP, WIP, & NAENAE

wip and naenae are command line utilities to better manage your WIP (Work In Progress) with Git.

wip saves your progress by committing the current state of your Git repo with a commit message of "WIP" (a common convention). naenae squashes all your "WIP" commits together and lets you give the commit a better title. By periodically saving your progress, you're free to write, rewrite, and ship faster.

Demo of the wip and naenae command line utilities

Install

wip and naenae run in Node.js, so you'll need to have that installed, type this in the terminal:

$ npm install -g wip

If you don't have it already, you'll need to install Git, too.

Usage

When you want to save your work, type this in the terminal:

$ wip

When you've finished a big chunk of work and you're ready to ship it, type this:

$ naenae

Naenae will archive your work for safe keeping (using wip archive), and then sqash all your WIPs into a single git commit.

HELPMEIT'SALLBROKEN

No worries! Thanks to wip, you've been meticulously tracking your work with Git, so everything is gonna' be ok.

When things break, you can see everything you've changed since the last commit with something like:

$ git diff HEAD^ HEAD

Or you could just download the GitHub Desktop app like the rest of us. SourceTree is also a great option, especially if you're looking for more control.

FAQs

Here's some answers to questions humans might ask if they ever read this.

How do I turn the sound effects off?

You read that right – wip and naenae have some sweet sound effects. They're on by default (so everyone around you can share in your progress), but you can turn them off by typing:

$ wip silently

Someone turned my sound effects off, how do I get them back?

That's terrible! But all is not lost – just:

$ wip loudly

💩, why can't I see the emoji?

Unfortunately, some shells don't support emoji. If you're on Windows, you may need to upgrade to something like Cygwin. If you want to avoid seeing the "unrecognized character" boxes (or if you just hate fun) you can:

$ wip without emoji

And when you're ready to rejoin civilization:

$ wip with emoji

All the hipsters use commitizen.

And you can too! Turn it on:

$ wip with commitizen

You can also turn it back off:

$ wip without commitizen

Have you tried putting it in a watch task and commiting on save?

npm install -g watch
wip silently
watch wip --ignoreDotFiles

You won't be disappointed.

License

MIT


xkcd commic about git

Naming inspired by Silentó - Watch Me (Whip/Nae Nae):

Silentó - Watch Me (Whip/Nae Nae) (Official)