Skip to content

feat(site): agent-first site re-architecture — every page converts the agent door (0457 Phase A) - #711

Merged
crs48 merged 16 commits into
mainfrom
claude/0457-agent-first-site-rearchitecture
Aug 22, 2026
Merged

feat(site): agent-first site re-architecture — every page converts the agent door (0457 Phase A)#711
crs48 merged 16 commits into
mainfrom
claude/0457-agent-first-site-rearchitecture

Conversation

@crs48

@crs48 crs48 commented Aug 22, 2026

Copy link
Copy Markdown
Owner

Implements Phase A of exploration 0457 (which specifies step 4 of 0456's focus stack): the site's conversion spine now leads with the agent door — npx @xnetjs/cli connect claude-code — while the app, SDK, and cloud keep their URLs one rank down.

What changed

  • CLI: xnet connect registers an npx -y @xnetjs/cli MCP launcher when the xnet bin is not on PATH, so the zero-install on-ramp produces a registration that survives the npx cache (+ changeset, patch).
  • Hero: new headline ("Give your coding agent a workspace you own."), per-agent connect tabs (Claude Code / Codex / Cursor / VS Code / any MCP), two CTAs, benchmark proof line.
  • New /agents page + src/data/agents.ts: per-client installs (Cursor deeplink + VS Code badge, each with a pasteable config fallback), the three lanes, the structural safety model, dated changelog receipts.
  • Nav/footer: "Agents" link + "Connect your agent" button; footer Agents column.
  • GetStarted: agent path first, app second, SDK third.
  • Docs IA: coding-agents guide (retitled "Connect Your Agent") into Start Here; new Agents sidebar group; docs landing opens with the two doors; llms-full.txt regenerated in the new order.
  • Agent-readable layer: llms.txt opens with an "If you are a coding agent" section (and finally lists the connect guide); new public/agents.md; canonical + OG/Twitter meta (site had none); robots.txt.
  • Benchmark methodology published as a linkable docs section (/docs/guides/agent-interfaces/#benchmark-methodology) — the hero footnote target.
  • README: connect-first Try-it bullet + "Your agent, your workspace" section.

Also carries explorations 0455 (Cordis lessons), 0456 (entry vector), and 0457 (this spec, marked [-] — Phase B is gated on 0456's loop demo).

Verification

  • cd site && pnpm build green twice (all validators: compare, changelog, plugins, surveillance, metrics, llms-full, astro build, validate-dist — 49 static pages, no leftovers)
  • pnpm check:llms-full green; cli connect tests 10/10; cli typecheck clean; full suite 12,456 tests green on rerun (first pre-push hit the known full-suite flake)
  • Built pages verified in the browser: hero tabs render and switch, /agents sections all present, nav/footer links live

🤖 Generated with Claude Code

@crs48
crs48 temporarily deployed to pr-711 August 22, 2026 01:56 — with GitHub Actions Inactive
@coderabbitai

coderabbitai Bot commented Aug 22, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@crs48, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 57 minutes

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

Wait for the limit to reset, then comment @coderabbitai review or push new commits to the PR.

An organization admin can change what happens after included review limits in Billing.

How do review limits work?

CodeRabbit enforces per-developer PR review limits within each organization.

For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 80e3308b-4afb-470d-856c-312994cca0e1

📥 Commits

Reviewing files that changed from the base of the PR and between 6719887 and 6acaae7.

📒 Files selected for processing (26)
  • .changeset/connect-npx-launcher.md
  • .claude/launch.json
  • README.md
  • docs/explorations/0455_[_]_CORDIS_LESSONS_FOR_XNET_PLUGIN_COMPOSITION.md
  • docs/explorations/0456_[_]_ENTRY_VECTOR_THE_AGENT_DOOR_FIRST.md
  • docs/explorations/0457_[-]_AGENT_FIRST_SITE_REARCHITECTURE.md
  • packages/cli/src/__tests__/connect-command.test.ts
  • packages/cli/src/commands/connect.ts
  • site/public/agents.md
  • site/public/llms-full.txt
  • site/public/llms.txt
  • site/public/robots.txt
  • site/src/components/sections/BuiltForAgents.astro
  • site/src/components/sections/Footer.astro
  • site/src/components/sections/GetStarted.astro
  • site/src/components/sections/Hero.astro
  • site/src/components/sections/Nav.astro
  • site/src/content/docs/docs/guides/agent-interfaces.mdx
  • site/src/content/docs/docs/guides/coding-agents.mdx
  • site/src/content/docs/docs/index.mdx
  • site/src/data/agents.ts
  • site/src/data/changelog/2026-08-21-connect-your-coding-agent-from-the-front.json
  • site/src/layouts/Base.astro
  • site/src/pages/agents.astro
  • site/src/pages/index.astro
  • site/src/sidebar.mjs
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/0457-agent-first-site-rearchitecture

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

xNet Test added 16 commits August 21, 2026 18:57
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

Signed-off-by: xNet Test <test@xnet.dev>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

Signed-off-by: xNet Test <test@xnet.dev>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

Signed-off-by: xNet Test <test@xnet.dev>
The zero-install on-ramp (npx @xnetjs/cli connect claude-code) used to
register an MCP server entry with command 'xnet', which dies once the npx
cache is gone. connect now resolves the launcher from PATH and falls back
to 'npx -y @xnetjs/cli'; the connect guide documents the npx one-liner as
the canonical zero-install command.

Signed-off-by: xNet Test <test@xnet.dev>
Signed-off-by: xNet Test <test@xnet.dev>
Per-client connect tabs (Claude Code, Codex, Cursor deeplink, VS Code
badge, generic MCP), the three lanes with the benchmark methodology link,
the structural safety model, and dated changelog receipts. validate-dist
derives expected routes from src/pages, so the new page is covered
automatically.

Signed-off-by: xNet Test <test@xnet.dev>
New headline, per-agent connect tabs (synced with /agents via the shared
CodeTabs group), two CTAs, benchmark proof line linking the methodology.
The app demotes to the secondary CTA; app/SDK/protocol survive as small
links. BuiltForAgents now routes to /agents first.

Signed-off-by: xNet Test <test@xnet.dev>
Agents becomes the first page link, the header conversion button becomes
'Connect your agent' -> /agents, and the footer gains an Agents column
(connect guide, interfaces, agents.md, llms.txt). The app stays reachable
via /#app and the footer.

Signed-off-by: xNet Test <test@xnet.dev>
Signed-off-by: xNet Test <test@xnet.dev>
The coding-agents guide (retitled 'Connect Your Agent') joins Start Here;
a new uncollapsed Agents sidebar group holds agent-interfaces and the AI
assistants guide; the docs landing opens with the two doors. llms-full.txt
regenerated in the new order.

Signed-off-by: xNet Test <test@xnet.dev>
…d, og meta

llms.txt now opens with an 'If you are a coding agent' section and lists
the connect guide it previously omitted; /agents.md is the agent-facing
summary (lanes, verbs, safety contract); Base.astro gains canonical +
og/twitter meta (the site had none); robots.txt added. @astrojs/sitemap
deliberately skipped (new dependency, marked optional in 0457).

Signed-off-by: xNet Test <test@xnet.dev>
Signed-off-by: xNet Test <test@xnet.dev>
Signed-off-by: xNet Test <test@xnet.dev>
Signed-off-by: xNet Test <test@xnet.dev>
@crs48
crs48 force-pushed the claude/0457-agent-first-site-rearchitecture branch from 8f481ee to 6acaae7 Compare August 22, 2026 01:57
@crs48
crs48 temporarily deployed to pr-711 August 22, 2026 01:57 — with GitHub Actions Inactive
github-actions Bot added a commit that referenced this pull request Aug 22, 2026
@github-actions

github-actions Bot commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

Preview removed for PR #711.

github-actions Bot added a commit that referenced this pull request Aug 22, 2026
@crs48
crs48 merged commit 4192b15 into main Aug 22, 2026
20 checks passed
@crs48
crs48 deleted the claude/0457-agent-first-site-rearchitecture branch August 22, 2026 02:04
github-actions Bot added a commit that referenced this pull request Aug 22, 2026
crs48 added a commit that referenced this pull request Aug 22, 2026
…ry, live agent tools (0455) (#712)

Implements the buildable core of exploration 0456 (the agent-door focus
stack), which executes 0455's checklist. Follows #711.

## What landed

- **0335 release blocker #1 closed**: the desktop app no longer boots on
a source-derivable signing key. Seeds are random, generated once per
profile in the main process, stored via `safeStorage` (plaintext 0600 +
loud warning only when no platform keystore exists), delivered to the
renderer over IPC. The deterministic seed survives only behind
`XNET_TEST_BYPASS`, in main, for the e2e harness. Corrupt stored seeds
fail loudly rather than silently rotating the DID.
- **EffectScope** (`packages/plugins/src/scope.ts`): nested,
reverse-order, awaited disposal. `ExtensionContext.scope` drains
`subscriptions`; `PluginRegistry.deactivate` awaits it; the react
provider chains teardown across remounts so async deactivation can't
race the next mount.
- **ServiceRegistry** (`packages/plugins/src/service-registry.ts`):
`provide`/`get`/`getAll`/`watch`/`inject` with Cordis-style availability
semantics (body runs when available, disposed when a provider goes,
re-runs on swap) — explicit and typed, no proxies.
- **The extraTools bug fixed structurally**: `AiSurfaceService` + the
MCP server resolve `agent-tools` providers from a registry. All three
hosts wired (desktop agent bridge, `xnet mcp serve`, in-app assistant).
Integration test proves a plugin activating **mid-session** appears in
`tools/list` live and disappears on deactivation with a typed error.
- **`plugin_*` tools finally reachable** (0331/0447): a NodeStore-backed
`PluginSource` backend + one-call provider registration; both terminal
lanes expose scaffold → build → preview.
- **Workspace Plugins dev surface**: a workbench slot view that mounts
the 0331 opaque-origin iframe host with
`createWorkspacePluginHotReloader` — the runtime's first app caller
(edit source → rebuild+swap; crash → auto-disable with last-good hash).
- **Manifest `provides`/`inject`** (validated),
**`PluginRegistry.update`** config bounce wired to `PluginConfigDialog`,
**CLI README** rewritten around `connect`/checkout/mcp.

Exploration status: 0455 → `[-]` 14/16 (remaining: parametrized
three-host test, e2e hot-reload through the wired view); 0456 → `[-]`
5/14 (remaining items are human-gated: loop demo recording, dogfood
ledger, launch post, manual onboardings).

## Verification

- New tests: identity-seed (5), scope+services (9), live tool resolution
integration (1); plugins suite 77 files / 846+ green; affected packages
typecheck green (44/44 turbo tasks incl. xnet-web, xnet-desktop);
`check:api-report` green; full suite on this tree: 12,469 passed, 2
known load-flakes (demo-seed, dashboard widget) verified green
standalone.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Workspace-plugin tools are now available across Claude Code, MCP
connections, and the in-app assistant, including tools activated during
a session.
* Added a Workspace Plugins panel for running, stopping, monitoring, and
hot-reloading sandboxed plugins.
* Added profile-specific identity seeds with secure platform-keystore
storage where available.
* Added validated plugin service declarations and improved plugin
configuration updates.
* **Documentation**
* Updated CLI guidance for connecting coding agents and documented the
latest agent-tool capabilities.
* **Bug Fixes**
* Improved plugin cleanup and registry updates for more reliable
switching and shutdown.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant