Variables are missing on page--node--add.html.twig I have created two templates 

page--node--edit.html.twig

page--node--add.html.twig

I have discovered that the {{ node }} and {{ node_form }} variables are missing during node creation. 

Here is my code to render the node add form there using hook_preprocess_page.

  $variables['node_form'] = FALSE;
    if ($node = \Drupal::routeMatch()-&gt;getParameter('node')) {
      $form = \Drupal::entityTypeManager()
        -&gt;getFormObject('node', 'default')
        -&gt;setEntity($node);
      $variables['node_form'] = \Drupal::formBuilder()-&gt;getForm($form);
   }


My goal is to print node content type name and form from page--node--add.html.twig template. 

PS. No issue on page--node--edit.html.twig (node edit page)
if ($node = \Drupal::routeMatch()-&gt;getParameter('node')) { 


There's no node ID in the route at /node/add/foo, so there's no node available, and that condition will always be false.

You need to create the node yourself, e.g.

// Get the desired type from the route.
if ($node_type = \Drupal::routeMatch()-&gt;getParameter('node_type')) {
  $node = \Drupal::entityTypeManager()
    -&gt;getStorage('node')
    -&gt;create([
      'type' =&gt; $node_type-&gt;id(),
    ]);

  $form = \Drupal::entityTypeManager()
    -&gt;getFormObject('node', 'default')
    -&gt;setEntity($node);

  $variables['node_form'] = \Drupal::formBuilder()-&gt;getForm($form);
}