Skip to content

Docs site: structure and the guides still to write #390

Description

@maxfield-allison

With the site live, I'd like to agree on its structure before the next batch of pages lands. Open PRs already add guides for serving, OpenAI compatibility, evaluations and the TypeScript SDK: @emiliano-go's #304, #281 and #382, and @baninaveen's #198. @Bruce-Yii's #328, @coder-jeffery's #362 and @PerryLink's #378 also update existing guides. I'd like your input on where those pages belong and what else the docs need.

Structure. The proposed navigation has four sections, ordered through docs/.nav.yml:

  • Guides: schema-driven decisions, prediction hooks, LangChain & LangGraph
  • Deployment: Docker quickstart, ARM64 and DGX Spark
  • Fine-tuning: the browser-agent example
  • Reference: the Python API generated from the docstrings

A page or folder that isn't listed still shows up under Guides. Contributors can add a page without changing the nav, then place it in another section when needed.

For the pages in open PRs, I'd put serving.md and openai.md under Deployment next to Docker, and evals.md under Guides. I'm not sure about typescript-sdk.md. It could go in Guides, or in a section of its own if laya-ts gets more pages.

Guides still to write. These topics could use fuller guides on the site, drawing on the README and the existing examples and references. Each would be a separate PR, with the README summaries kept in place:

  1. Routing: how the Router picks a checkpoint, lang overrides, bringing your own language detection, preload and memory, mixed batches, and what RouteDecision holds.
  2. Questions and answers: choice, score and noul, reading probabilities and confidence (including the calibrated confidence from feat(agent): report the calibrated confidence alongside the existing one #126), confidence gating, and the presets.
  3. HTTP API: endpoints, request and response shapes, auth and limits. This needs to be coordinated with feat(serve): production serving layer for laya-serve (batching, backpressure, metrics, drain, shared state) #304 and feat(serve): OpenAI-compatible structured decisions #281 so it builds on their serving and OpenAI guides once those changes are settled.
  4. Command line and MCP server.
  5. Fine-tuning: a general walkthrough of the notebook, fitting calibration temperatures, and pushing a checkpoint to the Hub, alongside the existing browser-agent example.
  6. Benchmarks and known limits, drawn from BENCHMARKS.md.

Routing and questions and answers look like useful next steps. If you're already working on one of these guides, please say so here so we don't duplicate it.

README. I'm not moving anything out of it. @NandhaKishorM, if you want the README trimmed to summaries that link into these pages later, that can be its own step once the guides exist.

Would you group these differently, or is there a topic missing?

Activity

  1. emiliano-go commented on Sep 24, 2026

    @emiliano-go
    Contributor

    Placement looks right to me: serving.md and openai.md under Deployment, evals.md under Guides. For typescript-sdk.md I would put it under Guides for now and split it out only if laya-ts picks up more pages.

    I am not working on any of the six guides separately, so Routing and Questions and answers are free for someone else. The HTTP API guide should wait for #304 and #281 to settle, since between them they add /drain, /ready, /metrics, the OpenAI routes and the shared-state notes; #387 adds a batch route worth folding in too.

    Note that #391's file-based nav means the manual bullet I added to docs/index.md in #382 will go away on rebase; the docs/evals.md page is all that is needed. Same for the JSON in #389, which the eval gate in #382 will compare against once it lands.

  2. NandhaKishorM commented on Sep 24, 2026

    @NandhaKishorM
    Owner

    Thank you for organising this. #391 has landed, so the site now has the Guides, Deployment, Fine-tuning and Reference sections with the glob fallback. For the pages in flight: the serving layer in #304 is not going ahead, while #281, #382 and #198 have change requests, and each can add its guide once it lands. A staged-rollout guide (see #367) would also fit well under Guides.

  3. emiliano-go commented on Sep 24, 2026

    @emiliano-go
    Contributor

    Update on the pages in flight: #281 and #382 have the requested changes in now. The OpenAI routes share the same body limits and request limits as /v1/systemone, and the eval gate reads answer_confidence and skips latency in the default comparison. The /ready piece of the closed #304 is #408 now. So openai.md and evals.md can go in with their PRs, and staged-rollout under Guides sounds right to me.

  4. added a commit that references this issue on Sep 24, 2026
  5. Bruce-Yii commented on Sep 24, 2026

    @Bruce-Yii
    Contributor
  6. Bruce-Yii commented on Sep 24, 2026

    @Bruce-Yii
    Contributor
  7. baninaveen commented on Sep 25, 2026

    @baninaveen
    Contributor

    @maxfield-allison
    Can we use mintlify docs for better readability and we can also integrate more options and docs based on programming languages

  8. maxfield-allison commented on Sep 25, 2026

    @maxfield-allison
    ContributorAuthor

    @baninaveen Its up to the group at large but I'll be honest, I really like what I'm seeing. Interested to hear everyone else's input. I feel like we haven't put to much effort into any particular platform yet so if we're going to make a switch, now is a good time. @Bruce-Yii @emiliano-go @NandhaKishorM thoughts on using Mintlify instead of zensical? I'm not married to anything yet. Edit: I do want to look into it more when I'm not about to pass out though; the most important thing in my opinion is sticking with something FOSS.

  9. Bruce-Yii commented on Sep 25, 2026

    @Bruce-Yii
    Contributor
  10. emiliano-go commented on Sep 25, 2026

    @emiliano-go
    Contributor

    Zensical is a no brainer for me. Open source, MIT, and lots of support and development. It's the current growing standard as MKDocs falls behind. Also, deploy is super easy, both in GH pages and in Cloudflare pages.

  11. baninaveen commented on Sep 25, 2026

    @baninaveen
    Contributor

    In my opinion, clear and well-structured documentation enables developers to integrate our solutions into their specific use cases more easily. Providing step-by-step guides, practical examples, and integration instructions not only improves the developer experience but also helps AI agents index and understand our documentation, making it easier for them to recommend our solutions and work effectively across different AI agent ecosystems.

    @NandhaKishorM Whats your opinion.

    If Laya plans to offer paid or cloud-based services in the future, having clear and well-structured documentation will make it much easier for developers to adopt, integrate, and use those services.

  12. rahul05ranjan commented on Sep 25, 2026

    @rahul05ranjan
    Contributor

    I can take the “Benchmarks and known limits” guide (item 6) as a separate docs-only PR. I checked the open PRs and found no docs/benchmarks* or docs/limits* page in flight. I’ll ground it in the current BENCHMARKS.md, README and reproduction scripts, explain how to read the reported numbers and limits, and link to the source tables rather than duplicate changing measurements.

  13. NandhaKishorM commented on Sep 25, 2026

    @NandhaKishorM
    Owner

    Thank you all. The staged adoption guide (#415) and the benchmarks and known limits guide (#480) have landed. The routing guide (#461), the questions and answers guide (#418), the answer_confidence reference (#419) and the CLI and MCP guide (#430) each have a small change request, mostly about describing confidence as calibrated only after a validated temperature fit. I'll keep this open until those land.

  14. aashish254 commented on Sep 25, 2026

    @aashish254
    Contributor

    I'd like to take the HTTP API guide (item 3). With the recent changes landing — the null score level now 422s, the lone-surrogate 400, the option-cap error — I think a single page describing the /v1/systemone request/response shapes and error behavior is genuinely useful for people porting from Jev. I'll link to the serving and OpenAI pages once #281 settles rather than duplicating them. If anyone's already sitting on this, say the word and I'll stand down.

  15. aashish254 commented on Sep 25, 2026

    @aashish254
    Contributor

    Started this as #490 — single new page, docs/http-api.md, no nav or index edits.

  16. maxfield-allison commented on Sep 25, 2026

    @maxfield-allison
    ContributorAuthor

    After looking into Mintlify more, I'd prefer to stick with Zensical. I like how Mintlify presents the docs, but the MIT license on the starter template doesn't cover the whole platform. The mint CLI uses Elastic License 2.0, which isn't an open source license. FOSS was the most important thing for me, and I feel like moving the docs onto tooling that isn't open source goes against the ethos of this project.

    @baninaveen I agree that we need the step-by-step guides and practical examples you're describing. That's what I'd like to keep working toward with this issue. I don't think we need to change platforms to do that, and Zensical lets us keep the build tooling open source too.

  17. baninaveen commented on Sep 25, 2026

    @baninaveen
    Contributor

    @maxfield-allison Okay, could you also explore Starlight? It looks highly customizable and could be a good fit for us. It can also be deployed directly to GitHub Pages

    I followed your point about keeping the solution FOSS, but I think we should also consider the overall UX and navigability of Laya’s documentation. Each documentation area should be easy to discover, search, navigate, and understand.

    Starlight gives us a strong foundation for this because we can customize the sidebar structure, navigation, search experience, components, styling, and even override parts of the UI when required.

    This could help us maintain the FOSS approach while still giving Laya a polished and consistent documentation experience.

  18. emiliano-go commented on Sep 25, 2026

    @emiliano-go
    Contributor

    @baninaveen starlight is cool and all, but it adds unnecessary complexity for docs. Docs are there to be simple.

    Yes, starlight allows each doc to use its own JS, but it isn't a real use case for 99% of doc pages.

    Zensical is plain markdown and allows standard html/css/js overrides.

    As always, KISS is the best solution. If we ever need to migrate somewhere else, they're both drop-in replacements.

  19. maxfield-allison commented on Sep 25, 2026

    @maxfield-allison
    ContributorAuthor
    Image Image

    I'm really not seeing the reason or case that demands starlight over zensical at this point.

  20. maxfield-allison commented on Sep 25, 2026

    @maxfield-allison
    ContributorAuthor

    All that said, I'll be giving starlight a shot on upcoming project releases of my own @baninaveen; I'm never unhappy to learn about alternatives. =]

  21. added 5 commits that reference this issue on Sep 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions