docs(examples): default Pages to the openhop showcase flow#149
Conversation
- Move the self-referential openhop showcase to first in EXAMPLE_FLOWS so it becomes the Pages landing flow (AppFragment auto-routes to EXAMPLE_FLOWS[0] when the URL hash is empty). - Rename the flow's meta.title from "OpenHop, visualized in OpenHop" to just "openhop". Sidebar entry title matches. - Delete examples/ai-browsing-agent.yaml. The two new node types (ai_agent, browser) are already documented in showcase/openhop.yaml and showcase/browser-use.yaml; the standalone narrative example was duplicative.
WalkthroughRemoves the ai-browsing-agent example workflow, updates the openhop showcase metadata title, reorders/prunes entries in the example flows configuration to make showcase-openhop the default landing flow, updates a server test to reflect the seeded examples, and replaces the README's embedded Mermaid diagram with a linked image to the live playground. ChangesExample flows curation and docs
Estimated code review effort 🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
The mermaid block in "How it works" only described the flow in abstract boxes-and-arrows. Replace it with a PNG of the self-referential openhop showcase flow rendered in the actual canvas (sprites + edges, including the new ai_agent and browser nodes), and link the image to the live Pages playground so readers can click through and watch it animate. Pages defaults to this flow now (see #149), so the click-through URL is the bare https://naorsabag.github.io/openhop/.
The seed test's known-anchors assertion still required `example-ai-browsing-agent` to be in the seeded set. That file got deleted in 75bfa5a (now redundant — same node types are exercised by showcase/openhop.yaml and showcase/browser-use.yaml), so the test failed in CI. Swap the anchor for `example-openhop` — that's the new Pages landing flow, so it's at least as stable a reference.
There was a problem hiding this comment.
🧹 Nitpick comments (1)
packages/server/src/seed-examples.test.ts (1)
22-24: ⚡ Quick winAdd an explicit regression assertion for the removed example ID.
At Line 24 you validate the new anchor; add a negative assertion to lock in removal of the deleted flow and prevent accidental reintroduction.
Suggested diff
expect(result.created).toContain('example-order-flow') expect(result.created).toContain('example-langgraph') expect(result.created).toContain('example-openhop') + expect(result.created).not.toContain('example-ai-browsing-agent')🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@packages/server/src/seed-examples.test.ts` around lines 22 - 24, Add a negative regression assertion to the existing assertions that use result.created so the removed example cannot be reintroduced: after the positive contains checks (expect(result.created).toContain('example-order-flow') etc.), add an assertion using expect(result.created).not.toContain('<the-removed-example-id>') replacing <the-removed-example-id> with the exact ID of the deleted flow; reference the same result.created array used in the test to locate where to add this check.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@packages/server/src/seed-examples.test.ts`:
- Around line 22-24: Add a negative regression assertion to the existing
assertions that use result.created so the removed example cannot be
reintroduced: after the positive contains checks
(expect(result.created).toContain('example-order-flow') etc.), add an assertion
using expect(result.created).not.toContain('<the-removed-example-id>') replacing
<the-removed-example-id> with the exact ID of the deleted flow; reference the
same result.created array used in the test to locate where to add this check.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 1e1f3211-6d79-4a39-acc6-5e2f99587f8c
📒 Files selected for processing (1)
packages/server/src/seed-examples.test.ts
Summary
Three small cleanups landing before the 0.3.1 bump (#148) so they ship with that release.
examples/showcase/openhop.yamlis nowEXAMPLE_FLOWS[0], which is the entryAppFragment.tsxauto-routes to when a visitor hitshttps://naorsabag.github.io/openhop/with no hash.meta.titleon that flow drops from "OpenHop, visualized in OpenHop" to justopenhop. The sidebar entry title matches.examples/ai-browsing-agent.yaml. The two new node types (ai_agent,browser) are already exercised byshowcase/openhop.yamlandshowcase/browser-use.yaml; the standalone narrative example was duplicative.Test plan
openhop validate examples/showcase/openhop.yaml→ validnpm run build -w @openhop/webbuilds with the trimmed import list (17 YAMLs in, 1 out)GET /api/flows/example-openhopreturns{meta: {title: "openhop"}}andexample-ai-browsing-agentis gone after re-seedRecommend merging this before #148 so the 0.3.1 publish picks up the renamed flow + default-landing change in the same release.
🤖 Generated with Claude Code
Summary by CodeRabbit
Chores
Documentation
Tests