Package-level declarations
Types
Represents a parsed Kotlin annotation declared on a class.
Represents a parsed Kotlin class, interface, or object declaration.
Context receiver for writing declarative assertions on a ClassDeclaration element. Provides easy access to all element properties and custom helper assertions.
A builder for compiling and verifying architectural rules on Kotlin classes.
Fluent API for defining assertion rules on Kotlin classes.
Fluent API for defining filtering conditions on Kotlin classes.
Represents a declared project-to-project dependency edge at runtime.
Context wrapper for verifying source file declarations.
Context receiver for writing declarative assertions on a FileDeclarationContext element. Provides easy access to all element properties and custom helper assertions.
A builder for compiling and verifying architectural rules on Kotlin source files.
Context wrapper for verifying function declarations.
Context receiver for writing declarative assertions on a FunctionDeclarationContext element. Provides easy access to all element properties and custom helper assertions.
A builder for compiling and verifying architectural rules on Kotlin function declarations.
DSL Context wrapper that allows defining and verifying multiple independent rule suites.
DSL Marker for Konture DSL structures.
Represents a scope containing a set of Kotlin files for checking file-level rules.
Represents a scope containing a set of classes for writing architecture rules in a Konsist-inspired fluent DSL.
A builder class implementing the Layered Architecture DSL.
Type-safe, nested DSL for defining and verifying layered architecture rules.
Represents a single Gradle module/project and all its structural and source declarations.
Context receiver for writing declarative assertions on a Module element. Provides easy access to all element properties and custom helper assertions.
A builder for compiling and verifying architectural rules on project modules.
Fluent API for defining assertion rules on Gradle modules.
Fluent API for defining filtering conditions on Gradle modules.
Represents the complete structural graph of the multi-project/composite build. It provides core querying capabilities, circular dependency verification, and access to the parsed class/declaration hierarchy of the entire workspace.
A builder for compiling and verifying architectural rules on Kotlin property declarations.
Context wrapper for verifying property declarations.
Context receiver for writing declarative assertions on a PropertyDeclarationContext element. Provides easy access to all element properties and custom helper assertions.
Properties
Delegates annotations property to the underlying FunctionDeclaration.
Delegates annotations property to the underlying PropertyDeclaration.
Delegates classes property to the underlying FileDeclaration.
Retrieves a file-level functional KontureFileScope representing all files in the project.
Delegates imports property to the underlying FileDeclaration.
Delegates isExtension property to the underlying FunctionDeclaration.
Delegates isExtension property to the underlying PropertyDeclaration.
Delegates isVal property to the underlying PropertyDeclaration.
Delegates isVar property to the underlying PropertyDeclaration.
Delegates kdocText property to the underlying FunctionDeclaration.
Delegates kdocText property to the underlying PropertyDeclaration.
Delegates modifiers property to the underlying FunctionDeclaration.
Delegates modifiers property to the underlying PropertyDeclaration.
Delegates name property to the underlying FileDeclaration.
Delegates name property to the underlying FunctionDeclaration.
Delegates name property to the underlying PropertyDeclaration.
Delegates packageName property to the underlying FileDeclaration.
Delegates parameters property to the underlying FunctionDeclaration.
Delegates returnType property to the underlying FunctionDeclaration.
Retrieves a class-level functional KontureScope representing the entire project.
Delegates topLevelFunctions property to the underlying FileDeclaration.
Delegates topLevelProperties property to the underlying FileDeclaration.
Delegates type property to the underlying PropertyDeclaration.
Delegates visibility property to the underlying FunctionDeclaration.
Delegates visibility property to the underlying PropertyDeclaration.
Functions
Unified multi-rule block supporting modules, classes, and layered architecture validations. Runs every declared suite and aggregates all violations before failing.
Asserts that all class declarations in the scope represent abstract classes or interfaces.
Asserts that all class declarations represent abstract classes or interfaces.
Asserts that all class declarations in the scope extend or implement any of the specified supertypes.
Asserts that all class declarations extend or implement any of the specified supertypes.
Asserts that all class declarations in the scope are data classes.
Asserts that all class declarations are data classes.
Asserts that all class declarations in the scope represent enum classes.
Asserts that all class declarations represent enum classes.
Asserts that all class declarations in the scope are inline/value classes.
Asserts that all class declarations are inline/value classes.
Asserts that all class declarations in the scope represent interfaces.
Asserts that all class declarations represent interfaces.
Asserts that all class declarations in the scope are internal.
Asserts that all class declarations are internal.
Asserts that all class declarations in the scope are private.
Asserts that all class declarations are private.
Asserts that all class declarations in the scope are protected.
Asserts that all class declarations are protected.
Asserts that all class declarations in the scope are public.
Asserts that all class declarations are public.
Asserts that all class declarations in the scope are sealed classes.
Asserts that all class declarations are sealed classes.
Asserts that all class declarations in the scope have at least one of the specified annotations. Matches either the annotation's simple name or its fully qualified name (FQN).
Asserts that all class declarations have at least one of the specified annotations. Matches either the annotation's simple name or its fully qualified name (FQN).
Asserts that all class declarations in the scope have the specified visibility.
Asserts that all class declarations have the specified visibility.
Asserts that all file declarations in the scope have names ending with any of the specified suffixes.
Asserts that all class declarations in the scope have names ending with any of the specified suffixes.
Asserts that all class declarations have names ending with any of the specified suffixes.
Asserts that all file declarations have names ending with any of the specified suffixes.
Asserts that all file declarations in the scope have names matching any of the specified glob patterns.
Asserts that all class declarations in the scope have names matching any of the specified glob patterns. Supports '*' wildcards.
Asserts that all class declarations have names matching any of the specified glob patterns. Supports '*' wildcards.
Asserts that all file declarations have names matching any of the specified glob patterns.
Asserts that all file declarations in the scope have names starting with any of the specified prefixes.
Asserts that all class declarations in the scope have names starting with any of the specified prefixes.
Asserts that all class declarations have names starting with any of the specified prefixes.
Asserts that all file declarations have names starting with any of the specified prefixes.
Verifies that there are no package or module dependency cycles in the project. Throws an AssertionError if a cycle is detected.
Asserts that the selected classes in the scope are only accessed by classes residing in packages matching the specified patterns.
Asserts that the selected classes are only accessed by classes residing in packages matching the specified patterns.
Asserts that the selected classes in the scope depend only on classes residing in packages matching the specified patterns.
Asserts that the selected classes depend only on classes residing in packages matching the specified patterns.
Asserts that all file declarations in the scope reside in packages matching any of the specified patterns. Matches using standard Kotlin package wildcard matching (e.g. "..domain..").
Asserts that all class declarations in the scope reside in packages matching any of the specified patterns. Matches using standard Kotlin package wildcard matching (e.g. "..domain..").
Asserts that all class declarations reside in packages matching any of the specified patterns. Matches using standard Kotlin package wildcard matching (e.g. "..domain..").
Asserts that all file declarations reside in packages matching any of the specified patterns. Matches using standard Kotlin package wildcard matching (e.g. "..domain..").
Access the class-level declarative assertion rule builder. Allows filtering and assertion of class structure, modifiers, annotations, visibility, and dependencies.
Filters the list of class declarations to include only normal classes (excluding interface definitions).
Define and run class dependency/structural rules inside a block-based DSL context. Automatically checks the rules at the end of the block.
Helper extension to check if a file contains a class matching the predicate.
Access the file-level declarative assertion rule builder. Allows filtering and assertion of source files and their imports, package, or wildcard usages.
Define and run source file dependency/structural rules inside a block-based DSL context. Automatically checks the rules at the end of the block.
Retrieves a file-level functional KontureFileScope scoped to a specific module path.
Retrieves a file-level functional KontureFileScope scoped to a specific package name.
Access the function-level declarative assertion rule builder. Allows filtering and assertion of function declarations (both top-level and nested member functions).
Define and run function dependency/structural rules inside a block-based DSL context. Automatically checks the rules at the end of the block.
Helper extension to check if a class is annotated with all of the specified annotations.
Helper extension to check if a function has all of the specified annotations.
Helper extension to check if a property has all of the specified annotations.
Helper extension to check if a class is annotated with the given annotation.
Helper extension to check if a function has the specified annotation.
Helper extension to check if a property has the specified annotation.
Helper extension to check if a class is annotated with any of the specified annotations.
Helper extension to check if a function has any of the specified annotations.
Helper extension to check if a property has any of the specified annotations.
Helper extension to check if a file imports any match containing target segments.
Filters the list of class declarations to include only interface definitions.
Define and run a nested, type-safe layered architecture specification. Automatically checks the layered rules at the end of the block.
Access the layered-architecture rule builder. Allows defining high-level layers and declaring directional access constraints between them.
Access the modules-level declarative assertion rule builder. Allows filtering and assertion of architectural module structures and dependencies.
Define and run module dependency rules inside a block-based DSL context. Automatically checks the rules at the end of the block.
Access the property-level declarative assertion rule builder. Allows filtering and assertion of property declarations (both top-level and class properties).
Define and run property dependency/structural rules inside a block-based DSL context. Automatically checks the rules at the end of the block.
Retrieves a class-level functional KontureScope scoped to a specific module path.
Retrieves a class-level functional KontureScope scoped to a specific package name.
Asserts rules on filtered classes using a lambda block that provides a ClassDeclarationShouldContext receiver.
Asserts rules on filtered files using a lambda block that provides a FileDeclarationShouldContext receiver. Supports both imperative assertions and Boolean predicate matches.
Asserts rules on filtered functions using a lambda block that provides a FunctionDeclarationShouldContext receiver. Supports both imperative assertions and Boolean predicate matches.
Asserts rules on filtered modules using a lambda block that provides a ModuleShouldContext receiver. Supports both imperative assertions and Boolean predicate matches.
Asserts rules on filtered properties using a lambda block that provides a PropertyDeclarationShouldContext receiver. Supports both imperative assertions and Boolean predicate matches.
Filters classes in this rule using a concise lambda predicate evaluated on each ClassDeclaration.
Filters files in this rule using a concise lambda predicate evaluated on each FileDeclarationContext.
Filters functions in this rule using a concise lambda predicate evaluated on each FunctionDeclarationContext.
Filters modules in this rule using a concise lambda predicate evaluated on each Module.
Filters properties in this rule using a concise lambda predicate evaluated on each PropertyDeclarationContext.
Filters the list of class declarations to include only those annotated with the specified annotation.
Filters class declarations to those containing the specified modifier.
Filters the list of class declarations to include only those whose names end with the specified suffix.
Filters the list of file declarations to include only those whose names end with the specified suffix.
Filters the list of class declarations to include only those whose simple names match the specified glob pattern. Supports '*' wildcards.
Filters the list of file declarations to include only those whose names match the specified glob pattern. Supports '*' wildcards.
Filters the list of class declarations to include only those whose names start with the specified prefix.
Filters the list of file declarations to include only those whose names start with the specified prefix.
Filters the list of class declarations to exclude those annotated with the specified annotation.
Filters the list of class declarations to include only those residing in packages matching the specified pattern. Supports '..' segment wildcards.
Filters the list of file declarations to include only those residing in packages matching the specified pattern. Supports '..' wildcards.
Filters class declarations to those extending or implementing the specified parent type.
Filters class declarations to those matching the specified visibility.