Skip to content

docs: retire Playground from the reader's path and fix stale, internal, and contradictory copy - #432

Open
defang-sam[bot] wants to merge 9 commits into
mainfrom
sam/copy-new-user-coherence
Open

defang-sam[bot] wants to merge 9 commits into
mainfrom
sam/copy-new-user-coherence

Conversation

@defang-sam

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

Copy link
Copy Markdown
Contributor

What this does

An Opus 5 copy review of docs.defang.io against strategy/language-style-guide.md (defang-global), read as a brand-new developer. The docs' brand layer was already clean; the problem was that the "Get Started" CTA still taught Playground — a shut-down product — as the primary deploy path, and the reference layer had drifted from the CLI.

Playground retired everywhere a reader can follow it

  • Getting Started now deploys to your own cloud: a "choose where to deploy" step, defang compose up --provider=aws, and a transcript pointing at portal.defang.io and a *.defang.app URL (was portal.defang.dev + prod1.defang.dev internal hosts).
  • providers/playground and concepts/defang-playground rewritten as past-tense tombstones; tutorials/deploy-to-playground deleted with a redirect.
  • Playground was the default tab on Domains, Services and Networking — tabs removed, BYOC content kept flat. Six more stray references swept (1-Click tutorial, MCP tutorial, Pulumi page, managed storage, Heroku migration transcript, a stale environment: playground workflow key).

Internal identifiers removed

  • Defang's real AWS account ID (381492210770) was printed in an example ARN under "resources in your AWS account" → placeholder (plus an ARN typo fix).
  • portal.defang.dev → portal.defang.io in 8 places; Playground domain patterns (prod1.defang.dev) → the real *.defang.app pattern; "tenant context"/tenant1 → workspace/placeholders; fabricDNS/DEFANG_FABRIC dropped from the published Pulumi interface.

Contradictions fixed

  • FAQ said "No auto-scaling" while the Scaling docs document x-defang-autoscaling: true → corrected (yes on AWS/GCP, balanced mode+, Pro plan).
  • --mode=production (deprecated wire enum) → high_availability in 6 places.
  • "the only way to authenticate is GitHub" → GitHub or GitLab (matches the Authentication page).
  • Pulumi page no longer claims support "only for Playground"; states the honest current status.

Style + rules

  • Banned-word sweep on touched pages (effortless/streamlined/leverage/simply); the invented fourth tagline-shaped line on What is Defang demoted to prose; unused Docusaurus template component deleted.
  • AGENTS.md gains a "User-facing copy" section (audience framing, no internal hosts/IDs/enums, decided names and taglines, pointer to the style guide).

Screenshots (from the branch, local dev server, real prebuild)

Getting Started → your cloud Playground tombstone Domains (no Playground tab)
getting started tombstone domains

Verification

  • npx docusaurus build succeeds (with real prebuild.sh CLI docs); the new redirect validates; remaining broken-link warnings are pre-existing (verified on clean main).
  • Sweep greps clean: playground only in the two tombstones; no portal.defang.dev, prod1.defang, mode=production, or the AWS account ID anywhere in docs/+src/.

Follow-ups (not in this PR)

  • static/samples.json still carries portal.defang.dev — it is generated from the samples repo; fix belongs in DefangLabs/samples (starter-sample README).
  • The Gitpod half of using-codespaces-gitpod.md describes the sunset Gitpod Classic flow; needs a human decision on replacement.

Part of the cross-repo copy review (defang-global, defang-mvp, portal, station PRs linked from the defang-global PR). Review + fixes by Opus 5 subagents.

🤖 Generated with Claude Code

Playground is shut down, so nothing may teach it as a live deploy target.

- Rewrite docs/providers/playground.md and docs/concepts/defang-playground.md
  as past-tense tombstones that point at /docs/providers. The pages stay
  because they hold inbound links.
- Delete the Deploy to Playground tutorial and redirect it to
  /docs/tutorials/deploy-to-your-cloud.
- Drop the default Playground tab from the domains, services, and networking
  concept pages, keeping the remaining content flat.
- Remove the --provider=defang warning entry and the stale Playground
  transcript line from the Heroku migration tutorial.
- Note that managed storage is available when deploying to your own cloud.
Replace the Deploy to the Playground section with Deploy to your cloud:
add a step for picking a provider and setting up credentials, show
defang compose up --provider=aws, and name the other providers.

Update the sample transcript: portal.defang.dev becomes portal.defang.io,
and the service URL uses the defang.app pattern instead of an internal
shard hostname. Drop the fabricated log lines rather than inventing
output we cannot verify.

Remove the Pulumi card from Next Steps, since the Pulumi provider has no
live deploy target.
The provider only ever deployed to the Defang-hosted environment that has
been discontinued, and it does not support your own cloud account yet. Say
so, point readers at Compose, and invite them to the Discord if they need
it. Remove the fabricDNS / DEFANG_FABRIC interface member, which names an
internal backend.
- Replace --mode=production with --mode=high_availability everywhere, and
  name the mode in prose instead of calling it 'the production mode'.
  production is not one of the three modes.
