Über mich Portfolio Referenzen Leistungen Blog Kontakt 🎙 Mit KI sprechen
EN DE RU
🎙 Mit KI sprechen
October 2, 2026 · 3 min read

Technische Schulden und Architekturprobleme in TypeScript/JS sofort erkennen: Automatisiertes Codebase-Audit mit fallow

von Denis Shokhirev, Enterprise AI Architect aus Freiburg im Breisgau — Ich entwickle und betreibe autonome Multi-Agenten-Systeme für DACH-B2B-Kunden auf Basis von Claude, Supabase, n8n, Doppler und selbst gehostetem Postgres. In produktiven Projekten erleben Sie es oft: Wochenlanges manuelles Review, trotzdem bleiben zyklische Abhängigkeiten, toter Code und Architekturfehler unentdeckt. Mit fallow identifiziere ich diese Schwachstellen in weniger als 30 Minuten — DSGVO-konform, lokal, ohne Demo

Denis Shokhirev
Denis Shokhirev
Agentic AI Systems Architect
Telegram LinkedIn

von Denis Shokhirev, Enterprise AI Architect aus Freiburg im Breisgau — Ich entwickle und betreibe autonome Multi-Agenten-Systeme für DACH-B2B-Kunden auf Basis von Claude, Supabase, n8n, Doppler und selbst gehostetem Postgres. In produktiven Projekten erleben Sie es oft: Wochenlanges manuelles Review, trotzdem bleiben zyklische Abhängigkeiten, toter Code und Architekturfehler unentdeckt. Mit fallow identifiziere ich diese Schwachstellen in weniger als 30 Minuten — DSGVO-konform, lokal, ohne Demo-Show.

Manueller Code-Review: Subjektiv, langsam, lückenhaft

Standardmäßig wird ein TypeScript/JS-Projekt im manuellen Review-Verfahren geprüft: Ein Senior-Entwickler durchforstet das Repository, meldet „Code Smells“ und schreibt lange Listen. Die Realität:

  • Viele Hinweise sind subjektiv und diskutabel,
  • Kritische Schwachstellen (z.B. SQL-Injection, falsch gehandhabte Secrets) bleiben oft verborgen,
  • Architekturprobleme (z.B. zyklische Abhängigkeiten, versteckte Seiteneffekte) tauchen ohne Spezialtools kaum auf.

In drei meiner letzten Agenten-Deployments habe ich wiederholt SQL-Injection-Muster im automatisch generierten DB-Layer gefunden — trotz bestandener menschlicher Reviews.

Was ist fallow? Warum ist es für JS/TS-Projekte praxistauglich?

fallow ist ein Open-Source-Tool zur statischen Analyse von TypeScript- und JavaScript-Code. Es erzeugt einen vollständigen Abhängigkeitsgraphen, erkennt „toten“ (ungenutzten) Code, zyklische Abhängigkeiten, vergessene Entry-Points und typische Architektur-Antipatterns. Projekt-Link: https://github.com/fallow-land/fallow

Tool JS/TS-Unterstützung Architekturprüfung Visualisierung Open Source
fallow Ja Ja Ja Ja
ESLint Ja Teilweise Nein Ja
depcruise Ja Teilweise Ja Ja
SonarQube Ja Teilweise Ja Nein

fallow läuft vollständig lokal, kein Code verlässt das Unternehmen — ein Compliance-Anker für DSGVO, BSI Grundschutz und EU AI Act.

Typische Schwachstellen im JS/TS-Monolith, die fallow aufdeckt

  • Zyklische Abhängigkeiten: erschweren Refactoring, verhindern Tree-Shaking, erschweren automatisiertes Testen.
  • Toter Code: Überbleibsel nach Migrationen, die nie aufgerufen werden.
  • Verborgene Entry-Points: vergessene Endpoints, nicht offensichtliche Seiteneffekte.
  • „Feature Envy“: Module, die zu eng gekoppelt sind und das Single-Responsibility-Prinzip verletzen.
  • Komplexe Abhängigkeitsgraphen: schwer nachvollziehbar, was die Kernlogik beeinflusst.

In produktiven Systemen mit mehr als 2 Jahren Laufzeit finde ich regelmäßig mindestens 3–5 kritische Zyklen und dutzende tote Dateien.

fallow in der Praxis: Integration in reale TypeScript/JS-Projekte

1. Schneller Start — Audit im lokalen Umfeld

npm install -g @fallow-land/cli
fallow -p ./src --format json --report report.json
cat report.json | jq '.'

Das Ergebnis: ein detaillierter JSON-Report mit Abhängigkeitsgraph, Zyklen, totem Code und verwaisten Modulen. Berichte teile ich via Notion oder automatisiert über n8n an Slack.

