-
Notifications
You must be signed in to change notification settings - Fork 0
Labels
Description
Summary
The README is growing unwieldy (~470 lines). This epic tracks the full migration to a proper documentation site:
- VitePress (3 dev deps:
vitepress,vitepress-plugin-mermaid,vitepress-plugin-versions) - Local search via Minisearch (built into VitePress — no external service)
- Dark / light mode following
prefers-color-scheme(VitePress default) - Mermaid C4 diagrams (L1 → L3)
- Versioning by major release (CI snapshot + version dropdown)
- Published on GitHub Pages via GitHub Actions —
fulll.github.io/github-code-search - README slimmed down to ≤ 30 lines (install + link to docs)
Why VitePress over Starlight (Astro)?
| Criterion | VitePress | Starlight |
|---|---|---|
| Dev dependencies | 3 | ~15 |
| Search | Minisearch (built-in, no service) | Pagefind (built-in) |
| Dark/light | Native, follows OS | Native |
| Mermaid | vitepress-plugin-mermaid |
manual |
| Authoring | Pure Markdown/MDX | Pure Markdown/MDX |
Sub-issues
- Initialize VitePress (config, theme, search, base URL)
- Getting Started section (prerequisites, installation, first search)
- Usage guides × 7
- Reference section (CLI options, shortcuts, GitHub API limits, env vars)
- Architecture diagrams — C4 L1–L3 in Mermaid
- Versioning strategy (CI snapshot + version dropdown)
- CI/CD: GitHub Actions workflow → GitHub Pages
- Slim down README.md
Planned docs/ structure
docs/
├── .vitepress/
│ ├── config.mts
│ └── theme/index.ts
├── index.md
├── getting-started/
│ ├── index.md
│ ├── installation.md
│ └── first-search.md
├── usage/
│ ├── search-syntax.md
│ ├── interactive-mode.md
│ ├── non-interactive-mode.md
│ ├── output-formats.md
│ ├── filtering.md
│ ├── team-grouping.md
│ └── upgrade.md
├── reference/
│ ├── cli-options.md
│ ├── keyboard-shortcuts.md
│ ├── github-api-limits.md
│ └── environment.md
└── architecture/
├── overview.md
├── containers.md
└── components.md
.github/workflows/docs.yml
Acceptance criteria
-
bun run docs:devstarts a local dev server with live reload -
bun run docs:buildproduces a static site indocs/.vitepress/dist/ - Dark/light mode works and defaults to OS setting
- Search returns results from all pages (no external service)
- A version dropdown lets the user switch between major versions
- C4 L1, L2, L3 diagrams render in the Architecture section
- Every push to
mainthat touchesdocs/**auto-deploys to GitHub Pages - README is ≤ 30 lines (install + link to docs)
-
bun run knipstill reports zero unused exports
Reactions are currently unavailable