# Internal API

Anything within this section should only be necessary for people who are developing plugins or rules to interact with SQLFluff on a deeper level or people who’ve decided to help the project by contributing to SQLFluff.

As these docs are some of the least commonly used, you may find that not all modules are documented directly here, and so you may find it instructive to read this together with docstrings and comments directly within the SQLFluff codebase on GitHub.

- `sqlfluff.core.config`: Configuration & `FluffConfig`
  - Methods for creating config mappings
  - The `FluffConfig` object
- `sqlfluff.core.rules.base`: Base Rule Classes
  - `BaseRule`
  - `LintResult`
  - `RuleGhost`
  - `RuleLoggingAdapter`
  - `RuleManifest`
  - `RuleMetaclass`
  - `RulePack`
  - `RuleSet`
- `sqlfluff.utils.functional`: Functional Traversal API
  - `segments` Module
  - `segment_predicates` Module
  - `raw_file_slices` Module
  - `raw_file_slice_predicates` Module
- `sqlfluff.utils.reflow`: Whitespace Reflow API
  - `ReflowSequence`
  - `ReflowPoint`
  - `ReflowBlock`