Do not action this before kagent 1.0 goes GA. The 1.0 release is an alpha, so kagent.dev's navigation deliberately keeps sending readers to the supported 0.x release. The links below look stale and are not. Repointing them early would land readers on alpha documentation.
This issue exists so the pinning is not mistaken for an oversight, and so the mapping is worked out once rather than re-derived at GA. Paths and line numbers were verified against main on 2026-09-23.
1. Repoint the 16 hardcoded documentation links
Sixteen links across three components hardcode 0.x/. The information architecture changed between versions, so this is not a find-and-replace: each link needs a mapping, and four of the sixteen need a decision instead.
| Source |
0.x path |
1.x target |
src/components/footer.tsx:21 |
introduction/installation |
setup/installation |
src/components/footer.tsx:26 |
getting-started/quickstart |
collision — see below |
src/components/footer.tsx:31 |
getting-started/first-agent |
collision — see below |
src/components/footer.tsx:36 |
getting-started/first-mcp-tool |
get-started/your-first-mcp-tool |
src/components/footer.tsx:48 |
introduction/what-is-kagent |
about/what-is-kagent |
src/components/footer.tsx:53 |
concepts/architecture |
about/architecture |
src/components/footer.tsx:58 |
concepts |
about |
src/components/footer.tsx:63 |
supported-providers |
setup/model-providers |
src/components/footer.tsx:85 |
examples/a2a-agents |
examples/a2a-agents |
src/components/footer.tsx:90 |
examples/documentation |
examples/documentation-agent (renamed) |
src/components/footer.tsx:95 |
examples/slack-a2a |
none — see below |
src/components/footer.tsx:100 |
examples/discord-a2a |
none — see below |
src/components/footer.tsx:132 |
resources/faq |
reference/faq |
src/app/page.tsx:267 |
getting-started/quickstart |
collision — see below |
src/app/page.tsx:683 |
getting-started/quickstart |
collision — see below |
src/components/key-components.tsx:23 |
concepts |
about |
Every target in that table was confirmed to exist. Two groups need a judgement call rather than a path:
quickstart and first-agent collapse into one 1.x page. 0.x ships Quick Start (install plus a first agent) and Creating your first agent (dashboard-based); 1.x ships only Your first agent. The footer lists both today. Either keep two entries, splitting them as setup/installation plus get-started/your-first-agent, or drop one.
slack-a2a and discord-a2a have no 1.x equivalent at all. Either remove the two footer entries or leave them on 0.x deliberately.
2. Pin the unversioned links
src/app/agents/[agentId]/page.tsx:110 points at /docs/kagent/getting-started/quickstart with no version segment and reaches 0.x only through the catch-all redirect below. It is the only unversioned link in an app component.
Eleven more sit in blog content and ride the same redirect:
| File |
Count |
src/blogContent/crewai-byo-agent.mdx |
3 |
src/blogContent/deploy-kagent-with-agent-substrate.mdx |
3 |
src/blogContent/human-in-the-loop-kagent.mdx |
2 |
src/blogContent/is-pod-right-deployment-unit-ai-agent.mdx |
1 |
src/blogContent/kgateway-guardrails.mdx |
1 |
src/blogContent/reactive-agents-khook.mdx |
1 |
Blog links carry a different consideration from navigation links: a post describes the release it was written against, so pinning each to 0.x/ explicitly is likely to be more correct than repointing it to 1.x.
src/config/navigation.json is unversioned throughout, but it is consumed only by scripts/check-links.mjs and never imported by app code. It is a link-checker fixture rather than a rendered navigation tree, so treat it separately.
3. Decide what the catch-all redirect does
next.config.mjs:34-38 sends every legacy unversioned /docs/kagent/* URL to 0.x/. The recommendation is to leave it on 0.x: those URLs were 0.x content, and the 1.x information architecture does not match path-for-path, so retargeting would land readers on 404s or on the wrong page.
The same decision covers two further redirects at next.config.mjs:19-28. Both hardcode 0.x destinations, for /docs/getting-started/configuring-providers and /docs/kagent/getting-started/tracing, and both sit above the catch-all deliberately, because the pages they name also changed section.
Done when
Do not action this before kagent 1.0 goes GA. The 1.0 release is an alpha, so kagent.dev's navigation deliberately keeps sending readers to the supported 0.x release. The links below look stale and are not. Repointing them early would land readers on alpha documentation.
This issue exists so the pinning is not mistaken for an oversight, and so the mapping is worked out once rather than re-derived at GA. Paths and line numbers were verified against
mainon 2026-09-23.1. Repoint the 16 hardcoded documentation links
Sixteen links across three components hardcode
0.x/. The information architecture changed between versions, so this is not a find-and-replace: each link needs a mapping, and four of the sixteen need a decision instead.src/components/footer.tsx:21introduction/installationsetup/installationsrc/components/footer.tsx:26getting-started/quickstartsrc/components/footer.tsx:31getting-started/first-agentsrc/components/footer.tsx:36getting-started/first-mcp-toolget-started/your-first-mcp-toolsrc/components/footer.tsx:48introduction/what-is-kagentabout/what-is-kagentsrc/components/footer.tsx:53concepts/architectureabout/architecturesrc/components/footer.tsx:58conceptsaboutsrc/components/footer.tsx:63supported-providerssetup/model-providerssrc/components/footer.tsx:85examples/a2a-agentsexamples/a2a-agentssrc/components/footer.tsx:90examples/documentationexamples/documentation-agent(renamed)src/components/footer.tsx:95examples/slack-a2asrc/components/footer.tsx:100examples/discord-a2asrc/components/footer.tsx:132resources/faqreference/faqsrc/app/page.tsx:267getting-started/quickstartsrc/app/page.tsx:683getting-started/quickstartsrc/components/key-components.tsx:23conceptsaboutEvery target in that table was confirmed to exist. Two groups need a judgement call rather than a path:
quickstartandfirst-agentcollapse into one 1.x page. 0.x ships Quick Start (install plus a first agent) and Creating your first agent (dashboard-based); 1.x ships only Your first agent. The footer lists both today. Either keep two entries, splitting them assetup/installationplusget-started/your-first-agent, or drop one.slack-a2aanddiscord-a2ahave no 1.x equivalent at all. Either remove the two footer entries or leave them on 0.x deliberately.2. Pin the unversioned links
src/app/agents/[agentId]/page.tsx:110points at/docs/kagent/getting-started/quickstartwith no version segment and reaches 0.x only through the catch-all redirect below. It is the only unversioned link in an app component.Eleven more sit in blog content and ride the same redirect:
src/blogContent/crewai-byo-agent.mdxsrc/blogContent/deploy-kagent-with-agent-substrate.mdxsrc/blogContent/human-in-the-loop-kagent.mdxsrc/blogContent/is-pod-right-deployment-unit-ai-agent.mdxsrc/blogContent/kgateway-guardrails.mdxsrc/blogContent/reactive-agents-khook.mdxBlog links carry a different consideration from navigation links: a post describes the release it was written against, so pinning each to
0.x/explicitly is likely to be more correct than repointing it to 1.x.src/config/navigation.jsonis unversioned throughout, but it is consumed only byscripts/check-links.mjsand never imported by app code. It is a link-checker fixture rather than a rendered navigation tree, so treat it separately.3. Decide what the catch-all redirect does
next.config.mjs:34-38sends every legacy unversioned/docs/kagent/*URL to0.x/. The recommendation is to leave it on 0.x: those URLs were 0.x content, and the 1.x information architecture does not match path-for-path, so retargeting would land readers on 404s or on the wrong page.The same decision covers two further redirects at
next.config.mjs:19-28. Both hardcode 0.x destinations, for/docs/getting-started/configuring-providersand/docs/kagent/getting-started/tracing, and both sit above the catch-all deliberately, because the pages they name also changed section.Done when
src/app/agents/[agentId]/page.tsx:110carries an explicit version segment/docs/kagent/link insrc/lacks a version segment, except the bare/docs/kagentversion picker innavbar.tsx:42andpage.tsx:687