Skip to content
Draft
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
64 changes: 64 additions & 0 deletions .github/workflows/hugo.yml
Original file line number Diff line number Diff line change
@@ -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
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,9 @@ docs/_spelling/
*.db

# uv lock files
uv.lock
uv.lock

# Hugo build output
/website/public/
/website/resources/
/website/.hugo_build.lock
46 changes: 46 additions & 0 deletions website/LANDING_PAGE.md
Original file line number Diff line number Diff line change
@@ -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
68 changes: 68 additions & 0 deletions website/content/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
---
title: "SkyRL - Full-Stack RL for LLMs"
---

<header class="site-header">
<h1>SkyRL</h1>
<p class="subheadline">
A modular full-stack reinforcement learning library for training real-world, long-horizon agents with LLMs
</p>
</header>

## Why SkyRL?

<div class="value-props">
<div class="value-prop">
<h3>🏗️ Modular</h3>
<p>Composable training framework, environment library, and agent pipelines. Use what you need, extend what you want.</p>
</div>
<div class="value-prop">
<h3>⚡ Performant</h3>
<p>Optimized for distributed RL training at scale. Built for real-world production workloads.</p>
</div>
<div class="value-prop">
<h3>🌍 Real-World Tasks</h3>
<p>Designed for long-horizon, multi-turn tool use on complex environments like SWE-Bench and Text-to-SQL.</p>
</div>
</div>

## Get Started

<div class="code-section">
<h3>Quick Start</h3>

```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)
```

</div>

<div class="traction">
<h3>Trusted By</h3>
<div class="companies">
<div class="company">Anyscale</div>
<div class="company">Scale AI</div>
<div class="company">Datadog</div>
</div>
</div>

<div class="cta-section">
<a href="https://github.com/NovaSky-AI/SkyRL" class="button">View on GitHub</a>
<a href="https://skyrl.readthedocs.io/" class="button button-secondary">Documentation</a>
</div>

<footer>
<p>Built at <a href="https://sky.cs.berkeley.edu/">Berkeley Sky Computing Lab</a></p>
</footer>
15 changes: 15 additions & 0 deletions website/hugo.toml
Original file line number Diff line number Diff line change
@@ -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
Loading