docusaurus server (testing only)

This commit is contained in:
Alexey Rybak 2025-09-23 10:01:09 -07:00
parent 0b6725ac7a
commit 80a9b1b069
6 changed files with 22150 additions and 0 deletions

2
.gitignore vendored
View file

@ -30,3 +30,5 @@ AGENTS.md
server.log
CLAUDE.md
.claude/
docs/.docusaurus
docs/node_modules

190
docs/docusaurus.config.ts Normal file
View file

@ -0,0 +1,190 @@
// @ts-check
// Note: type annotations allow type checking and IDEs autocompletion
import type * as Preset from "@docusaurus/preset-classic";
import type { Config } from "@docusaurus/types";
import type * as Plugin from "@docusaurus/types/src/plugin";
import type * as OpenApiPlugin from "docusaurus-plugin-openapi-docs";
const config: Config = {
title: 'Llama Stack',
tagline: 'The open-source framework for building generative AI applications',
url: 'https://reluctantfuturist.github.io',
baseUrl: '/llama-stack/',
onBrokenLinks: "warn",
onBrokenMarkdownLinks: "warn",
favicon: "img/favicon.ico",
// GitHub pages deployment config.
organizationName: 'reluctantfuturist',
projectName: 'llama-stack',
trailingSlash: false,
presets: [
[
"classic",
{
docs: {
sidebarPath: require.resolve("./sidebars.ts"),
// Please change this to your repo.
// Remove this to remove the "edit this page" links.
editUrl: 'https://github.com/meta-llama/llama-stack/tree/main/docs/',
docItemComponent: "@theme/ApiItem", // Derived from docusaurus-theme-openapi
},
blog: false,
theme: {
customCss: require.resolve("./src/css/custom.css"),
},
} satisfies Preset.Options,
],
],
themeConfig: {
image: 'img/llama-stack.png',
navbar: {
title: 'Llama Stack',
logo: {
alt: 'Llama Stack Logo',
src: 'img/llama-stack-logo.png',
},
items: [
{
type: 'docSidebar',
sidebarId: 'tutorialSidebar',
position: 'left',
label: 'Docs',
},
{
type: 'docSidebar',
sidebarId: 'apiSidebar',
position: 'left',
label: 'API Reference',
},
{
href: 'https://github.com/llamastack/llama-stack',
label: 'GitHub',
position: 'right',
},
],
},
footer: {
style: 'dark',
links: [
{
title: 'Docs',
items: [
{
label: 'Getting Started',
to: '/docs/getting-started',
},
{
label: 'Concepts',
to: '/docs/concepts',
},
{
label: 'API Reference',
to: '/docs/api',
},
],
},
{
title: 'Community',
items: [
{
label: 'Discord',
href: 'https://discord.gg/llama-stack',
},
{
label: 'GitHub Discussions',
href: 'https://github.com/llamastack/llama-stack/discussions',
},
{
label: 'Issues',
href: 'https://github.com/llamastack/llama-stack/issues',
},
],
},
{
title: 'More',
items: [
{
label: 'GitHub',
href: 'https://github.com/llamastack/llama-stack',
},
{
label: 'PyPI',
href: 'https://pypi.org/project/llama-stack/',
},
],
},
],
copyright: `Copyright © ${new Date().getFullYear()} Meta Platforms, Inc. Built with Docusaurus.`,
},
prism: {
additionalLanguages: [
'ruby',
'csharp',
'php',
'java',
'powershell',
'json',
'bash',
'python',
'yaml',
],
},
docs: {
sidebar: {
hideable: true,
},
},
// Language tabs for API documentation
languageTabs: [
{
highlight: "python",
language: "python",
logoClass: "python",
},
{
highlight: "bash",
language: "curl",
logoClass: "curl",
},
{
highlight: "javascript",
language: "nodejs",
logoClass: "nodejs",
},
{
highlight: "java",
language: "java",
logoClass: "java",
},
],
} satisfies Preset.ThemeConfig,
plugins: [
[
"docusaurus-plugin-openapi-docs",
{
id: "openapi",
docsPluginId: "classic",
config: {
llamastack: {
specPath: "static/llama-stack-spec.yaml",
outputDir: "docs/api",
downloadUrl: "https://raw.githubusercontent.com/meta-llama/llama-stack/main/docs/static/llama-stack-spec.yaml",
sidebarOptions: {
groupPathsBy: "tag",
categoryLinkSource: "tag",
},
} satisfies OpenApiPlugin.Options,
} satisfies Plugin.PluginOptions,
},
],
],
themes: ["docusaurus-theme-openapi-docs"],
};
export default config;

21573
docs/package-lock.json generated Normal file

File diff suppressed because it is too large Load diff

43
docs/package.json Normal file
View file

