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.16.1Entrypoint
Return Type
RepositoryLintingExample
dagger -m github.com/stuttgart-things/blueprints/repository-linting@47405a53ffdd05d8cd304a7b461d2300b428003a 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
| Name | Type | Default Value | Description | 
|---|---|---|---|
| configPath | String | ".yamllint" | No description provided | 
| outputFile | String | "yamllint-findings.txt" | No description provided | 
| src | Directory ! | - | No description provided | 
Example
dagger -m github.com/stuttgart-things/blueprints/repository-linting@47405a53ffdd05d8cd304a7b461d2300b428003a call \
 lint-yaml --src DIR_PATHfunc (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)
}lintMarkdown() 🔗
LintYAML lints YAML files in the provided directory
Return Type
File !Arguments
| Name | Type | Default Value | Description | 
|---|---|---|---|
| configPath | String | ".mdlrc" | No description provided | 
| outputFile | String | "markdown-findings.txt" | No description provided | 
| src | Directory ! | - | No description provided | 
Example
dagger -m github.com/stuttgart-things/blueprints/repository-linting@47405a53ffdd05d8cd304a7b461d2300b428003a call \
 lint-markdown --src DIR_PATHfunc (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)
}validateMultipleTechnologies() 🔗
Return Type
File !Arguments
| Name | Type | Default Value | Description | 
|---|---|---|---|
| yamlConfigPath | String | ".yamllint" | No description provided | 
| yamlOutputFile | String | "yamllint-findings.txt" | No description provided | 
| markdownConfigPath | String | ".mdlrc" | No description provided | 
| markdownOutputFile | String | "markdown-findings.txt" | No description provided | 
| mergedOutputFile | String | "all-findings.txt" | No description provided | 
| src | Directory ! | - | No description provided | 
Example
dagger -m github.com/stuttgart-things/blueprints/repository-linting@47405a53ffdd05d8cd304a7b461d2300b428003a call \
 validate-multiple-technologies --src DIR_PATHfunc (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
| Name | Type | Default Value | Description | 
|---|---|---|---|
| reportFile | File ! | - | No description provided | 
| outputFile | String | "ai-analysis.txt" | No description provided | 
Example
dagger -m github.com/stuttgart-things/blueprints/repository-linting@47405a53ffdd05d8cd304a7b461d2300b428003a call \
 analyze-report --report-file file:pathfunc (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)
}