Skip to content

docs: name Defang Deploy where the copy defines the product - #430

Merged
Prakash-Sundaresan merged 1 commit into
mainfrom
fix/defang-deploy-product-name
Sep 12, 2026
Merged

Prakash-Sundaresan merged 1 commit into
mainfrom
fix/defang-deploy-product-name

Conversation

@defang-sam

@defang-sam defang-sam Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

Part of a naming audit across website, portal and docs. Companions: defang-mvp#3265, DefangLabs/portal#1062.

The docs site now documents two products, so copy that defines "Defang" as a deployment tool is no longer accurate about the company. Fixed where the sentence is definitional, and only there.

What changed

Where Change
intro.mdx Page description, the lede sentence, and the "Learn more" card now say Defang Deploy. The <h1> stays "Defang Documentation" — this page is the site root and the site covers both products
how-it-works.mdx "How Defang Deploy Works", the opening sentence, and the page description
faq/questions.md The three comparison questions that define what the product is and is not: against run-time platforms, against Vercel/fly.io/Railway/Render/Heroku, and against SST
docusaurus.config.js The two top-level navbar tabs are now Defang Deploy and Defang Station

In each passage only the first, defining mention changes. The rest of the paragraph stays bare, because by then the context has named the product — which is what the style guide asks for. Same reasoning for the Deploy dropdown's children (Overview, Tutorials, Concepts, Providers, CLI): they sit inside a tab that has just named the product.

What was deliberately left alone

