From 24abde4bb0a7bffcd91ec60ac151f319d971f188 Mon Sep 17 00:00:00 2001 From: Laith Al-Saadoon Date: Sun, 10 May 2026 19:10:51 +0000 Subject: [PATCH] fix(docs): rename agents/*.md to .mdx so JSX components render MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Astro v2.0 removed legacy.astroFlavoredMarkdown — `import` statements and JSX components (Card, CardGrid, LinkCard, Tabs) only render when the file extension is `.mdx`. Verified against current `@withastro/starlight` and `@withastro/docs` Context7 sources: > Removed: `legacy.astroFlavoredMarkdown` — In v1.0, Astro moved the > old Astro-Flavored Markdown to a legacy feature. Astro v2.0 removes > it completely. Importing and using components in `.md` files will > no longer work. The 13 pages under `packages/docs/src/content/docs/agents/` were authored with `import { Card, CardGrid, LinkCard } from "@astrojs/starlight/components"` at the top — under `.md` Astro silently dropped the JSX, so the live site rendered no editor cards on /agents/, no setup grid on /agents/install/, no failure-mode cards on /agents/why-mcp/, etc. Plain prose-only output. Renamed all 13 to `.mdx` via `git mv`. The follow-on issue MDX introduced was strict-parser fatal-on-bare-autolinks (`` is interpreted as a JSX tag). Six occurrences in `registries.mdx` converted to standard `[text](url)` markdown link syntax. Verified locally: - `pnpm -F @opencodehub/docs build` -> 64 pages, all internal links valid, llm-nav still patches the 63 sibling .md files astro emits alongside the .html - `curl http://localhost:4321/opencodehub/agents/` shows rendered `sl-link-card` and `CardGrid` markup where the `` / `` JSX expanded --- ...-and-resources.md => discovery-and-resources.mdx} | 0 .../editors/{claude-code.md => claude-code.mdx} | 0 .../docs/agents/editors/{codex.md => codex.mdx} | 0 .../docs/agents/editors/{cursor.md => cursor.mdx} | 0 .../agents/editors/{opencode.md => opencode.mdx} | 0 .../agents/editors/{windsurf.md => windsurf.mdx} | 0 .../{idiomatic-prompts.md => idiomatic-prompts.mdx} | 0 .../src/content/docs/agents/{index.md => index.mdx} | 0 .../content/docs/agents/{install.md => install.mdx} | 0 ...lms-txt-cheatsheet.md => llms-txt-cheatsheet.mdx} | 0 .../docs/agents/{registries.md => registries.mdx} | 12 ++++++------ ...l-decision-matrix.md => tool-decision-matrix.mdx} | 0 .../content/docs/agents/{why-mcp.md => why-mcp.mdx} | 0 13 files changed, 6 insertions(+), 6 deletions(-) rename packages/docs/src/content/docs/agents/{discovery-and-resources.md => discovery-and-resources.mdx} (100%) rename packages/docs/src/content/docs/agents/editors/{claude-code.md => claude-code.mdx} (100%) rename packages/docs/src/content/docs/agents/editors/{codex.md => codex.mdx} (100%) rename packages/docs/src/content/docs/agents/editors/{cursor.md => cursor.mdx} (100%) rename packages/docs/src/content/docs/agents/editors/{opencode.md => opencode.mdx} (100%) rename packages/docs/src/content/docs/agents/editors/{windsurf.md => windsurf.mdx} (100%) rename packages/docs/src/content/docs/agents/{idiomatic-prompts.md => idiomatic-prompts.mdx} (100%) rename packages/docs/src/content/docs/agents/{index.md => index.mdx} (100%) rename packages/docs/src/content/docs/agents/{install.md => install.mdx} (100%) rename packages/docs/src/content/docs/agents/{llms-txt-cheatsheet.md => llms-txt-cheatsheet.mdx} (100%) rename packages/docs/src/content/docs/agents/{registries.md => registries.mdx} (90%) rename packages/docs/src/content/docs/agents/{tool-decision-matrix.md => tool-decision-matrix.mdx} (100%) rename packages/docs/src/content/docs/agents/{why-mcp.md => why-mcp.mdx} (100%) diff --git a/packages/docs/src/content/docs/agents/discovery-and-resources.md b/packages/docs/src/content/docs/agents/discovery-and-resources.mdx similarity index 100% rename from packages/docs/src/content/docs/agents/discovery-and-resources.md rename to packages/docs/src/content/docs/agents/discovery-and-resources.mdx diff --git a/packages/docs/src/content/docs/agents/editors/claude-code.md b/packages/docs/src/content/docs/agents/editors/claude-code.mdx similarity index 100% rename from packages/docs/src/content/docs/agents/editors/claude-code.md rename to packages/docs/src/content/docs/agents/editors/claude-code.mdx diff --git a/packages/docs/src/content/docs/agents/editors/codex.md b/packages/docs/src/content/docs/agents/editors/codex.mdx similarity index 100% rename from packages/docs/src/content/docs/agents/editors/codex.md rename to packages/docs/src/content/docs/agents/editors/codex.mdx diff --git a/packages/docs/src/content/docs/agents/editors/cursor.md b/packages/docs/src/content/docs/agents/editors/cursor.mdx similarity index 100% rename from packages/docs/src/content/docs/agents/editors/cursor.md rename to packages/docs/src/content/docs/agents/editors/cursor.mdx diff --git a/packages/docs/src/content/docs/agents/editors/opencode.md b/packages/docs/src/content/docs/agents/editors/opencode.mdx similarity index 100% rename from packages/docs/src/content/docs/agents/editors/opencode.md rename to packages/docs/src/content/docs/agents/editors/opencode.mdx diff --git a/packages/docs/src/content/docs/agents/editors/windsurf.md b/packages/docs/src/content/docs/agents/editors/windsurf.mdx similarity index 100% rename from packages/docs/src/content/docs/agents/editors/windsurf.md rename to packages/docs/src/content/docs/agents/editors/windsurf.mdx diff --git a/packages/docs/src/content/docs/agents/idiomatic-prompts.md b/packages/docs/src/content/docs/agents/idiomatic-prompts.mdx similarity index 100% rename from packages/docs/src/content/docs/agents/idiomatic-prompts.md rename to packages/docs/src/content/docs/agents/idiomatic-prompts.mdx diff --git a/packages/docs/src/content/docs/agents/index.md b/packages/docs/src/content/docs/agents/index.mdx similarity index 100% rename from packages/docs/src/content/docs/agents/index.md rename to packages/docs/src/content/docs/agents/index.mdx diff --git a/packages/docs/src/content/docs/agents/install.md b/packages/docs/src/content/docs/agents/install.mdx similarity index 100% rename from packages/docs/src/content/docs/agents/install.md rename to packages/docs/src/content/docs/agents/install.mdx diff --git a/packages/docs/src/content/docs/agents/llms-txt-cheatsheet.md b/packages/docs/src/content/docs/agents/llms-txt-cheatsheet.mdx similarity index 100% rename from packages/docs/src/content/docs/agents/llms-txt-cheatsheet.md rename to packages/docs/src/content/docs/agents/llms-txt-cheatsheet.mdx diff --git a/packages/docs/src/content/docs/agents/registries.md b/packages/docs/src/content/docs/agents/registries.mdx similarity index 90% rename from packages/docs/src/content/docs/agents/registries.md rename to packages/docs/src/content/docs/agents/registries.mdx index f1a7bd3..1177bad 100644 --- a/packages/docs/src/content/docs/agents/registries.md +++ b/packages/docs/src/content/docs/agents/registries.mdx @@ -14,7 +14,7 @@ submission shape each one needs. ## Official MCP Registry -- Registry URL: +- Registry URL: [registry.modelcontextprotocol.io](https://registry.modelcontextprotocol.io) - Listing: not yet listed — submission planned. - What an operator does: use any MCP-aware client that consumes the official registry feed (Glama, mcpservers.org, mcp-awesome.com all @@ -59,7 +59,7 @@ publish fails. Same rule for PyPI README and Docker labels. ## Smithery -- Registry URL: +- Registry URL: [smithery.ai](https://smithery.ai) - Listing: not yet listed — submission planned. - What an operator does: open the OpenCodeHub listing on Smithery, click "Install" for their editor, paste the generated config block. @@ -83,7 +83,7 @@ OpenCodeHub repo, Smithery indexes from `smithery.yaml`. ## Glama -- Registry URL: +- Registry URL: [glama.ai/mcp/servers](https://glama.ai/mcp/servers) - Listing: not yet listed — auto-indexes from the official MCP Registry, so the listing lands when registry publish lands. - What an operator does: browse the Glama catalog, grab the JSON @@ -93,8 +93,8 @@ OpenCodeHub repo, Smithery indexes from `smithery.yaml`. ## awesome-mcp-servers -- Registry URL: and - . +- Registry URL: [punkpeye/awesome-mcp-servers](https://github.com/punkpeye/awesome-mcp-servers) + and [appcypher/awesome-mcp-servers](https://github.com/appcypher/awesome-mcp-servers). - Listing: not yet listed — PR planned, one entry per repo, in the "Code Analysis" or "Developer Tools" category. - What an operator does: this is a curated GitHub README. They find @@ -102,7 +102,7 @@ OpenCodeHub repo, Smithery indexes from `smithery.yaml`. ## Aggregator directories -- and . +- [mcpservers.org](https://mcpservers.org) and [mcp-awesome.com](https://mcp-awesome.com). - Listing: automatic — both scrape from the official MCP Registry plus popular awesome-lists. Inclusion lands when the official registry publish lands. diff --git a/packages/docs/src/content/docs/agents/tool-decision-matrix.md b/packages/docs/src/content/docs/agents/tool-decision-matrix.mdx similarity index 100% rename from packages/docs/src/content/docs/agents/tool-decision-matrix.md rename to packages/docs/src/content/docs/agents/tool-decision-matrix.mdx diff --git a/packages/docs/src/content/docs/agents/why-mcp.md b/packages/docs/src/content/docs/agents/why-mcp.mdx similarity index 100% rename from packages/docs/src/content/docs/agents/why-mcp.md rename to packages/docs/src/content/docs/agents/why-mcp.mdx