Skip to content

Chapter 4 of 11

Die Werkzeuge, die installiert sein sollten

Die statische Analyse Ihres Codes übernimmt Code Guardian nicht selbst. Es sorgt dafür, dass die etablierten Prüfwerkzeuge Ihrer Sprache tatsächlich laufen und dass ihr Ergebnis nicht übergangen wird. Fehlen sie, fehlt dem Paket eine Ebene — und das merkt man nicht, weil trotzdem alles grün aussieht.

Der Installer installiert davon nichts

Das ist Absicht und steht auch so in seiner Schlussmeldung: welches Werkzeug in Ihr Projekt kommt, ist Ihre Entscheidung, nicht die eines fremden Skripts.

Stattdessen werden Ihnen beim Sitzungsstart die Lücken gemeldet, samt dem passenden Einrichtungs-Skill.

Was pro Sprache erwartet wird

Sprache Pflicht Empfohlen Optional
PHP phpstan (mit Larastan) phpunit, pest infection, pint, rector
JavaScript, TypeScript, Vue eslint tsc, vue-tsc, vitest stryker, prettier, knip
Python ruff mypy, pytest mutmut, hypothesis
Blade (Laravel), HTML — html-validate —

„Pflicht“ heißt: ohne dieses Werkzeug meldet der Detektor eine Lücke und das Statik-Gate für diese Sprache greift nicht.

Einrichten lassen, nicht selbst zusammensuchen

Vier Skills leisten genau das — Konfiguration, eine sinnvolle Grundeinstellung und eine Baseline —, damit ein Altbestand Sie nicht am ersten Tag unter 4.000 Meldungen begräbt:

/phpqa-onboard      PHP: PHPStan/Larastan, Rector, Baseline, composer-Skripte
/jsqa-onboard       JS/Vue: ESLint, vue-tsc, Vitest, fast-check, Stryker, knip
/pyqa-onboard       Python: ruff, mypy, pytest, Hypothesis, mutmut, Baseline
/htmlqa-onboard     Blade/HTML: html-validate mit Blade-sicherer Konfiguration

Einmal je Projekt. Danach sind Ihre Werkzeuge beim nächsten Sitzungsstart bekannt.

Die Grenze, die Sie kennen sollten

Ein Statik-Gate gibt es für PHP, JavaScript, Python und Markup, ein sperrendes Mutations-Gate nur für PHP und JavaScript/TypeScript — für Python urteilt die Mutationsprüfung nur beratend. Außerhalb dieser Sprachen gibt es kein Statik- und kein Mutations-Gate. Sperren, Schleuse, Reflexe und der Slop-Scanner arbeiten dort weiter — die sprachspezifische Prüfebene nicht.

Wenn Sie überwiegend Go, Rust oder Java schreiben, ist das die ehrliche Auskunft vor dem Kauf, nicht danach.

Ein Werkzeug pro Sprache, das oft fehlt und teuer ist

infection (PHP) beziehungsweise stryker (JS) sind als optional geführt und verdienen trotzdem einen Satz: Ohne sie bleibt unbelegt, ob Ihre Tests überhaupt etwas prüfen. Ein grüner Test, der auch grün bleibt, wenn man die Logik kaputtmacht, beweist nichts — und das findet nur eine Mutationsprobe.

In einem Satz

PHP braucht phpstan, JavaScript eslint, Python ruff — richten Sie das einmal je Projekt mit dem passenden *qa-onboard-Skill ein, denn der Installer tut es bewusst nicht.

This chapter as a task for Claude

Copy it, replace the angle brackets with your own details, paste it into Claude Code.

Prüfe, welche statischen Analysewerkzeuge in diesem Projekt fehlen.

Miss das, statt es zu vermuten: sieh in composer.json, package.json und
in die vorhandenen Konfigurationsdateien, und sag mir zu jedem Werkzeug,
woher du weißt, ob es da ist.

Sag mir dann:
- was fehlt und welche Prüfebene damit ausfällt
- was es kostet, das nachzurüsten

Auf meine Freigabe hin richte die fehlenden mit dem passenden
qa-onboard-Skill ein und leg eine Baseline an, damit der Altbestand
mich nicht am ersten Tag begräbt.