Skip to content

Roadmap

Eugene Lazutkin edited this page Jun 5, 2026 · 2 revisions

Roadmap

The plan, phase by phase. Spikes come first because they de-risk the whole approach before any polish is built.

Phase 0 — Spikes (de-risking)

  • S1 — Path P end-to-end. A bookmarklet window.opens the app; the popup fetches an index and searches under a real GitHub wiki page's CSP. Status: built (spikes/s1/), pending the manual browser gate.
  • S2 — Text-fragment positioning. Confirm #anchor:~:text= highlight across browsers, spike same-tab navigation, confirm anchor-only fallback, and handle GitHub's user-content- anchor quirk. Status: built (spikes/s2/) with a deterministic local probe, pending the cross-browser checklist.
  • S3 — Builder on a real wiki. Run the builder over a real wiki, compare relevance against GitHub's native search, and measure raw/gzip index size. Status: blocked on real wiki content — this very wiki is the corpus.

Phase 1 — Index format + builder

The versioned, self-describing Index Format and the wiki-index CLI (Markdown → deterministic per-section index, GitHub-anchor-aware). Status: shipped — builder/, with tests.

Phase 2 — Standalone search app

?wiki=owner/repo / ?index=url loading with full verify-or-explain (404 / bad JSON / unsupported version / missing fields). In progress.

Phase 3 — Bookmarklet, popup, and host

The window.open stub (generic-GitHub + bring-your-own-index), popup search mode, a bookmarklet builder + bookmark host, and a read-only help/FAQ.

Phase 4 — Positioning polish

Text-fragment links and same-tab navigation via a named target (the only same-tab option that preserves the highlight).

Phase 5 — Adoption + advertise

An "add search to your own wiki/Pages" guide, plus folding the bookmarklet and standalone-search link into the wiki's own navigation.

Phase 6 — Staleness automation

The builder in the wiki's pre-commit hook, and a main-repo CI git diff --exit-code gate so a stale index can't land.

Open questions

  • Search engine: a hand-rolled ranker (current), MiniSearch, or Orama — decided at S3 against real relevance.
  • Whether to keep or drop the #anchor on GitHub (it can fight the text-fragment scroll) — decided from the S2 real-page result.
  • Same-tab navigation in v1, or new-tab-only to start.

Clone this wiki locally