var gulp       = require('gulp'),
    coffee     = require('gulp-coffee'),
    concat     = require('gulp-concat'),
    uglify     = require('gulp-uglify'),
    sourcemaps = require('gulp-sourcemaps'),
    del        = require('del');

var paths = {
  scripts: ['source/**/*.coffee']
};

gulp.task('clean', function (cb) {
  del(['build'], cb);
});

// Compiles coffee to js
gulp.task('scripts', ['clean'], function () {
  return gulp.src(paths.scripts)
    .pipe(sourcemaps.init())
    .pipe(coffee({bare: true}))
    //.pipe(uglify())
    .pipe(concat('all.min.js'))
    .pipe(sourcemaps.write())
    .pipe(gulp.dest('build'));
});

gulp.task('watch', function () {
  gulp.watch(paths.scripts, ['scripts']);
});

gulp.task('default', ['watch', 'scripts']);

@@ -226,16 +226,58 @@
 e('del')
+,%0A    karma      = require('karma').server
 ;%0A%0Avar p
@@ -754,48 +754,368 @@
 );%0A%0A
-gulp.task('default', %5B'watch', 'scripts
+// Run test once and exit%0Agulp.task('test', function (done) %7B%0A  karma.start(%7B%0A    configFile: __dirname + '/karma.conf.js',%0A    singleRun: true%0A  %7D, done);%0A%7D);%0A%0A// Watch for file changes and re-run tests on each change%0Agulp.task('tdd', function (done) %7B%0A  karma.start(%7B%0A    configFile: __dirname + '/karma.conf.js'%0A  %7D, done);%0A%7D);%0A%0Agulp.task('default', %5B'tdd
 '%5D);%0A
+%0A

Add tasks test and tdd