code: def visit_NamedItem(self, node: NamedItem) -> None:
      if node.name and node.name.startswith("_"):
          raise GrammarError(
              f"Variable names cannot start with underscore: '{node.name}'"
          )
      self.visit(node.item)
  
imports: import ast
  import contextlib
  import re
  from abc import abstractmethod
  from typing import IO, AbstractSet, Any, Dict, Iterable, Iterator, List, Optional, Set, Text, Tuple, Union
  from pegen import sccutils
  from pegen.grammar import Alt, Cut, Forced, Gather, Grammar, GrammarError, GrammarVisitor, Group, Lookahead, NamedItem, NameLeaf, Opt, Plain, Repeat0, Repeat1, Rhs, Rule, StringLeaf
label_desc: Use image node_id 3 for calling the RuleCheckingVisitor obj's underlying member method code with example usage: obj.visit_NamedItem(node) without return types