A monastic javascript build/test tool based on asynchronous promises

npm install cadfael
20 downloads in the last month


A monastic javascript make/build/test tool that observes your asynchronous promises

Getting Started

A precept is "a general rule intended to regulate behavior or thought"

Cadfael automates and verifies the execution of interdependent precepts that you define for your project:

  1. Install the global CLI script: npm install -g cadfael-cli
  2. Write a precept file
  3. Install cadfael package in your project directory: npm install cadfael --save-dev (or globally, if you prefer)
  4. Observe all of your precepts: monk observe (or just some of them: monk observe tests)


If you don't need/want the global CLI, you can also use the API directly:

var cadfael = require('cadfael');
cadfael.observeRoot('./precepts.js', 'tests'); //returns a promise

Why another build tool?

[m|r|j]ake has systems of dependencies building only what is needed/changes. grunt lets you do something similar in node/javascript. Ever since I stumbled onto the spec for promises, however, I have been itching to synthesize promises and build scripts. A general purpose, promise-based, dependency-aware build tool can singly and elegantly fulfill the space currently held by an amagamate of other tools. Futhermore, this tool intends asynchronous support as first-class feature.

At least, that is the plan. Feedback and constructive criticism is welcome.


In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using cadfael and the provided precepts.js file.

Release History

  • 0.1.0 - Basic tooling working - Alpha functionality


Copyright (c) 2013 Elliott B. Edwards
Licensed under the MIT license.

npm loves you