Skip to content

Machine-readable docs

Everything on this site has a machine-readable counterpart at a stable URL. An agent working on a Jx project can fetch the documentation corpus, the search index, or the schemas themselves without scraping HTML — and none of it is a separate artifact that drifts, because all of it is regenerated from the same sources on every build.

The documentation corpus

llms.txt

https://jxsuite.com/llms.txt

A plain-text index in the llms.txt convention : a one-paragraph summary of the project, then one ## heading per documentation section, then one line per page in sidebar order:

# Jx Suite

> Jx Suite is a visual site builder (Jx Studio), a JSON-native component format, and a compiler that prerenders every page — working on plain files you own and publish with git. …

## Start here

- [Start here](https://jxsuite.com/docs/start/): What Jx Suite is, how to install Jx Studio, and where to go first …
- [Install Jx Studio](https://jxsuite.com/docs/start/install/): Download the Jx Studio desktop app …
- [Your first project](https://jxsuite.com/docs/start/first-project/): …

Each section's landing page comes first, then its children, exactly as the sidebar orders them.

It carries no page bodies — roughly 27 KB against full-docs.json 's ~680 KB — which makes it the cheap first fetch: point an agent at it, let it read the titles and descriptions, and let it pull only the pages it needs.

full-docs.json

https://jxsuite.com/docs/full-docs.json

The same corpus in the same order, with the prose included. A JSON array of objects, one per page:

Field What it holds
slug The docs path, e.g. framework/agents/machine-readable
url The canonical page URL
title The page's frontmatter title
description The page's frontmatter description
section The top-level section label, e.g. Framework
markdown The full page body as Markdown, frontmatter stripped

This is the fetch for an agent that wants the whole thing at once — one request, no crawling, and the markdown field is the same text a contributor edits in the repository.

search-index.json

https://jxsuite.com/search-index.json

The index that powers the site's own search box, emitted by the search extension during the build. An envelope — version , engine ( "minisearch" ), the indexed fields , and per-field boost weights — wrapped around a documents array. Each document is one page or one heading-level section within a page, carrying id , collection , slug , url , title , description , heading , and text .

Reach for it when you want lookup rather than reading: it is section-granular, so a query lands on a heading instead of a whole page.

Note

llms.txt and full-docs.json are written by scripts/docs/build-llm-export.ts , which runs immediately after jx build in the jxsuite.com build script. search-index.json is emitted by the search extension during that same build. All three are derived, never committed — so they cannot drift from /docs .

The schemas

The other machine-readable surface is the format itself. The Jx schemas are plain JSON Schema 2020-12 documents, served at the URLs that are also their canonical $id s:

URL Validates
https://jxsuite.com/schema/v1 Components, pages, and layouts
https://jxsuite.com/schema/project/v1 project.json
https://jxsuite.com/schema/class/v1 *.class.json class definitions
https://jxsuite.com/schema/document/paths/v2 A page's $paths source — referenced by schema/v1 , and overridden per project

Any compliant 2020-12 validator can consume them directly — there is no Jx-specific validation runtime. They are published from packages/schema through the copy map in the site's project.json , so the served documents are byte-for-byte the schemas the toolchain uses.

For work inside a project, prefer the local composed copies. jx schema writes project.schema.json and document.schema.json into the project root, merging these core schemas with the fragments each enabled extension ships and inlining every referenced resource. Those files resolve offline — no node_modules , no network, no editor configuration — and they are what jx validate checks against. The hosted URLs above are the right reference when you are outside a project or want the core format without any extension's additions — note that the hosted $paths union accepts any extension source shape it cannot see, where your project's generated copy checks the exact set your extensions provide. See Schema composition .