search for standard sites pub-search.waow.tech
search zig blog atproto
at main 42 lines 1.8 kB view raw view rendered
1# leaflet-search notes 2 3## deployment 4- **backend**: push to `main` touching `backend/**` → auto-deploys via GitHub Actions 5- **frontend**: manual deploy from `site/` directory (`cd site && wrangler pages deploy . --project-name leaflet-search`) 6- **tap**: manual deploy from `tap/` directory (`fly deploy --app leaflet-search-tap`) 7 8## remotes 9- `origin`: tangled.sh:zzstoatzz.io/leaflet-search 10- `github`: github.com/zzstoatzz/leaflet-search (CI runs here) 11- push to both: `git push origin main && git push github main` 12 13## architecture 14- **backend** (Zig): HTTP API, FTS5 search, vector similarity 15- **tap**: firehose sync via bluesky-social/indigo tap 16- **site**: static frontend on Cloudflare Pages 17- **db**: Turso (source of truth) + local SQLite read replica (FTS queries) 18 19## platforms 20- leaflet, pckt, offprint, greengale, whitewind: known platforms 21- leaflet/pckt/offprint/greengale detected via basePath; whitewind via `com.whtwnd.*` collection 22- other: site.standard.* documents not from a known platform 23 24## search ranking 25- hybrid BM25 + recency: `ORDER BY rank + (days_old / 30)` 26- OR between terms for recall, prefix on last word 27- unicode61 tokenizer (non-alphanumeric = separator) 28 29## tap operations 30- from `tap/` directory: `just check` (status), `just turbo` (catch-up), `just normal` (steady state) 31- see `docs/tap.md` for memory tuning and debugging 32 33## zig dependencies 34- update a dependency hash: `zig fetch --save <url>` (fetches and updates build.zig.zon automatically) 35 36## MCP server 37- hosted: `claude mcp add-json pub-search '{"type": "http", "url": "https://pub-search-by-zzstoatzz.fastmcp.app/mcp"}'` 38- local dev: `cd mcp && uv run pytest` for tests 39- deployed on fastmcp.app 40 41## common tasks 42- check indexing: `curl -s https://leaflet-search-backend.fly.dev/api/dashboard | jq`