De prompt a PR: Agregar búsqueda Pagefind a un sitio Astro
El SOP completo para agregar búsqueda estática sin backend a un sitio Astro con Pagefind, desde el primer prompt hasta la descripción del PR.
CursorClaude Code AstroTypeScript
Un manual completo: requisito, primer prompt, cambios esperados, revisión, pruebas, posibles fallos, prompt de corrección y la descripción del PR.
1. Requisito
Agregar búsqueda de texto completo a un sitio Astro estático sin servidor ni base de datos.
2. Primer 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. Cambios de archivo esperados
package.json (build script)src/pages/search.astro (new)src/layouts/BaseLayout.astro (data-pagefind-ignore on chrome)4. Lista de verificación de revisión
- El script de build ejecuta Pagefind después de
astro build. - La página de búsqueda degrada correctamente en
astro dev(el índice solo existe post-build). - Nav/footer están excluidos del índice.
5. Comandos de prueba
bun run buildbun run preview# open /search and query a known term6. Fallos comunes
- Montar la UI de Pagefind antes de que cargue el script →
PagefindUI is not defined. - Ejecutar Pagefind antes del build, por lo que no indexa nada.
7. Prompt de corrección
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. Descripción del PR
Add static full-text search via Pagefind. Indexes `dist` at build time;no backend. New `/search` page; nav/footer excluded from the index.