# spark v2.6.0 - Table of Contents Generic tooling for building DSLs ## GUIDES - Tutorials - [Spark](get-started-with-spark.md) - How To - [Upgrading to 2.0](upgrade-to-2-0.md) - [Writing Extensions](writing-extensions.md) - [Splitting Up Large DSLs](split-up-large-dsls.md) - [Using Source Annotations](use-source-annotations.md) - [Setting up autocomplete](setup-autocomplete.md) - [Building Extensions with the Builder API](build-extensions-with-builders.md) ## Modules - DSLs and Extensions - [Spark.Dsl](Spark.Dsl.md): The primary entry point for defining a DSL. - [Spark.Dsl.Builder](Spark.Dsl.Builder.md): Utilities for building DSL objects programatically, generally used in transformers. - [Spark.Dsl.Entity](Spark.Dsl.Entity.md): Declares a DSL entity. - [Spark.Dsl.Extension](Spark.Dsl.Extension.md): An extension to the Spark DSL. - [Spark.Dsl.Fragment](Spark.Dsl.Fragment.md): Allows splitting up a DSL into multiple modules, potentially organizing large DSLs - [Spark.Dsl.Patch.AddEntity](Spark.Dsl.Patch.AddEntity.md): Supply this when defining an extension to add entity builders to another extension's section. - [Spark.Dsl.Section](Spark.Dsl.Section.md): Declares a DSL section. - [Spark.Dsl.Transformer](Spark.Dsl.Transformer.md): A transformer manipulates and/or validates the entire DSL state of a module at compile time. - [Spark.Dsl.Verifier](Spark.Dsl.Verifier.md): A verifier validates DSL state after compilation without modifying it. - [Spark.Dsl.Verifiers.VerifyEntityUniqueness](Spark.Dsl.Verifiers.VerifyEntityUniqueness.md): Verifies that each entity that has an identifier is unique at each path. - [Spark.Dsl.Verifiers.VerifySectionSingletonEntities](Spark.Dsl.Verifiers.VerifySectionSingletonEntities.md): Verifies that entities specified in a section's `singleton_entity_keys` appear at most once within that section. - Options - [Spark.Options](Spark.Options.md): Provides a standard API to handle keyword-list-based options. - [Spark.Options.Helpers](Spark.Options.Helpers.md): Helpers for use with spark options - [Spark.Options.ValidationError](Spark.Options.ValidationError.md): An error that is returned (or raised) when options are invalid. - [Spark.Options.Validator](Spark.Options.Validator.md): Defines a validator module for an option schema. - [Spark.OptionsHelpers](Spark.OptionsHelpers.md): Helpers for working with options lists. - Errors - [Spark.Error.DslError](Spark.Error.DslError.md): Used when a DSL is incorrectly configured. - Internals - [Spark](Spark.md):