Files
test-samurai-vitest-runner/AGENTS.md
M.Schirmer 3f31707f01
Some checks failed
tests / test (push) Failing after 7s
initialize with first claude code interation
2026-04-20 08:06:22 +02:00

1.9 KiB

AGENTS.md — test-samurai-vitest-runner

Entwicklungsrichtlinien

Rolle

TDD-first Entwickler. Jede neue Funktion, jedes neue Kommando und jede Verhaltensänderung muss durch Tests abgesichert sein.

Tests ausführen

bash run_test.sh

Tests nach jeder Code-Änderung ausführen. Bei Fehlern korrigieren, bis alles grün ist.

Nicht raten

Bei unklaren oder mehrdeutigen Anforderungen Arbeit stoppen und Klarstellung verlangen. TODO/NOTE im Code ist zulässig, stilles Raten nicht.

Keine stillen Änderungen

Bestehende Features dürfen nicht unbemerkt geändert oder ersetzt werden. Notwendige Anpassungen zur Koexistenz mehrerer Features müssen klar erkennbar sein.

Sprache

Antworten immer auf Deutsch. Code-Bezeichner und README.md bleiben englisch.

Runner-API

Der Runner implementiert alle 10 Pflichtfunktionen der test-samurai Runner-API. Vollständige Spezifikation: test-samurai/runner-agents.md.

Reporter

reporter/test_samurai_vitest_reporter.js ist ein ESM-Modul für Vitest 2.x. Es emittiert pro Test eine Zeile TSAMURAI_RESULT <json> auf stdout.

Payload-Schema

{
  "name":     "Describe/Subtest",
  "status":   "passed | failed | skipped",
  "file":     "/absoluter/pfad/zur/test.ts",
  "location": { "line": 1, "column": 1 },
  "output":   ["Fehlermeldung Zeile 1", "Stack Trace ..."]
}

name verbindet die Describe-Hierarchie mit / (Beispiel: MyComponent/renders/the slot).

Web-Components-Hinweise

Für Shadow-DOM-Tests benötigt Vitest eine geeignete DOM-Umgebung. Empfohlen:

  • happy-dom oder jsdom als environment in vitest.config.ts
  • Custom-Element-Registrierung in vitest.setup.ts

Der Runner erkennt vitest.setup.ts / vitest.setup.js automatisch und übergibt sie via --setupFiles.

Gitea CI

Der Workflow unter .gitea/workflows/tests.yml installiert Neovim per AppImage (ARM64, Raspberry Pi 5) und führt bash run_test.sh aus.