As a (very) new business owner, there are a lot of non-development-related tasks that I need to take care of. I need to find clients and send them estimates and contracts. That’s right, the dreaded contract. Back in the day I didn’t bother to send these out at all, throwing caution to the wind. Now, though, I’m older and wiser. I know that it’s always better to cover your ass. But damn, is it annoying to get this legal nonsense in order, sent out, signed, returned, blah blah blah.
It often seems to me as if everyone else in the open source development community are working on projects that are helping others to save the fucking world while I’m over here building things that are always really specific to a problem I am facing that isn’t common to developers as a whole. Well not anymore, pal. That’s right. I wrote something that other people can actually use. Well then, what the heck is it?
Introducing the Command Line Contract Generator
This right here is going to make my life so, so much easier. It’s really simple. It grabs a gist from my Github account which is a Markdown file, but with JSP-style template tags sprinkled throughout that represent your company name, the client company’s name, what the work will consist of, how much it will cost, how the client should pay, and some other stuff too. You can download it here.
The idea is that you would run a command (right now you simply run the entry point with Node:
$ node index.js). After downloading the markdown template from Github, it asks the user a series of questions, which will be used as the data to be injected into the template. It then converts the Markdown to HTML so that you can style your contract however you like with CSS. The really nice feature, though, is that by adding a print stylesheet, you now have a great way of creating printable contracts for your clients.
The key open source projects that made this one possible are:
There are admittedly probably 100 different ways to do this but as a developer, I am comfortable in the command line and thus feel that others may also enjoy this method of generating contract agreements. Secondly, I enjoy building things that make my life a bit easier day to day.
There are definitely still many improvements that I plan to add to this thing. For starters, I would like to add the ability for the user to specify their own Markdown file, either locally or via Github or some other code sharing service. Exporting to PDF would also be nice.
This idea could, of course, be applied to other documents as well and is not limited strictly to contracts. New sets of questions could enable the creation of estimates, newsletters, whatever. It probably exists out there somewhere in a better form, but hey, I made this thing and it works.
So thank you for taking the time to stop by, please take a minute to stop by my Contact Page and say hello.