   .version(require('../package.json').version)
 
 program
-  .command('init')
+  .command('init [to]')
   .description('initialize project, create new directory before initialize')
+  .option('-f --force', 'force initialize on directory not empty')
   .action(cmd_init)
 
 program
-  .command('publish')
+  .command('publish [to]')
   .description('publish new article')
   .action(cmd_publish)
 
 program
-  .command('preview')
+  .command('preview [to]')
   .description('preview generated html files')
   .option('-s --server [port]', 'start local server')
   .option('-a --auto', 'watch for file change and auto update')
   .action(cmd_preview)
 
 program
-  .command('build')
+  .command('build [to]')
   .description('build html files')
   .option('-s --server [port]', 'start local server')
   .option('-a --auto', 'watch for file change and auto update')
   .action(cmd_build)
 
 program
-  .command('migrate <path>')
+  .command('migrate <from> [to]')
   .description('migrate exist markdown file into project')
   .action(cmd_migrate)
 

      else
        console.log "#{asset[1]} exist, leave without touch".warn

  if not fs.readdirSync('.').length
    init()
  else
    # directory not empty

      if answers.ifProcess
        init()

cmd_publish = (args) ->
  create_post '', ->
    process.stdin.destroy()

