Prompt-to-PR: Adicionar Pesquisa Pagefind a um Site Astro
O SOP completo para adicionar pesquisa estática, sem backend, a um site Astro com Pagefind — do primeiro prompt à descrição do PR.
CursorClaude Code AstroTypeScript
Um playbook completo: requisito, primeiro prompt, mudanças esperadas, revisão, testes, falhas prováveis, prompt de correção e a descrição do PR.
1. Requisito
Adicionar pesquisa de texto completo a um site Astro estático sem servidor e sem banco de dados.
2. Primeiro 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. Mudanças Esperadas nos Arquivos
package.json (build script)src/pages/search.astro (new)src/layouts/BaseLayout.astro (data-pagefind-ignore on chrome)4. Lista de Verificação de Revisão
- O script de compilação executa Pagefind após
astro build. - A página de pesquisa degrada-se graciosamente em
astro dev(índice só existe pós-compilação). - Nav/rodapé são excluídos do índice.
5. Comandos de Teste
bun run buildbun run preview# open /search and query a known term6. Falhas Comuns
- Montar a UI do Pagefind antes do carregamento do script →
PagefindUI is not defined. - Executar Pagefind antes da compilação, então ele não indexa nada.
7. Prompt de Correção
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. Descrição do PR
Add static full-text search via Pagefind. Indexes `dist` at build time;no backend. New `/search` page; nav/footer excluded from the index.