 
 {
     kit,
-    kit: { _, log, remove, spawn, Promise }
+    kit: { _, log, copy, remove, spawn, symlink, Promise }
 } = nobone
 
 class NofileBuilder

        builder.start()

    _build_doc: =>
        remove('doc', {
            isFollowLink: false
        }).then ->
            Promise.all([
                spawn('compass', [
                    'compile'
                    '--sass-dir', 'src/css'
                    '--css-dir', 'doc/css'
                    '--no-line-comments'
                ])
                spawn('doxx', [
                    '-d'
                    '-R', 'README.md'
                    '-t', 'MuPlayer 『百度音乐播放内核』'
                    '-s', 'dist'
                    '-T', 'doc_temp'
                    '--template', 'src/doc/base.jade'
                ])
            ])
        .then ->
            copy_to = (from, to) ->
                kit.copy 'doc_temp/' + from, 'doc/' + to

            Promise.all([
                copy_to 'player.js.html', 'api.html'


                        run = ->
                            service.use '/', renderer.static('doc')
                            service.use '/dist', renderer.static('dist')
                            service.use '/bower_components', renderer.static('bower_components')
                            { port } = opts
                            service.listen port, ->
                                log '>> Server start at port: '.cyan + port

                        if opts.rebuild
                            @_build()
