GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GeezerVison is showing github.com — docs: promote the AI sections and Templates to the top level of the sidebar by coder[bot] · Pull Request #31645 · coder/coder Conversation
|
| Old | New |
|---|---|
docs/ai-coder/agents/** (25 files) |
docs/coder-agents/** |
docs/ai-coder/ai-governance.md |
docs/ai-governance/index.md |
docs/ai-coder/agent-firewall/** (9 files) |
docs/ai-governance/agent-firewall/** |
docs/ai-coder/ai-gateway/** (26 files) |
docs/ai-governance/ai-gateway/** |
docs/ai-coder/agent-relay/** (3 files) |
docs/agent-relay/** |
docs/ai-coder/mcp-server.md |
docs/mcp-server.md |
docs/ai-coder/index.md |
deleted |
docs/ai-coder/best-practices.md |
deleted |
docs/ai-coder/ide-agents.md |
deleted |
Appended to docs/redirects.json, using the absolute /docs/... format that main validates today. Wildcards cover every page under each moved folder, including pages that are not in the sidebar and the pages added to main since the first version of this PR.
| Source | Destination |
|---|---|
/docs/ai-coder |
/docs/coder-agents (deleted hub, please confirm) |
/docs/ai-coder/best-practices |
/docs/coder-agents (deleted, please confirm) |
/docs/ai-coder/ide-agents |
/docs/user-guides/workspace-access (deleted, please confirm) |
/docs/ai-coder/ai-governance |
/docs/ai-governance |
/docs/ai-coder/mcp-server |
/docs/mcp-server |
/docs/ai-coder/agents/:path* |
/docs/coder-agents/:path* |
/docs/ai-coder/agent-firewall/:path* |
/docs/ai-governance/agent-firewall/:path* |
/docs/ai-coder/ai-gateway/:path* |
/docs/ai-governance/ai-gateway/:path* |
/docs/ai-coder/agent-relay/:path* |
/docs/agent-relay/:path* |
None of the 3 existing rules in docs/redirects.json points into ai-coder/, so no destinations needed updating.
coder.com and router static redirects.
coder.com applies its own redirects.json and the rules it generates from this file before it hands /docs to the docs-engine router, which applies its own static redirects.json before the page.
Three older static rules in both repos send /docs/templates, /docs/templates/open-in-coder, and /docs/templates/troubleshooting to /docs/admin/templates/..., and the /docs/admin/templates/:path* rule here sends them back, so each loops once a release with this layout is the docs mainline.
A static /docs/workspaces rule would also hide the new docs/workspaces/index.md page from #31650.
coder/coder.com#1201 and coder/docs-engine#304 (draft, DOCS-1479) remove those rules; they must merge when that release becomes the mainline, not before, because the old-layout mainline still needs them.
A chain simulation of every page and static source on each branch of this stack finds no other loops or hidden pages.
The /docs/ai-coder/... and other legacy rules there still work; some now take two redirects.
docs/user-guides/workspace-access/index.md) instead, the same page the ide-agents redirect uses, because "Refer to IDE agents." with no link reads as a dead end. The "Coding agent" entry now links to Coder Agents, as the proposal says.wand.svg (Coder Agents, the old ai-coder icon), ai_intelligence.svg (AI Governance), link.svg (Agent Relay), and plug.svg (MCP server).docs/ai-coder/index.md. The best-practices and IDE-agent pages are deleted as proposed.ai-coder was, after Administration. PR C moves Administration after MCP server to reach the final order.docs/mcp-server.md repo link. A relative link to codersdk/toolsdk/toolsdk.go, outside docs/, was re-based for the new depth..golden files rendered from them still contain coder.com/docs/ai-coder/... URLs. Existing migrations can't be edited, so those links rely on the redirects.aibridge/client/client.go links to a commit-pinned GitHub permalink, which still resolves.scripts/docsredirectscheck and .github/workflows/test-docs-preview-mapper.sh use ai-coder as sample data.site/src/pages/AgentsPage/components/ChatElements/tools/Tool.stories.tsx uses https://coder.com/docs/ai-coder/ai-gateway as a sample web search result. Changing it would only change a visual snapshot.git merge-tree against this branch. I didn't change them.
docs/ai-governance/ai-gateway/clients/claude-code.md, and its new relative link still resolves at the new path.tk/ai-gateway-responses-ws-endpoint and conflicts with main in 21 files. Against this branch it conflicts in the same 21 files, with codex.md at its new path, so this PR doesn't add new conflicts. Its new relative links still resolve after the move.docs/redirects.json. It already conflicts with main there, because main added the /docs/about/screenshots and /docs/install/cli rules.No backport to release/2.39 for now; Nick may apply it by hand later.
A cherry-pick of this branch onto release/2.39 conflicts in 25 files, and #31647 and #31650 would need the same treatment to keep the stack together.
coder/coder.com#1201 and coder/docs-engine#304 merge when the first release line that carries this layout becomes the docs mainline (2.38 today).
cli/cliui troubleshooting links append /templates/troubleshooting#... to the server's versioned docs URL./docs/@v2.38.x/templates/troubleshooting#..../docs/templates/:page(open-in-coder|troubleshooting) rule redirects that to the old page today, but coder/docs-engine#304 removes that rule to fix the loop, so after the cutover that case gets the version's not-found page.After a release that includes this stack becomes the default docs version on coder.com, point these hardcoded URLs at the new paths. They work today and redirect after the release, so nothing breaks in the meantime. Anchors are unchanged. Rerun make gen afterward to update docs/admin/integrations/prometheus.md, scripts/metricsdocgen/generated_metrics, the CLI golden files, and docs/reference/cli/templates/{create,edit}.md.
| Current (old) URL | Post-release URL | Files |
|---|---|---|
https://coder.com/docs/ai-coder/agents |
https://coder.com/docs/coder-agents |
.claude/skills/doc-check/output.md, README.md |
https://coder.com/docs/ai-coder/agents/architecture |
https://coder.com/docs/coder-agents/architecture |
coderd/x/chatd/chattool/execute_test.go, codersdk/toolsdk/workspacetools/execute.go |
https://coder.com/docs/ai-coder/ai-gateway |
https://coder.com/docs/ai-governance/ai-gateway |
README.md, coderd/templatebuilder/modules/claude-code/module.json, coderd/templatebuilder/modules/codex/module.json |
https://coder.com/docs/ai-coder/mcp-server |
https://coder.com/docs/mcp-server |
server.json |
https://coder.com/docs/admin/templates |
https://coder.com/docs/templates |
README.md |
https://coder.com/docs/admin/templates/extending-templates/docker-in-workspaces |
https://coder.com/docs/templates/extending-templates/docker-in-workspaces |
examples/templates/docker-devcontainer/main.tf |
https://coder.com/docs/admin/templates/extending-templates/parameters |
https://coder.com/docs/templates/extending-templates/parameters |
examples/parameters-dynamic-options/README.md, examples/parameters/README.md, examples/parameters/main.tf, examples/templates/kubernetes-envbox/README.md, examples/workspace-tags/README.md |
https://coder.com/docs/admin/templates/extending-templates/prebuilt-workspaces |
https://coder.com/docs/templates/extending-templates/prebuilt-workspaces |
coderd/prebuilds/api.go, enterprise/coderd/prebuilds/metricscollector.go (metric help text) |
https://coder.com/docs/admin/templates/extending-templates/workspace-tags |
https://coder.com/docs/templates/extending-templates/workspace-tags |
examples/workspace-tags/README.md |
https://coder.com/docs/admin/templates/managing-templates |
https://coder.com/docs/templates/managing-templates |
cli/templatecreate.go, cli/templateedit.go (CLI help) |
https://coder.com/docs/admin/templates/managing-templates/image-management |
https://coder.com/docs/templates/managing-templates/image-management |
coderd/templatebuilder/bases/docker/README.md, coderd/templatebuilder/bases/kubernetes/README.md |
https://coder.com/docs/admin/templates/troubleshooting |
https://coder.com/docs/templates/troubleshooting |
agent/agentscripts/agentscripts.go, coderd/render/escape_internal_test.go, codersdk/deployment.go (agentFallbackTroubleshootingURL default) |
https://coder.com/docs/tutorials/template-from-scratch |
https://coder.com/docs/templates/template-from-scratch |
site/src/pages/TemplateBuilder/TemplateAlternatives.tsx |
make gen/docs-manifest: clean diff afterward.make lint/docs-manifest, lint/docs-redirects (go run ./scripts/docsredirectscheck -base origin/main: 15 rules OK, no removed-route warning), lint/docs-html, lint/emdash: pass.pnpm check-docs (markdownlint + table formatter): pass.vale --no-exit docs/): the same 12 warnings and 1 error as main, all pre-existing. Suggestions drop from 646 to 645; the one removed was in the deleted ide-agents.md.docs/**/*.md: 0 unresolved links or images (also 0 on main).make pre-commit-light on the docs commit, and the full make pre-commit (gen, fmt, lint/go, lint/ts, build, and others) on the chore commit. Both passed.go test ./coderd/x/chatd/chattool/... ./codersdk/toolsdk/... ./coderd/templatebuilder/....CoderAgentsProductCard, GroupSettingsPageView, GatewayKeysPageView, and ModelForm (4 files, 63 tests).docs() path and anchor in the site/ and Go diff resolves to a page and heading in this branch.site/ diff of PRs A and B: no blocking or should-fix findings. Nits on existing code that this PR only touched, not changed here: a single-use docsLink constant in ChatAccessDeniedAlert.tsx, and assertion-only play functions in the GatewayKeysPageView, ModelForm, CoderAgentsProductCard, and GroupSettingsPageView stories.docs/**/*.md (excluding .style) 490 → 487; manifest.json routes 495 → 492. With docs: promote Templates to a top-level sidebar section #31646 squash-merged in, the counts don't change, because the Templates move only moves files..github/.linkspector.yml over all of docs/, like the weekly docs job (umbrelladocs/action-linkspector, reporter: local, filter_mode: nofilter). I ran it locally with Chrome in --no-sandbox mode.origin/main: 0 errors. Before the fix (17e54ad555): 6 errors, all https://coder.com/docs/<new path> 404s (shared-workspaces.md:19, esr-2.24-2.29-upgrade.md:80-82, tasks-to-chats-migration.md:73, prometheus.md:298). After the fix (def074caab): 0 errors. A first run after the fix also flagged a Red Hat URL in install/server/openshift.md. That URL is unchanged from main, and it passed on a rerun, so the failure was transient.make gen/docs-manifest (clean), lint/docs-manifest, lint/docs-redirects (15 rules OK against origin/main), lint/docs-html, lint/emdash, pnpm check-docs, and the relative-link check (0 unresolved in 3416 links) pass. The full make pre-commit, including make gen, passed on the commit.go test ./cli -run 'TestCommandHelp|TestServerYAMLConfig', ./enterprise/cli -run TestEnterpriseCommandHelp, ./coderd/render, ./agent/agentscripts, ./coderd/prebuilds, ./enterprise/coderd/prebuilds, ./coderd/x/chatd/chattool/..., ./codersdk/toolsdk/..., ./coderd/templatebuilder/....src/pages/TemplateBuilder (7 files, 67 tests).ccf5ec74ae (commits 5 and 6 included): make gen/docs-manifest (clean), lint/docs-manifest, lint/docs-redirects (15 rules OK), lint/docs-html, lint/emdash, pnpm check-docs, and a relative-link and anchor check over the changed pages pass.docs/ai-governance/ai-gateway/cost-controls.md → enterprise.md#list-organization-ai-spend-by-user, is also broken on main.make pre-commit-light, because both new commits touch only docs/) passed on commits 5 and 6. The rebased code commits rely on CI for Go and TypeScript checks.docs/redirects.json, the router's static rules, the page, then this branch's rules on a miss, over every page and exact static source, reports the 3 loops above and nothing else new; with coder/coder.com#1201 and coder/docs-engine#304 applied, 0.main at ccf5ec74ae (2026-11-03) to clear conflicts with main, after an earlier rebase the same day onto 1a963c628d. The previous rebuild was on 9839406ff7 (2026-11-02), and the first version on 9b8d880d63 (2026-10-23).target="_blank" rel="noreferrer" to docs links: 4 site/ files in the chore commit and 5 in the Templates commit. Each kept main's version of the link with only the docs path changed. Vitest for the 7 affected page directories (233 tests) and the story tests for the 8 changed or affected stories (102 tests) pass, and every docs() path in site/src resolves except the same 13 that are unresolved on main.docs/manifest/coder-agents.yml. main added docs/ai-coder/agents/bring-your-own-mcp-servers.md; it moves to docs/coder-agents/ with its sidebar entry, and its ../../user-guides/ links become ../user-guides/.main added to docs/user-guides/workspace-dotfiles.md (feat: expose the workspace template to agent commands #31606) now points at ../templates/extending-templates/environment-variables.md.git range-diff against def074caab, the head before both rebases, shows only those changes.main checkout and resolves each relative link (inline, reference-style, and HTML src/href) against the page's old directory. It maps the target through the move map and recomputes the link from the page's new directory. It runs once and refuses to run on a dirty docs/ tree, so it can't apply the path math twice. It also rewrites absolute coder.com/docs/... and github.com/coder/coder/(blob|edit|tree)/main/docs/... URLs, and skips fenced code blocks and inline code.main.grep -r ai-coder docs/ finds matches only in docs/redirects.json.agents/projects.md, agents/acp-subagents.md) and their sidebar entries move with them. The chore commit also updates SessionSummaryTable.tsx (new on main) and the doc-check skill's output.md (its examples moved there from SKILL.md). The AICostControl.tsx anchor question is gone, because main fixed it.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
def074c to
8f1e7ee
Compare
There was an error while loading. Please reload this page.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
CI on
Posted by Coder Agents on behalf of @nickvigilante. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Dissolve docs/ai-coder into four top-level sections: Coder Agents, AI Governance (with Agent Firewall and AI Gateway), Agent Relay, and MCP server. Delete the ai-coder hub, best practices, and IDE agents pages, and redirect every moved or removed URL.
> [!NOTE]
> Generated by Coder Agents. The branch and this description were
written by an AI agent and need human review.
Second of three stacked PRs for the docs IA overhaul (Proposal 1,
section 2). This PR promotes **Templates** out of Administration to a
top-level sidebar section between Install and User guides.
- `docs/admin/templates/**` moves to `docs/templates/**` with `git mv`:
46 files, including pages that are not in the sidebar, such as
`extending-templates/external-auth.md`, and
`extending-templates/script-ordering.md`, which was added to `main`
after the first version of this PR.
- Two of the three tutorials the proposal names still exist on `main`,
and both move into the new section. `template-from-scratch.md` goes
after "Creating templates" and `testing-templates.md` goes before
"Troubleshoot templates". Their Tutorials sidebar entries are removed.
- `docs/manifest/admin/templates.yml` and
`docs/manifest/admin/templates/` move to `docs/manifest/templates.yml`
and `docs/manifest/templates/`. `admin.yml` no longer includes them, and
`index.yml` lists `templates.yml` after `install.yml`. The Script
ordering entry from `main` moves with them.
- Every relative link and image path is fixed, in moved pages and in
pages that link to them. This includes repo-relative links out of
`docs/`, such as `../../../examples/templates`, whose depth changed.
`docs/images/` stays where it is.
- Commit 2, `chore: point in-product docs links at the new docs paths`,
updates docs URLs outside `docs/`, then regenerates the files built from
them with `make gen`. You can drop that commit; the redirects cover the
old URLs.
- Updated sources: `site/` `docs()` links, `cli/cliui` troubleshooting
links, CLI flag help, the `agentFallbackTroubleshootingURL` default, the
prebuilds metric help text, `examples/`, and templatebuilder READMEs.
- Regenerated files: CLI golden files,
`docs/reference/cli/templates/{create,edit}.md`,
`scripts/metricsdocgen/generated_metrics`, and the generated table in
`docs/admin/integrations/prometheus.md`.
Stack: `docs/ia-ai-sections` → **this PR** → `docs/ia-tutorials-nav`.
Refs: Linear DOCS-1154, DOCS-1179.
| Old | New |
| --- | --- |
| `docs/admin/templates/**` (46 files) | `docs/templates/**` |
| `docs/tutorials/template-from-scratch.md` |
`docs/templates/template-from-scratch.md` |
| `docs/tutorials/testing-templates.md` |
`docs/templates/testing-templates.md` |
| Source | Destination |
| --- | --- |
| `/docs/tutorials/template-from-scratch` |
`/docs/templates/template-from-scratch` |
| `/docs/tutorials/testing-templates` |
`/docs/templates/testing-templates` |
| `/docs/admin/templates/:path*` | `/docs/templates/:path*` |
The wildcard also covers `script-ordering`, which is new on `main`.
Updated an existing rule to avoid a chain:
`/docs/admin/templates/extending-templates/dynamic-parameters` now
points to `/docs/templates/extending-templates/parameters`. It stays
above the new wildcard so it still applies first.
**coder.com `redirects.json`:** I could not check it, because the file
is not readable anonymously and the provided credentials cover only
`coder/coder`. Someone with access should look for `/docs` destinations
under `/docs/admin/templates/...` or
`/docs/tutorials/{template-from-scratch,testing-templates}`.
- **`tutorials/external-database.md` is not in this PR.** The proposal
puts it under Templates, but the page is about pointing the Coder
control plane at an external PostgreSQL database, not about templates.
PR C moves it to `install/server/external-database.md`, next to
`postgres-ssl.md`. If you want it under Templates, it's a one-line
change.
- **Manifest position of the two tutorials.** The proposal doesn't say
where they go, so I placed them as described in the Summary.
- **Generated files belong to commit 2.** Commit 1 doesn't edit
generated docs. Those files change only through their sources and `make
gen`, so `lint/docs-gen-filter` stays clean.
- **Left unchanged on purpose:**
- Database migrations, the notification `.golden` files rendered from
them, and the matching `site/src/testHelpers/entities.ts` fixtures still
contain `coder.com/docs/admin/templates/...` URLs. Existing migrations
can't be edited, so those links rely on the wildcard redirect.
- Test fixtures in `scripts/docsredirectscheck`,
`site/scripts/audit-docs-paths.test.mjs`, and
`.github/workflows/test-docs-preview-mapper.sh` are synthetic.
`Tool.stories.tsx` uses `https://coder.com/docs/admin/templates` as a
sample web search result.
- The style guide's "What's next?" example in
`docs/.style/style-guide/word-choice.md` shows a link to
`admin/templates/...` inside a fenced code block. It is sample Markdown,
not a live link.
1. Should `external-database.md` go under Install (as in PR C) or
Templates (as in the proposal)?
2. Templates keeps its `picture.svg` icon. Is that OK at the top level?
3. Frontend review nits on existing code that this PR only touched; I
didn't change them:
- `TemplatesFilter.tsx` has a commented-out `learnMoreLink` to the
`#template-filtering` anchor, which doesn't exist.
- `TemplateAlternatives.tsx` hardcodes a `https://coder.com/docs/...`
URL instead of using `docs()`.
- The `CreateWorkspacePageView` story's `play` function only asserts
link attributes.
- `make gen/docs-manifest`: clean diff afterward.
- `make lint/docs-manifest`, `lint/docs-redirects` (`-base
docs/ia-ai-sections`: 15 rules OK), `lint/docs-html`, `lint/emdash`:
pass.
- `pnpm check-docs` (markdownlint + table formatter): pass.
- Vale over `docs/`: the same 12 warnings and 1 error as `main`, all
pre-existing (suggestions: 645, the same as PR A).
- Local relative-link check over `docs/**/*.md`: 0 unresolved.
- Pre-commit hook: `make pre-commit-light` on the docs commit, and the
full `make pre-commit` on the chore commit. `make gen` left a clean
tree. Targeted tests passed:
- Go: `go test ./cli -run 'TestCommandHelp|TestServerYAMLConfig'`,
`./enterprise/cli -run TestEnterpriseCommandHelp`, `./coderd/render`,
`./cli/cliui`, `./agent/agentscripts`, `./coderd/prebuilds`,
`./enterprise/coderd/prebuilds`.
- Site: Vitest for the touched directories (17 files, 188 tests), and
the `CreateWorkspacePageView` story tests (14 tests).
- Frontend deep review (all 8 roles) on the `site/` diff: no blocking or
should-fix findings, and every new `docs()` path and anchor resolves,
except the pre-existing commented-out anchor in question 3.
- Page counts: `docs/**/*.md` 486 → 486 (moves only); `manifest.json`
routes 491 → 491.
- **Skipped:** the docs-engine sync check, which was not available in
this environment.
<details>
<summary>Implementation notes</summary>
- Rebuilt on the new `docs/ia-ai-sections`, which is based on `main` at
`9839406ff7` (2026-11-02).
- The same one-shot move script as PR A did the move and link pass from
a clean tree. Run on the old base, it reproduced the old commit exactly
(apart from the generated files, which belong to commit 2), so no hand
edits were needed in this PR's docs commit.
- The chore commit uses the same rewrite over the files outside `docs/`
that link to moved pages. Its diff for `site/`, `cli/cliui`, and the
other sources matches the earlier version of this branch line for line.
- Changes from the earlier version of this branch: 1 more page moves
(`extending-templates/script-ordering.md`), with its sidebar entry.
`docs/install/cli.md` no longer exists on `main` (#31513), so its link
fix is gone.
</details>
---------
Co-authored-by: coder[bot] <137810501+coder[bot]@users.noreply.github.com>
Turn absolute coder.com/docs URLs to moved pages in hand-written docs into relative links, and point unversioned coder.com/docs URLs outside docs/ back at the paths that are live today. The redirects carry them to the new pages after the release. Regenerate the files built from them.
The move script wrote links to targets in or below the page's own folder without a ./ prefix. They resolved, but every other relative link in the docs starts with ./ or ../.
Deleting docs/ai-coder/index.md removed the only instructions for installing a terminal-based coding agent in a template with a registry module. Move that guidance to the Reuse template code page, next to the other Coder modules.
8f1e7ee to
4c356c6
Compare
Adds a direct link to the Premium trial page (https://coder.com/trial) to the beta note on every Agent Relay page that has one: - `index.md`, `setup.md` - `claude-code.md`, `cursor.md`, `slack.md`, `troubleshooting.md` - `monitoring/index.md`, `monitoring/siem.md` The six pages whose note only said "is in beta" now also say it requires a Premium license, matching `index.md` and `setup.md`, so the trial link has context. Each note now reads: ```md > [!NOTE] > Agent Relay is in [beta](../../reference/feature-stages.md#beta) and requires a Premium license. > To try it, [request a Premium trial](https://coder.com/trial). ``` `configuration.md` has no beta note, so it's unchanged. The trial URL matches the one used in `docs/install/prepare/licensing.md` and the FAQ. Note: #31645 moves `docs/ai-coder/agent-relay/` to `docs/agent-relay/`, so whichever PR merges second needs a rebase. Requested by @dluman. Co-authored-by: coder[bot] <137810501+coder[bot]@users.noreply.github.com>
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Approved after review. Disclosure: this review was generated by Coder Agents on behalf of @nickvigilante.
Findings: the branch had fallen 17 commits behind main and conflicted, because changes on main rewrote the Agent Relay docs under the old docs/ai-coder/agent-relay/. I merged main into this branch (d1c4ff0c6c), and the merge:
setup, slack, configuration, troubleshooting, monitoring/*) to docs/agent-relay/, with relative links and images rewritten for the new depthmonitoring.yml sidebar source to docs/manifest/agent-relay/ and kept the beta/premium state and icondocs/ai-coder/index.md edit from main, since that page is deleted heremain added in docker-in-workspaces.md and moved with Templatesdocs/manifest.jsonChecked locally: lint/docs-manifest, lint/docs-redirects, lint/docs-html, lint/emdash, markdownlint, a relative-link and image resolve pass over docs/ with no new misses, and the full pre-commit hook. The existing /docs/ai-coder/agent-relay/:path* wildcard redirect already covers the new pages.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.