Skip to content

docs: Nextra docs site under docs/ + GitHub Pages deploy - #150

Merged
mountainowl merged 7 commits into
mainfrom
docs/nextra-site
Jul 7, 2026
Merged

docs: Nextra docs site under docs/ + GitHub Pages deploy#150
mountainowl merged 7 commits into
mainfrom
docs/nextra-site

Conversation

@mountainowl

Copy link
Copy Markdown
Owner

Replaces the in-repo mkdocs documentation with the Nextra (Next.js) site and wires up its GitHub Pages deploy. Rebased onto current main; fast-forward.

What changes

  • docs/ is now the Nextra app (pages/*.mdx, components/, public/), replacing mkdocs docs/*.md + mkdocs.yml.
  • Content: overview production metrics, copy-paste recipes (incl. uv), MCP server (Local/SSH/HTTP), operate runbook, telemetry (metrics + MCP/bubo report/ui-export access), troubleshooting runbook (read-only triage → failure signatures → symptom sections incl. LLM out-of-funds/revoked-key).
  • Code blocks standardized (theme-based + copy on every fenced block); reusable Badge/Footnote/Eyebrow components.
  • Deploy: new .github/workflows/deploy-docs.yml builds the static export (basePath=/bubo) and publishes to Pages via deploy-pages, replacing the removed mkdocs deploy. An asset() helper prefixes raw asset paths so logos/icons resolve on the /bubo/ project-site subpath.

Verification

  • next build (static export) is clean — 14 pages, 0 unprefixed asset refs, all internal links /bubo/-prefixed.
  • pyproject.toml / uv.lock are unchanged from main (the now-unused mkdocs dep group can be pruned in a follow-up), so uv sync --locked stays consistent.

Note

Pages is already configured (build_type: workflow, https://mountainowl.github.io/bubo/). Merging to main triggers CI + the Pages deploy.

Swap the in-repo mkdocs documentation for the Nextra (Next.js) site built to
replace it:
- remove docs/*.md and mkdocs.yml
- add the Nextra app at docs/ (pages/*.mdx, components/, public/, styles/,
  package.json, next.config.mjs, theme.config.tsx)

Follow-up (not done here): drop mkdocs deps from pyproject and any mkdocs
build/CI workflow. The Nextra app builds from docs/ (cd docs && npm install).
… clutter

- remove the mkdocs docs dependency group from pyproject.toml and relock
  (uv.lock: mkdocs / mkdocs-material / pymdown-extensions + transitives, -228)
- delete .github/workflows/deploy-docs.yml (the old mkdocs -> Pages deploy)
- delete template artifacts copied into docs/ (docs/.github, docs/LICENSE)
…g-link fixes

- telemetry: rewrite around emitted metrics + access via MCP / bubo report /
  ui-export; add a recipe to reproduce the overview metrics
- troubleshooting: restructure as a runbook (read-only triage, failure
  signatures, symptom sections incl. LLM out-of-funds / revoked key)
- code blocks: theme-based (light/dark) with copy on every fenced block
  (defaultShowCopyCode); custom CodeBlock matched to Nextra
- mcp: SSH tab prerequisite-first; agent-general wording (not Codex-specific)
- nav: move Configuration reference above References
- configuration: condense the reference page; repoint features links to its
  section anchors
- next.config: output export, unoptimized images, trailingSlash, and
  basePath from NEXT_PUBLIC_BASE_PATH ('/bubo' in CI, empty in dev)
- add asset() helper and wrap raw asset paths (navbar icons, footer logo,
  tab-icon masks, recipe/overview icons, architecture image) so they resolve
  under the Pages project-site subpath
- add .github/workflows/deploy-docs.yml: build docs/ -> upload-pages-artifact
  -> deploy-pages (replaces the removed mkdocs deploy)
- gitignore docs/out
The mkdocs split docs are replaced by the Nextra site under docs/, and the
README no longer carries the old split-doc links / avatar ref / poller phrase.
Update the layout tests to match (they were already failing on main):

- drop stale asset-guard and split-docs assertions (docs/*.md, docs/images/
  bubo-avatar-preview.png, docs/examples/README.md, "Run it as a poller ...")
- replace the mkdocs config-table + split-docs tests with test_docs_site_present,
  which asserts the Nextra docs tree exists and the mkdocs layout is gone
Emit `llm_review.lines_reviewed` (added lines per review) alongside the existing
run-scoped instruments, persist the count on the review_runs row, and thread it
through the poller and findings paths. Covered by test_inline_review and
test_poller_telemetry_state.
@mountainowl
mountainowl merged commit 025c0b6 into main Jul 7, 2026
4 checks passed
mountainowl added a commit that referenced this pull request Jul 7, 2026
- REST-only SCM: drop the MCP posting path + upstream SCM MCP servers; post via
  REST for both GitLab and GitHub (src/bubo/mcp.py removed).
- Standardized LLM_* config surface (env_config / review_config).
- Anonymous opt-out analytics: per-review/outcome events over OTLP, numbers-only.
- Merged onto main: kept the lines_reviewed telemetry (#150) in the poller; the
  mkdocs docs #134 edited are gone (Nextra migration) — LLM_* config docs to be
  ported into docs/pages/ as a follow-up.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant