Skip to content
This repository was archived by the owner on Oct 2, 2026. It is now read-only.
RalfHuesingPublic archive

About

Roslyn-based MCP server and CLI for C# solutions and local .NET assemblies: semantic code navigation, impact analysis, metrics, and configurable linting.

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Repository files navigation

AiNetLinter

Warning

Projekt eingestellt: AiNetLinter ist obsolet und wird nicht weiterentwickelt.

Die Aufgaben werden in zwei eigenständigen Nachfolgeprojekten fortgeführt:

  • AiNetCodeNavigator: semantische Code-Navigation und Codeverständnis während der Umsetzung eines Tasks.
  • AiNetReview: nachgelagerte Code-Reviews und Audits als Grundlage für gezieltes Refactoring.

Die folgende Dokumentation beschreibt den bisherigen Stand von AiNetLinter.

Warum AiNetLinter eingestellt wurde

Code-Navigation und Code-Audits sind unterschiedliche Aufgaben. Navigation unterstützt einen Agenten unmittelbar dabei, den Code zu verstehen und den aktuellen Task korrekt fertigzustellen. Reviews und Audits benötigen dagegen einen umfassenden Blick auf das Gesamtsystem, um architektonischen und technischen Drift sowie technische Schulden zu erkennen.

Feste Linter-Regeln als unmittelbare Quality Gates können in autonomer agentischer Entwicklung kontraproduktiv sein: Sie zwingen den Agenten zu lokalen Optimierungen, die für den aktuellen Auftrag keinen ausreichenden Nutzen haben. Dadurch wächst der Änderungsumfang und der Fokus verschiebt sich vom eigentlichen Task zur Erfüllung der Regeln. Lokale Regelkonformität ist zudem kein Beleg für eine insgesamt bessere Architektur.

Deshalb trennen die Nachfolgeprojekte diese Verantwortlichkeiten bewusst: AiNetCodeNavigator begleitet die Umsetzung kontinuierlich. AiNetReview unterstützt eigenständige, nachgelagerte Reviews und Audits, die von Zeit zu Zeit bewusst beauftragt werden. Refactoring erfolgt auf dieser Grundlage mit einem 360-Grad-Blick auf die Codebasis, statt während jedes Tasks durch feste Linter-Regeln erzwungen zu werden.

Bisheriger Funktionsumfang

AiNetLinter ist ein Roslyn-basierter MCP-Server und CLI-Linter für C#-Solutions und lokale .NET-Assemblies. Der MCP-Server stellt Coding-Agents semantischen Codekontext, Auswirkungsanalysen, Metriken und regelbasierte Befunde bereit; die CLI führt dieselbe Analyse als Batch-Lauf oder Quality Gate aus.

Source-Targets (.sln, .slnx) werden über Roslyn analysiert. Lokale verwaltete Assemblies (.dll, .exe) werden für die Analyse metadata-only dekompiliert und nicht ausgeführt.

MCP-Server für Coding-Agents

Der Server verwendet lokalen stdio-Transport über JSON-RPC 2.0. Er lässt sich in MCP-Hosts mit lokalem stdio-Support registrieren, etwa Cursor, Claude Code, Codex, GitHub Copilot oder Windsurf.

Bereich MCP-Fähigkeiten
Symbolnavigation Symbolsuche, Member-Struktur, Quellcode-Fenster, Referenzen, Call-Trees sowie Typ-Hierarchien und Implementierungen.
Änderungsanalyse Git-Diff- und Symbol-Impact, Abhängigkeitsgraphen und statische Testzuordnung.
Qualitätsanalyse Konfigurierbare Regelverstöße, Metriken, Hotspots, Duplikate, Dead-Code- und Magic-Value-Kandidaten sowie Quality Gates.
Assembly-Analyse Öffentliche API, Signaturen, Extension-Methoden, Dekompilat und Metadaten lokaler .dll- und .exe-Dateien.

MCP-Protokollvertrag für Agenten

Jeder zielgebundene Aufruf verwendet einen absoluten targetPath zu einer Solution oder Assembly. Die Dateiendung bestimmt die Route: Source oder dekompilierte Assembly. Antworten enthalten lesbares Markdown und structuredContent; Symbol-IDs, Snapshot-Metadaten, Vollständigkeitsstatus, Trunkierung und gegebenenfalls Continuation-Tokens machen gezielte Folgeaufrufe maschinell auswertbar. Die aktuelle Tool- und Parameterschnittstelle wird über tools/list veröffentlicht.

Schnellstart

  1. Die aktuelle Windows-x64-Release herunterladen und entpacken. Das Verzeichnis mit AiNetLinter.exe entweder dem PATH hinzufügen oder im MCP-Host als absoluter Pfad verwenden.
  2. Den Server im MCP-Host registrieren:
{
  "mcpServers": {
    "ainetlinter": {
      "command": "C:\\Tools\\AiNetLinter\\AiNetLinter.exe",
      "args": ["--mcp-server"]
    }
  }
}
  1. Der Agent verwendet bei zielgebundenen Tool-Aufrufen einen absoluten targetPath, beispielsweise C:\\Code\\MeinProjekt\\MeinProjekt.slnx.

Eine Source-Solution kann direkt daneben eine optionale ainetlinter-rules.json enthalten. Sie aktiviert das Linting; die semantische Navigation bleibt ohne Regeldatei verfügbar.

CLI-Linter

Der Batch-Modus prüft eine Solution gegen eine Regelkonfiguration und gibt Befunde mit Exit-Code aus. Er unterstützt Baselines für inkrementelle Einführung, automatische Roslyn-basierte Fixes, Caches und CI-Quality-Gates.

AiNetLinter.exe --config .\ainetlinter-rules.json --path .\src\MeinProjekt.slnx

Dokumentation

Linter & CLI

Dokument Inhalt
Konfiguration ainetlinter-rules.json, Regeln, Defaults, Profile und Schwellenwerte.
CLI-Referenz & Workflows CLI-Optionen, Workflows (Lint+Fix, Baseline/Ratchet), Exit-Codes und Fehlerformate.
Projektintegration Einbindung in C#/.NET-Projekte, Architektur-Unit-Tests, CI und lokale Suppressions.

MCP-Server (Coding-Agenten)

Dokument Inhalt
MCP-Tools & Verträge 32 MCP-Tools, Eingaben, Ausgaben, Capability-Matrix und Assembly-Verträge.
MCP-Server & Daemon Architektur, ThinClient, Daemon-Transport, 3-Zustands-Lifecycle und System-Logging.
MCP-Host-Integration Registrierung in Cursor / Claude Code, Start-Sequenzen und Tool-vs-rg-Leitfaden.
MCP-Bootstrap Einmalige Ersteinrichtung eines Projekts für MCP-Hosts und Agents.

Architektur & Grundlagen

Dokument Inhalt
Rationale Wissenschaftliche Grundlagen und Design-Prinzipien der Linter-Regeln.

Die eingebettete Kurzreferenz ist auch über AiNetLinter.exe --docs <name> verfügbar; die gültigen Namen stehen in AiNetLinter.exe --help.


AiNetLinter — Quellcode, Changelog und Issues auf GitHub.

About

Roslyn-based MCP server and CLI for C# solutions and local .NET assemblies: semantic code navigation, impact analysis, metrics, and configurable linting.

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages