Skip to content

feat(website): the browser client, env website new and env website dev (FD-4683) - #446

Closed
williamloo-scale wants to merge 2 commits into
mainfrom
wloo/website-authoring-cli
Closed

williamloo-scale wants to merge 2 commits into
mainfrom
wloo/website-authoring-cli

Conversation

@williamloo-scale

@williamloo-scale williamloo-scale commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

Authoring tools for SDK sites, on main now that #445 (website.toml) is closed in favour of FD-4931 (#514): a site is declared by its folder's env.toml, and its card stays its contract.

  • site-client.js (with .d.ts), shipped in the protocol package: api(), universeNow() from X-Universe-Now, followUniverseClock({path}), which re-reads it from a GET the site names so an idle page follows a stopped or faster clock, session(), signIn(), signOut(), errors as ApiError. Notes uses a copy, which a test keeps identical, and follows the clock through api/users.
  • agent-env env website new NAME scaffolds a site like Notes: site.py (its own state behind a lock, the data plane's data/reset/data/add/data/get, a @ready_check the card's ready answers by), seed, a Vite web/ with the client, Dockerfile, README, and env.toml with type = "website", environment_name and backend_image = { dockerfile = "Dockerfile" }. --domain (repeatable) writes domains to env.toml; the card declares NAME.test. --from-mcp reads an MCP server's tools from its source (AST, without running it) and --from-tools-json from a tools/list answer; each tool becomes a stub route answering 501.
  • agent-env env website dev runs a site locally without Docker: vite build --watch, uvicorn reload, and a local clock with the gateway's /clock routes. It first checks the folder's env.toml as a bundle reads it (a website, its domains valid). Each reload is synced to the clock and seeded, and conformance runs once.

A scaffolded image installs the protocol from PyPI, so it needs a protocol release with the client.

Test

Website CLI, config, bundle, env and protocol suites: 4,054 passed. Two test_disk_recipe tests fail, as they do on main on this machine (KVM). Generated sites pass the conformance check in the tests.

🤖 Generated with Claude Code

RetriggerView in GreptileConfidence Score: 5/5

The PR appears safe to merge; the previous model-loading failure is fixed.

Summary

Adds a browser client, website scaffolding, and a local development command that rebuilds pages, reloads the server, and restores its clock and seed.

  • Website pages can call their API and follow the universe clock.
  • The CLI creates a website folder from a name or tool definitions.
  • Website authors can run and reload a site locally with its clock and seed.

Reviews (19) · Last reviewed commit: "fix(website): a tool parameter named lik..." · Reviewed by Greptile

@williamloo-scale williamloo-scale changed the title website: browser client, env website new and env website dev (FD-4683) feat(website): the browser client, env website new and env website dev (FD-4683) Nov 3, 2026
@williamloo-scale
williamloo-scale marked this pull request as ready for review November 3, 2026 00:24
@williamloo-scale
williamloo-scale requested a review from a team as a code owner November 3, 2026 00:24
Comment thread src/agent_env/cli/env/website_dev.py Resolved
Comment thread src/agent_env/cli/env/website_dev.py Resolved
Comment thread src/agent_env/cli/env/website_dev.py Resolved
Comment thread src/agent_env/cli/env/website_dev.py Resolved
Comment thread src/agent_env/cli/env/website_dev.py Resolved
Comment thread src/agent_env/cli/env/website_dev.py Resolved
Comment thread src/agent_env/cli/env/website_dev.py Resolved
@williamloo-scale
williamloo-scale force-pushed the wloo/website-authoring-cli branch 2 times, most recently from 8cc706b to 7e5b297 Compare November 3, 2026 22:52
Comment thread src/agent_env/cli/env/website.py Resolved
@williamloo-scale
williamloo-scale force-pushed the wloo/website-authoring-cli branch from 7e5b297 to 9a073e2 Compare November 3, 2026 23:47
williamloo-scale added a commit that referenced this pull request Nov 3, 2026
This PR's change, rebased as one commit onto #446.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@williamloo-scale
williamloo-scale force-pushed the wloo/website-authoring-cli branch from 9a073e2 to 543d2b2 Compare November 4, 2026 00:32
@williamloo-scale
williamloo-scale force-pushed the wloo/website-authoring-cli branch from 8ce884c to 687d166 Compare November 4, 2026 04:40
…v (FD-4683)

The SDK's browser client ships in the protocol package and Notes uses a copy of it. env website new scaffolds a site
like Notes, whose env.toml declares it (type, environment_name, backend_image, and domains with --domain), optionally
with a stub @api route per tool of an MCP server. env website dev runs a site locally without Docker, beside a local
clock, after checking the folder's env.toml as a bundle reads it.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@williamloo-scale
williamloo-scale force-pushed the wloo/website-authoring-cli branch from 7c67185 to a83217c Compare November 6, 2026 18:10
@williamloo-scale
williamloo-scale changed the base branch from wloo/website-spec to main November 6, 2026 18:10
…oads (FD-4683)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@earakely-scale

Copy link
Copy Markdown
Collaborator

Closing this PR. We're taking over the website stack, and we've decided against a site-authoring CLI. Here's where each part stands:

The branch stays for reference, at head 7c67185.

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.

2 participants