diff --git a/.github/workflows/hugo.yml b/.github/workflows/hugo.yml new file mode 100644 index 000000000..da87cfba5 --- /dev/null +++ b/.github/workflows/hugo.yml @@ -0,0 +1,64 @@ +name: Deploy Hugo site to Pages + +on: + push: + branches: + - main + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: "pages" + cancel-in-progress: false + +defaults: + run: + shell: bash + +jobs: + build: + runs-on: ubuntu-latest + env: + HUGO_VERSION: 0.139.0 + steps: + - name: Install Hugo CLI + run: | + wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \ + && sudo dpkg -i ${{ runner.temp }}/hugo.deb + - name: Checkout + uses: actions/checkout@v4 + with: + submodules: recursive + fetch-depth: 0 + - name: Setup Pages + id: pages + uses: actions/configure-pages@v5 + - name: Build with Hugo + env: + HUGO_CACHEDIR: ${{ runner.temp }}/hugo_cache + HUGO_ENVIRONMENT: production + working-directory: ./website + run: | + hugo \ + --gc \ + --minify \ + --baseURL "${{ steps.pages.outputs.base_url }}/" + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: ./website/public + + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/.gitignore b/.gitignore index 5b5b47357..199ad9687 100644 --- a/.gitignore +++ b/.gitignore @@ -44,4 +44,9 @@ docs/_spelling/ *.db # uv lock files -uv.lock \ No newline at end of file +uv.lock + +# Hugo build output +/website/public/ +/website/resources/ +/website/.hugo_build.lock \ No newline at end of file diff --git a/website/LANDING_PAGE.md b/website/LANDING_PAGE.md new file mode 100644 index 000000000..9364a5a0b --- /dev/null +++ b/website/LANDING_PAGE.md @@ -0,0 +1,46 @@ +# SkyRL Landing Page + +This directory contains a Hugo-based landing page for SkyRL. + +## Local Development + +### Prerequisites +Install Hugo (extended version recommended): +```bash +# macOS +brew install hugo + +# Or download from https://github.com/gohugoio/hugo/releases +``` + +### Running Locally +```bash +hugo server -D +``` + +Then visit http://localhost:1313/SkyRL/ + +### Building +```bash +hugo --gc --minify +``` + +The built site will be in the `public/` directory. + +## Deployment + +The landing page automatically deploys to GitHub Pages when you push to the main branch. + +### Setup GitHub Pages (one-time) +1. Go to repository Settings → Pages +2. Under "Source", select "GitHub Actions" +3. The workflow in `.github/workflows/hugo.yml` will handle deployment + +The site will be available at: https://novasky-ai.github.io/SkyRL/ + +## Structure + +- `content/_index.md` - Landing page markdown content +- `layouts/` - Hugo templates and layouts +- `hugo.toml` - Hugo configuration +- `.github/workflows/hugo.yml` - Automated deployment workflow diff --git a/website/content/_index.md b/website/content/_index.md new file mode 100644 index 000000000..91cb4f383 --- /dev/null +++ b/website/content/_index.md @@ -0,0 +1,68 @@ +--- +title: "SkyRL - Full-Stack RL for LLMs" +--- + + + +## Why SkyRL? + +
+
+

🏗️ Modular

+

Composable training framework, environment library, and agent pipelines. Use what you need, extend what you want.

+
+
+

⚡ Performant

+

Optimized for distributed RL training at scale. Built for real-world production workloads.

+
+
+

🌍 Real-World Tasks

+

Designed for long-horizon, multi-turn tool use on complex environments like SWE-Bench and Text-to-SQL.

+
+
+ +## Get Started + +
+

Quick Start

+ +```python +from skyrl.gym import make_env +from skyrl.train import RLTrainer + +# Create environment and configure trainer +env = make_env("math-solver") +trainer = RLTrainer( + model="meta-llama/Llama-3-8B", + env=env, + algorithm="ppo" +) + +# Train your agent +trainer.train(num_iterations=1000) +``` + +
+ +
+

Trusted By

+
+
Anyscale
+
Scale AI
+
Datadog
+
+
+ +
+ View on GitHub + Documentation +
+ + diff --git a/website/hugo.toml b/website/hugo.toml new file mode 100644 index 000000000..678816c10 --- /dev/null +++ b/website/hugo.toml @@ -0,0 +1,15 @@ +baseURL = 'https://novasky-ai.github.io/SkyRL/' +languageCode = 'en-us' +title = 'SkyRL' + +[params] + description = 'A modular full-stack RL library for training real-world agents with LLMs' + +[markup] + [markup.goldmark] + [markup.goldmark.renderer] + unsafe = true + [markup.highlight] + style = 'github' + lineNos = false + lineNumbersInTable = false diff --git a/website/layouts/_default/baseof.html b/website/layouts/_default/baseof.html new file mode 100644 index 000000000..2cf1fdd90 --- /dev/null +++ b/website/layouts/_default/baseof.html @@ -0,0 +1,286 @@ + + + + + + {{ .Title }} + + + + +
+ {{ block "main" . }}{{ end }} +
+ + diff --git a/website/layouts/index.html b/website/layouts/index.html new file mode 100644 index 000000000..9983b0816 --- /dev/null +++ b/website/layouts/index.html @@ -0,0 +1,3 @@ +{{ define "main" }} +{{ .Content }} +{{ end }}