debug-manifest

Inspect and compare Rango router manifests to diagnose route matching and hierarchy issues.

Updated Nov 7, 2025
One-click install
npx skills add https://github.com/rangojs/rango --skill debug-manifest-rangojs
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: debug-manifest
Source: https://github.com/rangojs/rango/tree/main/packages/rangojs-router/skills/debug-manifest
Command: npx skills add https://github.com/rangojs/rango --skill debug-manifest-rangojs

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When routes in a Rango application do not match as expected, resolve to the wrong handler, or lose their parent layout, developers need visibility into the generated route tree. This Skill explains how to inspect the route manifest programmatically to verify parent relationships, shortCodes, loaders, and intercept registrations. ## Core Features & Use Cases - Programmatic Manifest Access: Call router.debugManifest() to retrieve routes, layouts, totalRoutes, and totalLayouts as structured JSON. - ShortCode Decoding: Understand the M/L/C/R/P prefix format (Mount, Layout, Cache, Route, Parallel slot) to verify nesting depth and hierarchy. - Manifest Diffing: Use serializeManifest, compareManifests, and formatManifestDiff from @rangojs/router/__internal to compare manifests before and after route changes. - Use Case: A modal route stops rendering as an overlay. Inspect the manifest to confirm interceptCount > 0 and that the route's parentShortCode points to the expected layout rather than null. ## Quick Start Ask the AI to call router.debugManifest() in development and check whether my route has the correct parentShortCode and hierarchy.

Frequently Asked Questions about debug-manifest

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I inspect the generated route tree in Rango router?

Call the async router.debugManifest() method on your router instance in development. It returns a JSON object with routes, layouts, totalRoutes, and totalLayouts, including each route's pattern, shortCode, and parentShortCode.

How to compare route manifests before and after changes in Rango?

Import serializeManifest, compareManifests, and formatManifestDiff from @rangojs/router/__internal. Capture the manifest before and after your changes, then pass both to compareManifests and print the result with formatManifestDiff.

What does the shortCode format mean in the Rango route manifest?

ShortCodes encode hierarchy using prefixes: M for mount index, L for layout, C for cache boundary, R for route, and P for parallel slot. For example, M0L0L1C0R0 means Mount 0, root layout, nested layout, cache boundary, then route.

Why does my Rango route have parentShortCode set to null?

A null parentShortCode on a route means it is not attached to a layout, which usually indicates the urls() handler is not wrapped in the root layout. Only the root layout itself should have a null parentShortCode.

Why is my intercept route not rendering as a modal in Rango?

Check the manifest entry for the route and confirm interceptCount is greater than zero. If it is zero, the intercept was not registered, so review the intercept definition in your route tree.