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.
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.
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.
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. |
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.
- Die aktuelle Windows-x64-Release
herunterladen und entpacken. Das Verzeichnis mit
AiNetLinter.exeentweder demPATHhinzufügen oder im MCP-Host als absoluter Pfad verwenden. - Den Server im MCP-Host registrieren:
{
"mcpServers": {
"ainetlinter": {
"command": "C:\\Tools\\AiNetLinter\\AiNetLinter.exe",
"args": ["--mcp-server"]
}
}
}- Der Agent verwendet bei zielgebundenen Tool-Aufrufen einen absoluten
targetPath, beispielsweiseC:\\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.
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| 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. |
| 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. |
| 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.