Rule Directory Structure ------------------------ Rules are located under the directory :code:`vsg/rules`. Each directory under :code:`vsg/rules` corresponds to a group of rules. For example, all architecture rules are in a directory named: :code:`vsg/rules/architecture`. Each file under a rule group directory follows this pattern: :code:`rule_[0-9][0-9][0-9].py`. The diagram below illustrates rule directory structure given the descriptions above: .. code-block:: text vsg └── rules     ├── after     │   ├── rule_001.py ...     │   └── rule_003.py     ├── alias_declaration     │   ├── rule_001.py ...     │   └── rule_601.py └── architecture        ├── rule_001.py ...        └── rule_601.py In addition to each rule definition, there are base rules in the :code:`vsg/rules` directory. The base rules provide a consistent implementation of a particular type of rule. For example all rules which address lines before keywords will use the previous_line base rule. .. code-block:: text └── vsg └── rules ... └── previous_line.py ... There are also several utility files along with the base rules to provide helpful functions.