Skip to content

docs: examples cleanup + integrate restructure (Unigraph SQL, Subgraph as legacy)#2171

Open
shrugs wants to merge 15 commits into
mainfrom
feat/examples-cleanup
Open

docs: examples cleanup + integrate restructure (Unigraph SQL, Subgraph as legacy)#2171
shrugs wants to merge 15 commits into
mainfrom
feat/examples-cleanup

Conversation

@shrugs
Copy link
Copy Markdown
Member

@shrugs shrugs commented May 21, 2026

closes #1917

restructures the "integrate with ensv2" docs around three clear pillars and cleans up the legacy examples. docs-only plus one internal schema-file rename; no api or behavior changes.

what changed

examples cleanup (pre-existing checkpoints on this branch)

  • removed the legacy ENS v1 subgraph examples page and its data (examples.astro, ens-v1-examples-queries.ts, ExampleCard.astro, content.config entries)
  • expanded the omnigraph example queries

integration options reorder

  • quickstart, integration-options overview, and sidebar now lead with enssdk (simpler) → enskit → omnigraph graphql api

elevate ENS Unigraph SQL

  • new "ENS Unigraph SQL" section under integrate (green NEW badge): overview, examples (domain by name / account domains / indexing status, each in raw SQL + ensdb-sdk), and a canonical schema reference
  • the unigraph schema reference is now canonical here; the ensdb database-schemas page links to it instead of duplicating
  • omnigraph api badge recolored green to match

