Resolves [DOCS-1252](https://linear.app/supabase/issue/DOCS-1252/resolve-e2e-broken-link-errors-for-the-cli-guide). #48453 updated most `/cli` links to `/local-development`. This PR covers the remaining `/cli` references. ## Changes - **Delete `apps/docs/content/guides/cli.mdx`.** The file has had no route since the October 2024 docs IA reorganization (#29364), which moved the CLI guides under `local-development/`. - In production, `/docs/guides/cli` redirects to `/docs/guides/local-development` through `apps/www/lib/redirects.js`, so the file's content never renders. - On Vercel previews, which don't have `www` redirects, the URL returns 404. Docs E2E tests every changed guide file, so any edit to `cli.mdx` fails the required check. - Deleting it is safe for Docs E2E, which only scopes added or changed files. The redirect still covers the old URL. - **Update the connection-refused troubleshooting page** to link to `/docs/guides/local-development` instead of the redirected `/docs/guides/cli`. - **Point the "Go to Local Dev / CLI" command palette entry at `/guides/local-development`.** It routed to `/guides/cli`, which only resolves through the `www` redirect and returns 404 on previews. - **Remove the unused `cli` navigation menu** from `NavigationMenu.constants.ts`. No `MenuId` resolves to it, so it was never rendered, and its links pointed to pages that no longer exist. Question for @czenko: #48453 left `cli.mdx` alone on purpose, describing it as needing a routing or content decision. Deleting it seemed like the simplest fix, but is there a reason to keep it? It looks like it's an artifact that sometimes gets updated because it's being mistaken as a living document. Also, I believe troubleshooting guides are being currently moved - this ticket and change might coincide with the new https://github.com/supabase/troubleshooting repository, but I didn't see this file existing in there just yet - it's being currently being moved in this PR https://github.com/supabase/troubleshooting/pull/330/changes#diff-b5908c6861f711c3a38fba99aa133cdb796f26c27a35e77c674cb21f988a1046 (so I think I should do the link change in that PR and I can remove it from this PR as to not create merge conflicts or drift). But it makes questions come up about how broken links are handled in that repository 👀 --------- Co-authored-by: Miranda Limonczenko <miranda.limonczenko@supabase.io>
Reference Docs
Supabase Reference Docs
Maintainers
If you are a maintainer of any tools in the Supabase ecosystem, you can use this site to provide documentation for the tools & libraries that you maintain.
DocSpec
We use documentation specifications which can be used to generate human-readable docs.
- OpenAPI: for documenting API endpoints.
- SDKSpec (custom to Supabase): for SDKs and client libraries.
- ConfigSpec (custom to Supabase): for configuration options.
- CLISpec (custom to Supabase): for CLI commands and usage.
The benefit of using custom specifications is that we can generate many other types from a strict schema (eg, HTML and manpages). It also means that we can switch to any documentation system we want. On this site we use Next.js, but on Supabase's official website, we use a custom React site and expose only a subset of the available API for each tool.
Contributing
To contribute to docs, see the style guide for how to write a page, and the developers' guide and contributing guide for repo mechanics. If you write with an AI coding agent, use the /write-the-docs skill to draft and /edit-the-docs to revise an existing page.