add TSamLast command for reexecuting last running tests
This commit is contained in:
77
AGENTS.md
Normal file
77
AGENTS.md
Normal file
@@ -0,0 +1,77 @@
|
||||
# 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.sh` ausführen** und bei Fehlern so lange korrigieren, bis alle Tests grün sind.
|
||||
- **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_file`
|
||||
- `find_nearest`
|
||||
- `build_command`
|
||||
- Optionale Funktionen:
|
||||
- `build_file_command`
|
||||
- `build_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ßendes `describe`
|
||||
|
||||
### Lua
|
||||
- Eingeschränkt
|
||||
- `TSamAll` / `TSamFile` ok
|
||||
- `TSamNearest` instabil
|
||||
|
||||
## Commands & Keymaps
|
||||
- `TSamNearest` → `<leader>tn`
|
||||
- `TSamFile` → `<leader>tf`
|
||||
- `TSamAll` → `<leader>ta`
|
||||
- `TSamLast` → `<leader>tl`
|
||||
- `TSamFailedOnly` → `<leader>te`
|
||||
- `TSamShowOutput` → `<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
|
||||
Reference in New Issue
Block a user