Conversation
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
palango
left a comment
There was a problem hiding this comment.
The move itself looks clean. After normalising the diff against the path mapping, the only content changes are link rewrites plus the AGENTS.md, scripts README and stablecoins.json path updates. The nav page set is identical to base with no duplicates, the group order matches #2259, and CODEOWNERS carries every team over. Orphan check, mint broken-links, mint broken-links --check-redirects and mint validate all pass for me on 961edef, and every page URL from main and the base branch resolves through the new redirects without 404s or chains.
The redirects need another pass before this can merge, though.
Dropping /build/:slug* breaks old /build/... URLs that production still redirects today. They currently reach a page through /build/:slug* and then the exact /build-on-celo/... entries. With this PR, /build/build-with-ai/:slug* sends them to /build/agents/<x>, which doesn't exist, and two have no match at all. These 404 under mint dev on this branch:
/build/build-with-ai/build-with-goat/{mint-nft-agent,send-token-agent,token-swap-agent}/build/build-with-ai/examples/{ai-memecoins,build-with-nebula,building_with_goat}/build/build-with-ai/{multi-agent-systems,resources,tools}/build/build-with-ai/mcp/composer-mcp/build/build-with-zk-identity/build/cel2-architecture
For example, https://docs.celo.org/build/build-with-ai/resources returns 308 to /build-on-celo/build-with-ai/resources today. Adding /build/build-with-ai/build-with-goat/:slug* and /build/build-with-ai/examples/:slug* above /build/build-with-ai/:slug*, plus exact entries for the other six, would cover them, using the same destinations the /build-on-celo/... versions already have.
Two existing wildcards are now dead because the new catch-alls sit near the top of the array, and between wildcards the first match wins. Details inline.
Smaller things. build/fund-your-project.mdx:26 still has a GitHub edit link to edit/main/build-on-celo/fund-your-project.mdx, which will 404 after merge and which broken-links doesn't check. build/agents/vibe-coding.mdx:109 still links /build/build-with-ai/mcp/index; it works through the redirect but should point at /build/agents/mcp/index. And #2259's scope includes the "Build with X / Build for X" naming convention, which this PR defers, so either open a follow-up for it or don't close #2259 from here.
One for #2367 rather than this PR: /home/:slug* sits above /home/protocol/transaction/:slug*, so the latter never fires and /home/protocol/transaction/... ends up at /learn/protocol/transaction/..., which doesn't exist (the folder is transactions).
| "destination": "/build/tools/overview" | ||
| }, | ||
| { | ||
| "source": "/tooling/:slug*", |
There was a problem hiding this comment.
This now sits above /tooling/libraries-sdks/particle-network/:slug* (line 2959), and between wildcards the first match wins, so that entry never fires. /tooling/libraries-sdks/particle-network has no exact entry, so it now goes to /build/tools/libraries-sdks/particle-network, which 404s (production sends it to celo-sdks today). Move the particle-network wildcard above this line.
| "destination": "/build" | ||
| }, | ||
| { | ||
| "source": "/build-on-celo/build-with-ai/:slug*", |
There was a problem hiding this comment.
Same here. /build-on-celo/build-with-ai/celina/:slug* at line 4695 is now unreachable because this wildcard matches first, so celina sub-paths go to /build/agents/celina/... and 404 (the page is at build/agents/mcp/celina). Move the celina wildcard above this one.
| "destination": "/build/mini-apps/overview" | ||
| }, | ||
| { | ||
| "source": "/build/build-with-ai/:slug*", |
There was a problem hiding this comment.
Old /build/build-with-ai/* pages that no longer exist now land on /build/agents/<x> and 404: the three build-with-goat/*, the three examples/*, multi-agent-systems, resources, tools and mcp/composer-mcp. Before this PR they went through /build/:slug* to the exact /build-on-celo/... entries. Could you add /build/build-with-ai/build-with-goat/:slug* and /build/build-with-ai/examples/:slug* above this line, plus exact entries for the other four, with the same destinations as their /build-on-celo counterparts?
| "destination": "/build-on-celo" | ||
| }, | ||
| { | ||
| "source": "/build/:slug*", |
There was a problem hiding this comment.
Removing this catch-all also drops /build/build-with-zk-identity (should go to /build/build-with-self) and /build/cel2-architecture (should go to /learn/network/architecture). Both redirect fine in production today but 404 on this branch, so they need exact entries.
Closes #2259
Stacked on #2367 (Learn tab). This branch contains that PR's commit plus one more, so the diff here shows only the Build change; merge #2367 first, without deleting its branch, and then retarget this PR to
main."Build on Celo" and "Tooling" become one Build tab. The Tooling tab is gone. Agents and Mini Apps lead, in the order the issue asks for.
Group order
Quickstart, Agents, Mini Apps, Network info, Guides, Tools, Reference.
Every moved page appears exactly once in the nav.
Paths
tooling/<path>becomesbuild/tools/<path>, andbuild-on-celo/<path>becomesbuild/<path>, 1:1, with these overrides:build-on-celo/build-with-ai/*becomesbuild/agents/*,attribution-tagsbecomesbuild/agents/attribution-tags, andbuild-on-minipay/overviewbecomesbuild/mini-apps/overview.README.txt). 75 files had inbound links rewritten, includingAGENTS.md(content directories and the canonical-page table),ANALYTICS.mdandscripts/(the contract generator now writes tobuild/tools/contracts/, and its README table is updated)..github/CODEOWNERS:/build-on-celo/and/tooling/...become/build/and/build/tools/..., keeping each team's ownership.Redirects
/build-on-celo/:slug*to/build/:slug*and/tooling/:slug*to/build/tools/:slug*, plus/build-on-celoto/buildand/toolingto/build/tools/overview./build-on-celo/build-with-ai/:slug*and the old/build/build-with-ai/:slug*), the MiniPay paths, andattribution-tags./build/:slug*catch-all and exact/build(they would shadow real/build/...pages) and the exact/build/build-on-socialconnect(now a real page).Verification
home,build-on-celoandtoolingpage onmain) throughdocs.json: 0 unresolved, 0 chains.mint dev, 22 sampled old URLs redirect in one step to the new page, and 19 new URLs return 200. One bad target was found and fixed (/build-on-celo/attribution-tagswas going to/build/attribution-tags; it now has its own entry). The tab bar reads Learn, Build, Contribute to Celo, Operate.Not in this PR
tooling/nodes/run-a-celo-nodedoes not exist any more, so the agreed Operate redirect has nothing to add.home/celo.mdxcard links resolve (rewritten with the rest).llms.txtis generated from the nav, so it follows the new paths after deploy.Blocks #2261 and #2263.
🤖 Generated with Claude Code