Skip to content

docs: rearrange docs structure and prepare for future outline#2051

Open
sevenzing wants to merge 5 commits intomainfrom
ll/new-docs
Open

docs: rearrange docs structure and prepare for future outline#2051
sevenzing wants to merge 5 commits intomainfrom
ll/new-docs

Conversation

@sevenzing
Copy link
Copy Markdown
Member

@sevenzing sevenzing commented May 4, 2026

What

  • in this PR I just moved a lot of content to align with new outlined described in ensnode.io docs improvements #2068

  • Content almost isnt modified, we will do it in next PR's

Screenshots

  • Quickstart (default page when pressed on [docs] button)
image
  • Self-host
image
  • Reference Page
image
  • ENSNode components (services)
image
  • This PR does not introduce significant changes and is low-risk to review quickly.
  • Relevant changesets are included (or are not required)

@sevenzing sevenzing requested a review from a team as a code owner May 4, 2026 18:41
@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented May 4, 2026

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

Project Deployment Actions Updated (UTC)
ensnode-enskit-react-example Ready Ready Preview, Comment May 7, 2026 2:07pm
ensnode.io Ready Ready Preview, Comment May 7, 2026 2:07pm
2 Skipped Deployments
Project Deployment Actions Updated (UTC)
admin.ensnode.io Skipped Skipped May 7, 2026 2:07pm
ensrainbow.io Skipped Skipped May 7, 2026 2:07pm

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 4, 2026

⚠️ No Changeset found

Latest commit: 6fb3887

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 4, 2026

Review Change Stack

📝 Walkthrough

Walkthrough