There are 879 bare "Defang" in docs/. Almost all of them are correct.

  • The CLI is still called Defang. Every defang command, install instruction and CLI reference keeps the name — it is in customer scripts, CI files and muscle memory.
  • Inside the deploy product's own documentation, under a tab labelled for it, bare "Defang" is the established voice. Replacing it wholesale would make the prose unreadable and would not make anything clearer.
  • Use-case recommendations of the form "Defang is a great choice for stateless web services" are suitability statements, not definitions. Out of scope by design.
  • Blog posts are a published record. Back-dating them rewrites history rather than fixing copy; tracked separately.
  • "Defang Portal" in docs/concepts/portal.md, workspaces.md, recipe.md and others — the console is being standardized on "Defang Deploy Portal" (portal#1062), and the docs pages should follow in a second pass once that name is merged and settled. Listed in the audit.

Full audit: SAM idea 01M2AYNX4JQTMC9VDXRHRBQNDE.

Verification

  • docusaurus.config.js parses (node -e "require('./docusaurus.config.js')")
  • Frontmatter intact on all three markdown files
  • test-deploy build green on this PR

A local docusaurus build fails here for 90 paths — but identically on clean main, same path count. The prebuild step shells into ../defang/src/cmd/gendocs and needs Go, which this environment lacks. CI is green on main and runs the full prebuild, so I am relying on this PR's build rather than the local one.

🤖 Generated with Claude Code

Part of a naming audit across website, portal and docs.

The docs site now documents two products, so copy that defines 'Defang' as a
deployment tool is no longer accurate about the company. Fixed where the
sentence is definitional, and only there.

Landing page: the h1 stays 'Defang Documentation', because this page is the
site root and the site covers both products. The sentence under it described
only the deploy product, so it and the page description now say Defang Deploy,
as does the card that links to the overview.

How it Works: the heading and the opening sentence. The rest of that paragraph
stays bare, since by then the context has named the product.

FAQ: the three comparison questions that define what the product is and is not,
against run-time platforms, against Vercel and Heroku, and against SST.

Navbar: the two top-level product tabs are now Defang Deploy and Defang
Station. Their children (Overview, Tutorials, Concepts, Providers, CLI) stay as
they are, since they sit inside a tab that has named the product.

Left alone on purpose. There are 879 bare 'Defang' in docs and almost all are
correct: the CLI is still called Defang and every 'defang' command, install
instruction and CLI reference keeps the name. Inside the deploy product's own
documentation, under a tab labelled for it, bare 'Defang' is the established
voice, and replacing it wholesale would make the prose unreadable. Use-case
recommendations of the form 'Defang is a great choice for X' are suitability
statements rather than definitions and were not touched. Blog posts are a
published record and are tracked separately.

Local  fails here for 90 paths, but identically on clean main
with the same count, because the prebuild step shells into ../defang gendocs
and needs Go, which this environment lacks. CI is green on main and runs the
full prebuild.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@defang-sam
defang-sam Bot requested a review from a team as a code owner September 12, 2026 18:08
@coderabbitai

coderabbitai Bot commented Sep 12, 2026

Copy link
Copy Markdown

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: ceacb2f7-4a39-4a3b-a579-c346470cdcb5

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Comment @coderabbitai help to get the list of available commands.

@Prakash-Sundaresan
Prakash-Sundaresan merged commit 36259bd into main Sep 12, 2026
6 checks passed
defang-sam Bot pushed a commit that referenced this pull request Sep 12, 2026
Three follow-ons from review.

The docs root landing had four cards, all of them Defang Deploy, and never
mentioned Station even though Station has had a docs section since it went into
the navbar. It now carries a Defang Station card next to the Deploy one.

Prakash was right that stopping at the first sentence read oddly. "Defang
Deploy provides a streamlined experience... Defang includes the following
features" sat in one paragraph naming the product two different ways. The
"context has already named it" rule works across sections, not across adjacent
sentences.

So the rule in these top-layer pages is now: a sentence claiming what the
product does or supports says Defang Deploy. Forty mentions across five pages.
References to the CLI, the account and login layer, authentication, the
Discord, the repository, the logo and terminal output stay bare, because those
are company-level or are names that do not change. Thirteen Defang CLI
references are untouched and nothing became "Defang Deploy CLI".

Seven FAQ headings carry the product name, and renaming a heading changes the
anchor Docusaurus derives from it. All seven now pin their original anchor with
an explicit {#id}. Four were still on their original anchors and would have
broken; the other three were changed by #430, so pinning restores the anchors
that had been live for years and repairs that regression.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Prakash-Sundaresan added a commit that referenced this pull request Sep 12, 2026
* docs: take Defang Deploy one layer down from the section landing

Follow-on to #430, which named the product only where a sentence defined it.
This takes the page titles, descriptions, h1s and first defining sentence of
the Deploy section, which is the layer a reader actually sees.

A correction to the reasoning in #430 first. That PR left the intro.mdx h1 as
"Defang Documentation" on the grounds that it was the docs site root. It is
not. The root is a separate custom page, src/pages/index.tsx, serving
docs.defang.io with its own title of "Defang". intro.mdx is the Deploy
section's own landing, reached from the Defang Deploy navbar tab, so it now
reads "Defang Deploy Documentation".

Changed, per page: the Overview h1; What is Defang becomes What is Defang
Deploy in title, description, h1 and its opening sentence; Features in
description, h1 and opening sentence; Use Cases the same; Getting Started's
description and its opening claim about not installing anything in your cloud;
and the FAQ description.

The real site root keeps its "Defang Documentation" h1, because that page does
cover both products. Its product sentence and its card now say Defang Deploy,
since both describe Deploy specifically. The same card text in getting-started
is kept in step with the copy #430 already fixed in intro.mdx.

URLs are untouched, including /docs/intro/what-is-defang. Renaming the file
would break inbound links for a heading change, and the style guide treats URLs
as identifiers rather than copy.

All fourteen Defang CLI references in the section are untouched. The CLI keeps
its name, so "Install the Defang CLI" and every defang command stay as they
are, and nothing became "Defang Deploy CLI".

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* docs: add Station to the docs landing, and name Deploy in product claims

Three follow-ons from review.

The docs root landing had four cards, all of them Defang Deploy, and never
mentioned Station even though Station has had a docs section since it went into
the navbar. It now carries a Defang Station card next to the Deploy one.

Prakash was right that stopping at the first sentence read oddly. "Defang
Deploy provides a streamlined experience... Defang includes the following
features" sat in one paragraph naming the product two different ways. The
"context has already named it" rule works across sections, not across adjacent
sentences.

So the rule in these top-layer pages is now: a sentence claiming what the
product does or supports says Defang Deploy. Forty mentions across five pages.
References to the CLI, the account and login layer, authentication, the
Discord, the repository, the logo and terminal output stay bare, because those
are company-level or are names that do not change. Thirteen Defang CLI
references are untouched and nothing became "Defang Deploy CLI".

Seven FAQ headings carry the product name, and renaming a heading changes the
anchor Docusaurus derives from it. All seven now pin their original anchor with
an explicit {#id}. Four were still on their original anchors and would have
broken; the other three were changed by #430, so pinning restores the anchors
that had been live for years and repairs that regression.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* fix(docs): use HTML anchors, not {#id}, to pin the FAQ anchors

This site sets markdown.format to "mdx" in docusaurus.config.js, so every .md
is parsed as MDX and `{#id}` is read as a JSX expression. The build failed with
"Could not parse expression with acorn" on questions.md.

A plain <a id="..."></a> before each heading does the same job and parses.
Verified in the built HTML: both the pinned pre-rename anchors and the new
auto-generated ones are present, so old deep links and new ones both resolve.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* docs: make the docs landing a two-product chooser

Review feedback: the landing said "Defang Documentation", then described only
Defang Deploy underneath it, then offered a mix of Deploy and Station cards.

It is now a chooser. The h1 stays, the sentence moves up to the company level,
and there are two cards: Defang Deploy and Defang Station.

The three Deploy-specific cards leave. CLI Reference and Deploy to your own
cloud were already on the Defang Deploy page, so they were duplicates. Agent
Skills was not, so it moves there rather than being dropped. That page now
carries all four.

The section heading becomes Products, since two product cards are a chooser
rather than a getting-started list.

Forge is deliberately absent: it has no docs section, and a card pointing
nowhere is worse than no card.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

---------

Co-authored-by: Prakash Sundaresan <prakash.sundaresan@defang.io>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant