   name ||= componentName()
   if not exists join(tgtDir, name)
     if link
+      log "link-installing #{name} to #{tgtDir}"
       orig = path.resolve process.cwd()
       process.chdir tgtDir
       fs.symlinkSync join(orig, src), name, "dir"
       process.chdir orig
     else
+      log "installing #{name} to #{tgtDir}"
       wrench.copyDirSyncRecursive src, join(tgtDir, name)
 
 allNodeModules = () ->

  fs.writeFileSync(fname, content, encoding)
exists = path.existsSync
join = path.join
pathSep = path.normalize("/")
argv = null
usage = null


provide = (pth) ->
  if not exists pth
    log "recursively creating directory `#{pth}`"
    start = if pth[0] is pathSep then pathSep else ""
    _.reduce [start].concat(pth.split(pathSep)), (soFar, dir) ->
      fs.mkdirSync join(soFar, dir) if not exists(join(soFar, dir))
