# ansiblelint package structure Note that his describes the model after `__init__` cleaning (now imports look much workse than this) Another goal is to limit the amount of code we import from Ansible in order to avoid potential breakages. ```mermaid graph LR; __main__-->runner __main__-->rules __main__-->utils __main__-->formatters-->ansible __main__-->generate_docs __main__-->cli; rules-->AnsibleLintRule rules-->skip_utils rules-->errors rules-->utils runner-->errors runner-->skip_utils runner-->rules runner-->utils cli-->version cli-->utils utils-->errors utils-->ansible style AnsibleLintRule fill:#efe,stroke:#aba style ansible fill:#fee,stroke:#faa,stroke-width:1px ```