code: function $$shell() {
      const SHELL_PROMPT = 'angie > ';
  
      if (shell) {
          process.stdout.write('\n');
      }
  
      return app.$$load().then(function() {
          process.stdin.setEncoding('utf8');
  
          // Start a REPL after loading project files
          if (!shell) {
              shell = repl.start({
                  prompt: SHELL_PROMPT,
                  input: process.stdin,
                  output: process.stdout
              });
          } else {
              process.stdout.write(SHELL_PROMPT);
          }
      });
  }
docs: @desc $$shell uses the NodeJS REPL to open an Angie-based shell
  
  Before load, the $$shell command will load all file dependencies of the
  target application. All application components will be available in the
  shell.
  
  The $$shell function is only called as a byproduct of the `angie watch`
  command and will reload all application files on save, on creation, or on
  removal in the directory specified to the $$watch function.
  @since 0.3.2
  @access private