- The auto-scaling FAQ said Defang has no auto-scaling, which contradicts
  docs/concepts/scaling. Say yes on AWS and GCP via x-defang-autoscaling,
  in balanced mode or higher, on the Pro plan.
- The provider FAQ restated provider maturity inconsistently. Link
  /docs/providers for current status instead.
- accounts.md said GitHub was the only way to authenticate, which
  contradicts authentication.md. Name GitHub and GitLab.
- Replace the retired Playground domain pattern on accounts.md with the
  pattern used on the domains page.
The example CD task definition ARN contained a real Defang AWS account ID
and a typo in the service name (aws:ecsus-west-2). Replace it with
placeholders. Replace project1/tenant1 certificate domains with
<project>/<username>.
portal.defang.dev is not the portal host. Replace every occurrence in
docs/ and src/ with portal.defang.io, including the 1-Click Deploy link
builder.

Retarget both 1-Click tutorials at your own cloud account and describe the
flow the component actually builds: the link goes through the Portal to log
you in, then to GitHub to create your copy of the sample, and a GitHub
Actions workflow deploys it. Drop the 'environment: playground' key from
the sample workflow and pass a provider instead.

Remove the Playground section from the MCP tutorial, keeping the Portal
inspection step as a provider-agnostic closer.

workspaces.md: 'the repository owner automatically becomes the tenant
context' exposed a schema term. Say the owner's workspace is used.
- station.mdx said the section is 'a placeholder so the products have a
  home in the docs', which exposes editorial reasoning to readers.
- Remove banned words: effortless, streamlined, leverage, simply, and the
  'heavy lifting' sentence on the GCP page, which now says what Defang
  provisions for you.
- 'Any App, Any Stack, Any Cloud.' read as a fourth tagline directly under
  the Defang Deploy tagline. Demote it to prose.
- Add recipes to the Portal capability list; docs/concepts/recipe links
  there for them.
- Delete src/components/HomepageFeatures, unmodified Docusaurus template
  copy that nothing imports.
Record the rules this cleanup enforced so they survive the next edit:
who reads the docs, which internals never appear in copy, the decided
product names and taglines, and the real mode and plan names.
@defang-sam
defang-sam Bot requested a review from a team as a code owner September 16, 2026 18:54
@coderabbitai

coderabbitai Bot commented Sep 16, 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: 4e80de0e-a8b7-4a8c-9121-3a002a672841

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

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@defang-sam
defang-sam Bot requested a review from raphaeltm September 16, 2026 19:21
Comment thread docs/concepts/accounts.md Outdated
## Structure

Your GitHub username will be used as your Defang username. Your Defang username is used to group all your [services](/docs/concepts/services) and generate domains for your services with the following structure:
Your GitHub or GitLab username will be used as your Defang username. Your Defang username is used to group all your [services](/docs/concepts/services) and generate domains for your services with the following structure:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Username no longer true. Internal tenant id.

Comment thread docs/concepts/domains.mdx
</TabItem>
<TabItem value="pulumi" label="Pulumi">
:::warning
As of now, the Pulumi provider does not support [Defang BYOC](./defang-byoc.md).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is no longer true, I believe?

Comment thread docs/concepts/pulumi.md Outdated

:::warning
Pulumi support is currently only available for Defang Playground. We are working on support for Defang BYOC.
The Defang Pulumi Provider is not currently available. The Defang-hosted environment it deployed to has been discontinued, and it does not yet support deploying to your own cloud account. Use a [Compose file](/docs/concepts/compose) to deploy today. If you need the Pulumi Provider, tell us on the [Defang Discord](https://discord.gg/defang) so we can prioritize it.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is no longer true. Check the DefangLabs/pulumi-defang repo

Comment thread docs/intro/getting-started.mdx Outdated
2024-09-19T10:51:39.419693-07:00 app Server running at http://0.0.0.0:3000/
* Service app is in state DEPLOYMENT_COMPLETED and will be available at:
- https://jordanstephens-app--3000.prod1.defang.dev
- https://app--3000.welcome-to-defang.<your-username>.defang.app

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tenant id

@lionello

Copy link
Copy Markdown
Member

@defangdevs address comments and update this pr

…r status

- accounts.md, domains.mdx, getting-started.mdx: domains are keyed off an
  internal tenant ID, not the GitHub/GitLab username
- pulumi.md, domains.mdx: the Defang Pulumi Provider is available for AWS,
  GCP, and Azure — it was not discontinued

Addresses @raphaeltm's review comments on PR #432.
@defangdevs

Copy link
Copy Markdown
Contributor

Addressed the review feedback in 54b159b:

  • accounts.md / domains.mdx / getting-started.mdx: domain examples now use <tenant-id> instead of <username>, and the accompanying text says domains are grouped by an internal Defang tenant ID rather than your GitHub/GitLab username.
  • pulumi.md / domains.mdx: corrected the "Pulumi Provider is not currently available / discontinued" claim — pulumi-defang is actively developed and published on the Pulumi Registry for AWS, GCP, and Azure.

@raphaeltm PTAL

This branch has not been deployed

No deployments
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.

3 participants