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.0Entrypoint
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
| 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@055e5cc61cf9da904c560cafcd586ff296f08ead 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)
}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@055e5cc61cf9da904c560cafcd586ff296f08ead 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@055e5cc61cf9da904c560cafcd586ff296f08ead 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)
}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@055e5cc61cf9da904c560cafcd586ff296f08ead 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)
}