Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 0 additions & 61 deletions .github/workflows/check-llms-files.yml

This file was deleted.

43 changes: 23 additions & 20 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,26 +42,29 @@ Documentation should describe these boundaries accurately. If a documentation PR

## llms.txt / llms-full.txt (V1-only)

Mintlify auto-generates `/llms.txt` and `/llms-full.txt`, but this repo **overrides** them by committing
`llms.txt` and `llms-full.txt` at the repo root.

We do this so LLMs get **V1-only** context while legacy V0 pages remain available for humans.

- Generator script: `scripts/generate-llms-files.py`
- Sync workflow: `.github/workflows/check-llms-files.yml` runs weekly (and on demand) to open a PR when the files drift.
- Regenerate (recommended):
```bash
make llms
```
Or directly:
```bash
python3 scripts/generate-llms-files.py
```
- Local verify (optional):
```bash
make llms-check
```
- Exclusions: `openhands/usage/v0/` and any `V0*`-prefixed page files.
Mintlify generates and hosts `/llms.txt` and `/llms-full.txt` on deployment.
Do not commit custom files at those paths: they override Mintlify's generated files.

The indexing policy lives in the repository:

- `docs.json` explicitly sets `seo.indexing` to `"navigable"`. Keep this setting;
`"all"` opts hidden and noindex pages back into the generated LLM files.
- Legacy pages under `openhands/usage/v0/`, `V0*`-prefixed page files, and the former
monorepo `openhands/usage/architecture/backend.mdx` and `runtime.mdx` use
`noindex: true` in their frontmatter. Add it to any new legacy pages too.
- `noindex` preserves page URLs and navigation entries, but excludes pages from
both LLM files, site search, sitemaps, search engines, and AI assistant context.
- Pages outside navigation are omitted automatically. Add current documentation
to `docs.json` when it should be included; the old generator scanned all MDX files.
- Do not use `.mintignore` for legacy pages that must remain accessible to readers.

See [Mintlify's llms.txt documentation](https://www.mintlify.com/docs/ai/llmstxt)
and [indexing controls](https://www.mintlify.com/docs/organize/hidden-pages#search-seo-and-ai-indexing).

After deployment, check `/llms.txt` and `/llms-full.txt` for current SDK, Agent Canvas,
Cloud, and CLI pages, and confirm legacy page entries are absent. Links to legacy
pages inside current page bodies can still appear; these settings filter page
entries, not every mention of V0.

## Local development

Expand Down
12 changes: 0 additions & 12 deletions Makefile

This file was deleted.

14 changes: 14 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,20 @@ mint dev

The documentation site is automatically deployed via Mintlify when changes are pushed to the main branch.

## LLM Context Files

Mintlify generates [`llms.txt`](https://docs.openhands.dev/llms.txt) and
[`llms-full.txt`](https://docs.openhands.dev/llms-full.txt) when the site deploys.
There are no checked-in overrides or regeneration jobs.

`docs.json` sets `seo.indexing` to `"navigable"`. Legacy V0 and former monorepo
architecture pages have `noindex: true` in their MDX frontmatter, so they stay
accessible to readers but are excluded from the generated LLM files, search,
sitemaps, and AI assistant context. Pages outside navigation are also omitted.
When adding legacy documentation, include `noindex: true`; when adding current
documentation, include it in the navigation. See `AGENTS.md` for the full policy
and [Mintlify's documentation](https://www.mintlify.com/docs/ai/llmstxt).

## Repository boundaries

This site documents a multi-repository OpenHands system. [`OpenHands/OpenHands`](https://github.com/OpenHands/OpenHands) owns Agent Canvas, [`OpenHands/software-agent-sdk`](https://github.com/OpenHands/software-agent-sdk) owns the Python SDK and Agent Server, [`OpenHands/typescript-client`](https://github.com/OpenHands/typescript-client) owns the browser client for the Agent Server API, [`OpenHands/automation`](https://github.com/OpenHands/automation) owns scheduling and dispatch, and [`OpenHands/extensions`](https://github.com/OpenHands/extensions) owns reusable skills, plugins, automations, and integrations.
Expand Down
5 changes: 5 additions & 0 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
"$schema": "https://mintlify.com/docs.json",
"theme": "mint",
"name": "OpenHands Docs",
"seo": {
"indexing": "navigable"
},
"colors": {
"primary": "#99873c",
"light": "#ffe165",
Expand Down Expand Up @@ -380,6 +383,7 @@
"sdk/guides/agent-acp",
"sdk/guides/agent-interactive-terminal",
"sdk/guides/agent-browser-use",
"sdk/guides/browser-session-recording",
"sdk/guides/agent-custom",
"sdk/guides/agent-file-based",
"sdk/guides/agent-stuck-detector",
Expand All @@ -406,6 +410,7 @@
"pages": [
"sdk/guides/agent-server/overview",
"sdk/guides/agent-server/local-server",
"sdk/arch/agent-server",
"sdk/guides/agent-server/conversation-goals",
"sdk/guides/agent-server/docker-sandbox",
"sdk/guides/agent-server/apptainer-sandbox",
Expand Down
Loading
Loading