This PR restructures the ENSNode documentation site by implementing a new Starlight Astro integration with organized sidebar topics, creating numerous new documentation pages, and consolidating route mappings from legacy component-specific paths (/ensnode/*, /ensdb/*, /ensrainbow/*) to unified /docs/* structure.

Changes

Documentation Site Restructuring with Starlight Integration

Layer / File(s) Summary
Starlight Integration Setup
docs/ensnode.io/config/integrations/starlight/index.ts, docs/ensnode.io/config/integrations/starlight.ts
Establishes new Starlight Astro integration with custom component overrides, CSS/font assets, plugin configuration (starlight-llms-txt, starlight-sidebar-topics), site title/logo, GitHub edit link URL, and Open Graph/Twitter meta tags.
Sidebar Topic Configuration
docs/ensnode.io/config/integrations/starlight/sidebar-topics/index.ts, docs/ensnode.io/config/integrations/starlight/sidebar-topics/build-with-ens.ts, docs/ensnode.io/config/integrations/starlight/sidebar-topics/components.ts, docs/ensnode.io/config/integrations/starlight/sidebar-topics/reference.ts, docs/ensnode.io/config/integrations/starlight/sidebar-topics/self-host.ts
Defines hierarchical sidebar navigation with topic modules for "Build with ENS" (including quickstart, omnigraph, integrations), "Components" (ENSApi, ENSIndexer, ENSDb, ENSRainbow, ENSAdmin), "Self-host" (Docker, Terraform), and "Reference" (contributing, subgraph-legacy, terminology).
New Documentation Pages
docs/ensnode.io/src/content/docs/docs/build-with-ens/*, docs/ensnode.io/src/content/docs/docs/components/index.mdx, docs/ensnode.io/src/content/docs/docs/reference/index.mdx
Adds comprehensive documentation pages: Build with ENS quickstart, AI/LLM tooling, ENSv2 readiness, hosted instances, integrations (enskit, enssdk, ensdb, raw-graphql), omnigraph API, cookbook, schema reference, migrate-from-subgraph, components overview, and reference landing page; many include Coming Soon placeholders.
Hosted Instances & Self-Host Docs
docs/ensnode.io/src/content/docs/docs/build-with-ens/hosted-instances.mdx, docs/ensnode.io/src/content/docs/docs/self-host/*
Updates hosted instances documentation to reference /docs/self-host for deployment guidance; restructures self-host section with architecture overview emphasizing network co-location for ENSIndexer and ENSRainbow; adjusts sidebar ordering (Docker order: 3→1, Terraform order: 4→2).
Build with ENS Quickstart Links
docs/ensnode.io/src/content/docs/docs/build-with-ens/index.mdx
Updates LinkCard destinations to point to new routes: hosted instances to /docs/build-with-ens/hosted-instances, ensjs integration to /docs/reference/subgraph-legacy/with-ensjs, API to /docs/build-with-ens/omnigraph, viem integration to /docs/reference/subgraph-legacy/with-viem.
Component Documentation Links
docs/ensnode.io/src/content/docs/docs/components/ensapi/*, docs/ensnode.io/src/content/docs/docs/components/ensindexer/*, docs/ensnode.io/src/content/docs/docs/components/ensdb/*, docs/ensnode.io/src/content/docs/docs/components/ensrainbow/*, docs/ensnode.io/src/content/docs/docs/components/ensadmin/*
Migrates 70+ internal documentation links from legacy /ensapi/..., /ensindexer/..., /ensdb/..., /ensrainbow/... routes to unified /docs/components/* structure across all component sections (concepts, usage, deploying, contributing).
Reference Section Links
docs/ensnode.io/src/content/docs/docs/reference/*, docs/ensnode.io/src/content/docs/docs/reference/contributing/*, docs/ensnode.io/src/content/docs/docs/reference/subgraph-legacy/*
Updates reference documentation links for contributing guides, terminology, REST API, subgraph compatibility, and hosted instances to use /docs/reference/* paths; aligns ENSIndexer and contribution guide references to new consolidated routes.
Removed Legacy Docs
docs/ensnode.io/src/content/docs/docs/running/ens-test-env.mdx, docs/ensnode.io/src/content/docs/docs/running/index.mdx
Removes legacy "Running ENSNode Locally" and "ens-test-env" documentation pages, consolidating deployment guidance into self-host section.
UI Component Updates
docs/ensnode.io/src/components/molecules/HeaderButtons.tsx, docs/ensnode.io/src/components/overrides/Hero.astro
Updates header "Docs" button and hero section "Read the docs" link from /docs to /docs/build-with-ens to direct users to new documentation entry point.
Styling & Configuration
docs/ensnode.io/src/styles/starlight.css, docs/ensnode.io/astro.config.mjs
Updates Starlight CSS tokens (adds --pagination-arrow-color, --sl-shadow-md, --sl-shadow-sm; removes --sidebar-item-gap); consolidates astro.config.mjs redirects to map legacy /ensnode/*, /docs routes to new /docs/* destinations.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related issues

Possibly related PRs

Suggested labels

docs

Poem

🐇 The docs now bloom in /docs/* light,
Where Starlight shines and sidebars align,
Legacy paths find their new delight,
Organized components, all in line! ✨

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

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.
Description check ⚠️ Warning The PR description lacks required sections from the template. Missing 'Why' and 'Testing' sections; only 'What' with screenshots is provided. Add a 'Why' section explaining the rationale and link to issue #2068. Add a 'Testing' section explaining how the changes were tested or why testing was skipped.
✅ Passed checks (3 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title accurately reflects the primary change: restructuring the documentation organization and updating navigation routes to a new /docs-prefixed structure while preparing infrastructure for future content.

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

✨ 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 ll/new-docs

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


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.

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented May 4, 2026

Greptile Summary

This PR restructures the ENSNode documentation site by reorganising content into four top-level topic areas — "Build with ENS", "Self-host ENSNode", "Reference", and "ENSNode components" — and splitting the monolithic starlight.ts sidebar config into per-topic modules.

  • Content is largely unchanged; files are moved from flat docs/, ensindexer/, ensrainbow/, etc. directories into nested docs/components/, docs/reference/, docs/build-with-ens/, and docs/self-host/ paths, with redirects updated in astro.config.mjs.
  • Two broken internal links remain in self-host/index.mdx (hrefs still reference the removed /docs/deploying/* path) and one broken link in self-host/docker.mdx (references the old /ensindexer/usage/configuration route).

Confidence Score: 4/5

Safe to merge after fixing three broken internal links introduced by the directory rename from deploying/ to self-host/ and the ENSIndexer path restructure.

Two links in self-host/index.mdx still point to the removed /docs/deploying/* path, and one link in self-host/docker.mdx points to the old /ensindexer/usage/configuration route — all three will 404 for users on the live site. The rest of the restructure looks correct.

docs/ensnode.io/src/content/docs/docs/self-host/index.mdx and docs/ensnode.io/src/content/docs/docs/self-host/docker.mdx contain the broken links that need fixing before merging.

Important Files Changed

Filename Overview
docs/ensnode.io/src/content/docs/docs/self-host/index.mdx New overview page for self-hosting; contains two broken LinkCard hrefs still pointing to the removed /docs/deploying/* path.
docs/ensnode.io/src/content/docs/docs/self-host/docker.mdx Moved from deploying/docker; contains a broken internal link to /ensindexer/usage/configuration (old path).
docs/ensnode.io/astro.config.mjs Redirects updated to point old /ensnode/* and /docs root paths to the new structure; no redirects added for the removed /docs/deploying/* or /ensindexer/* paths.
docs/ensnode.io/config/integrations/starlight/index.ts Starlight config refactored to extract sidebar topics into separate files; logic is identical to the deleted monolithic starlight.ts.
docs/ensnode.io/config/integrations/starlight/sidebar-topics/components.ts Components sidebar topic covering ENSApi, ENSIndexer, ENSDb, ENSRainbow, ENSAdmin; all paths verified against moved content files.
docs/ensnode.io/config/integrations/starlight/sidebar-topics/reference.ts Reference sidebar topic; all linked paths map to existing files under docs/reference/.
docs/ensnode.io/config/integrations/starlight/sidebar-topics/self-host.ts Self-host sidebar topic; links correctly point to /docs/self-host/{docker,terraform}.
docs/ensnode.io/config/integrations/starlight/sidebar-topics/index.ts Aggregates the four new sidebar-topic modules into a single exported config array.

Comments Outside Diff (2)

  1. docs/ensnode.io/src/content/docs/docs/self-host/index.mdx, line 30-36 (link)

    P1 Both LinkCard hrefs still point to the old /docs/deploying/ path, which was renamed to /docs/self-host/ in this PR. No redirect covers these paths, so users clicking "Deploy with Docker" or "Deploy with Terraform" will hit a 404.

  2. docs/ensnode.io/src/content/docs/docs/self-host/docker.mdx, line 16-19 (link)

    P1 This link targets the old /ensindexer/usage/configuration route. The ENSIndexer docs were moved under /docs/components/ensindexer/ in this PR and there is no redirect covering the old path, so this card will 404.

Reviews (2): Last reviewed commit: "PR comments" | Re-trigger Greptile

Comment thread .memory-bank/tasks/1777-new-docs/readme.md 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 @.memory-bank/tasks/1777-new-docs/readme.md:
- Line 135: Replace the inline note "Need help of `@shrugs` with that because I
dont have full context about what omnigraph can do" with a clear TODO that (1)
corrects the typo to "don't", (2) creates or links to a tracking issue or
checklist entry for completing the "cookbook recipes" section, and (3)
explicitly requests review/input from `@shrugs` (or another owner) on Omnigraph
capabilities so the recipes can be authored; reference the document section
title "cookbook recipes" and the technology name "Omnigraph" so reviewers can
find the context.
- Line 96: The fenced code blocks containing outline lists (the one that begins
with "1. Build with ENS         ← Journey A (default landing)" and the other
similar outline blocks) are missing language specifiers; update each opening
fence from ``` to ```text for all four outlined blocks so the markdown linter
accepts them (i.e., change the triple-backtick lines that start those
outline/code sections to include the language specifier "text").
- Around line 76-77: Replace the wordy and ungrammatical sentence "My assumption
is that we have 2 usecases for user to read our documentation" with a clear,
grammatical alternative such as "There are two use cases for users to read our
documentation" (or "We have two use cases for users reading our documentation");
update the numeral "2" to the word "two" and split "usecases" into "use cases"
and change "user" to "users" to fix agreement and clarity.
🪄 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: 7909679b-4495-4733-b324-f6136d8b1de9

📥 Commits

Reviewing files that changed from the base of the PR and between 1db1637 and 95b6525.

📒 Files selected for processing (1)
  • .memory-bank/tasks/1777-new-docs/readme.md

Comment thread .memory-bank/tasks/1777-new-docs/readme.md Outdated
Comment thread .memory-bank/tasks/1777-new-docs/readme.md Outdated
Comment thread .memory-bank/tasks/1777-new-docs/readme.md Outdated
Copy link
Copy Markdown
Member

@lightwalker-eth lightwalker-eth left a comment

Choose a reason for hiding this comment

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

@sevenzing Very excited for this. This is a high impact high priority. Reviewed and shared suggestions with feedback. Let's execute this!

Comment thread .memory-bank/tasks/1777-new-docs/readme.md Outdated
Comment thread .memory-bank/tasks/1777-new-docs/readme.md Outdated
Comment thread .memory-bank/tasks/1777-new-docs/readme.md Outdated
Comment thread .memory-bank/tasks/1777-new-docs/readme.md Outdated
Comment thread .memory-bank/tasks/1777-new-docs/readme.md Outdated
Comment thread .memory-bank/tasks/1777-new-docs/readme.md Outdated
Comment thread .memory-bank/tasks/1777-new-docs/readme.md Outdated
Comment thread .memory-bank/tasks/1777-new-docs/readme.md Outdated
Comment thread .memory-bank/tasks/1777-new-docs/readme.md Outdated
Comment thread .memory-bank/tasks/1777-new-docs/readme.md 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: 2

♻️ Duplicate comments (3)
.memory-bank/tasks/1777-new-docs/readme.md (3)

154-154: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix typo and track TODO (previously flagged).

The inline note still contains "dont" (should be "don't") and represents an unresolved content gap that should be tracked.

Proposed fix
-Need help of `@shrugs` with that because I dont have full context about what omnigraph can do
+Need help of `@shrugs` with that because I don't have full context about what omnigraph can do

Consider creating a tracking task or checklist item for completing the cookbook recipes section with input from @shrugs on ENS Omnigraph capabilities.

🤖 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 @.memory-bank/tasks/1777-new-docs/readme.md at line 154, Fix the inline typo
"dont" to "don't" in the readme note and replace the unresolved inline comment
with a tracked TODO: add a clear checklist or task entry (e.g., "TODO: consult
`@shrugs` on ENS Omnigraph capabilities and finish cookbook recipes") so the gap
is visible and assignable; update the note in
.memory-bank/tasks/1777-new-docs/readme.md where the inline comment appears and
ensure it references `@shrugs` and the specific topic ("ENS Omnigraph capabilities
/ cookbook recipes") so it can be followed up.

97-98: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix grammar and clarity issues (previously flagged).

This sentence still contains the issues flagged in the previous review:

  • "My assumption is that we have" is unnecessarily wordy
  • "usecases" should be "use cases" (two words)
  • "for user" should be "for users"
✏️ Proposed fix
-My assumption is that we have 2 usecases for user to read our documentation
+We have two use cases for users reading our documentation
🤖 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 @.memory-bank/tasks/1777-new-docs/readme.md around lines 97 - 98, Replace the
wordy and ungrammatical sentence "My assumption is that we have 2 usecases for
user to read our documentation" with a clear, corrected version—change "2" to
"two", "usecases" to "use cases", and "for user" to "for users"; for example,
update the README sentence to "There are two use cases for users to read our
documentation" (or equivalent concise phrasing) so grammar and clarity are
fixed.

120-120: 🧹 Nitpick | 🔵 Trivial | 💤 Low value

Add language specifiers to fenced code blocks (previously flagged).

The markdown linter still flags missing language specifiers on the fenced code blocks at lines 120, 128, 169, and 189. Add text as the language specifier to satisfy the linter and improve rendering.

Example fix
-```
+```text
 1. Build with ENS         ← Journey A (default landing)
 2. Self-host ENSNode      ← Journey B
 3. Reference              ← terminology, REST API, Subgraph API, ENSAdmin (folded in)
```

Apply the same pattern to lines 128, 169, and 189.

Also applies to: 128-128, 169-169, 189-189

🤖 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 @.memory-bank/tasks/1777-new-docs/readme.md at line 120, There are several
fenced code blocks missing language specifiers; update each of the flagged
triple-backtick blocks by adding the language tag "text" (i.e., change ``` to
```text) for the four occurrences of fenced code in the README so the markdown
linter is satisfied and rendering improves; search for the plain ``` fence
instances in the README and replace them with ```text for each block that
contains plaintext lists or examples.
🤖 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 @.memory-bank/tasks/1777-new-docs/readme.md:
- Line 104: The sentence "A3. **Custom services on ENSDb** — builders running or
consuming ENSDb to build custom ENS services on top of ENSDb. To access ENSDb
you need your own ENSNode via `Journey B`" is missing terminal punctuation after
the inline code; update that sentence to end with a period (or appropriate
punctuation) after `Journey B` so the paragraph is properly punctuated, locating
the text by the heading "A3. **Custom services on ENSDb**" and the inline code
token `Journey B`.
- Line 16: Rewrite the sentence that currently reads "Resolution on the ENS
Omnigraph is on the roadmap" to a positive, forward-looking statement
highlighting the benefit and novelty of combining indexed state and resolution
in one typed API; update the paragraph mentioning "ENS Omnigraph", "indexed
state and resolution converge in one typed surface", and the roadmap to instead
emphasize that ENS Omnigraph will soon provide integrated resolver values,
reverse resolution, and identity-style queries—framing this as an exciting
advancement that unifies indexed state and resolution into a single typed
developer experience.

---

Duplicate comments:
In @.memory-bank/tasks/1777-new-docs/readme.md:
- Line 154: Fix the inline typo "dont" to "don't" in the readme note and replace
the unresolved inline comment with a tracked TODO: add a clear checklist or task
entry (e.g., "TODO: consult `@shrugs` on ENS Omnigraph capabilities and finish
cookbook recipes") so the gap is visible and assignable; update the note in
.memory-bank/tasks/1777-new-docs/readme.md where the inline comment appears and
ensure it references `@shrugs` and the specific topic ("ENS Omnigraph capabilities
/ cookbook recipes") so it can be followed up.
- Around line 97-98: Replace the wordy and ungrammatical sentence "My assumption
is that we have 2 usecases for user to read our documentation" with a clear,
corrected version—change "2" to "two", "usecases" to "use cases", and "for user"
to "for users"; for example, update the README sentence to "There are two use
cases for users to read our documentation" (or equivalent concise phrasing) so
grammar and clarity are fixed.
- Line 120: There are several fenced code blocks missing language specifiers;
update each of the flagged triple-backtick blocks by adding the language tag
"text" (i.e., change ``` to ```text) for the four occurrences of fenced code in
the README so the markdown linter is satisfied and rendering improves; search
for the plain ``` fence instances in the README and replace them with ```text
for each block that contains plaintext lists or examples.
🪄 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: 33ef5f1f-c001-4d9b-85a8-65600aded25f

📥 Commits

Reviewing files that changed from the base of the PR and between 95b6525 and 22f04a0.

📒 Files selected for processing (1)
  • .memory-bank/tasks/1777-new-docs/readme.md

Comment thread .memory-bank/tasks/1777-new-docs/readme.md Outdated
Comment thread .memory-bank/tasks/1777-new-docs/readme.md Outdated
Comment thread docs/ensnode.io/config/integrations/starlight/index.ts
Comment thread docs/ensnode.io/astro.config.mjs 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: 8

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
docs/ensnode.io/src/content/docs/docs/build-with-ens/omnigraph/cookbook.mdx (1)

1-11: 🧹 Nitpick | 🔵 Trivial | ⚡ Quick win

Consider deferring placeholder pages or hiding from navigation.

This page contains only a "Coming Soon" notice with no actual content. Since the PR is marked as Draft, consider:

  1. Preferred approach: Wait to add this page until the content is ready
  2. Alternative: If the page structure must be committed now, add draft: true to the frontmatter to hide it from production navigation:
    ---
    title: Cookbook
    description: Ready-to-use ENS Omnigraph query recipes.
    draft: true
    ---

The "check back next week" message may become stale and misleading if the timeline changes.

🤖 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 `@docs/ensnode.io/src/content/docs/docs/build-with-ens/omnigraph/cookbook.mdx`
around lines 1 - 11, This page is a placeholder with only a "Coming Soon"
notice; either remove the page until content is ready or hide it from production
by adding draft: true to the frontmatter (update the YAML block in the file that
currently defines title and description) and remove/modify the "check back next
week" sentence to avoid stale timelines; ensure the frontmatter now includes
draft: true so the page is excluded from production navigation.
docs/ensnode.io/src/content/docs/docs/self-host/index.mdx (1)

30-36: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Update LinkCard hrefs to use new route structure.

Lines 30 and 36 reference /docs/deploying/docker and /docs/deploying/terraform, which no longer exist. The correct routes are /docs/self-host/docker and /docs/self-host/terraform (which do exist). No redirects are configured in astro.config.mjs for these old paths.

Proposed fix
-<LinkCard title="Deploy with Docker" href="/docs/deploying/docker" />
+<LinkCard title="Deploy with Docker" href="/docs/self-host/docker" />
 
 ### Deploying with Terraform
 
 An example Terraform deployment reference is available, showing an example of deploying the full ENSNode suite on Render with AWS managed domain names.
 
-<LinkCard title="Deploy with Terraform" href="/docs/deploying/terraform" />
+<LinkCard title="Deploy with Terraform" href="/docs/self-host/terraform" />
🤖 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 `@docs/ensnode.io/src/content/docs/docs/self-host/index.mdx` around lines 30 -
36, Update the two LinkCard components that still point to the removed paths by
changing their href props from "/docs/deploying/docker" and
"/docs/deploying/terraform" to the new routes "/docs/self-host/docker" and
"/docs/self-host/terraform" respectively; locate the LinkCard elements
(title="Deploy with Docker" and title="Deploy with Terraform") and update only
the href strings so the links point to the existing pages.
♻️ Duplicate comments (2)
docs/ensnode.io/src/content/docs/docs/build-with-ens/migrate-from-subgraph.mdx (1)

1-11: 🧹 Nitpick | 🔵 Trivial | ⚡ Quick win

Consider deferring placeholder pages or hiding from navigation.

This migration guide placeholder has the same concern as the Cookbook page. Given that users transitioning from the ENS Subgraph would likely seek this documentation, publishing a placeholder without content may create frustration.

Consider the same options:

  1. Defer adding this page until migration content is ready
  2. Mark as draft using frontmatter: draft: true
🤖 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
`@docs/ensnode.io/src/content/docs/docs/build-with-ens/migrate-from-subgraph.mdx`
around lines 1 - 11, The placeholder migration page is published empty and
should be hidden until content is ready: update the page frontmatter by adding
draft: true (or remove it from navigation/menus) so the page is not rendered in
site navigation, or alternatively defer committing the file until the migration
content is ready; target the document's frontmatter fields (e.g., title,
description) and set draft: true to prevent publication.
docs/ensnode.io/src/content/docs/docs/build-with-ens/integrations/enssdk.mdx (1)

1-11: 🧹 Nitpick | 🔵 Trivial | ⚡ Quick win

Consider deferring placeholder pages or hiding from navigation.

This is the third placeholder page with identical structure. While this pattern suggests intentional navigation structure creation, the same recommendation applies: either defer until content is ready or mark as draft to avoid publishing incomplete documentation.

🤖 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 `@docs/ensnode.io/src/content/docs/docs/build-with-ens/integrations/enssdk.mdx`
around lines 1 - 11, This placeholder docs page titled "enssdk (TypeScript)"
should be marked as a draft or removed from the published navigation to avoid
exposing incomplete content; update the frontmatter of enssdk.mdx to include a
draft flag (e.g., draft: true) or otherwise remove it from the docs
navigation/build configuration so the page remains hidden until content like
createEnsNodeClient, gql.tada examples, and normalization utilities are ready
for publication.
🤖 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/config/integrations/starlight/sidebar-topics/reference.ts`:
- Around line 43-45: Rename the MDX file that currently contains the typo and
update the sidebar link to match: change the file named
indexing-ens-compabile-onchain-names.mdx to
indexing-ens-compatible-onchain-names.mdx, then update the sidebar entry whose
link value is "/docs/reference/indexing-ens-compabile-onchain-names" to
"/docs/reference/indexing-ens-compatible-onchain-names" so the label "Indexing
ENS-Compatible Names" is consistent with the corrected filename and link; ensure
any imports or references to the old filename are updated accordingly.

In `@docs/ensnode.io/src/content/docs/docs/build-with-ens/integrations/ensdb.mdx`:
- Line 7: Replace the time-sensitive callout text "Check back next week" with
neutral or explicit wording; locate the callout containing the string "Check
back next week" and change it to either "Check back soon" or an explicit date
(e.g., "Updated: YYYY-MM-DD") so the content doesn't age, and ensure the
surrounding sentence/CTA remains grammatically correct after the change.

In
`@docs/ensnode.io/src/content/docs/docs/build-with-ens/integrations/enskit.mdx`:
- Line 10: The opening sentence is a fragment; reword it into a complete
sentence that clearly states the page purpose. Replace the fragment with a full
sentence that mentions enskit (the React toolkit for ENS) and what the page
covers (for example: setup with providers, the useOmnigraphQuery hook, and
working examples from the enskit-react-example app) so readers immediately
understand the scope.

In `@docs/ensnode.io/src/content/docs/docs/build-with-ens/integrations/index.mdx`:
- Line 7: Replace the relative-time phrase "Check back next week" with a
timeless alternative (e.g., "Check back for updates" or "Content coming soon")
in the integrations page content so the message won't age; locate the string
"Check back next week" in the integrations page (the line containing "We're
actively working on this page right now. Check back next week for full
content!") and update it to a neutral, evergreen phrasing.

In
`@docs/ensnode.io/src/content/docs/docs/components/ensdb/integrations/ensnode.mdx`:
- Line 3: Update the page frontmatter description string that currently reads "A
directory of reference implementation of the ENSDb standard." to use the plural
form "reference implementations" so it becomes "A directory of reference
implementations of the ENSDb standard."; locate and edit the description entry
in the frontmatter (the line starting with description:) and replace the
singular noun accordingly.

In `@docs/ensnode.io/src/content/docs/docs/components/ensrainbow/usage/api.mdx`:
- Line 20: Remove the trailing slashes from internal markdown links that end
with "/docs/components/ensrainbow/concepts/label-sets-and-versioning/" and
"/docs/components/ensrainbow/usage/troubleshooting/" so they match the site's
trailingSlash: "never" setting; update the two link targets in the text to
"/docs/components/ensrainbow/concepts/label-sets-and-versioning" and
"/docs/components/ensrainbow/usage/troubleshooting" (and scan the same file for
any other internal links that end with a slash and strip it similarly).

In `@docs/ensnode.io/src/content/docs/docs/reference/index.mdx`:
- Line 11: Summary: The index description mentions "the roadmap" but no roadmap
exists; either link or remove it. Edit the sentence "Browse terminology, the
roadmap, REST and legacy Subgraph surfaces, and contributing guides." in
index.mdx: either replace "the roadmap" with a proper internal link/card to the
roadmap page (e.g., markdown/MDX link to the roadmap route) or remove "the
roadmap" from the list so the line reads "Browse terminology, REST and legacy
Subgraph surfaces, and contributing guides." Ensure the phrasing and punctuation
remain consistent with surrounding copy.

In
`@docs/ensnode.io/src/content/docs/docs/reference/mainnet-registered-subnames-of-subregistries.mdx`:
- Line 11: Replace the misspelled word "Regsitry" with "Registry" in the
sentence containing "example.base.eth being registered on both the mainnet
Regsitry and Basenames" so the user-facing text reads "...registered on both the
mainnet Registry and Basenames"; ensure the surrounding Markdown and link to
"Shadow Registry" remain unchanged.

---

Outside diff comments:
In `@docs/ensnode.io/src/content/docs/docs/build-with-ens/omnigraph/cookbook.mdx`:
- Around line 1-11: This page is a placeholder with only a "Coming Soon" notice;
either remove the page until content is ready or hide it from production by
adding draft: true to the frontmatter (update the YAML block in the file that
currently defines title and description) and remove/modify the "check back next
week" sentence to avoid stale timelines; ensure the frontmatter now includes
draft: true so the page is excluded from production navigation.

In `@docs/ensnode.io/src/content/docs/docs/self-host/index.mdx`:
- Around line 30-36: Update the two LinkCard components that still point to the
removed paths by changing their href props from "/docs/deploying/docker" and
"/docs/deploying/terraform" to the new routes "/docs/self-host/docker" and
"/docs/self-host/terraform" respectively; locate the LinkCard elements
(title="Deploy with Docker" and title="Deploy with Terraform") and update only
the href strings so the links point to the existing pages.

---

Duplicate comments:
In
`@docs/ensnode.io/src/content/docs/docs/build-with-ens/integrations/enssdk.mdx`:
- Around line 1-11: This placeholder docs page titled "enssdk (TypeScript)"
should be marked as a draft or removed from the published navigation to avoid
exposing incomplete content; update the frontmatter of enssdk.mdx to include a
draft flag (e.g., draft: true) or otherwise remove it from the docs
navigation/build configuration so the page remains hidden until content like
createEnsNodeClient, gql.tada examples, and normalization utilities are ready
for publication.

In
`@docs/ensnode.io/src/content/docs/docs/build-with-ens/migrate-from-subgraph.mdx`:
- Around line 1-11: The placeholder migration page is published empty and should
be hidden until content is ready: update the page frontmatter by adding draft:
true (or remove it from navigation/menus) so the page is not rendered in site
navigation, or alternatively defer committing the file until the migration
content is ready; target the document's frontmatter fields (e.g., title,
description) and set draft: true to prevent publication.
🪄 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: 6f122dcd-b330-4d43-9c3c-2cea5b89c3ea

📥 Commits

Reviewing files that changed from the base of the PR and between 22f04a0 and e453a74.

📒 Files selected for processing (97)
  • docs/ensnode.io/astro.config.mjs
  • docs/ensnode.io/config/integrations/starlight.ts
  • docs/ensnode.io/config/integrations/starlight/index.ts
  • docs/ensnode.io/config/integrations/starlight/sidebar-topics/build-with-ens.ts
  • docs/ensnode.io/config/integrations/starlight/sidebar-topics/components.ts
  • docs/ensnode.io/config/integrations/starlight/sidebar-topics/index.ts
  • docs/ensnode.io/config/integrations/starlight/sidebar-topics/reference.ts
  • docs/ensnode.io/config/integrations/starlight/sidebar-topics/self-host.ts
  • docs/ensnode.io/src/components/molecules/HeaderButtons.tsx
  • docs/ensnode.io/src/components/overrides/Hero.astro
  • docs/ensnode.io/src/content/docs/docs/build-with-ens/ai-llm.mdx
  • docs/ensnode.io/src/content/docs/docs/build-with-ens/ensv2-readiness.mdx
  • docs/ensnode.io/src/content/docs/docs/build-with-ens/hosted-instances.mdx
  • docs/ensnode.io/src/content/docs/docs/build-with-ens/index.mdx
  • docs/ensnode.io/src/content/docs/docs/build-with-ens/integrations/ensdb.mdx
  • docs/ensnode.io/src/content/docs/docs/build-with-ens/integrations/enskit.mdx
  • docs/ensnode.io/src/content/docs/docs/build-with-ens/integrations/enssdk.mdx
  • docs/ensnode.io/src/content/docs/docs/build-with-ens/integrations/index.mdx
  • docs/ensnode.io/src/content/docs/docs/build-with-ens/integrations/raw-graphql.mdx
  • docs/ensnode.io/src/content/docs/docs/build-with-ens/migrate-from-subgraph.mdx
  • docs/ensnode.io/src/content/docs/docs/build-with-ens/omnigraph/cookbook.mdx
  • docs/ensnode.io/src/content/docs/docs/build-with-ens/omnigraph/index.mdx
  • docs/ensnode.io/src/content/docs/docs/build-with-ens/omnigraph/schema-reference.mdx
  • docs/ensnode.io/src/content/docs/docs/build-with-ens/why-ensnode.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensadmin/contributing/index.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensadmin/index.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensadmin/overview/what-is-ensadmin.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensapi/contributing/index.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensapi/index.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensapi/reference/api-reference.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensapi/usage/configuration.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensdb/concepts/database-schemas.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensdb/concepts/glossary.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensdb/concepts/index.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensdb/index.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensdb/integrations/ensnode.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensdb/integrations/future-possibilities.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensdb/usage/index.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensdb/usage/sdk.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensdb/usage/sql.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensindexer/concepts/startup-sequence.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensindexer/contributing/creating-a-plugin.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensindexer/contributing/index.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensindexer/index.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensindexer/usage/configuration.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensindexer/usage/management.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensrainbow/concepts/architecture.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensrainbow/concepts/creating-files.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensrainbow/concepts/data-model.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensrainbow/concepts/glossary.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensrainbow/concepts/index.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensrainbow/concepts/label-sets-and-versioning.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensrainbow/concepts/performance.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensrainbow/concepts/typescript-interfaces.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensrainbow/concepts/unknown-labels.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensrainbow/concepts/versioning.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensrainbow/contributing/building.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensrainbow/contributing/cli-reference.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensrainbow/contributing/index.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensrainbow/contributing/local-development.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensrainbow/contributing/service-management.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensrainbow/contributing/system-requirements.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensrainbow/deploying/docker.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensrainbow/deploying/index.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensrainbow/deploying/railway.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensrainbow/faq.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensrainbow/index.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensrainbow/usage/api.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensrainbow/usage/available-label-sets.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensrainbow/usage/client-sdk.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensrainbow/usage/configuration.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensrainbow/usage/hosted-ensrainbow-instances.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensrainbow/usage/index.mdx
  • docs/ensnode.io/src/content/docs/docs/components/ensrainbow/usage/troubleshooting.mdx
  • docs/ensnode.io/src/content/docs/docs/components/index.mdx
  • docs/ensnode.io/src/content/docs/docs/reference/contributing/building.mdx
  • docs/ensnode.io/src/content/docs/docs/reference/contributing/index.mdx
  • docs/ensnode.io/src/content/docs/docs/reference/contributing/prs.mdx
  • docs/ensnode.io/src/content/docs/docs/reference/contributing/releases.mdx
  • docs/ensnode.io/src/content/docs/docs/reference/contributing/rest-api-docs.mdx
  • docs/ensnode.io/src/content/docs/docs/reference/index.mdx
  • docs/ensnode.io/src/content/docs/docs/reference/mainnet-registered-subnames-of-subregistries.mdx
  • docs/ensnode.io/src/content/docs/docs/reference/querying-best-practices.mdx
  • docs/ensnode.io/src/content/docs/docs/reference/rest-api.mdx
  • docs/ensnode.io/src/content/docs/docs/reference/roadmap.mdx
  • docs/ensnode.io/src/content/docs/docs/reference/subgraph-legacy/subgraph-dependents.mdx
  • docs/ensnode.io/src/content/docs/docs/reference/subgraph-legacy/with-ensjs.mdx
  • docs/ensnode.io/src/content/docs/docs/reference/subgraph-legacy/with-viem.mdx
  • docs/ensnode.io/src/content/docs/docs/reference/terminology.mdx
  • docs/ensnode.io/src/content/docs/docs/reference/what-is-ensnode.mdx
  • docs/ensnode.io/src/content/docs/docs/reference/what-is-the-ens-subgraph.mdx
  • docs/ensnode.io/src/content/docs/docs/running/ens-test-env.mdx
  • docs/ensnode.io/src/content/docs/docs/running/index.mdx
  • docs/ensnode.io/src/content/docs/docs/self-host/docker.mdx
  • docs/ensnode.io/src/content/docs/docs/self-host/index.mdx
  • docs/ensnode.io/src/content/docs/docs/self-host/terraform.mdx
  • docs/ensnode.io/src/styles/starlight.css
💤 Files with no reviewable changes (3)
  • docs/ensnode.io/src/content/docs/docs/running/index.mdx
  • docs/ensnode.io/config/integrations/starlight.ts
  • docs/ensnode.io/src/content/docs/docs/running/ens-test-env.mdx

Comment thread docs/ensnode.io/src/content/docs/docs/reference/index.mdx
Comment thread docs/ensnode.io/src/content/docs/docs/self-host/index.mdx
Copy link
Copy Markdown
Contributor

@vercel vercel Bot left a comment

Choose a reason for hiding this comment

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

Additional Suggestion:

Spelling error in filename: "indexing-ens-compabile-onchain-names.mdx" should be "indexing-ens-compatible-onchain-names.mdx"

Fix on Vercel

@vercel vercel Bot temporarily deployed to Preview – admin.ensnode.io May 7, 2026 14:05 Inactive
@vercel vercel Bot temporarily deployed to Preview – ensrainbow.io May 7, 2026 14:05 Inactive
@sevenzing sevenzing marked this pull request as ready for review May 7, 2026 14:06
@sevenzing sevenzing changed the title docs: add initial task overview docs: rearrange docs structure and prepare for future outline May 7, 2026
@sevenzing sevenzing mentioned this pull request May 8, 2026
2 tasks
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