Skip to content

Commit 69aed5e

Browse files
nficanoclaude
andcommitted
feat(www): home page UI, remote docs sync, and Vercel deploy CI
- Build the v2 home page (hero, steps, scope columns, code sample, diagram, concerns grid) backed by content/home.md. - sync-docs.mjs can now pull SDK + spec docs from GitHub when SDK_DOCS_REMOTE=1, so CI/Vercel builds without sibling repos checked out. - Keep content/home.md in the repo; synced lang dirs stay gitignored. - Read the FontAwesome Pro token from FONTAWESOME_NPM_AUTH_TOKEN instead of hardcoding it in .npmrc. - Replace the GitHub Pages workflow with a Vercel CLI deploy workflow and add vercel.json (static generate output). - Point site.url at agentruntimecontrolprotocol.io. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent e607d10 commit 69aed5e

19 files changed

Lines changed: 4314 additions & 222 deletions

.github/workflows/deploy.yml

Lines changed: 36 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,26 @@
1-
name: Build & Deploy
1+
name: Deploy
22

33
on:
44
push:
55
branches: [main]
6+
pull_request:
67
workflow_dispatch:
78

89
concurrency:
9-
group: pages
10+
group: vercel-${{ github.workflow }}-${{ github.ref }}
1011
cancel-in-progress: true
1112

13+
env:
14+
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
15+
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
16+
# sync-docs.mjs pulls the SDK + spec docs from GitHub instead of sibling repos.
17+
SDK_DOCS_REMOTE: '1'
18+
1219
jobs:
13-
build:
20+
deploy:
1421
runs-on: ubuntu-latest
15-
permissions:
16-
contents: read
17-
pages: write
18-
id-token: write
19-
env:
20-
SDK_DOCS_REMOTE: '1'
2122
steps:
22-
- name: Checkout site
23+
- name: Checkout
2324
uses: actions/checkout@v4
2425

2526
- name: Setup pnpm
@@ -33,30 +34,28 @@ jobs:
3334
node-version: 22
3435
cache: pnpm
3536

36-
- name: Install dependencies
37-
run: pnpm install --frozen-lockfile
38-
39-
- name: Sync SDK docs
40-
run: pnpm sync:docs
41-
42-
- name: Generate static site
43-
run: pnpm generate
44-
45-
- name: Upload Pages artifact
46-
uses: actions/upload-pages-artifact@v3
47-
with:
48-
path: .output/public
49-
50-
deploy:
51-
needs: build
52-
runs-on: ubuntu-latest
53-
permissions:
54-
pages: write
55-
id-token: write
56-
environment:
57-
name: github-pages
58-
url: ${{ steps.deployment.outputs.page_url }}
59-
steps:
60-
- name: Deploy to GitHub Pages
61-
id: deployment
62-
uses: actions/deploy-pages@v4
37+
- name: Install Vercel CLI
38+
run: pnpm add --global vercel@latest
39+
40+
- name: Resolve deploy target
41+
id: target
42+
run: |
43+
if [ "${{ github.ref }}" = "refs/heads/main" ]; then
44+
echo "prod=--prod" >> "$GITHUB_OUTPUT"
45+
echo "env=production" >> "$GITHUB_OUTPUT"
46+
else
47+
echo "prod=" >> "$GITHUB_OUTPUT"
48+
echo "env=preview" >> "$GITHUB_OUTPUT"
49+
fi
50+
51+
- name: Pull Vercel environment
52+
run: vercel pull --yes --environment=${{ steps.target.outputs.env }} --token=${{ secrets.VERCEL_TOKEN }}
53+
54+
- name: Build with Vercel
55+
env:
56+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
57+
FONTAWESOME_NPM_AUTH_TOKEN: ${{ secrets.FONTAWESOME_NPM_AUTH_TOKEN }}
58+
run: vercel build ${{ steps.target.outputs.prod }} --token=${{ secrets.VERCEL_TOKEN }}
59+
60+
- name: Deploy to Vercel
61+
run: vercel deploy --prebuilt ${{ steps.target.outputs.prod }} --token=${{ secrets.VERCEL_TOKEN }}

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,7 @@ logs
2424
!.env.example
2525

2626
# Synced from sibling SDK + spec repos by scripts/sync-docs.mjs on every dev/build.
27-
content
27+
# content/home.md is hand-authored (the homepage source) and stays in the repo.
28+
content/*
29+
!content/home.md
2830
public/diagrams

app/app.config.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
export default defineAppConfig({
2+
ui: {
3+
colors: {
4+
primary: 'vermilion',
5+
neutral: 'inkwell',
6+
},
7+
},
8+
});

0 commit comments

Comments
 (0)