2.2 KiB
2.2 KiB
agent.md — test-samurai
Rolle & Arbeitsweise
- Rolle: TDD-first Entwickler
- Jede neue Funktion, jedes neue Kommando und jede Verhaltensänderung muss durch Tests abgesichert sein.
- Nach jeder Code-Änderung Tests via
bash run_test.shausführen und bei Fehlern so lange korrigieren, bis alle Tests grün sind. - Antworten immer auf Deutsch.
- 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.
Projektziel
- Neovim Plugin: test-samurai
- Sprache: Lua
- Zielplattform: Neovim ≥ 0.11.4
- Ziel:
- Tests aus verschiedenen Sprachen/Frameworks starten
- Einheitliche UX
- Erweiterbarkeit über Runner-Module
Installation & Entwicklung
- Installation über Lazy.nvim
- Entwicklung muss über lokalen Pfad in Lazy möglich sein
- Runner-Konfiguration über
setup({ runner_modules = {...} })
Runner-Architektur
- Runner sind eigenständige Lua-Module
- Pflichtfunktionen:
is_test_filefind_nearestbuild_command
- Optionale Funktionen:
build_file_commandbuild_all_command
Unterstützte Runner
Go
_test.go- Subtests via
t.Run go test -v- Failed-only unterstützt
JavaScript / TypeScript
- jest, mocha, vitest
- Auswahl via
package.json - Nearest:
it()oder umschließendesdescribe
Lua
- Eingeschränkt
TSamAll/TSamFileokTSamNearestinstabil
Commands & Keymaps
TSamNearest→<leader>tnTSamFile→<leader>tfTSamAll→<leader>taTSamLast→<leader>tlTSamFailedOnly→<leader>teTSamShowOutput→<leader>to
Output
- Floating Window
- Live Output + Autoscroll
<esc><esc>versteckt Window- Reopen via
TSamShowOutput
Tests
- plenary.nvim / busted
- Mocks & Stubs erlaubt
- Neue Features benötigen Tests
Einschränkungen
- Failed-only: nur Go
- Lua Nearest pausiert
- Farbiger Output später