Skip to content

Commit 5e0a572

Browse files
committed
docs: add Astro + Tailwind website with GitHub Pages deploy
Static docs site under website/ that auto-generates pages from the marketing/ template tree (one page per bank-template.json) and a page per harness (claude, openclaw, nemoclaw). Deployed to GitHub Pages on push to main via .github/workflows/pages.yml.
1 parent ee6b36f commit 5e0a572

24 files changed

Lines changed: 8313 additions & 0 deletions

.github/workflows/pages.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Deploy docs site
2+
3+
on:
4+
push:
5+
branches: [main]
6+
paths:
7+
- 'website/**'
8+
- 'marketing/**'
9+
- '.github/workflows/pages.yml'
10+
workflow_dispatch:
11+
12+
permissions:
13+
contents: read
14+
pages: write
15+
id-token: write
16+
17+
concurrency:
18+
group: pages
19+
cancel-in-progress: true
20+
21+
jobs:
22+
build:
23+
runs-on: ubuntu-latest
24+
steps:
25+
- uses: actions/checkout@v4
26+
27+
- uses: actions/setup-node@v4
28+
with:
29+
node-version: '22'
30+
cache: 'npm'
31+
cache-dependency-path: website/package-lock.json
32+
33+
- name: Install
34+
working-directory: website
35+
run: npm ci
36+
37+
- name: Build
38+
working-directory: website
39+
env:
40+
SITE_URL: https://vectorize-io.github.io
41+
SITE_BASE: /self-driving-agents
42+
run: npm run build
43+
44+
- name: Upload artifact
45+
uses: actions/upload-pages-artifact@v3
46+
with:
47+
path: website/dist
48+
49+
deploy:
50+
needs: build
51+
runs-on: ubuntu-latest
52+
environment:
53+
name: github-pages
54+
url: ${{ steps.deployment.outputs.page_url }}
55+
steps:
56+
- id: deployment
57+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
node_modules/
22
dist/
33
*.tgz
4+
website/.astro/

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ Agents that learn from every conversation and get better over time.
44

55
No retraining, no manual updates — just use them and they improve. Powered by [Hindsight](https://github.com/vectorize-io/hindsight), so agent memory is portable across harnesses.
66

7+
📖 **Docs:** <https://vectorize-io.github.io/self-driving-agents/>
8+
79
## Quick start
810

911
### Claude Chat / Cowork

website/.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
node_modules/
2+
dist/
3+
.astro/
4+
.env
5+
.env.*
6+
!.env.example

website/README.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# Self-Driving Agents — docs site
2+
3+
Static documentation site for [self-driving-agents](https://github.com/vectorize-io/self-driving-agents). Built with [Astro](https://astro.build) and [Tailwind CSS](https://tailwindcss.com), deployed to GitHub Pages.
4+
5+
## Local development
6+
7+
```bash
8+
cd website
9+
npm install
10+
npm run dev
11+
```
12+
13+
Site is served at <http://localhost:4321>. The `marketing/` folder is read at build time, so any change to a `bank-template.json` or `.md` file under it shows up on a refresh.
14+
15+
## Build
16+
17+
```bash
18+
npm run build
19+
npm run preview
20+
```
21+
22+
The output goes to `website/dist`.
23+
24+
## Deployment
25+
26+
Pushed automatically to GitHub Pages on every push to `main` that touches `website/**` or `marketing/**` (see [.github/workflows/pages.yml](../.github/workflows/pages.yml)).
27+
28+
The base path is `/self-driving-agents` to match the GitHub Pages URL `https://vectorize-io.github.io/self-driving-agents/`. Override via `SITE_URL` and `SITE_BASE` env vars when building locally.
29+
30+
## Structure
31+
32+
```
33+
website/
34+
src/
35+
components/ # Header, Footer, AgentCard, CodeBlock
36+
layouts/ # Layout.astro
37+
lib/ # agents.ts (reads ../marketing), harnesses.ts
38+
pages/
39+
index.astro # landing
40+
quickstart.astro # /quickstart
41+
agents/index.astro # /agents
42+
agents/[...slug].astro # /agents/marketing, /agents/marketing/seo, ...
43+
harnesses/index.astro # /harnesses
44+
harnesses/[slug].astro # /harnesses/claude, ...
45+
styles/global.css # Tailwind + theme tokens
46+
public/favicon.svg
47+
astro.config.mjs
48+
```
49+
50+
## Adding a new harness
51+
52+
Edit `src/lib/harnesses.ts` and add a new entry to `HARNESSES`. The page at `/harnesses/<slug>` is generated automatically.
53+
54+
## Adding new agents
55+
56+
Drop a new directory under `marketing/` (or any sibling templates dir you wire up in `src/lib/agents.ts`). Each directory with a `bank-template.json` becomes an agent page; `.md` files in that directory are listed as its knowledge files.

website/astro.config.mjs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { defineConfig } from 'astro/config';
2+
import tailwindcss from '@tailwindcss/vite';
3+
4+
// GitHub Pages: served at https://vectorize-io.github.io/self-driving-agents/
5+
const SITE = process.env.SITE_URL ?? 'https://vectorize-io.github.io';
6+
const BASE = process.env.SITE_BASE ?? '/self-driving-agents';
7+
8+
export default defineConfig({
9+
site: SITE,
10+
base: BASE,
11+
trailingSlash: 'ignore',
12+
vite: {
13+
plugins: [tailwindcss()],
14+
},
15+
});

0 commit comments

Comments
 (0)