[Docs] Rename docs_new/ to docs/ (#32123)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
zijiexia
2026-08-03 16:51:00 -07:00
committed by GitHub
co-authored by Claude Opus 4.8
parent c949e91f18
commit b819d2fb5b
491 changed files with 122 additions and 102 deletions
+1 -1
View File
@@ -670,7 +670,7 @@ cd test && python3 run_suite.py --hw cuda --suite base-b-kernel-benchmark-test-1
## References
- `docs_new/docs/developer_guide/development_jit_kernel_guide.mdx`
- `docs/docs/developer_guide/development_jit_kernel_guide.mdx`
- `test/run_suite.py` — suite names, discovery of `test/registered/`, execution entrypoint for CI
- `python/sglang/test/ci/ci_register.py``register_cuda_ci` and AST registration rules
- `python/sglang/kernels/jit/utils/compile.py``load_jit`, `make_cpp_args`
+13 -13
View File
@@ -1,6 +1,6 @@
---
name: cookbook-add-model
description: Add a new model to the SGLang Cookbook (docs_new/, Mintlify), config-driven format — instantiate the model-agnostic template into a per-model config (+ benchmarks) JSX under src/snippets/configs/, an MDX page, the docs.json nav entry, NEW-tag hygiene, and the homepage vendor card. Interactive, multi-phase. Run with /cookbook-add-model.
description: Add a new model to the SGLang Cookbook (docs/, Mintlify), config-driven format — instantiate the model-agnostic template into a per-model config (+ benchmarks) JSX under src/snippets/configs/, an MDX page, the docs.json nav entry, NEW-tag hygiene, and the homepage vendor card. Interactive, multi-phase. Run with /cookbook-add-model.
disable-model-invocation: true
---
@@ -12,16 +12,16 @@ disable-model-invocation: true
> page (not the user) is the source of truth.
The cookbook is **config-driven**: two shared engines contain NO model-specific code —
`docs_new/src/snippets/_deployment.jsx` (the 5-dim deploy matrix) and
`docs/src/snippets/_deployment.jsx` (the 5-dim deploy matrix) and
`_playground.jsx` (the diff-based override Playground). Adding a model = adding **data**:
a per-model `config` (+ optional `benchmarks`) consumed by both engines, plus an MDX page
that imports them. No engine edits.
**Instantiate the model-agnostic template** (NOT a clone of any live cookbook — the
template is decoupled and covers all hardware + all axes):
- `templates/config.jsx.tmpl``docs_new/src/snippets/configs/<hf-org>/<model-slug>.jsx`
- `templates/config.jsx.tmpl``docs/src/snippets/configs/<hf-org>/<model-slug>.jsx`
- `templates/benchmarks.jsx.tmpl``…/<model-slug>-benchmarks.jsx` (skip if no numbers)
- `templates/page.mdx.tmpl``docs_new/cookbook/<category>/<Vendor>/<ModelName>.mdx`
- `templates/page.mdx.tmpl``docs/cookbook/<category>/<Vendor>/<ModelName>.mdx`
The template uses explicit `__TOKEN__` placeholders; you fill them, prune what the model
lacks, and replace the EXAMPLE cells with verified recipes. DeepSeek-V4 is a populated
@@ -156,26 +156,26 @@ this table (RTX PRO 6000, GH200, future chips) goes in the model's own `config.h
### Site-wiring (do all three)
- **`docs_new/docs.json`** — add the page under Cookbook → `<category>``<Vendor>`, at
- **`docs/docs.json`** — add the page under Cookbook → `<category>``<Vendor>`, at
the **top** of that vendor's `pages` (root-relative, no `.mdx`:
`cookbook/<category>/<Vendor>/<Model>`). New vendor group → insert in the section's
local ordering.
- **NEW-tag hygiene** — the new page keeps `tag: NEW` (from the template). Scan the
vendor dir for existing NEW and strip it from siblings; verify ≤1:
`grep -rn 'tag: NEW' docs_new/cookbook/<category>/<Vendor>/` → at most one result. (Scan
`grep -rn 'tag: NEW' docs/cookbook/<category>/<Vendor>/` → at most one result. (Scan
files; don't assume the first `docs.json` entry holds NEW.)
- **Homepage card** — `docs_new/cookbook/<category>/intro.mdx`: if the org already has a
- **Homepage card** — `docs/cookbook/<category>/intro.mdx`: if the org already has a
`<Card>`, update only its `href` (keep `img`). If the org is **new**, add a `<Card>`
(title = nav-group name; keep card order aligned with `docs.json`) **and create its logo**:
ask the user for the brand logo, then generate the conforming **icon-only 940×525 RGBA
transparent** PNG → `docs_new/cards/logos/<org-slug>.png` per
transparent** PNG → `docs/cards/logos/<org-slug>.png` per
[references/vendor-logo.md](references/vendor-logo.md) (track with `git add -f``*.png`
is gitignored repo-wide). Never invent or copy a logo.
## Phase 3 — Validate
```bash
cd docs_new
cd docs
mint validate # frontmatter, missing nav entries, MDX/JSX errors
mint broken-links
mint dev # visual smoke test at http://localhost:3000/cookbook/<category>/<Vendor>/<Model>
@@ -218,10 +218,10 @@ Always branch — never commit to main directly.
```bash
git checkout -b add-<model>-cookbook
git add docs_new/src/snippets/configs/<hf-org>/<slug>.jsx \
docs_new/src/snippets/configs/<hf-org>/<slug>-benchmarks.jsx \
docs_new/cookbook/<category>/<Vendor>/<Model>.mdx \
docs_new/docs.json docs_new/cookbook/<category>/intro.mdx
git add docs/src/snippets/configs/<hf-org>/<slug>.jsx \
docs/src/snippets/configs/<hf-org>/<slug>-benchmarks.jsx \
docs/cookbook/<category>/<Vendor>/<Model>.mdx \
docs/docs.json docs/cookbook/<category>/intro.mdx
git commit -m "Add <Display-Name> cookbook"
git push -u origin add-<model>-cookbook
gh pr create --title "Add <Display-Name> cookbook" --body "..."
@@ -4,8 +4,8 @@ Loaded on demand by the `cookbook-add-model` skill. This is the field-by-field
contract for when the clone needs more than a rename. The two engine files are
the canonical specs — read their headers first:
- [`_deployment.jsx`](../../../../docs_new/src/snippets/_deployment.jsx) — the matrix widget; its header lists every config field. Dimensions are the legacy fixed five by default, or config-declared via `matchDims` / `overlayDims` (§2.1b).
- [`_playground.jsx`](../../../../docs_new/src/snippets/_playground.jsx) — the diff-based override widget; lists the `playgroundFeatures` axes + the `AXIS_HANDLERS` interface.
- [`_deployment.jsx`](../../../../docs/src/snippets/_deployment.jsx) — the matrix widget; its header lists every config field. Dimensions are the legacy fixed five by default, or config-declared via `matchDims` / `overlayDims` (§2.1b).
- [`_playground.jsx`](../../../../docs/src/snippets/_playground.jsx) — the diff-based override widget; lists the `playgroundFeatures` axes + the `AXIS_HANDLERS` interface.
Engine extension (adding a new playground axis) lives in [engine-axis.md](engine-axis.md).
@@ -13,7 +13,7 @@ Engine extension (adding a new playground axis) lives in [engine-axis.md](engine
## 2.1 Create the config file
**Path**: `docs_new/src/snippets/configs/<vendor>/<model>.jsx`. The vendor folder is
**Path**: `docs/src/snippets/configs/<vendor>/<model>.jsx`. The vendor folder is
the HuggingFace org (`deepseek-ai`, `Qwen`, `moonshotai`, ...); the file
name is a short hyphenated model id (`deepseek-v4`, `qwen3.5`, ...).
@@ -217,7 +217,7 @@ schemas (full reference in the `_playground.jsx` header):
## 2.4 Create the MDX page
Path: `docs_new/cookbook/<category>/<Vendor>/<Model>.mdx`. Import both widgets and
Path: `docs/cookbook/<category>/<Vendor>/<Model>.mdx`. Import both widgets and
the per-model config, render them inside the relevant sections:
```mdx
@@ -1,7 +1,7 @@
# Vendor card logo (new brand only)
A new vendor/brand in the cookbook landing grid needs a card logo at
`docs_new/cards/logos/<org-slug>.png`. **Ask the user for the brand's logo, then generate
`docs/cards/logos/<org-slug>.png`. **Ask the user for the brand's logo, then generate
the conforming PNG** — never invent, copy, or hallucinate one, and never ship a
non-conforming file. Reference: PR #27400 (added `tencent.png` + `poolside.png`).
@@ -11,7 +11,7 @@ If the org already has a card/logo, do nothing here — only update the `<Card h
| Property | Value |
|---|---|
| Path | `docs_new/cards/logos/<org-slug>.png` — lowercase, matches the `img=` in the `<Card>` |
| Path | `docs/cards/logos/<org-slug>.png` — lowercase, matches the `img=` in the `<Card>` |
| Canvas | **940 × 525** px |
| Mode | **RGBA**, fully **transparent** background |
| Content | **Icon-only** — the brand glyph/mark (the "swirl"), **no wordmark text** |
@@ -47,7 +47,7 @@ scale = target_h / src.height
glyph = src.resize((round(src.width * scale), target_h), Image.LANCZOS)
canvas = Image.new("RGBA", (W, H), (0, 0, 0, 0)) # transparent
canvas.paste(glyph, ((W - glyph.width) // 2, (H - glyph.height) // 2), glyph)
canvas.save("docs_new/cards/logos/<org-slug>.png")
canvas.save("docs/cards/logos/<org-slug>.png")
```
Notes:
@@ -60,7 +60,7 @@ Notes:
## 3. Verify
```bash
sips -g pixelWidth -g pixelHeight -g hasAlpha docs_new/cards/logos/<org-slug>.png
sips -g pixelWidth -g pixelHeight -g hasAlpha docs/cards/logos/<org-slug>.png
# → pixelWidth: 940 pixelHeight: 525 hasAlpha: yes
```
@@ -71,6 +71,6 @@ sips -g pixelWidth -g pixelHeight -g hasAlpha docs_new/cards/logos/<org-slug>.pn
# <Card title="<NavGroup>" mode="card"
# href="/cookbook/<category>/<Vendor>/<Model>"
# img="/cards/logos/<org-slug>.png" />
git add -f docs_new/cards/logos/<org-slug>.png # root .gitignore ignores *.png repo-wide
cd docs_new && mint validate && mint broken-links # confirms the card href + img resolve
git add -f docs/cards/logos/<org-slug>.png # root .gitignore ignores *.png repo-wide
cd docs && mint validate && mint broken-links # confirms the card href + img resolve
```
@@ -1,5 +1,5 @@
// TEMPLATE — instantiate via the cookbook-add-model skill. NOT a live cookbook.
// Copy to docs_new/src/snippets/configs/<hf-org>/<model-slug>-benchmarks.jsx and
// Copy to docs/src/snippets/configs/<hf-org>/<model-slug>-benchmarks.jsx and
// fill measured numbers — OR delete this file entirely if you have none yet (the
// MDX simply omits the `benchmarks` import/prop).
//
@@ -1,5 +1,5 @@
// TEMPLATE — instantiate via the cookbook-add-model skill. NOT a live cookbook.
// Copy to docs_new/src/snippets/configs/<hf-org>/<model-slug>.jsx, then:
// Copy to docs/src/snippets/configs/<hf-org>/<model-slug>.jsx, then:
// 1. replace every __TOKEN__,
// 2. fill cells[] with your verified recipes (the examples below show the shape),
// 3. DELETE the hardware / playground axes / quantizations your model lacks.
@@ -1,6 +1,6 @@
---
name: cookbook-migrate-model
description: Migrate a legacy-template SGLang cookbook page (monolithic per-model generator under docs_new/src/snippets/autoregressive/) onto the config-driven template (shared _deployment.jsx / _playground.jsx engines + per-model config). Use when asked to migrate, convert, or port an existing cookbook page — NOT for brand-new models (use cookbook-add-model for those). Run with /cookbook-migrate-model <Model page name, e.g. GLM-5.1>.
description: Migrate a legacy-template SGLang cookbook page (monolithic per-model generator under docs/src/snippets/autoregressive/) onto the config-driven template (shared _deployment.jsx / _playground.jsx engines + per-model config). Use when asked to migrate, convert, or port an existing cookbook page — NOT for brand-new models (use cookbook-add-model for those). Run with /cookbook-migrate-model <Model page name, e.g. GLM-5.1>.
---
# Cookbook Migrate Model
@@ -93,7 +93,7 @@ your dispatch prompt, or ask for it.
## Workflow (one model = one PR)
### 1. Inventory the legacy assets
- Read the legacy generator (`docs_new/src/snippets/autoregressive/<slug>-deployment.jsx`)
- Read the legacy generator (`docs/src/snippets/autoregressive/<slug>-deployment.jsx`)
end-to-end: every option dimension (radio vs checkbox vs dynamic), every
gate/SUPPORT matrix, the full emitted command per reachable combo (env
prefixes, `# Error` pseudo-commands included).
@@ -102,7 +102,7 @@ your dispatch prompt, or ask for it.
Output Examples verbatim); §5 benchmark blocks → transcribe each measured
block: deploy command used, bench command (dataset/isl/osl/num-prompts/
concurrency), P50 (median) TTFT/TPOT, output tok/s, hardware, version string.
- Inbound-anchor sweep: `grep -rn "<PageName>" docs_new/ --include='*.mdx'`
- Inbound-anchor sweep: `grep -rn "<PageName>" docs/ --include='*.mdx'`
find links/`#fragments` into this page (`mint broken-links` does NOT check
fragments). Fix referrers or add `<a id="old-anchor" />` shims in the same PR.
- Check the maintainer-provided inventory notes for this model's known quirks —
@@ -205,14 +205,14 @@ collapsible (required, DeepSeek-V4 pattern): code in an
`<Accordion title="Example Output">`; legacy pages kept them inline.
### 6. Delete the legacy generator
Remove `docs_new/src/snippets/autoregressive/<slug>-deployment.jsx` and its
import. `grep -rn "<slug>-deployment" docs_new/` must return nothing (config
Remove `docs/src/snippets/autoregressive/<slug>-deployment.jsx` and its
import. `grep -rn "<slug>-deployment" docs/` must return nothing (config
provenance comments must not name the deleted path). Site wiring needs **no
changes**: docs.json path/title unchanged, vendor card + logo already exist.
### 7. Validate
- `grep -rn '__[A-Z_]*__'` on the new files (no template tokens).
- `cd docs_new && mint validate && mint broken-links` (pre-existing breaks on
- `cd docs && mint validate && mint broken-links` (pre-existing breaks on
main are not yours — say so in the PR).
- `mint dev` browser smoke: initial selection = the verified cell (first in
`cells[]`) with green badge; multi-node cells show the injected trio +
+10 -10
View File
@@ -1,6 +1,6 @@
---
name: cookbook-review-pr
description: Review a pull request against the SGLang Cookbook (docs_new/, Mintlify) contribution checklist — the config-driven format (per-model config + benchmarks JSX consumed by the shared _deployment.jsx / _playground.jsx engines). Run with /cookbook-review-pr <PR number>.
description: Review a pull request against the SGLang Cookbook (docs/, Mintlify) contribution checklist — the config-driven format (per-model config + benchmarks JSX consumed by the shared _deployment.jsx / _playground.jsx engines). Run with /cookbook-review-pr <PR number>.
---
# Cookbook Review PR
@@ -29,9 +29,9 @@ than restating.
## Checklist
### 1. File hygiene
- A cookbook PR should only touch: `docs_new/src/snippets/configs/<vendor>/*.jsx`
(config + benchmarks), `docs_new/cookbook/**/*.mdx`, `docs_new/docs.json`,
`docs_new/cookbook/<category>/intro.mdx` (vendor card), `docs_new/cards/logos/<vendor>.png`
- A cookbook PR should only touch: `docs/src/snippets/configs/<vendor>/*.jsx`
(config + benchmarks), `docs/cookbook/**/*.mdx`, `docs/docs.json`,
`docs/cookbook/<category>/intro.mdx` (vendor card), `docs/cards/logos/<vendor>.png`
(new vendor only). Flag stray files (`settings.local.json`, lockfiles, IDE configs).
- Pages must be `.mdx`, not `.md`. Files end with a trailing newline. Check commit history
for unrelated commits accidentally included.
@@ -162,20 +162,20 @@ than restating.
other model page has. Leave `mode` unset (the Deploy/Playground panels self-cap at 900px, so
the default column holds them fine). `mode: wide` belongs only on category `intro.mdx` grids.
- `tag: NEW` only for genuine new launches; when one is added, stale `tag: NEW` on older
pages should be dropped in the same PR (`grep -RlE "^tag: NEW" docs_new/cookbook/`).
pages should be dropped in the same PR (`grep -RlE "^tag: NEW" docs/cookbook/`).
- MDX imports BOTH `Deployment` and `Playground` from `/src/snippets/...` (absolute).
- Deploy heading slugs to `deployment` (or `deploy`), Playground to `playground` — so
"↑ Switch base" and "Open the Playground →" scroll. No numbered headings for these two.
### 8. Navigation & homepage
- New page → `docs_new/docs.json` updated: under the right vendor group inside
- New page → `docs/docs.json` updated: under the right vendor group inside
`navigation` → Cookbook → Autoregressive Models, root-relative, **no `.mdx`**:
`cookbook/<category>/<Vendor>/<Model>`.
- Homepage `<Card href>` in `docs_new/cookbook/<category>/intro.mdx` points to the vendor's
flagship; new vendors get a new `<Card>` + a logo at `docs_new/cards/logos/<vendor>.png`
- Homepage `<Card href>` in `docs/cookbook/<category>/intro.mdx` points to the vendor's
flagship; new vendors get a new `<Card>` + a logo at `docs/cards/logos/<vendor>.png`
**940×525 RGBA transparent, icon-only (no wordmark)**, lowercase filename, tracked via
`git add -f` (`*.png` is gitignored repo-wide). Card order matches the `docs.json` nav order.
- Don't change `docs_new/cookbook/intro.mdx` for individual model adds (top-level only).
- Don't change `docs/cookbook/intro.mdx` for individual model adds (top-level only).
### 9. Links & factual
- HuggingFace URLs resolve to a real model. License section matches the actual HF license
@@ -232,7 +232,7 @@ than restating.
### 13. Build / validate
```bash
cd docs_new
cd docs
mint validate
mint broken-links
```
@@ -32,7 +32,7 @@ Use these upstream files when the workflow or behavior needs to be justified fro
## Documentation and tests
- `docs_new/docs/developer_guide/benchmark_and_profiling.mdx`
- `docs/docs/developer_guide/benchmark_and_profiling.mdx`
- canonical profiling docs
- `test/registered/profiling/test_start_profile.py`
+3 -3
View File
@@ -2,7 +2,7 @@
/docker @Fridge003 @ispobock @HaiShaw @ishandhanani @yctseng0211 @sogalin
/docker/npu.Dockerfile @ping1jing2 @iforgetmyname @whybeyoung
/docs @wisclmy0611 @zijiexia @sogalin
/docs_new @wisclmy0611 @zijiexia @Richardczl98 @JustinTong0323 @sogalin
/docs @wisclmy0611 @zijiexia @Richardczl98 @JustinTong0323 @sogalin
/python/pyproject.toml @merrymercy @Fridge003 @ispobock
/python/sglang/kernels @DarkSharpness @BBuf @celve @HydraQYH @yuan-luo
/python/sglang/kernels/ops/diffusion @yingluosanqian @BBuf @mickqian
@@ -97,8 +97,8 @@
/python/sglang/srt/models/gemma4_*.py @kpham-sgl @pyc96
/python/sglang/srt/multimodal/processors/gemma4.py @kpham-sgl @pyc96
/python/sglang/test/ascend @ping1jing2 @ssshinigami @e-martirosian
/docs_new/cookbook/autoregressive/Google/Gemma4.mdx @wisclmy0611 @zijiexia @Richardczl98 @kpham-sgl @pyc96
/docs_new/src/snippets/autoregressive/gemma4-deployment.jsx @wisclmy0611 @zijiexia @Richardczl98 @kpham-sgl @pyc96
/docs/cookbook/autoregressive/Google/Gemma4.mdx @wisclmy0611 @zijiexia @Richardczl98 @kpham-sgl @pyc96
/docs/src/snippets/autoregressive/gemma4-deployment.jsx @wisclmy0611 @zijiexia @Richardczl98 @kpham-sgl @pyc96
/python/sglang/srt/speculative/ngram_*.py @hnyls2002 @Qiaolin-Yu @kpham-sgl
/python/sglang/srt/speculative/adaptive_*.py @Qiaolin-Yu @alphabetc1
/python/sglang/srt/speculative/cpp_ngram @hnyls2002 @Qiaolin-Yu @kpham-sgl
+1 -1
View File
@@ -26,7 +26,7 @@ documentation:
- '**/*.mdx'
- 'docs/**/*'
- 'README*'
- 'docs_new/**/*'
- 'docs/**/*'
# Dependencies
dependencies:
+2 -2
View File
@@ -2,8 +2,8 @@ name: Bot Bump Docs Version
#
# Bumps the "install from source" release-branch version pinned in the docs
# (the `git clone -b v<version> ...sglang.git` line in
# docs_new/docs/get-started/install.mdx "Method 2: From source" and
# docs_new/docs/hardware-platforms/amd_gpu.mdx) whenever a release tag is
# docs/docs/get-started/install.mdx "Method 2: From source" and
# docs/docs/hardware-platforms/amd_gpu.mdx) whenever a release tag is
# pushed, and opens a PR with the change.
#
# Triggers mirror release-docker.yml: a pushed `v*` tag (the release), or a
+20 -4
View File
@@ -13,6 +13,22 @@ jobs:
with:
fetch-depth: 0
# Fail-fast gate: docs_new/ was renamed to docs/ (#32123). git's rename
# detection silently re-adds NEW files under docs_new/ on merge without a
# conflict, which would resurrect the directory. We check the checked-out
# tree directly (git ls-files) rather than diffing against the base ref —
# a presence check needs no merge-base and sidesteps the shallow-checkout
# / silent-diff failures that plagued the old legacy-docs/ gate.
- name: Forbid docs_new/ (renamed to docs/)
run: |
set -euo pipefail
matches="$(git ls-files -- docs_new)"
if [ -n "$matches" ]; then
echo "::error::docs_new/ was renamed to docs/. Move these files under docs/ instead:"
echo "$matches"
exit 1
fi
- name: Set up Python
uses: actions/setup-python@v4
with:
@@ -39,7 +55,7 @@ jobs:
with:
args: --config .github/linters/lychee.toml README.md
# docs_new/ (Mintlify) internal-link check. Runs only in CI — contributors
# docs/ (Mintlify) internal-link check. Runs only in CI — contributors
# are NOT required to install `mint` for local pre-commit. External links
# are covered separately by the nightly lychee job (no --check-external here).
- name: Set up Node
@@ -47,13 +63,13 @@ jobs:
with:
node-version: "20"
# Hard gate: docs_new internal links/anchors/redirects must resolve.
# Hard gate: docs internal links/anchors/redirects must resolve.
# mint is pinned for reproducibility (its heading-slug rules are
# version-sensitive); bump deliberately after re-verifying locally.
- name: Check docs_new links (Mintlify broken-links)
- name: Check docs links (Mintlify broken-links)
run: |
npm install -g mint@4.2.559
cd docs_new
cd docs
mint broken-links --check-anchors --check-redirects
- name: Run sgl-kernel clang-format checks
+3 -3
View File
@@ -112,14 +112,14 @@ jobs:
VERSION=$(echo "$BRANCH_NAME" | sed 's/release\///')
# Update git clone version references in docs
sed -i "s/git clone -b v[0-9]\+\.[0-9]\+\.[0-9]\+\.\?post\?[0-9]*/git clone -b $VERSION/" docs_new/docs/get-started/install.mdx
sed -i "s/git clone -b v[0-9]\+\.[0-9]\+\.[0-9]\+\.\?post\?[0-9]*/git clone -b $VERSION/" docs_new/docs/hardware-platforms/amd_gpu.mdx
sed -i "s/git clone -b v[0-9]\+\.[0-9]\+\.[0-9]\+\.\?post\?[0-9]*/git clone -b $VERSION/" docs/docs/get-started/install.mdx
sed -i "s/git clone -b v[0-9]\+\.[0-9]\+\.[0-9]\+\.\?post\?[0-9]*/git clone -b $VERSION/" docs/docs/hardware-platforms/amd_gpu.mdx
# Check if any changes were made
if git diff --quiet; then
echo "No version references needed updating"
else
git add docs_new/docs/get-started/install.mdx docs_new/docs/hardware-platforms/amd_gpu.mdx
git add docs/docs/get-started/install.mdx docs/docs/hardware-platforms/amd_gpu.mdx
git commit -m "docs: update version references to $VERSION"
echo "Updated version references to $VERSION"
fi
@@ -25,7 +25,7 @@ jobs:
- name: Sync blog cards
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: python docs_new/scripts/update_lmsys_sglang_blogs.py
run: python docs/scripts/update_lmsys_sglang_blogs.py
- name: Open or update pull request
env:
@@ -33,7 +33,7 @@ jobs:
run: |
set -euo pipefail
if git diff --quiet -- docs_new/index.mdx; then
if git diff --quiet -- docs/index.mdx; then
echo "No blog card changes; nothing to do."
exit 0
fi
@@ -45,7 +45,7 @@ jobs:
# Recreate the bot branch as "current main + card diff" and overwrite
# any previous state, so the PR always shows a clean single-commit diff.
git checkout -B "$BRANCH"
git add docs_new/index.mdx
git add docs/index.mdx
git commit -m "docs: sync LMSYS SGLang blog cards"
git push --force origin "$BRANCH"
@@ -56,5 +56,5 @@ jobs:
--base main \
--head "$BRANCH" \
--title "docs: sync LMSYS SGLang blog cards" \
--body $'Automated sync of the LMSYS SGLang blog cards in `docs_new/index.mdx`.\n\n🤖 Generated with GitHub Actions'
--body $'Automated sync of the LMSYS SGLang blog cards in `docs/index.mdx`.\n\n🤖 Generated with GitHub Actions'
fi
+1 -7
View File
@@ -71,9 +71,6 @@ instance/
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
.pybuilder/
target/
@@ -168,9 +165,6 @@ cython_debug/
# Vim
*.swp
# Documentation
docs/_build
# SGL
benchmark/mmlu/data
benchmark/mmlu/data.tar
@@ -192,7 +186,7 @@ work_dirs/
*.csv
!logo.png
!docs_new/images/*.png
!docs/images/*.png
# Prerequisites
*.d
+13 -3
View File
@@ -37,7 +37,7 @@ repos:
args:
- --select=F401,F821,UP037
- --fix
files: ^(benchmark/|docs_new/|examples/|python/sglang/|sgl-model-gateway/py_*|test/)
files: ^(benchmark/|docs/|examples/|python/sglang/|sgl-model-gateway/py_*|test/)
exclude: |
(?x)^(
.*/__init__\.py$|
@@ -73,6 +73,16 @@ repos:
- '--extra-keys=metadata.kernelspec metadata.language_info.version'
- repo: local
hooks:
- id: forbid-docs-new-path
name: forbid docs_new/ (renamed to docs/)
# docs_new/ was renamed to docs/ in #32123. `language: fail` fires only
# when a staged path matches `files:` below, then prints the offending
# paths — no shell/merge-base logic, so none of the shallow-checkout or
# silent-diff pitfalls of the old legacy-docs/ gate apply here.
entry: >-
docs_new/ was renamed to docs/. Move these changes under docs/ instead.
language: fail
files: ^docs_new/
- id: check-chinese-characters
name: check chinese characters in multimodal_gen
entry: >-
@@ -134,8 +144,8 @@ repos:
files: ^rust/.*\.rs$
pass_filenames: false
- id: mint-broken-links
name: check docs_new links (Mintlify; opt-in, requires `mint` on PATH)
entry: bash -c 'cd docs_new && mint broken-links --check-anchors --check-redirects'
name: check docs links (Mintlify; opt-in, requires `mint` on PATH)
entry: bash -c 'cd docs && mint broken-links --check-anchors --check-redirects'
language: system
pass_filenames: false
always_run: true
View File
+3 -3
View File
@@ -42,7 +42,7 @@ Pages are `.mdx` files with YAML frontmatter. Navigation is defined in `docs.jso
# Install the CLI
npm i -g mint
# From docs_new/ (where docs.json lives), start the dev server (hot reload)
# From docs/ (where docs.json lives), start the dev server (hot reload)
mint dev
```
@@ -71,7 +71,7 @@ We welcome contributions! Whether you want to add a recipe for a new model, impr
```bash
# 1. Fork sgl-project/sglang and clone your fork
git clone https://github.com/<YOUR_USERNAME>/sglang.git
cd sglang/docs_new
cd sglang/docs
# 2. Create a branch
git checkout -b my-changes
@@ -130,7 +130,7 @@ import { benchmarks } from "/src/snippets/configs/deepseek-ai/deepseek-v4-benchm
```
Keep `tag: NEW` on the new page and strip it from same-vendor siblings (≤1 per vendor), then
validate from `docs_new/`: `mint validate`, `mint broken-links`, and `mint dev` for a visual
validate from `docs/`: `mint validate`, `mint broken-links`, and `mint dev` for a visual
smoke test.
> Diffusion / omni / specbundle pages follow their own category structure — don't force the

Before

Width:  |  Height:  |  Size: 683 KiB

After

Width:  |  Height:  |  Size: 683 KiB

Before

Width:  |  Height:  |  Size: 646 KiB

After

Width:  |  Height:  |  Size: 646 KiB

Before

Width:  |  Height:  |  Size: 124 KiB

After

Width:  |  Height:  |  Size: 124 KiB

Before

Width:  |  Height:  |  Size: 702 KiB

After

Width:  |  Height:  |  Size: 702 KiB

Before

Width:  |  Height:  |  Size: 175 KiB

After

Width:  |  Height:  |  Size: 175 KiB

Before

Width:  |  Height:  |  Size: 704 KiB

After

Width:  |  Height:  |  Size: 704 KiB

Before

Width:  |  Height:  |  Size: 618 KiB

After

Width:  |  Height:  |  Size: 618 KiB

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Before

Width:  |  Height:  |  Size: 714 KiB

After

Width:  |  Height:  |  Size: 714 KiB

Before

Width:  |  Height:  |  Size: 637 KiB

After

Width:  |  Height:  |  Size: 637 KiB

Before

Width:  |  Height:  |  Size: 951 KiB

After

Width:  |  Height:  |  Size: 951 KiB

Before

Width:  |  Height:  |  Size: 475 KiB

After

Width:  |  Height:  |  Size: 475 KiB

Before

Width:  |  Height:  |  Size: 349 KiB

After

Width:  |  Height:  |  Size: 349 KiB

Before

Width:  |  Height:  |  Size: 376 B

After

Width:  |  Height:  |  Size: 376 B

Before

Width:  |  Height:  |  Size: 67 KiB

After

Width:  |  Height:  |  Size: 67 KiB

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 8.8 KiB

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

Before

Width:  |  Height:  |  Size: 93 KiB

After

Width:  |  Height:  |  Size: 93 KiB

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 74 KiB

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 98 KiB

Before

Width:  |  Height:  |  Size: 92 KiB

After

Width:  |  Height:  |  Size: 92 KiB

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

Before

Width:  |  Height:  |  Size: 825 B

After

Width:  |  Height:  |  Size: 825 B

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 84 KiB

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 72 KiB

Before

Width:  |  Height:  |  Size: 85 KiB

After

Width:  |  Height:  |  Size: 85 KiB

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 47 KiB

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 68 KiB

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Before

Width:  |  Height:  |  Size: 85 KiB

After

Width:  |  Height:  |  Size: 85 KiB

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Before

Width:  |  Height:  |  Size: 85 KiB

After

Width:  |  Height:  |  Size: 85 KiB

@@ -89,7 +89,7 @@ import { benchmarks } from "/src/snippets/configs/deepseek-ai/deepseek-v4-benchm
<Deployment config={config} benchmarks={benchmarks} />
<Note>
For a runnable end-to-end example, see the [DeepSeek-V4-Flash demo notebook](https://github.com/sgl-project/sglang/blob/main/docs_new/demo/deepseek_v4_flash.ipynb).
For a runnable end-to-end example, see the [DeepSeek-V4-Flash demo notebook](https://github.com/sgl-project/sglang/blob/main/docs/demo/deepseek_v4_flash.ipynb).
</Note>
<div style={{fontSize: "0.85em", lineHeight: "1.55", color: "#6b7280", margin: "0.5rem 0 1rem 0"}}>

Some files were not shown because too many files have changed in this diff Show More