Dagger
Search

repository-linting

This module provides advanced linting, validation, and AI-powered analysis for code repositories.
It supports multi-technology linting (YAML, Markdown, etc.), merges findings, and enables automated review workflows.
The module can analyze linting reports using AI agents to deliver actionable feedback and improvement suggestions.

Key features:
- Validate and lint multiple file types in a repository
- Merge and summarize findings from different linters
- Use AI to analyze linting reports and generate human-readable reviews
- Integrate with Dagger pipelines for automated CI/CD quality gates

Designed for extensibility and integration in modern DevOps and platform engineering environments.

Installation

dagger install github.com/stuttgart-things/blueprints/repository-linting@v1.17.0

Entrypoint

Return Type
RepositoryLinting
Example
dagger -m github.com/stuttgart-things/blueprints/repository-linting@055e5cc61cf9da904c560cafcd586ff296f08ead call \
func (m *MyModule) Example() *dagger.RepositoryLinting  {
	return dag.
			RepositoryLinting()
}
@function
def example() -> dagger.RepositoryLinting:
	return (
		dag.repository_linting()
	)
@func()
example(): RepositoryLinting {
	return dag
		.repositoryLinting()
}

Types

RepositoryLinting 🔗

lintYaml() 🔗

LintYAML lints YAML files in the provided directory

Return Type
File !
Arguments
NameTypeDefault ValueDescription
configPathString ".yamllint"No description provided
outputFileString "yamllint-findings.txt"No description provided
srcDirectory !-No description provided
Example
dagger -m github.com/stuttgart-things/blueprints/repository-linting@055e5cc61cf9da904c560cafcd586ff296f08ead call \
 lint-yaml --src DIR_PATH
func (m *MyModule) Example(src *dagger.Directory) *dagger.File  {
	return dag.
			RepositoryLinting().
			LintYaml(src)
}
@function
def example(src: dagger.Directory) -> dagger.File:
	return (
		dag.repository_linting()
		.lint_yaml(src)
	)
@func()
example(src: Directory): File {
	return dag
		.repositoryLinting()
		.lintYaml(src)
}

validateMultipleTechnologies() 🔗

Return Type
File !
Arguments
NameTypeDefault ValueDescription
yamlConfigPathString ".yamllint"No description provided
yamlOutputFileString "yamllint-findings.txt"No description provided
markdownConfigPathString ".mdlrc"No description provided
markdownOutputFileString "markdown-findings.txt"No description provided
mergedOutputFileString "all-findings.txt"No description provided
srcDirectory !-No description provided
Example
dagger -m github.com/stuttgart-things/blueprints/repository-linting@055e5cc61cf9da904c560cafcd586ff296f08ead call \
 validate-multiple-technologies --src DIR_PATH
func (m *MyModule) Example(src *dagger.Directory) *dagger.File  {
	return dag.
			RepositoryLinting().
			ValidateMultipleTechnologies(src)
}
@function
def example(src: dagger.Directory) -> dagger.File:
	return (
		dag.repository_linting()
		.validate_multiple_technologies(src)
	)
@func()
example(src: Directory): File {
	return dag
		.repositoryLinting()
		.validateMultipleTechnologies(src)
}

analyzeReport() 🔗

ANALYZE A LINTING REPORT FILE WITH AI AND RETURN A TEXT FILE WITH THE ANALYSIS

Return Type
File !
Arguments
NameTypeDefault ValueDescription
reportFileFile !-No description provided
outputFileString "ai-analysis.txt"No description provided
Example
dagger -m github.com/stuttgart-things/blueprints/repository-linting@055e5cc61cf9da904c560cafcd586ff296f08ead call \
 analyze-report --report-file file:path
func (m *MyModule) Example(reportFile *dagger.File) *dagger.File  {
	return dag.
			RepositoryLinting().
			AnalyzeReport(reportFile)
}
@function
def example(report_file: dagger.File) -> dagger.File:
	return (
		dag.repository_linting()
		.analyze_report(report_file)
	)
@func()
example(reportFile: File): File {
	return dag
		.repositoryLinting()
		.analyzeReport(reportFile)
}

lintMarkdown() 🔗

LintYAML lints YAML files in the provided directory

Return Type
File !
Arguments
NameTypeDefault ValueDescription
configPathString ".mdlrc"No description provided
outputFileString "markdown-findings.txt"No description provided
srcDirectory !-No description provided
Example
dagger -m github.com/stuttgart-things/blueprints/repository-linting@055e5cc61cf9da904c560cafcd586ff296f08ead call \
 lint-markdown --src DIR_PATH
func (m *MyModule) Example(src *dagger.Directory) *dagger.File  {
	return dag.
			RepositoryLinting().
			LintMarkdown(src)
}
@function
def example(src: dagger.Directory) -> dagger.File:
	return (
		dag.repository_linting()
		.lint_markdown(src)
	)
@func()
example(src: Directory): File {
	return dag
		.repositoryLinting()
		.lintMarkdown(src)
}