Skip to content
Merged
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: 61 additions & 0 deletions .github/workflows/check-llms-files.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: Sync llms context files

on:
schedule:
# Run weekly at 3 AM UTC on Mondays
- cron: '0 3 * * 1'
workflow_dispatch:

permissions:
contents: write
pull-requests: write

concurrency:
group: sync-llms-files
cancel-in-progress: true

jobs:
sync-llms-files:
runs-on: ubuntu-latest
steps:
- name: Checkout docs repository
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Regenerate llms.txt and llms-full.txt
run: python3 scripts/generate-llms-files.py

- name: Check for changes
id: detect_changes
shell: bash
run: |
if [[ -n "$(git status --porcelain)" ]]; then
echo "changes=true" >> "$GITHUB_OUTPUT"
else
echo "changes=false" >> "$GITHUB_OUTPUT"
fi

- name: Create Pull Request
if: steps.detect_changes.outputs.changes == 'true'
uses: peter-evans/create-pull-request@v7
with:
token: ${{ github.token }}
branch-token: ${{ github.token }}
commit-message: "docs: sync llms context files"
branch: sync-llms-files
branch-suffix: timestamp
delete-branch: true
title: "docs: sync llms context files"
body: |
## Summary of changes

This PR updates `llms.txt` and `llms-full.txt` using `scripts/generate-llms-files.py`.

### Changes Made
- Regenerated llms context files from the latest documentation
- This is an automated sync from the `sync-llms-files` workflow

### Checklist
- [x] I have read and reviewed the documentation changes to the best of my ability.
- [x] If the change is significant, I have run the documentation site locally and confirmed it renders as expected.
24 changes: 24 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,30 @@ The site is built with **Mintlify** and deployed automatically by Mintlify on pu
- `.agents/skills/` — prompt extensions for agents editing this repo (legacy: `.openhands/skills/`; formerly `microagents`)
- `tests/` — pytest checks for docs consistency (notably LLM pricing docs)


## 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
```
Comment thread
enyst marked this conversation as resolved.
- Exclusions: `openhands/usage/v0/` and any `V0*`-prefixed page files.

## Local development

### Preview the site
Expand Down
12 changes: 12 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
.PHONY: llms llms-check

# Regenerate the Mintlify llms context files (V1-only override).
#
# See: scripts/generate-llms-files.py
llms:
python3 scripts/generate-llms-files.py

# Regenerate and fail if llms files changed (useful for local verification).
llms-check:
python3 scripts/generate-llms-files.py
git diff --exit-code llms.txt llms-full.txt
Loading
Loading