Prompt-to-PR: Pagefind-Suche zu einer Astro-Site hinzufügen
Das vollständige SOP zum Hinzufügen einer statischen, serverlosen Suche zu einer Astro-Site mit Pagefind – vom ersten Prompt bis zur PR-Beschreibung.
CursorClaude Code AstroTypeScript
Ein vollständiges Playbook: Anforderung, erster Prompt, erwartete Änderungen, Review, Tests, wahrscheinliche Fehler, Fix-Prompt und PR-Beschreibung.
1. Anforderung
Volltextsuche zu einer statischen Astro-Site ohne Server und ohne Datenbank hinzufügen.
2. Erster Prompt
Add Pagefind search to this Astro static site.
- Add `pagefind` as a devDependency.- Update the build script to run `astro build && pagefind --site dist`.- Create a `/search` page that mounts Pagefind UI from `/pagefind/pagefind-ui.js`.- Mark the main article body with `data-pagefind-body` and add `data-pagefind-ignore` to nav/footer.- Do not introduce a server adapter; this stays fully static.3. Erwartete Dateiänderungen
package.json (build script)src/pages/search.astro (new)src/layouts/BaseLayout.astro (data-pagefind-ignore on chrome)4. Review-Checkliste
- Das Build-Skript führt Pagefind nach
astro buildaus. - Die Suchseite verhält sich in
astro devgraziös (Index existiert nur nach dem Build). - Nav/Footer werden vom Index ausgeschlossen.
5. Testbefehle
bun run buildbun run preview# open /search and query a known term6. Häufige Fehler
- Einbinden der Pagefind-Benutzeroberfläche bevor das Skript geladen wird →
PagefindUI is not defined. - Ausführen von Pagefind vor dem Build, sodass es nichts indiziert.
7. Fix-Prompt
Pagefind indexed an empty site. Ensure the build runs `astro build` first,then `pagefind --site dist`, and that the UI script loads before init.8. PR-Beschreibung
Add static full-text search via Pagefind. Indexes `dist` at build time;no backend. New `/search` page; nav/footer excluded from the index.