Skip to content

Reposition Schematics homepage around the Effect library suite - #57

Merged
bjacobso merged 8 commits into
mainfrom
conductor/schematics-package-suite-homepage
Oct 7, 2026
Merged

bjacobso merged 8 commits into
mainfrom
conductor/schematics-package-suite-homepage

Conversation

@bjacobso

@bjacobso bjacobso commented Oct 7, 2026 •

Copy link
Copy Markdown
Owner

Rebuild the schematics.run homepage around the six @schema-reflection packages and link it back to the WorldVM family.

The pitch: every app hides a second program: its relationships, rules, behavior, and long-running processes, scattered across if-statements, foreign keys, and cron jobs. Each package pulls one of them out into data.

Homepage hero

What's on the page

  • Hero: the original site's purple wordmark and blueprint grid, with a REPL that types one real call per package.
  • 00 · The hidden program: a typical project folder where each familiar line of code links to the package that handles it.
  • 01–06 · One section per package (algebra, predicates, logic, workflow, core, filesystem): a real-world failure story, where it shows up, an install line, the real API, and a small interactive demo.
  • 07 · All together: the approval example as a blueprint diagram, plus a link to the playground.
  • 08 · Before you bet on it: adoption notes and a dependency map.
  • 09 · WorldVM family: sibling projects in WorldVM's own colours, linking to worldvm.com.

A package section with its interactive demo

Dark mode Mobile
Full page

Full page

Accuracy

  • Code snippets use the APIs in the published npm versions (algebra, predicates, and logic 0.1.0). Core and workflow are labelled source-only, and filesystem is labelled spec-only.
  • The demos are plain-JavaScript simulations of documented behavior, and the page says so. The homepage bundle still loads no Effect or IDE code.
  • The page notes that the published packages currently peer on different Effect 4 pre-releases.

Validation

  • Ran the 9 homepage browser checks against a production build and the dev server: content, links, interactive demos, a hover regression, viewport fit at 390, 768, and 1440 px, and booting the playground.
  • Formatting passes, and the homepage adds no new TypeScript errors.
  • Removed a leftover global .pkg:hover rule from the old landing page that recoloured package sections on hover.

Open questions

  • Schema Reflection is private, so the Source, spec, and example links 404 for the public. The npm links work.
  • Naming: the site is "Schematics", the npm scope is @schema-reflection, and worldvm.com lists "Schema Reflection".

Screenshots are hosted on the pr-assets/57-homepage branch, which has no shared history with main.

Homepage preview


Open workspace in Conductor

🤖 Generated with Claude Code

bjacobso and others added 6 commits October 7, 2026 20:24
Open with the claim that every app hides a second program, x-ray a familiar
codebase to find each part, and give every @schema-reflection package a
section with a real-world failure story, its real API, and a small simulated
demo. Restore the original site's wordmark, blueprint grid, REPL, and ASCII
diagrams; compose the approval example; add adoption notes; and close with
the WorldVM family in its own palette.

Remove the old landing page's global .pkg hover rule, which recolored the
new package sections on hover.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The ✗ glyph is missing from many monospace fonts and falls back to a box.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
It runs the CLI three times, and on loaded CI runners that can exceed
Vitest's 5s default. The neighbouring multi-invocation tests already allow
30s.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Alchemy 2.0.0-beta.40 calls Schema.TaggedErrorClass, which Effect rc.112
removed, so every Cloudflare deploy crashed on import after the Effect
upgrade. Beta.77 is the newest release built against rc.112.

- Drop the zone-lookup patch (its file was removed in the previous commit);
  beta.77 looks up zones by name upstream.
- Move to the new APIs: Artifacts.Namespace, DurableObject, Website.Vite,
  flat Vite asset options, and a single Worker env for variables and
  resource bindings.
- Give the GitHub comment provider credentials from the environment. They
  are read lazily, so the provider can be merged for every stage.
- Build the preview comment body from Output.all, since interpolate no
  longer accepts plain strings.
- Pin Alchemy's D1 and SQLite adapters to rc.112 to match the workspace.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The Comment provider resolves GitHubCredentials from the stack context when
it creates a comment, so providing them only to the provider layer left the
preview comment failing with "Service not found: GitHub::Credentials". This
matches how Alchemy's own GitHub.providers() wires them.

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

github-actions Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

Cloudflare Preview Deployed

Playground: https://schematics-playground-pr-57-e3zlafv6tkvb2g3c.bjacobso.workers.dev
API: https://schematics-api-pr-57-6zz6vo2rbba6krcz.bjacobso.workers.dev

Built from commit 017d929


2026-10-07T21:40:07.636Z

This comment updates automatically with each push.

bjacobso and others added 2 commits October 7, 2026 21:35
`alchemy state get <stack> <stage> <id>` and `alchemy state stages` were
replaced by path-based `state read <stack>/<stage>/<id>` and
`state list <stack>`. The preview and production workflows read the API URL
with the former, and the cleanup script listed stages with the latter.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
`alchemy state read` prints a "Refreshing Cloudflare State Store
credentials" progress line on stdout before its JSON, even with
--log-level none, so parsing the whole output failed. Extract the
pretty-printed JSON object instead.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@bjacobso
bjacobso merged commit 85cb75d into main Oct 7, 2026
2 checks passed
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