Skip to content

Regenerate llms.txt

Regenerate llms.txt #3

name: Regenerate llms.txt
# Refreshes the hand-curated `llms.txt` and `llms-full.txt` at the repo root.
# The generator fetches each page's `.md` from the deployed docs site, so this
# runs after Mintlify has had time to publish — on a schedule, or on demand.
# If anything changed, opens a PR.
#
# Triggers:
# - workflow_dispatch (manual)
# - schedule (weekly, Mondays 07:00 UTC)
on:
workflow_dispatch:
schedule:
- cron: '0 7 * * 1'
permissions:
contents: write
pull-requests: write
defaults:
run:
shell: bash
jobs:
regenerate:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout docs
uses: actions/checkout@v4
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Regenerate llms.txt and llms-full.txt
run: node scripts/generate-llms.mjs
- name: Show diff (for log visibility)
run: git --no-pager diff --stat -- llms.txt llms-full.txt || true
- name: Open pull request if changed
uses: peter-evans/create-pull-request@v6
with:
token: ${{ secrets.GITHUB_TOKEN }}
branch: bot/regenerate-llms
base: main
commit-message: 'docs: regenerate llms.txt and llms-full.txt'
title: 'docs: regenerate llms.txt and llms-full.txt'
body: |
Auto-generated by [`regenerate-llms.yml`](.github/workflows/regenerate-llms.yml).
Re-runs `scripts/generate-llms.mjs`, which reads `docs.json`, fetches
each page's auto-generated `.md` from https://docs.sei.io, and
re-emits the curated `llms.txt` / `llms-full.txt` at the repo root.
## What is the purpose of the change?
Keep the LLM-facing index and full-content dump in sync with the
live docs so AI agents and crawlers see the latest structure.
## Notes
If this PR is empty, no page content (titles, descriptions, or
bodies) has changed since the last run.
labels: |
documentation
automated
add-paths: |
llms.txt
llms-full.txt
delete-branch: true