2. Visualisierung zur Architektur-Analyse

fallow -p ./src --format html --report report.html
open report.html

Die Visualisierung von Zyklen und totem Code ist nicht „nice to have“. Bei einem Kundenprojekt sah man sofort, dass das Payments-Modul noch von einem veralteten Auth-Service abhing — ein Compliance-Risiko für DSGVO und interne Auditprozesse.

3. Integration in CI/CD-Pipeline und Benachrichtigung

# .github/workflows/fallow-audit.yml
name: fallow audit
on:
  push:
    branches: [ main ]
jobs:
  fallow-audit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Install Node.js
        uses: actions/setup-node@v4
        with:
          node-version: 20
      - run: npm ci
      - run: npm install -g @fallow-land/cli
      - run: fallow -p ./src --format json --report report.json
      - uses: actions/upload-artifact@v4
        with:
          name: fallow-report
          path: report.json

Jeder Push auf „main“ löst einen automatischen Architektur-Check aus. Ergebnisse erscheinen im Pull Request oder werden via n8n an Slack gesendet.

Einsatzszenarien für fallow in regulierten Märkten

  • Regelmäßige Audits von Legacy-Code vor Major-Releases,
  • Codebase-Bewertung bei Firmenübernahmen oder Outsourcing,
  • Automatische Prüfung von Pull Requests auf neue Zyklen,
  • Zusammenfassung für CTO/PM über Claude- oder GPT-Integration.

In Kombination mit semgrep (semgrep.dev) decken Sie sowohl Architektur- als auch Sicherheitsrisiken ab: semgrep für Schwachstellen, fallow für strukturelle Schulden. Im Kontext von DSGVO, NIS2 und BaFin-Anforderungen ist das unerlässlich.

FAQ

Kann fallow mit Monorepos und mehreren Packages umgehen?

Ja, fallow unterstützt Monorepos. Sie sollten das Tool im Projekt-Root ausführen und alle relevanten Entry-Points angeben.

Wie unterscheidet sich fallow von depcruise oder ESLint?

depcruise visualisiert Abhängigkeiten, ESLint prüft Stil und Fehler. Nur fallow erkennt direkt toten Code und Zyklen auf Architektur-Ebene.

Wie gehen Sie mit sehr großen Reports (500+ Dateien) um?

Ich lasse Claude oder GPT ein Summary generieren: „Nenne die fünf kritischsten Zyklen und toten Dateien.“ Perfektion ist nicht das Ziel — es geht um die gefährlichsten Hotspots.

Besteht bei fallow ein Risiko einer Code-Abwanderung?

Nein, fallow arbeitet strikt lokal. Kein Code verlässt das Unternehmen, was für Compliance (DSGVO, ISO 27001) essenziell ist.

Lässt sich fallow in n8n für Automatisierung integrieren?

Ja, via Shell-Kommandos und JSON-Parsing. Ich lasse regelmäßig automatisierte Slack- und Telegram-Reports über n8n generieren.

Wann haben Sie Ihren JS/TS-Code zuletzt als Architekturgraph und nicht nach Bauchgefühl betrachtet? In welcher Stufe Ihrer Qualitätskette treten die meisten kritischen Fehler auf — im Review oder erst nach Produktivgang? Ich biete DACH-Unternehmen im regulierten AI-Umfeld einen kostenlosen 30-min Stack-Audit. Kontaktieren Sie mich auf LinkedIn oder unter @ger_dennis_ai.

Weiterlesen
OpenAI Dots: Ihr KI-Agent arbeitet rund um die Uhr – auch offline. Wie Sie bereitstellen und welche Risiken für Ihr Unternehmen bestehen
KI-Agenten attackieren sich gegenseitig: Selbstreplizierende Prompt Injections im Produktivbetrieb – und wie Sie sie stoppen
Warum KI-Agenten im Produktivbetrieb ausfallen oder unkontrollierbar werden: Reale Fehler durch Selbstlernen und Evolutionsschleifen
KI-Coding-Agenten: 24 Plugins, 49 Agenten, 44 Skills – Wie Sie (fast) alles automatisieren
Alle Artikel →
Wo das im Betrieb ankommt
KI-Telefonassistent — Anrufe annehmen, wenn niemand kann
KI-Automatisierung für Betriebe in Freiburg und der Ortenau
DSGVO-konforme KI — was das praktisch bedeutet
Bereit für den nächsten Schritt?

Aus einem Ablauf ein System machen, das läuft

Gebaut für den Betriebsalltag, nicht als Demo.

Projekt anfragen → ← Alle Artikel