Last week, I transitioned one of the repos at work to use Paket in lieu of Nuget.
While this post is not about why or which is better, I have to say I'm diggin' the switch. I digress...
The transitioned project just so happens to use Gulp for build tasks. One of those tasks interacted with the Nuget client via the nuget-runner package.
At the moment, restore is the only working function. But, it should be easy to add to if needed.
This package was heavily influenced by the nuget-runner (Thank you!). After studying the nuget-runner code for the first time, I thought, "why did they structure this like that? It makes very little sense...." The list goes on.
Only after trying to implement the restore function in a way where other methods could be added easily did I realise why the nuget-runner was the way it was.
I know it's hard to believe, but when writing something for the first time it's probably not going to look exactly the way you want.
This is where TDD comes in. It helps get your code to the point where it works and all necessary tests pass. Then you can refactor without much fear of breaking something.
Anyways, if you want to contribute, feel free. I'm pretty easy going to respond to most things on Github quickly.