reframe the Subgraph as legacy

  • moved the subgraph docs out of reference/ into integrate/subgraph/ with a red LEGACY badge
  • overview now leads with its ensv2 shortcomings: ensv1-only, single-chain (misses basenames/lineanames/3dns), no resolution (vs protocol acceleration)
  • old /docs/reference/subgraph-legacy/* urls redirect to the new paths

schema rename

  • ensv2.schema.tsunigraph.schema.ts in @ensnode/ensdb-sdk to match the "Unigraph" terminology. no exported symbols change.

validation

  • docs site builds clean (109 pages), no broken links/redirect chains
  • full monorepo typecheck + lint pass

shrugs and others added 5 commits May 20, 2026 19:54
Removes the orphaned /examples page (not linked in any nav) and its
supporting code:
- src/pages/examples.astro
- src/components/organisms/ExampleCard.astro
- src/data/ens-v1-examples-queries.ts (savedQueries)
- the `examples` content collection in content.config.ts

The Omnigraph API examples (src/data/omnigraph-examples) are unaffected.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Show enssdk (simpler integration) before enskit (more complex) in the
quickstart, integration-options overview, and sidebar. Omnigraph GraphQL
API stays in its position after both.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The schema models the unified ENSv1 + ENSv2 "Unigraph" data model, built by
the unigraph plugin. Rename the file (and its doc-comment title) to match the
"Unigraph" terminology used elsewhere. No exported symbols change.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Restructure the "Integrate with ENSv2" docs around three pillars:

- ENS Unigraph SQL: new section (Overview, Examples in SQL + ensdb-sdk,
  canonical Schema Reference moved from the ENSDb service docs). Green NEW badge.
- ENS Omnigraph API: badge recolored green (was pink).
- ENS Subgraph: moved out of Reference into Integrate with a red LEGACY badge;
  overview reframed around its ENSv2 shortcomings (ENSv1-only, single-chain,
  no resolution). Old URLs redirect to the new paths.

The Unigraph schema reference is now canonical under integrate/unigraph; the
ENSDb database-schemas page links to it.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented May 21, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
enskit-react-example.ensnode.io Ready Ready Preview, Comment May 21, 2026 9:36pm
3 Skipped Deployments
Project Deployment Actions Updated (UTC)
admin.ensnode.io Skipped Skipped May 21, 2026 9:36pm
ensnode.io Skipped Skipped May 21, 2026 9:36pm
ensrainbow.io Skipped Skipped May 21, 2026 9:36pm

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 21, 2026

⚠️ No Changeset found

Latest commit: 2145711

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 21, 2026

Review Change Stack

Warning

Rate limit exceeded

@shrugs has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 29 minutes and 16 seconds before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 86a53456-6ebb-4b61-b91a-66c839a256d2

📥 Commits

Reviewing files that changed from the base of the PR and between 9f47a98 and 2145711.

📒 Files selected for processing (5)
  • docs/ensnode.io/astro.config.mjs
  • docs/ensnode.io/src/content/docs/docs/integrate/subgraph/index.mdx
  • docs/ensnode.io/src/content/docs/docs/integrate/unigraph/examples/index.mdx
  • docs/ensnode.io/src/content/docs/docs/integrate/unigraph/schema-reference.mdx
  • packages/ensnode-sdk/src/omnigraph-api/example-queries.ts
📝 Walkthrough

Walkthrough

This PR implements a comprehensive documentation restructuring: removes the legacy Examples browsing feature entirely, migrates Subgraph documentation from reference to integrate paths while marking it as legacy, introduces Unigraph SQL as the forward integration path with full schema reference and examples, reorders integration options to prioritize enssdk, refactors GraphQL schema explorers into a reusable component, enhances Omnigraph example queries with beautified canonical field support, and updates SDK schema terminology from ensv2 to unigraph.

Changes

Documentation Restructuring, Examples Removal, and Unigraph Introduction

Layer / File(s) Summary
Examples Feature Removal
docs/ensnode.io/src/content.config.ts, docs/ensnode.io/src/components/organisms/ExampleCard.astro, docs/ensnode.io/src/pages/examples.astro, docs/ensnode.io/src/data/ens-v1-examples-queries.ts, docs/ensnode.io/config/integrations/llms-txt.ts
Removes the examples content collection wiring, eliminates the examples browsing page with search/filter UI, deletes the ExampleCard component and SavedQuery data structures, and excludes examples from LLM text generation.
Documentation Routing and Sidebar Organization
docs/ensnode.io/astro.config.mjs, docs/ensnode.io/config/integrations/starlight/sidebar-topics/integrate.ts, docs/ensnode.io/config/integrations/starlight/sidebar-topics/reference.ts
Consolidates Subgraph documentation routing to /docs/integrate/subgraph paths via Astro redirects, adds new sidebar sections for "ENS Subgraph" (LEGACY badge) and "ENS Unigraph SQL" (NEW badge), removes legacy references from reference sidebar, and updates Omnigraph badge from tip to success.
Subgraph Legacy Status and Content Updates
docs/ensnode.io/src/content/docs/docs/integrate/subgraph/index.mdx, docs/ensnode.io/src/content/docs/docs/integrate/subgraph/schema-reference.mdx, docs/ensnode.io/src/content/docs/docs/integrate/subgraph/examples/index.mdx, docs/ensnode.io/src/content/docs/docs/integrate/subgraph/querying-best-practices.mdx, docs/ensnode.io/src/content/docs/docs/integrate/ensv2-readiness.mdx
Marks Subgraph as legacy with danger callout, updates compatibility tooling section, corrects well-known queries references, removes _Meta_ from unsupported features, updates internal links to new integrate paths, and adds schema explorer component.
Unigraph SQL Documentation and Schema Reference
docs/ensnode.io/src/content/docs/docs/integrate/unigraph/index.mdx, docs/ensnode.io/src/content/docs/docs/integrate/unigraph/schema-reference.mdx, docs/ensnode.io/src/content/docs/docs/integrate/unigraph/examples/index.mdx, docs/ensnode.io/src/content/docs/docs/integrate/unigraph/examples/domain-by-name.mdx, docs/ensnode.io/src/content/docs/docs/integrate/unigraph/examples/account-domains.mdx, docs/ensnode.io/src/content/docs/docs/integrate/unigraph/examples/indexing-status.mdx, docs/ensnode.io/src/content/docs/docs/services/ensdb/concepts/database-schemas.mdx
Introduces comprehensive Unigraph SQL documentation including overview with unified model explanation, full canonical schema reference with design principles and all table definitions (events, core entities, permissions subsystem), example queries for domain lookup and account analytics, consolidates schema documentation into canonical reference, and replaces detailed inline ENSv2 schema with pointer to new reference.
Integration Options Reordering
docs/ensnode.io/src/content/docs/docs/integrate/index.mdx, docs/ensnode.io/src/content/docs/docs/integrate/integration-options/index.mdx, docs/ensnode.io/config/integrations/starlight/sidebar-topics/integrate.ts
Reorders integration options so enssdk becomes option 1 and enskit becomes option 2 across all documentation pages and sidebar, updates all LinkCard references and inline mentions, and reflects new ordering in both content and navigation.
GraphQL Schema Explorer Component Refactoring
docs/ensnode.io/src/components/organisms/GraphQLSchemaDocExplorer.tsx, docs/ensnode.io/src/components/organisms/OmnigraphSchemaDocExplorer.tsx, docs/ensnode.io/src/components/organisms/SubgraphSchemaDocExplorer.tsx
Extracts GraphQL schema exploration into reusable GraphQLSchemaDocExplorer component with consistent theming, updates OmnigraphSchemaDocExplorer to use new shared component, and adds SubgraphSchemaDocExplorer using the same infrastructure.
Omnigraph GraphQL Example Queries Enhancement
packages/ensnode-sdk/src/omnigraph-api/example-queries.ts, .changeset/unigraph-schema-rename.md
Adds three new example queries (domain-registration, subdomains-pagination, resolver-by-address), updates all existing queries to request beautified canonical name fields, adds public resolver contract constants for mainnet and Sepolia V2, and documents patch-level package updates.
SDK Schema Terminology and Exports Update
packages/ensdb-sdk/src/ensindexer-abstract/index.ts, packages/ensdb-sdk/src/ensindexer-abstract/unigraph.schema.ts
Updates barrel exports to reference unigraph.schema instead of ensv2.schema, updates documentation comments to reflect "Unigraph" naming, and corrects internal file references.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related issues

  • namehash/ensnode#1917: This PR directly addresses the issue by removing the Examples page entirely, restructuring documentation to promote ENS Omnigraph API and the new Unigraph SQL integration path as forward-facing alternatives, and improving developer onboarding by consolidating integration guidance into sidebar and documentation structure.

Possibly related PRs

  • namehash/ensnode#2120: Both PRs modify integration options documentation and sidebar configuration, changing the ordering and presentation of enssdk and enskit integration paths.
  • namehash/ensnode#2103: Both PRs refactor schema explorer components, with the main PR extracting GraphQL schema exploration into a reusable component while the related PR handles similar infrastructure changes.
  • namehash/ensnode#2099: Both PRs modify Subgraph documentation wiring by updating redirects and sidebar configuration to consolidate subgraph references under new paths.

Suggested labels

docs

Poem

🐰 The examples page hops away,
New Unigraph leads the way!
Subgraph rests as legacy,
While Omnigraph sings in harmony.
Integration paths now gleam and shine,
A schema unified, purely divine! ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main changes: documentation examples cleanup and integration section restructure featuring Unigraph SQL elevation and Subgraph reframing as legacy.
Description check ✅ Passed The description follows the template with clear sections for Summary (what changed with 5 bullets), Why (closes #1917), and detailed validation. All required sections are present and complete.
Linked Issues check ✅ Passed The PR fully addresses #1917's objectives: proposes optimal onboarding flow (enssdk→enskit→omnigraph), leverages ENSNode docs/ENSAdmin/packages, provides curated Omnigraph examples with adjacent prose, and delivers explicit next steps (subgraph reframed as legacy in integrate/).
Out of Scope Changes check ✅ Passed All changes are in-scope: docs restructuring and example cleanup address #1917; schema rename (ensv2→unigraph) aligns with Unigraph terminology; no unrelated code modifications detected.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/examples-cleanup

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 and usage tips.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR restructures the “Integrate with ENSv2” documentation into clearer integration pillars (leading with enssdk/enskit, adding Unigraph SQL as a first-class option) and removes legacy ENSv1 Subgraph example pages/data. It also renames the ENSDb SDK’s internal “ENSv2 schema” terminology to “Unigraph” (without intended API/behavior changes).

Changes:

  • Remove legacy ENSv1 Subgraph “examples” page/data and expand Omnigraph example queries.
  • Add new “ENS Unigraph SQL” docs section (overview, examples, and canonical schema reference), and link ENSDb schema docs to it.
  • Move Subgraph docs into Integrate as “LEGACY” with redirects and updated sidebar organization; rename schema file references from ENSv2 → Unigraph.

Reviewed changes

Copilot reviewed 23 out of 27 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
packages/ensnode-sdk/src/omnigraph-api/example-queries.ts Adds/updates Omnigraph GraphQL example queries (incl. beautified names, registration, pagination, resolver-by-address).
packages/ensdb-sdk/src/ensindexer-abstract/unigraph.schema.ts Updates schema header/docs to “Unigraph” terminology.
packages/ensdb-sdk/src/ensindexer-abstract/index.ts Re-exports Unigraph schema from the abstract ENSIndexer schema index.
docs/ensnode.io/src/pages/examples.astro Removes the legacy examples listing page.
docs/ensnode.io/src/data/ens-v1-examples-queries.ts Removes legacy ENSv1 Subgraph example query dataset.
docs/ensnode.io/src/content/docs/docs/services/ensdb/concepts/database-schemas.mdx Replaces duplicated Unigraph/ENSv2 schema reference with a link to the new canonical Unigraph schema docs page.
docs/ensnode.io/src/content/docs/docs/integrate/unigraph/schema-reference.mdx Adds canonical Unigraph table-by-table schema reference under Integrate.
docs/ensnode.io/src/content/docs/docs/integrate/unigraph/index.mdx Adds “ENS Unigraph SQL” overview page.
docs/ensnode.io/src/content/docs/docs/integrate/unigraph/examples/indexing-status.mdx Adds Unigraph SQL example for reading indexing status (SQL + ensdb-sdk).
docs/ensnode.io/src/content/docs/docs/integrate/unigraph/examples/index.mdx Adds Unigraph SQL examples landing page and connection instructions.
docs/ensnode.io/src/content/docs/docs/integrate/unigraph/examples/domain-by-name.mdx Adds example for fetching a domain by canonical name (SQL + ensdb-sdk).
docs/ensnode.io/src/content/docs/docs/integrate/unigraph/examples/account-domains.mdx Adds example for counting an account’s domains grouped by protocol version (SQL + ensdb-sdk).
docs/ensnode.io/src/content/docs/docs/integrate/subgraph/with-viem.mdx Adds integration notes for libraries that rely on viem/chain Subgraph URL configuration.
docs/ensnode.io/src/content/docs/docs/integrate/subgraph/with-ensjs.mdx Adds ENSjs integration page for Subgraph-compatible endpoint usage.
docs/ensnode.io/src/content/docs/docs/integrate/subgraph/what-is-the-ens-subgraph.mdx Reframes Subgraph docs as legacy and updates internal links to new Integrate paths.
docs/ensnode.io/src/content/docs/docs/integrate/subgraph/subgraph-dependents.mdx Adds “dependents” ecosystem/impact page for the Subgraph.
docs/ensnode.io/src/content/docs/docs/integrate/subgraph/subgraph-compatibility-tooling.mdx Adds page documenting compatibility verification tooling.
docs/ensnode.io/src/content/docs/docs/integrate/subgraph/subgraph-api.mdx Updates link paths to new Integrate Subgraph location.
docs/ensnode.io/src/content/docs/docs/integrate/subgraph/querying-best-practices.mdx Updates link paths to new Integrate Subgraph location.
docs/ensnode.io/src/content/docs/docs/integrate/integration-options/index.mdx Reorders integration options to lead with enssdk.
docs/ensnode.io/src/content/docs/docs/integrate/index.mdx Reorders and updates the top-level Integrate page to lead with enssdk, then enskit, then Omnigraph API.
docs/ensnode.io/src/content/docs/docs/integrate/ensv2-readiness.mdx Updates Subgraph link to new Integrate Subgraph path.
docs/ensnode.io/src/content.config.ts Removes the deleted examples content collection.
docs/ensnode.io/src/components/organisms/ExampleCard.astro Removes legacy examples UI component.
docs/ensnode.io/config/integrations/starlight/sidebar-topics/reference.ts Removes legacy Subgraph section from Reference sidebar.
docs/ensnode.io/config/integrations/starlight/sidebar-topics/integrate.ts Adds Unigraph SQL section, moves Subgraph under Integrate with LEGACY badge, and reorders Integration Options.
docs/ensnode.io/astro.config.mjs Adds/updates redirects from old Subgraph legacy paths to new Integrate Subgraph paths.
Comments suppressed due to low confidence (1)

docs/ensnode.io/src/content/docs/docs/integrate/subgraph/what-is-the-ens-subgraph.mdx:13

  • This section references “Summer 2026” as a launch date. Since that date is in the future relative to the current docs build, consider rephrasing to something like “planned/expected in Summer 2026” (or removing the specific date) to avoid the docs becoming stale if timelines change.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread packages/ensnode-sdk/src/omnigraph-api/example-queries.ts Outdated
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 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.

Inline comments:
In
`@docs/ensnode.io/src/content/docs/docs/integrate/subgraph/querying-best-practices.mdx`:
- Line 142: Update the inline link labeled "Subgraph Compatibility" so it
deep-links to the configuration section anchor on the Subgraph overview page
(the same fragment used in subgraph-api.mdx) instead of landing at the top;
change the href for the existing
/docs/integrate/subgraph/what-is-the-ens-subgraph link to include the
`#subgraph-compatibility` fragment so readers are taken directly to the
SUBGRAPH_COMPAT configuration section.

In
`@docs/ensnode.io/src/content/docs/docs/integrate/unigraph/examples/indexing-status.mdx`:
- Around line 14-20: The SQL example includes an overly specific WHERE clause
filtering value -> 'indexingStatus' -> 'omnichainSnapshot' ->> 'omnichainStatus'
= 'omnichain-backfill'; remove that condition so the query returns the full
indexingStatus for the ensindexer_0 schema (i.e., keep SELECT value ->
'indexingStatus' FROM "ensnode"."metadata" WHERE ens_indexer_schema_name =
'ensindexer_0' AND key = 'indexing_metadata_context';) or, if you prefer to keep
it as an example of optional filtering, add a short inline comment next to the
omnichainStatus filter explaining it is optional and can be adjusted to target a
specific state.

In `@packages/ensnode-sdk/src/omnigraph-api/example-queries.ts`:
- Around line 232-251: The SubdomainsPagination GraphQL query hardcodes
domain(by: { name: "eth" }) which breaks non-mainnet namespaces; change the
query to accept a parameter (e.g., add $name: InterpretedName! to the query
signature and use domain(by: { name: $name })) and update the example-queries
entry for SubdomainsPagination to provide per-namespace variable overrides
(modify the variables.default to include a name value and mirror how
`domain-events`/`domains-by-address` supply namespace-specific variable values)
so each namespace can pass its root name.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 437245f4-bd59-4691-8e1a-670c43b59135

📥 Commits

Reviewing files that changed from the base of the PR and between 8220c38 and 035617b.

📒 Files selected for processing (27)
  • docs/ensnode.io/astro.config.mjs
  • docs/ensnode.io/config/integrations/starlight/sidebar-topics/integrate.ts
  • docs/ensnode.io/config/integrations/starlight/sidebar-topics/reference.ts
  • docs/ensnode.io/src/components/organisms/ExampleCard.astro
  • docs/ensnode.io/src/content.config.ts
  • docs/ensnode.io/src/content/docs/docs/integrate/ensv2-readiness.mdx
  • docs/ensnode.io/src/content/docs/docs/integrate/index.mdx
  • docs/ensnode.io/src/content/docs/docs/integrate/integration-options/index.mdx
  • docs/ensnode.io/src/content/docs/docs/integrate/subgraph/querying-best-practices.mdx
  • docs/ensnode.io/src/content/docs/docs/integrate/subgraph/subgraph-api.mdx
  • docs/ensnode.io/src/content/docs/docs/integrate/subgraph/subgraph-compatibility-tooling.mdx
  • docs/ensnode.io/src/content/docs/docs/integrate/subgraph/subgraph-dependents.mdx
  • docs/ensnode.io/src/content/docs/docs/integrate/subgraph/what-is-the-ens-subgraph.mdx
  • docs/ensnode.io/src/content/docs/docs/integrate/subgraph/with-ensjs.mdx
  • docs/ensnode.io/src/content/docs/docs/integrate/subgraph/with-viem.mdx
  • docs/ensnode.io/src/content/docs/docs/integrate/unigraph/examples/account-domains.mdx
  • docs/ensnode.io/src/content/docs/docs/integrate/unigraph/examples/domain-by-name.mdx
  • docs/ensnode.io/src/content/docs/docs/integrate/unigraph/examples/index.mdx
  • docs/ensnode.io/src/content/docs/docs/integrate/unigraph/examples/indexing-status.mdx
  • docs/ensnode.io/src/content/docs/docs/integrate/unigraph/index.mdx
  • docs/ensnode.io/src/content/docs/docs/integrate/unigraph/schema-reference.mdx
  • docs/ensnode.io/src/content/docs/docs/services/ensdb/concepts/database-schemas.mdx
  • docs/ensnode.io/src/data/ens-v1-examples-queries.ts
  • docs/ensnode.io/src/pages/examples.astro
  • packages/ensdb-sdk/src/ensindexer-abstract/index.ts
  • packages/ensdb-sdk/src/ensindexer-abstract/unigraph.schema.ts
  • packages/ensnode-sdk/src/omnigraph-api/example-queries.ts
💤 Files with no reviewable changes (5)
  • docs/ensnode.io/src/components/organisms/ExampleCard.astro
  • docs/ensnode.io/src/data/ens-v1-examples-queries.ts
  • docs/ensnode.io/config/integrations/starlight/sidebar-topics/reference.ts
  • docs/ensnode.io/src/content.config.ts
  • docs/ensnode.io/src/pages/examples.astro

Comment thread packages/ensnode-sdk/src/omnigraph-api/example-queries.ts
- unigraph SQL: require a self-hosted ENSDb (drop hosted-instance tip), point
  to the self-hosting overview and the Omnigraph API for hosted access
- reframe canonicality around the materialized Canonical Nametree (overview,
  schema reference, and the unigraph.schema.ts comment)
- permissions: "who can do what in a specific contract"
- move the ENS Subgraph sidebar group below Integration Options
- address review nits: deep-link the subgraph compatibility anchor; drop the
  omnichain-backfill filter from the indexing-status SQL example
- add changeset for @ensnode/ensnode-sdk + @ensnode/ensdb-sdk

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Comment thread packages/ensnode-sdk/src/omnigraph-api/example-queries.ts
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented May 21, 2026

Greptile Summary

This PR restructures the ENSNode docs around three integration pillars (ENS Unigraph SQL, ENS Omnigraph API, and the legacy Subgraph), adds a new Unigraph SQL section with schema reference and examples, moves Subgraph docs to integrate/subgraph/ with a LEGACY badge, renames ensv2.schema.ts to unigraph.schema.ts, and wires up all the matching redirects.

  • New Unigraph SQL docs: overview, three worked examples (domain-by-name, account-domains, indexing-status) in raw SQL and ensdb-sdk, and a full schema reference page (previously duplicated inline in database-schemas.mdx, now a cross-link).
  • Subgraph reframed as legacy: content moved from reference/subgraph-legacy/ to integrate/subgraph/ with a :::danger[...] callout leading; a SubgraphSchemaDocExplorer component backed by the bundled subgraph-schema.graphql replaces the deleted subgraph-api.mdx page.
  • SDK first-order reorder: enssdk leads both the sidebar and the integration-options index before enskit, and the omnigraph example queries gain beautified, DomainRegistration, SubdomainsPagination, and ResolverByAddress examples.

Confidence Score: 5/5

Safe to merge — docs-only restructure with a narrow, low-risk schema file rename and one strengthened contract lookup.

All changed code is documentation content or thin adapter components. The one code-path change — swapping maybeGetDatasourceContract (returns undefined) for getDatasourceContract (throws) on four module-level constants — is correct: all referenced contracts (ETHRegistry, ETHRegistrar, DefaultPublicResolver5) are confirmed present in their respective namespace datasources, so the stricter call will never throw in practice and gives an earlier, clearer failure if a future datasource change removes one. Redirect coverage is complete: every old reference/subgraph-legacy/* URL and every flat integrate/subgraph/* URL maps to a real target in the new tree, and no redirect chains were introduced.

No files require special attention.

Important Files Changed

Filename Overview
docs/ensnode.io/astro.config.mjs Redirects updated to cover all old /reference/subgraph-legacy/* and /integrate/subgraph/* flat paths; /examples now points to omnigraph examples. All target paths exist in the new structure.
packages/ensdb-sdk/src/ensindexer-abstract/unigraph.schema.ts Rename of ensv2.schema.ts to unigraph.schema.ts; no exported symbols changed, comment updated to reflect the balanced materialization design. Old filename has zero remaining references.
packages/ensdb-sdk/src/ensindexer-abstract/index.ts Re-export updated from ensv2.schema to unigraph.schema; all other re-exports unchanged.
packages/ensnode-sdk/src/omnigraph-api/example-queries.ts Module-level contract constants switched from maybeGetDatasourceContract (returns undefined) to getDatasourceContract (throws); all referenced contracts verified present in their respective namespace datasources. New example queries added: DomainRegistration, SubdomainsPagination, ResolverByAddress.
docs/ensnode.io/src/components/organisms/GraphQLSchemaDocExplorer.tsx New shared component extracted from the old OmnigraphSchemaDocExplorer; removes the unused DocExplorerStore import and the duplicated container markup.
docs/ensnode.io/src/components/organisms/OmnigraphSchemaDocExplorer.tsx Refactored to delegate to GraphQLSchemaDocExplorer; CSS imports moved to the shared component, unused DocExplorerStore import dropped.
docs/ensnode.io/src/components/organisms/SubgraphSchemaDocExplorer.tsx New component that builds and renders the bundled subgraph GraphQL schema via the shared GraphQLSchemaDocExplorer.
docs/ensnode.io/config/integrations/starlight/sidebar-topics/integrate.ts Sidebar restructured: ENS Subgraph (LEGACY/danger) and ENS Unigraph SQL (NEW/success) sections added; enssdk moved before enskit in Integration Options.
docs/ensnode.io/src/content/docs/docs/integrate/unigraph/schema-reference.mdx New canonical Unigraph schema reference page (374 lines); the database-schemas.mdx page now cross-links here instead of duplicating the content.
docs/ensnode.io/src/content/docs/docs/integrate/subgraph/index.mdx New subgraph overview (replaces what-is-the-ens-subgraph.mdx) with prominent danger callout pointing users to Omnigraph/Unigraph; backwards-compat config section and full query list preserved.
docs/ensnode.io/src/content.config.ts Removed the examples collection and its dependency on the deleted ens-v1-examples-queries.ts data file.

Reviews (12): Last reviewed commit: "Merge remote-tracking branch 'origin/mai..." | Re-trigger Greptile

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 24 out of 28 changed files in this pull request and generated 3 comments.

Comment thread packages/ensnode-sdk/src/omnigraph-api/example-queries.ts Outdated
Comment thread packages/ensnode-sdk/src/omnigraph-api/example-queries.ts Outdated
Comment thread docs/ensnode.io/astro.config.mjs
- move ENS Subgraph nav section above ENS Omnigraph API (collapsed); mirror
  Omnigraph nav order (Overview → Examples → Schema Reference)
- rename what-is-the-ens-subgraph → subgraph overview (index), retitle
  "Overview of Legacy Subgraph API"
- rename subgraph-api → schema-reference: remove examples, add interactive
  GraphQL DocExplorer over the introspected (locked) subgraph SDL, harmonized
  with the Omnigraph schema reference; extract shared GraphQLSchemaDocExplorer
- add Examples subsection (overview + with-ensjs + with-viem)
- inline Subgraph Compatibility Tooling content into Overview; delete its page
- rename ens-app-v3 prose refs → "ENSv1 Manager App"; drop now-implemented
  _Meta_ from unplanned features
- update internal links, redirects, and llms-txt excludes

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@vercel vercel Bot temporarily deployed to Preview – admin.ensnode.io May 21, 2026 18:14 Inactive
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Example $contract/$registry variables are declared AccountIdInput! (non-null),
so use the throwing getDatasourceContract instead of maybeGetDatasourceContract
to close the type-safety gap and fail fast if a contract is ever missing.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@shrugs
Copy link
Copy Markdown
Member Author

shrugs commented May 21, 2026

@greptile review

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 30 out of 34 changed files in this pull request and generated 2 comments.

Comments suppressed due to low confidence (1)

docs/ensnode.io/src/content/docs/docs/integrate/subgraph/index.mdx:12

  • This references an ENSv2 launch date in the future (“Summer 2026”). Time-bound dates in docs tend to go stale quickly; consider switching to a relative phrasing (e.g. “when ENSv2 launches”) or linking to a maintained announcement page instead of embedding a specific season/year.

Comment thread docs/ensnode.io/src/content/docs/docs/integrate/unigraph/schema-reference.mdx Outdated
Comment thread packages/ensnode-sdk/src/omnigraph-api/example-queries.ts
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@shrugs
Copy link
Copy Markdown
Member Author

shrugs commented May 21, 2026

@greptile review

Copilot AI review requested due to automatic review settings May 21, 2026 21:35
@vercel vercel Bot temporarily deployed to Preview – admin.ensnode.io May 21, 2026 21:36 Inactive
@vercel vercel Bot temporarily deployed to Preview – ensrainbow.io May 21, 2026 21:36 Inactive
@vercel vercel Bot temporarily deployed to Preview – ensnode.io May 21, 2026 21:36 Inactive
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 30 out of 34 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (1)

docs/ensnode.io/src/content/docs/docs/integrate/subgraph/index.mdx:74

  • Minor wording/typo: “blockheights” should be “block heights”.

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.

Create updated plan for the legacy ENS Subgraph API /examples page

2 participants