51 lines
1.6 KiB
Markdown
51 lines
1.6 KiB
Markdown
# AGENTS.md
|
|
|
|
Go-Tool zum Präsentieren von Markdown-Slides im Browser. Details siehe
|
|
[README.md](README.md) (Nutzung) und [docs/architektur.md](docs/architektur.md)
|
|
(Code-Aufbau).
|
|
|
|
## Setup
|
|
|
|
```sh
|
|
go build -o slidewalk ./cmd/slidewalk
|
|
```
|
|
|
|
## Tests
|
|
|
|
```sh
|
|
go test ./...
|
|
```
|
|
|
|
Vor jedem Commit: `go test ./...` und `gofmt -l .` (muss leer sein) laufen
|
|
lassen.
|
|
|
|
## Struktur
|
|
|
|
- `internal/parser` — Markdown-Dateien → `[]Slide`
|
|
- `internal/render` — `[]Slide` → eine HTML-Seite
|
|
- `internal/watch` — Dev-Server mit Live-Reload
|
|
- `internal/export` — statischer HTML-Export
|
|
- `web` — Templates/CSS/JS, per `embed.FS` eingebettet
|
|
- `cmd/slidewalk` — CLI-Einstiegspunkt
|
|
|
|
`watch` und `export` rufen ausschließlich `parser.ParseDir` und
|
|
`render.Render` auf — keine zweite Stelle, die Markdown parst oder HTML baut.
|
|
|
|
## Konventionen
|
|
|
|
- Reines Markdown als Slide-Quelle, eine Datei pro Slide, Reihenfolge über
|
|
Dateiname-Präfix (`010-intro.md`).
|
|
- Keine neuen externen Laufzeit-Abhängigkeiten ohne Rücksprache — Ziel ist
|
|
ein einziges, eingebettetes Binary ohne CDN-Requests.
|
|
- Table-driven Tests neben dem jeweiligen Package (`*_test.go`).
|
|
|
|
## Arbeitsweise
|
|
|
|
- Lean und minimalistisch: die einfachste Lösung, die das Problem löst.
|
|
Keine Abstraktionen, Konfigurierbarkeit oder Optionen für hypothetische
|
|
Zukunftsfälle.
|
|
- Keine Features, kein Refactoring, keine Aufräumarbeiten, die nicht
|
|
explizit gefragt wurden.
|
|
- Antworten knapp und auf das Wesentliche konzentriert — keine
|
|
Wiederholung des Offensichtlichen, keine ausschweifenden Erklärungen,
|
|
keine Zusammenfassungen am Ende, wenn der Diff für sich spricht.
|