@ -0,0 +1,43 @@
{
"name": "docusaurus-template-openapi-docs",
"version": "4.3.7",
"private": true,
"scripts": {
"docusaurus": "docusaurus",
"start": "docusaurus start",
"build": "docusaurus build",
"swizzle": "docusaurus swizzle",
"deploy": "docusaurus deploy",
"clear": "docusaurus clear",
"serve": "docusaurus serve",
"write-translations": "docusaurus write-translations",
"write-heading-ids": "docusaurus write-heading-ids",
"gen-api-docs": "docusaurus gen-api-docs",
"clean-api-docs": "docusaurus clean-api-docs",
"gen-api-docs:version": "docusaurus gen-api-docs:version",
"clean-api-docs:version": "docusaurus clean-api-docs:version"
},
"dependencies": {
"@docusaurus/core": "3.8.1",
"@docusaurus/preset-classic": "3.8.1",
"@mdx-js/react": "^3.0.0",
"clsx": "^2.0.0",
"docusaurus-plugin-openapi-docs": "4.3.7",
"docusaurus-theme-openapi-docs": "4.3.7",
"prism-react-renderer": "^2.3.0",
"react": "^19.0.0",
"react-dom": "^19.0.0"
},
"browserslist": {
"production": [
">0.5%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}

335
docs/sidebars.ts Normal file
View file

@ -0,0 +1,335 @@
import type {SidebarsConfig} from '@docusaurus/plugin-content-docs';
/**
* Creating a sidebar enables you to:
- create an ordered group of docs
- render a sidebar for each doc of that group
- provide next/previous navigation
The sidebars can be generated from the filesystem, or explicitly defined here.
Create as many sidebars as you want.
*/
const sidebars: SidebarsConfig = {
// Start with intro and getting started, add more as we migrate them
tutorialSidebar: [
'intro',
{
type: 'category',
label: 'Getting Started',
collapsed: false,
items: [
'getting_started/index',
'getting_started/detailed_tutorial',
'getting_started/libraries',
],
},
{
type: 'category',
label: 'Concepts',
collapsed: false,
items: [
'concepts/index',
'concepts/architecture',
'concepts/apis',
'concepts/api_providers',
'concepts/distributions',
'concepts/resources',
'concepts/evaluation_concepts',
],
},
{
type: 'category',
label: 'Distributions',
collapsed: false,
items: [
'distributions/index',
'distributions/list_of_distributions',
'distributions/building_distro',
'distributions/customizing_run_yaml',
'distributions/importing_as_library',
'distributions/configuration',
'distributions/starting_llama_stack_server',
{
type: 'category',
label: 'Self-Hosted Distributions',
collapsed: true,
items: [
'distributions/self_hosted_distro/starter',
'distributions/self_hosted_distro/dell',
'distributions/self_hosted_distro/dell_tgi',
'distributions/self_hosted_distro/meta_reference_gpu',
'distributions/self_hosted_distro/nvidia',
'distributions/self_hosted_distro/passthrough',
],
},
{
type: 'category',
label: 'Remote-Hosted Distributions',
collapsed: true,
items: [
'distributions/remote_hosted_distro/index',
'distributions/remote_hosted_distro/watsonx',
],
},
{
type: 'category',
label: 'On-Device Distributions',
collapsed: true,
items: [
'distributions/ondevice_distro/ios_sdk',
'distributions/ondevice_distro/android_sdk',
],
},
],
},
{
type: 'category',
label: 'Providers',
collapsed: false,
items: [
'providers/index',
{
type: 'category',
label: 'Inference',
collapsed: true,
items: [
'providers/inference/index',
'providers/inference/inline_meta-reference',
'providers/inference/inline_sentence-transformers',
'providers/inference/remote_anthropic',
'providers/inference/remote_azure',
'providers/inference/remote_bedrock',
'providers/inference/remote_cerebras',
'providers/inference/remote_databricks',
'providers/inference/remote_fireworks',
'providers/inference/remote_gemini',
'providers/inference/remote_groq',
'providers/inference/remote_hf_endpoint',
'providers/inference/remote_hf_serverless',
'providers/inference/remote_llama-openai-compat',
'providers/inference/remote_nvidia',
'providers/inference/remote_ollama',
'providers/inference/remote_openai',
'providers/inference/remote_passthrough',
'providers/inference/remote_runpod',
'providers/inference/remote_sambanova',
'providers/inference/remote_sambanova-openai-compat',
'providers/inference/remote_tgi',
'providers/inference/remote_together',
'providers/inference/remote_vertexai',
'providers/inference/remote_vllm',
'providers/inference/remote_watsonx'
],
},
{
type: 'category',
label: 'Safety',
collapsed: true,
items: [
'providers/safety/index',
'providers/safety/inline_code-scanner',
'providers/safety/inline_llama-guard',
'providers/safety/inline_prompt-guard',
'providers/safety/remote_bedrock',
'providers/safety/remote_nvidia',
'providers/safety/remote_sambanova'
],
},
{
type: 'category',
label: 'Vector IO',
collapsed: true,
items: [
'providers/vector_io/index',
'providers/vector_io/inline_chromadb',
'providers/vector_io/inline_faiss',
'providers/vector_io/inline_meta-reference',
'providers/vector_io/inline_milvus',
'providers/vector_io/inline_qdrant',
'providers/vector_io/inline_sqlite-vec',
'providers/vector_io/remote_chromadb',
'providers/vector_io/remote_milvus',
'providers/vector_io/remote_pgvector',
'providers/vector_io/remote_qdrant',
'providers/vector_io/remote_weaviate'
],
},
{
type: 'category',
label: 'Tool Runtime',
collapsed: true,
items: [
'providers/tool_runtime/index',
'providers/tool_runtime/inline_rag-runtime',
'providers/tool_runtime/remote_bing-search',
'providers/tool_runtime/remote_brave-search',
'providers/tool_runtime/remote_model-context-protocol',
'providers/tool_runtime/remote_tavily-search',
'providers/tool_runtime/remote_wolfram-alpha'
],
},
{
type: 'category',
label: 'Agents',
collapsed: true,
items: [
'providers/agents/index',
'providers/agents/inline_meta-reference'
],
},
{
type: 'category',
label: 'Post Training',
collapsed: true,
items: [
'providers/post_training/index',
'providers/post_training/inline_huggingface',
'providers/post_training/inline_huggingface-cpu',
'providers/post_training/inline_huggingface-gpu',
'providers/post_training/inline_torchtune',
'providers/post_training/inline_torchtune-cpu',
'providers/post_training/inline_torchtune-gpu',
'providers/post_training/remote_nvidia'
],
},
{
type: 'category',
label: 'DatasetIO',
collapsed: true,
items: [
'providers/datasetio/index',
'providers/datasetio/inline_localfs',
'providers/datasetio/remote_huggingface',
'providers/datasetio/remote_nvidia'
],
},
{
type: 'category',
label: 'Scoring',
collapsed: true,
items: [
'providers/scoring/index',
'providers/scoring/inline_basic',
'providers/scoring/inline_braintrust',
'providers/scoring/inline_llm-as-judge'
],
},
{
type: 'category',
label: 'Files',
collapsed: true,
items: [
'providers/files/index',
'providers/files/inline_localfs',
'providers/files/remote_s3'
],
},
{
type: 'category',
label: 'Eval',
collapsed: true,
items: [
'providers/eval/index',
'providers/eval/inline_meta-reference',
'providers/eval/remote_nvidia'
],
},
{
type: 'category',
label: 'Telemetry',
collapsed: true,
items: [
'providers/telemetry/index',
'providers/telemetry/inline_meta-reference'
],
},
{
type: 'category',
label: 'Batches',
collapsed: true,
items: [
'providers/batches/index',
'providers/batches/inline_reference'
],
},
{
type: 'category',
label: 'External Providers',
collapsed: true,
items: [
'providers/external/index',
'providers/external/external-providers-guide',
'providers/external/external-providers-list'
],
},
'providers/openai-compatibility'
],
},
{
type: 'category',
label: 'Building Applications',
collapsed: false,
items: [
'building_applications/index',
'building_applications/rag',
'building_applications/agent',
'building_applications/agent_execution_loop',
'building_applications/responses_vs_agents',
'building_applications/tools',
'building_applications/evals',
'building_applications/telemetry',
'building_applications/safety',
'building_applications/playground',
],
},
{
type: 'category',
label: 'Advanced APIs',
collapsed: false,
items: [
'advanced_apis/post_training',
'advanced_apis/evaluation',
'advanced_apis/scoring',
],
},
{
type: 'category',
label: 'Deploying',
collapsed: false,
items: [
'deploying/index',
'deploying/kubernetes',
],
},
{
type: 'category',
label: 'Contributing',
collapsed: false,
items: [
'contributing/index',
'contributing/new_api_provider',
'contributing/new_vector_database',
'contributing/testing_record_replay',
],
},
{
type: 'category',
label: 'References',
collapsed: false,
items: [
'references/index',
'references/llama_cli',
'references/client_cli',
'references/python_sdk',
'references/evals_reference',
],
},
// More sections will be added during migration process
],
// API Reference sidebar - use plugin-generated sidebar
apiSidebar: require('./docs/api/sidebar.ts').default,
};
export default sidebars;

7
docs/tsconfig.json Normal file
View file

@ -0,0 +1,7 @@
{
"extends": "@docusaurus/tsconfig",
"compilerOptions": {
"baseUrl": "."
},
"exclude": [".docusaurus", "build"]
}