Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
352 commits
Select commit Hold shift + click to select a range
a95ce25
Refactor RelayauthAnimation, fix lint & docs
willwashburn Apr 2, 2026
7081fed
Update DocsNav.tsx
willwashburn Apr 2, 2026
303b3b6
Merge pull request #684 from AgentWorkforce/improve-docs
willwashburn Apr 2, 2026
7b69db2
Remove invite page and update robots rules
willwashburn Apr 2, 2026
18fb0b2
Add PostHog analytics and CI env var
willwashburn Apr 3, 2026
f47503f
Move web tests to web/lib/test and fix imports
willwashburn Apr 3, 2026
ca9e262
Apply suggestion from @devin-ai-integration[bot]
willwashburn Apr 3, 2026
838f739
Merge pull request #685 from AgentWorkforce/posthog
willwashburn Apr 3, 2026
62b77d0
Point metadata to .com and update PostHog host
willwashburn Apr 3, 2026
0666041
Merge pull request #686 from AgentWorkforce/fix-telemetry
willwashburn Apr 3, 2026
7d12b03
feat: 30 workflows to wire relayauth/relayfile permissions into workf…
khaliqgant Apr 7, 2026
c8121ec
Update docs domain to agentrelay.com & cleanups
willwashburn Apr 7, 2026
b1839cc
Pass mdxComponents to MDXContent
willwashburn Apr 7, 2026
f0f27c3
refactor: route waitlist signups to cloud
Apr 8, 2026
dd7bd04
Merge pull request #696 from AgentWorkforce/feat/cloud-waitlist-integ…
willwashburn Apr 8, 2026
7b95ace
On the relay docs and quickstart tweak (#694)
khaliqgant Apr 8, 2026
3136bc9
Server-render GitHub stars; move theme toggle to footer
willwashburn Apr 10, 2026
97e615d
Remove web/public/docs to avoid /docs routing collisions
willwashburn Apr 10, 2026
142bb8f
Gate CI for web-only changes and web fixes
willwashburn Apr 10, 2026
b8e3706
Merge pull request #704 from AgentWorkforce/better-nav
willwashburn Apr 10, 2026
51adff4
Use orgin.agentrelay.net for production domain
willwashburn Apr 10, 2026
a046237
Merge pull request #715 from AgentWorkforce/better-nav
willwashburn Apr 10, 2026
98e07ec
feat(sdk): add agent activity hook
Apr 20, 2026
8e21254
feat(cli): add agent-relay mcp-args subcommand (#759)
khaliqgant Apr 20, 2026
662d055
Honor DO_NOT_TRACK env var for telemetry
willwashburn Apr 20, 2026
731b308
feat(cli): add --register flag to mcp-args subcommand (#760)
khaliqgant Apr 20, 2026
c483c36
Merge pull request #761 from AgentWorkforce/disable-telemetry-in-ci
willwashburn Apr 21, 2026
6823592
Add brand kit assets and UI to BrandShowcase
willwashburn Apr 22, 2026
741700d
Update brand kit assets
willwashburn Apr 22, 2026
c83f2cf
Update BrandShowcase.tsx
willwashburn Apr 22, 2026
a27396f
Add horizontal logos and brand kit gallery
willwashburn Apr 22, 2026
579b77e
Brand page: dark theme, layout & footer link
willwashburn Apr 22, 2026
7ce430d
Extract theme page; add assets & theme route
willwashburn Apr 22, 2026
cacdfad
fix(sdk-py): retry get_session on 503 + correct quickstart idle wait
willwashburn Apr 22, 2026
ead501f
Merge pull request #767 from AgentWorkforce/fix/py-sdk-getsession-ret…
willwashburn Apr 22, 2026
49892ae
Merge pull request #765 from AgentWorkforce/brand-kit
willwashburn Apr 22, 2026
461a544
feat: add browser and github workflow primitives (#718)
khaliqgant Apr 22, 2026
b0be068
fix: convert rewrites to direct redirects
barryonthecape Apr 24, 2026
c150829
blog persona and relayfile post (#847)
khaliqgant May 13, 2026
162a435
bkog overhaul (#848)
khaliqgant May 13, 2026
870bb3a
blog: neutral Mirage credit (drop chronology claim) (#849)
khaliqgant May 13, 2026
9daa6ea
more tweaks (#850)
khaliqgant May 13, 2026
f2fb149
docs: strengthen relayfile landing page (#851)
khaliqgant May 14, 2026
ff3e87d
updates
May 14, 2026
5ae99d9
Update page.tsx
willwashburn May 14, 2026
2886bf8
ci: add stale preview environment cleanup
willwashburn May 15, 2026
96d5f47
docs: broker HTTP / WS API reference
willwashburn May 16, 2026
8bcb79a
broker(snapshot): add snapshot module + `dump-pty` debug command (#869)
willwashburn May 17, 2026
2763e98
broker(snapshot): address PR #870 review feedback
willwashburn May 17, 2026
87ba6d2
docs(broker-api): make the mdx self-sufficient, sync docs rule
willwashburn May 17, 2026
e5f7d4f
Merge pull request #865 from AgentWorkforce/docs/broker-api-reference
willwashburn May 17, 2026
87a4815
Merge remote-tracking branch 'origin/main' into feat/869-snapshot-dum…
willwashburn May 17, 2026
b2c101e
Merge pull request #870 from AgentWorkforce/feat/869-snapshot-dump-pty
willwashburn May 17, 2026
9e7363a
feat(cli): `agent-relay view <name>` read-only PTY stream client (#86…
willwashburn May 18, 2026
274b4e1
cli(view): render current screen on attach via shared snapshot helper
willwashburn May 18, 2026
df08fa5
Merge pull request #858 from AgentWorkforce/cleanup/stale-preview-stages
willwashburn May 18, 2026
e3514a0
Merge main into persona — resolve v3 schema + trajectory index conflicts
claude May 18, 2026
346ccb7
Merge origin/main into feat/864-view-client, resolve .trajectories/in…
Copilot May 18, 2026
fe83a73
Merge origin/main into feat/864-view-client
Copilot May 18, 2026
01639ac
Merge pull request #880 from AgentWorkforce/feat/864-view-client
willwashburn May 18, 2026
56b94a3
Merge branch 'main' into persona
willwashburn May 18, 2026
6ddcbbb
Merge pull request #839 from AgentWorkforce/persona
willwashburn May 18, 2026
e2174fb
feat(broker): per-agent session mode + pending-queue routes (#864 sub-2)
willwashburn May 18, 2026
7a82a31
broker(session): preserve routing metadata + add telemetry events
willwashburn May 18, 2026
9caba85
Merge branch 'main' into feat/864-session-mode
willwashburn May 18, 2026
2439cf5
docs(web): add icons for CLI/broker API reference nav items
claude May 18, 2026
e809004
Merge pull request #884 from AgentWorkforce/feat/864-session-mode
willwashburn May 18, 2026
e95e6c9
feat(cli): `agent-relay drive <name>` interactive take-over client (#…
willwashburn May 18, 2026
21db777
cli(drive): forward local terminal size on attach + SIGWINCH
willwashburn May 18, 2026
ba7bb52
cli(drive): fix utf-8 input + empty-trim fallthrough + doc keybinds
willwashburn May 18, 2026
c86e7f5
Merge pull request #886 from AgentWorkforce/claude/add-nav-icons-tqzpH
willwashburn May 18, 2026
7ebeb1a
Merge pull request #887 from AgentWorkforce/feat/864-drive-client
willwashburn May 18, 2026
6bfc168
feat(cli): `new` / `relay` / `run` / `rm` verbs + `-n` silent alias (…
willwashburn May 18, 2026
00d7089
refactor(cli): drop `run` verb, fold spawn-and-attach into `new --att…
willwashburn May 18, 2026
393cc8e
refactor(cli): `new` takes positional NAME (drop `-n` flag) + scrub P…
willwashburn May 18, 2026
6c2fc85
chore(comments): drop PR references and legacy framing from code comm…
willwashburn May 18, 2026
c598609
Merge pull request #890 from AgentWorkforce/chore/comment-cleanup-pr-…
willwashburn May 18, 2026
17580b4
refactor: rename session-mode `relay` → `passthrough` across all surf…
willwashburn May 18, 2026
e168e71
Merge remote-tracking branch 'origin/main' into feat/864-relay-and-sp…
willwashburn May 18, 2026
7495387
Merge pull request #889 from AgentWorkforce/feat/864-relay-and-spawn-…
willwashburn May 18, 2026
3a19bfc
Document SDK session primitives
willwashburn May 18, 2026
8f8064e
Merge pull request #896 from AgentWorkforce/feature/sdk-session-primi…
willwashburn May 18, 2026
a0c46f0
Rename inbound delivery modes
willwashburn May 18, 2026
da6669a
Remove legacy mode route alias
willwashburn May 18, 2026
d91d70a
Restore passthrough CLI attach verb
willwashburn May 18, 2026
5dc5ae1
Merge pull request #898 from AgentWorkforce/codex/rename-inbound-deli…
willwashburn May 18, 2026
a0db681
Implement reading worker DM replies (#860) (#861)
khaliqgant May 18, 2026
6038878
Revert out-of-scope PR 861 preview config changes (#901)
khaliqgant May 18, 2026
241d6cc
fix(web): use next/link for docs navigation
claude May 19, 2026
de649bc
chore(deps): bump next from 15.5.14 to 15.5.18 in /web
dependabot[bot] May 19, 2026
e52b6bc
Merge pull request #918 from AgentWorkforce/dependabot/npm_and_yarn/w…
willwashburn May 19, 2026
c997b01
Add streaming PTY input API
willwashburn May 20, 2026
e234021
Address streaming PTY input review feedback
willwashburn May 20, 2026
fa169a0
Merge pull request #929 from AgentWorkforce/codex/issue-924-pty-input…
willwashburn May 20, 2026
3cf8296
Add structured agent result callbacks
willwashburn May 20, 2026
a682667
feat(sdk): typed multi-listener registry replaces on* callback fields
willwashburn May 21, 2026
a1cd2ea
Document broker logs path and agent-relay log CLI
willwashburn May 21, 2026
0803742
Merge branch 'main' into codex/quiet-broker-logs
willwashburn May 21, 2026
ec73bbf
Merge pull request #933 from AgentWorkforce/codex/quiet-broker-logs
willwashburn May 21, 2026
c8434fb
chore(deps): upgrade @posthog/next 0.1.0 → 0.4.61
willwashburn May 21, 2026
a580531
Merge pull request #940 from AgentWorkforce/chore/upgrade-posthog-next
willwashburn May 21, 2026
f00035b
Merge main and align agent result listener
willwashburn May 22, 2026
f12b76a
Expose SDK broker exit notifications (#947)
khaliqgant May 22, 2026
380c36b
Merge main into structured agent results
willwashburn May 22, 2026
a55d811
fix(web): stabilize preview deployments
willwashburn May 22, 2026
dd37433
Merge pull request #951 from AgentWorkforce/codex/fix-preview-cache-p…
willwashburn May 22, 2026
e2b44db
Merge branch 'main' into codex/structured-agent-results
willwashburn May 22, 2026
5c58c32
Merge pull request #932 from AgentWorkforce/codex/structured-agent-re…
willwashburn May 22, 2026
764fd1f
docs: add Proactive agents page (cron + integration + combined) (#952)
khaliqgant May 23, 2026
681335f
docs(proactive-agents): rewrite cron/radio guards as positive conditi…
khaliqgant May 24, 2026
1ef9aa5
Remove external Relaycast MCP dependency
willwashburn May 24, 2026
1e3014b
Document harness runtime plan
willwashburn May 25, 2026
3b2695d
Clarify headless app-server harnesses
willwashburn May 25, 2026
f23fe24
Refine harness adapter docs
willwashburn May 25, 2026
4df488b
Fix harness runtime review issues
willwashburn May 25, 2026
80facec
Rename harness plans to configs
willwashburn May 25, 2026
3d3d31f
Clarify harness config naming docs
willwashburn May 25, 2026
4248b84
Default headless harness driver
willwashburn May 25, 2026
a441722
Add broker harness registry
willwashburn May 25, 2026
da73c3d
Remove harness registry state
willwashburn May 25, 2026
f55034a
Document MCP tool overview
willwashburn May 25, 2026
8fbb675
style: apply prettier across the repo
willwashburn May 25, 2026
072f271
Merge pull request #990 from AgentWorkforce/worktree-remove-husky
willwashburn May 25, 2026
b82c9cf
Merge origin/main into owned MCP branch
willwashburn May 26, 2026
f687e65
Merge main into harness runtime plans
willwashburn May 26, 2026
7c38ead
feat(brand): add Launch Agent README button + showcase page
willwashburn May 26, 2026
89dc339
style: auto-format with Prettier
github-actions[bot] May 26, 2026
23f9067
Move harness runtime docs into web
willwashburn May 26, 2026
17d3a55
Move doctor repro docs into web
willwashburn May 26, 2026
2cce0ce
Merge pull request #987 from AgentWorkforce/codex/harness-runtime-plans
willwashburn May 26, 2026
b1c71a7
Merge pull request #996 from AgentWorkforce/feat/launch-agent-button
willwashburn May 26, 2026
38bd770
Remove workflow code; depend on @relayflows/core via compat shims
willwashburn May 26, 2026
7e81d59
Break relay → relayflows dep; relay has zero workflow code
willwashburn May 26, 2026
12c9a6d
Drop docs nav + cross-references for removed workflow pages
willwashburn May 26, 2026
cd5cfc6
Merge pull request #1000 from AgentWorkforce/chore/extract-workflows-…
willwashburn May 26, 2026
8c54823
Remove personas from SDK
willwashburn May 27, 2026
a7c6d20
Rename bundled MCP server to Agent Relay MCP
willwashburn May 27, 2026
fd54baf
Move MCP tools reference into docs
willwashburn May 27, 2026
34822a5
docs: update spawnAgent examples
willwashburn May 27, 2026
d3bc519
feat(sdk): default spawnAgent name and runtime
willwashburn May 27, 2026
6360959
Merge pull request #1003 from AgentWorkforce/codex/issue-998-spawn-pr…
willwashburn May 27, 2026
9a04554
Relocate root configs/assets and add trajectories
willwashburn May 27, 2026
aebb3ff
Add privacy page (#1011)
khaliqgant May 27, 2026
d4ed0a0
Add terms page (#1012)
khaliqgant May 27, 2026
75e3809
docs: add versioned docs navigation
willwashburn May 29, 2026
c496279
style: auto-format with Prettier
github-actions[bot] May 29, 2026
d546b9c
web: update agent relay homepage
willwashburn May 29, 2026
bdbc1cf
style: auto-format with Prettier
github-actions[bot] May 29, 2026
7e82d35
web: refine homepage prompt controls
willwashburn May 29, 2026
a983cae
style: auto-format with Prettier
github-actions[bot] May 29, 2026
f6a9bbd
web: polish homepage quick start
willwashburn May 29, 2026
351f841
style: auto-format with Prettier
github-actions[bot] May 29, 2026
1650c50
Add realtime event feed & preview UI
willwashburn May 30, 2026
79af6b0
Refactor delivery preview to durable timeline
willwashburn May 30, 2026
b5fe105
Add Webhooks/Search/Commands previews & reorder install
willwashburn May 30, 2026
3034a88
Revamp commands preview styling and layout
willwashburn May 30, 2026
2a3eacd
Update MessageRelayAnimation.tsx
willwashburn May 30, 2026
b1812d6
Revamp landing features layout and add chat preview
willwashburn May 30, 2026
bd05032
Update landing.module.css
willwashburn May 30, 2026
a4d7a9d
Polish hero SVG and feature band styles
willwashburn May 30, 2026
37fed4d
Introduce capability band for hooks & search
willwashburn May 31, 2026
2c18914
Add search preview, process page, and landing redesign
willwashburn May 31, 2026
f0ca360
Update landing page, footer styles and deps
willwashburn May 31, 2026
fb86cb7
Add decorative underline and update headers
willwashburn May 31, 2026
de165d3
Refactor delivery rows and update footer links
willwashburn May 31, 2026
748f283
Update page.tsx
willwashburn May 31, 2026
60b0df7
style: auto-format with Prettier
github-actions[bot] May 31, 2026
590f52e
Update feature heading and list copy
willwashburn May 31, 2026
1446286
Refine docs UI, update examples, add Shiki themes
willwashburn May 31, 2026
e693af6
refactor(web): decompose home page into reusable section components
willwashburn May 31, 2026
32fcca1
style: auto-format with Prettier
github-actions[bot] May 31, 2026
8621ccb
refactor(web): address review — drop unrelated og-home metadata, rend…
willwashburn May 31, 2026
11e6dae
chore: apply pr-reviewer fixes for #1017
May 31, 2026
ceca202
Merge pull request #1017 from AgentWorkforce/refactor/web-home-compon…
willwashburn May 31, 2026
62fe6c8
feat(web): redesign Open Graph images to match current site
willwashburn May 31, 2026
12d032c
style: auto-format with Prettier
github-actions[bot] May 31, 2026
1dfc9e2
chore: apply pr-reviewer fixes for #1019
May 31, 2026
045858b
feat(web): point homepage og:image at /og-home
willwashburn May 31, 2026
a80cb5d
Merge pull request #1019 from AgentWorkforce/feat/og-image-redesign
willwashburn May 31, 2026
e8e5b65
Upgrade relaycast to 2.0 and support actions
willwashburn Jun 1, 2026
1cbb795
Refactor author panel, add GitHub & UI fixes
willwashburn Jun 1, 2026
0f68221
style: apply prettier formatting
willwashburn Jun 1, 2026
ad9c697
Redesign blog index, add waitlist & styles
willwashburn Jun 1, 2026
612045e
Merge branch 'codex/core-simplification' of https://github.com/AgentW…
willwashburn Jun 1, 2026
d5d72cd
Update blog.module.css
willwashburn Jun 1, 2026
f0fb129
Remove in-repo ACP bridge package
willwashburn Jun 1, 2026
e9a401c
Rename runtime package to harness-driver
willwashburn Jun 1, 2026
06030ba
Docs: update SDK examples for driver & events
willwashburn Jun 1, 2026
b07fdb0
harnesses: add create({ relay }) live PTY spawn
willwashburn Jun 1, 2026
16e07a3
Add v8 docs pages and blog UI tweaks
willwashburn Jun 1, 2026
0dfbae9
Consolidate actions docs and update docs nav
willwashburn Jun 1, 2026
e59a7a0
style: auto-format with Prettier
github-actions[bot] Jun 1, 2026
90ed37a
Merge pull request #1010 from AgentWorkforce/codex/core-simplification
willwashburn Jun 1, 2026
e7e3e06
Fix OpenClaw skill route build (#1021)
willwashburn Jun 1, 2026
d1663e9
Add Pear by Agent Relay landing page at /pear (#1022)
willwashburn Jun 2, 2026
24af3ec
Fix web deploy: serve the Pear hero image with a plain img (#1023)
willwashburn Jun 2, 2026
ee842f2
Serve README at llm.txt (#1024)
willwashburn Jun 2, 2026
eac1da4
Upgrade web app to Next.js 16 and React 19 (#1025)
willwashburn Jun 2, 2026
23fbab6
Hide hero node graph on mobile (#1026)
willwashburn Jun 2, 2026
027b865
Rename relay state directory to .agentworkforce/relay (#1028)
willwashburn Jun 3, 2026
a4ff079
v8 SDK redesign: live agent clients, addListener, fire-and-forget act…
willwashburn Jun 3, 2026
4c71da3
docs: make v8 the default docs version (#1032)
willwashburn Jun 3, 2026
fa91466
web: add /pear Open Graph card with zoomed product screenshot (#1036)
willwashburn Jun 3, 2026
08243ad
web: serve OG cards as prerendered .png route handlers (#1039)
willwashburn Jun 3, 2026
8e76779
Fix OpenClaw skill markdown import (#1040)
willwashburn Jun 3, 2026
962d11e
Add Relaycast attribution and Agent Relay MCP tool events (#1041)
willwashburn Jun 3, 2026
96f24d6
Fix CLI attach control output and drive message controls (#1044)
willwashburn Jun 3, 2026
92326c0
Add Relayflow patterns blog post (#1046)
willwashburn Jun 3, 2026
2ef7a27
feat(pear): add /pear/download redirect to latest macOS build (#1052)
willwashburn Jun 5, 2026
4d5478f
feat(web): refresh Pear landing page and footer (#1053)
willwashburn Jun 5, 2026
748cbf1
feat(harnesses): add Grok CLI harness (#1051)
willwashburn Jun 5, 2026
540cd94
feat(web): pear proactive section, OG pear logo, mobile hero (#1054)
willwashburn Jun 5, 2026
bc0e292
Add local workflow run commands (#1047)
willwashburn Jun 5, 2026
8e7f8db
feat(web): update landing hero copy (#1063)
willwashburn Jun 9, 2026
1b0042f
feat(web): add /agents gallery, detail pages, use-cases, and build-yo…
Jun 9, 2026
1ea4532
style: auto-format with Prettier
github-actions[bot] Jun 9, 2026
cf24705
perf(web): use card-sm thumbnails in the agents gallery
Jun 9, 2026
1073cdf
refactor(web): drop unused ForkAgentButton icon path + .iconBtn
Jun 9, 2026
f4b926e
perf(web): accent dots in use-case chips; drop unused avatar assets
Jun 9, 2026
7fd4e5c
fix(web): serve agent art from /agent-art, not /agents
Jun 9, 2026
9e049fd
hide in footer for now
khaliqgant Jun 10, 2026
a2e3aeb
fix(web): update white logo mark (#1088)
willwashburn Jun 10, 2026
ac2dfc4
Docs: refresh Agent Relay skill handoff (#1087)
willwashburn Jun 10, 2026
82f7fe2
fix(web): serve social cards as static assets (#1086)
willwashburn Jun 10, 2026
8f935a6
Add llms.txt docs routes (#1081)
willwashburn Jun 10, 2026
5de56b6
Docs: serve raw Agent Relay skill markdown (#1089)
willwashburn Jun 10, 2026
c53b197
docs: make LLM markdown mirrors discoverable; update sdk README to v8…
willwashburn Jun 10, 2026
193e691
Merge origin/main into feat/agents-gallery
miyaontherelay Jun 11, 2026
a0cc098
style: auto-format with Prettier
github-actions[bot] Jun 11, 2026
ac34238
Merge pull request #1065 from AgentWorkforce/feat/agents-gallery
khaliqgant Jun 11, 2026
cd067ae
sdk: typed action result predicates, zod agentResultSchema, orchestra…
willwashburn Jun 11, 2026
c324544
Move local message controls under local agent (#1101)
willwashburn Jun 11, 2026
c847399
Allow AI crawlers in robots.txt (#1102)
willwashburn Jun 12, 2026
6433ad4
docs(fleets): add Fleets setup page (#1136)
willwashburn Jun 16, 2026
687d291
fix(broker): apply eval-derived relay worker guidance (#1126)
khaliqgant Jun 16, 2026
fc0a3c9
web: add "How it works" diagram section to homepage (#1132)
willwashburn Jun 16, 2026
9b8d6c2
[codex] Expose workspace fleet flag in Relay (#1163)
willwashburn Jun 18, 2026
7969d97
perf(web): GPU-composite the "Works with Every Agent" message dots (#…
willwashburn Jun 19, 2026
6f1bda1
Add design engineering skills and improve button interaction polish (…
willwashburn Jun 19, 2026
1c6d2ed
docs: align web/content/docs with actual SDK/CLI implementation (#1172)
willwashburn Jun 19, 2026
d1f482c
docs: fix verifiable gaps between docs and code (#1177)
willwashburn Jun 19, 2026
9072c41
Remove the local relay dashboard (#1146)
willwashburn Jun 21, 2026
ad91d8a
chore: remove the deprecated @agent-relay/telemetry placeholder packa…
willwashburn Jun 21, 2026
3c0cd06
Merge remote-tracking branch 'web-extract/main' into extract-web
willwashburn Jun 22, 2026
495b10b
chore: scaffold agentrelay.com as standalone web repo
willwashburn Jun 22, 2026
96ed1e9
feat: deploy web on Cloudflare Workers via OpenNext (no AWS)
willwashburn Jun 22, 2026
e4a0d4c
fix(agents.md): serve the AgentWorkforce/relay README
willwashburn Jun 22, 2026
e218d4b
ci: drop prod/preview GitHub environments
willwashburn Jun 22, 2026
f70e463
chore: drop stale web/.trajectories carried over from the extraction
willwashburn Jun 22, 2026
9f94ec9
ci(preview): don't fail when no workers.dev preview URL is returned
willwashburn Jun 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
45 changes: 45 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Deploy Web (Cloudflare)

on:
push:
branches:
- main
workflow_dispatch:

concurrency:
group: deploy-web-production
cancel-in-progress: false

permissions:
contents: read

jobs:
deploy-production:
name: Deploy production
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Build OpenNext (Cloudflare)
working-directory: web
env:
NEXT_PUBLIC_POSTHOG_HOST: ${{ vars.NEXT_PUBLIC_POSTHOG_HOST || 'https://i.agentrelay.com' }}
NEXT_PUBLIC_POSTHOG_KEY: ${{ vars.NEXT_PUBLIC_POSTHOG_KEY }}
run: npm run cf:build

- name: Deploy to Cloudflare
working-directory: web
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ vars.CLOUDFLARE_ACCOUNT_ID }}
run: npx wrangler deploy
96 changes: 96 additions & 0 deletions .github/workflows/preview.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
name: Preview Web (Cloudflare)

on:
pull_request:
types: [opened, synchronize, reopened]

permissions:
contents: read
issues: write
pull-requests: write

concurrency:
group: preview-web-pr-${{ github.event.pull_request.number }}
cancel-in-progress: true

jobs:
preview:
name: Deploy Preview
# Same-repo PRs only (forks can't read the Cloudflare secret).
if: github.event.pull_request.head.repo.full_name == github.repository
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Build OpenNext (Cloudflare)
working-directory: web
env:
NEXT_PUBLIC_POSTHOG_HOST: ${{ vars.NEXT_PUBLIC_POSTHOG_HOST || 'https://i.agentrelay.com' }}
NEXT_PUBLIC_POSTHOG_KEY: ${{ vars.NEXT_PUBLIC_POSTHOG_KEY }}
run: npm run cf:build

- name: Upload preview version
id: preview
working-directory: web
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ vars.CLOUDFLARE_ACCOUNT_ID }}
run: |
set -o pipefail

upload_log="$(mktemp)"
# Upload a new version WITHOUT promoting it to production. Cloudflare
# retains/expires versions automatically, so there is no stale-stage
# cleanup to run. A per-version preview URL is minted only when the
# account has a workers.dev subdomain enabled; if it isn't, the upload
# still succeeds and we just skip the URL (don't fail the check).
npx wrangler versions upload | tee "$upload_log"

preview_url="$(grep -oE 'https://[a-z0-9][a-z0-9-]*\.[a-z0-9-]+\.workers\.dev' "$upload_log" | tail -n 1 || true)"
echo "preview_url=${preview_url}" >> "$GITHUB_OUTPUT"

- name: Comment on PR
continue-on-error: true
uses: actions/github-script@v7
env:
PREVIEW_URL: ${{ steps.preview.outputs.preview_url }}
with:
script: |
const prNum = context.payload.pull_request.number;
const url = process.env.PREVIEW_URL;
const body = url
? `**Preview deployed!**\n\n` +
`| Environment | URL |\n` +
`|-------------|-----|\n` +
`| Web | ${url} |\n\n` +
`This is a Cloudflare Workers preview version of this PR's build.`
: `**Preview built** — a Cloudflare Worker version was uploaded for this PR, ` +
`but no per-version preview URL was returned. Enable a workers.dev subdomain ` +
`on the Cloudflare account to get preview URLs.`;

const { data: comments } = await github.rest.issues.listComments({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: prNum,
});
const existing = comments.find(c =>
c.user.type === 'Bot' && c.body.includes('Preview deployed')
);

const params = { owner: context.repo.owner, repo: context.repo.repo, body };
if (existing) {
await github.rest.issues.updateComment({ ...params, comment_id: existing.id });
} else {
await github.rest.issues.createComment({ ...params, issue_number: prNum });
}
29 changes: 29 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Dependencies
node_modules/
.npm-cache/

# Next.js
web/.next/
web/out/

# OpenNext (Cloudflare) build output
web/.open-next/

# Wrangler
.wrangler/
web/.wrangler/
web/.dev.vars

# Build info
**/tsconfig.tsbuildinfo

# Runtime data
web/waitlist.json

# Env
.env
.env.local
.env*.local

# OS
.DS_Store
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
22
52 changes: 51 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,52 @@
# agentrelay.com
It's the, uh, agentrelay.com site I feel like that's obvious

The Agent Relay front door: the public marketing/docs site, and (incoming) the
Cloudflare router that fronts `agentrelay.com`. Runs entirely on Cloudflare —
no AWS.

## Layout

```
web/ Next.js marketing + docs site (OpenNext → Cloudflare Workers)
```

`router/` (the seamless front-door Cloudflare Worker) lands here in a later phase.

## Develop

```bash
npm install # workspace root
npm run dev # next dev
npm run build # next build
npm test # vitest
npm run preview # build + run the OpenNext worker locally (wrangler dev)
```

## Deploy

`web` is a Next.js app built with [`@opennextjs/cloudflare`](https://opennext.js.org/cloudflare)
and deployed as a Cloudflare Worker via Wrangler (`web/wrangler.jsonc`). Wrangler
auto-provisions the Worker, uploads static assets, and creates the
`origin-web.agentrelay.com` DNS record + TLS cert (the `agentrelay.com` zone must
live in the Cloudflare account).

GitHub Actions:

- `.github/workflows/deploy.yml` — production, on push to `main`
(`wrangler deploy` → `origin-web.agentrelay.com`)
- `.github/workflows/preview.yml` — per-PR preview via `wrangler versions upload`
(ephemeral `*.workers.dev` URL, no custom domain; Cloudflare expires old
versions automatically — no stale-preview cleanup needed)

Required GitHub Actions config (repository-level — prod and previews share the
same Cloudflare account, so no per-environment scoping is needed):

- Secrets: `CLOUDFLARE_API_TOKEN` (Workers Scripts + Workers Routes + DNS edit on
the account)
- Vars: `CLOUDFLARE_ACCOUNT_ID`, `NEXT_PUBLIC_POSTHOG_KEY`
(optional `NEXT_PUBLIC_POSTHOG_HOST`, defaults to `https://i.agentrelay.com`)

Pushes to `main` auto-deploy to production; PRs get an ephemeral preview version.

The apex `agentrelay.com` reaches this site via the router's fallback; domain
consolidation onto `*.agentrelay.com` is a later phase.
Loading
Loading