Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 3 additions & 17 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,10 @@
</p>
<h1 align="center">Bun Documentation</h1>

Official documentation for Bun: the fast, all-in-one JavaScript runtime.

## Development

Install the [Mintlify CLI](https://www.npmjs.com/package/mint) to preview the documentation locally:

```bash
bun install -g mint
```

Run the development server:

```bash
mint dev
```

The site is served at `http://localhost:3000`.
Official documentation for Bun: the fast, all-in-one JavaScript runtime. [bun.com/docs](https://bun.com/docs) is built from the files in this directory.

## Contributing

Contributions are welcome. Open an issue or submit a pull request.

Before writing or editing a page, read the [voice guidelines](https://bun.com/docs/project/contributing#voice) (source: `project/contributing.mdx`): short sentences, active voice, present tense, second person, and no "easy", "simple", or "just".
20 changes: 20 additions & 0 deletions docs/project/contributing.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -377,3 +377,23 @@
- Disable logging: `BUN_DEBUG_QUIET_LOGS=1 bun-debug ...` (to disable all debug logging)
- Enable logging for a specific scope: `BUN_DEBUG_EventLoop=1 bun-debug ...` (to enable `scoped_log!(EventLoop, ...)` output)
- Bun transpiles every file it runs. To see the actual executed source in a debug build, find it in `/tmp/bun-debug-src/...path/to/file`. For example, the transpiled version of `/home/bun/index.ts` is in `/tmp/bun-debug-src/home/bun/index.ts`

## Contributing to the docs

The docs are the MDX files in `docs/` in the Bun repository. [bun.com/docs](https://bun.com/docs) is built from them.

Check warning on line 383 in docs/project/contributing.mdx

View check run for this annotation

Claude / Claude Code Review

Preview instructions removed without replacement; description still claims they were added

The description says this section covers "how to preview them", but the landed text only says where the docs live — and commit ab635bc3 in this PR deletes the `## Development` (Mintlify `mint dev`) block from `docs/README.md` without mentioning it in the description, so contributors now have no documented way to preview docs locally. Either add (or point to) the replacement preview workflow here, or drop "how to preview them" from the description and mention the README `## Development` removal s

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.

🟡 The description says this section covers "how to preview them", but the landed text only says where the docs live — and commit ab635bc in this PR deletes the ## Development (Mintlify mint dev) block from docs/README.md without mentioning it in the description, so contributors now have no documented way to preview docs locally. Either add (or point to) the replacement preview workflow here, or drop "how to preview them" from the description and mention the README ## Development removal so the squash message matches the diff.

Extended reasoning...

What's mismatched

The PR description's Fix bullet says:

Adds a "Contributing to the docs" section to docs/project/contributing.mdx (where the docs live, how to preview them) with a "Voice" subsection…

The section that actually landed at contributing.mdx:383 is one sentence:

The docs are the MDX files in docs/ in the Bun repository. bun.com/docs is built from them.

That covers where the docs live, but there is no preview workflow.

The unmentioned removal

At the same time, this PR's second commit — ab635bc "drop the Mintlify preview instructions; bun.com/docs has its own generator" — deletes the entire ## Development block from docs/README.md:

-## Development
-
-Install the [Mintlify CLI](https://www.npmjs.com/package/mint) to preview the documentation locally:
-
-```bash
-bun install -g mint
-```
-
-Run the development server:
-
-```bash
-mint dev
-```
-
-The site is served at `http://localhost:3000`.

That block was the only documented local-preview workflow anywhere in the repo. The PR description says only "docs/README.md points at the section" — it doesn't mention the removal. The description was already updated once during review (see the resolved thread about landing-prs.md moving to #38718), so keeping it accurate is clearly in scope.

Why it matters (a little)

After merge, contributors have no documented way to preview docs locally, while:

  • .claude/docs/landing-prs.md:55 (which CLAUDE.md tells docs authors to read) still instructs them to "preview rendered markdown (an unbalanced fence swallows everything after it)"
  • docs/docs.json:2 still declares "$schema": "https://mintlify.com/docs.json", so it isn't obvious to a contributor that Mintlify is no longer the way to preview

So the guidance says "preview before committing", the description says "this section tells you how", and the section doesn't. The commit message for ab635bc ("bun.com/docs has its own generator") confirms the removal was intentional, which makes the description's "how to preview them" claim doubly stale.

Per .claude/docs/landing-prs.md (PR process): "The PR description is the permanent squash-commit message — keep it true" and "Every file in the diff must be explainable from the PR's stated purpose."

Step-by-step

  1. Contributor wants to edit docs; CLAUDE.md → reads Docs, types, and comments in .claude/docs/landing-prs.md.
  2. That section says: preview rendered markdown before committing.
  3. Contributor looks in docs/README.md — before this PR: bun install -g mint / mint dev / localhost:3000. After this PR: only a pointer to contributing.mdx#voice.
  4. Contributor follows the pointer to contributing.mdx § Contributing to the docs — no preview instructions there either.
  5. Contributor greps docs/ for "preview" / "mint" — only docs.json's Mintlify $schema and an unrelated font-CDN URL remain, which is more confusing than nothing.

Fix

Either of:

  • Add the intended preview line to contributing.mdx § Contributing to the docs (whatever replaced Mintlify — the ab635bc commit message says "bun.com/docs has its own generator", so presumably a command from that generator, or a note that there is no local preview and to check the deploy preview on the PR).
  • Or, drop "how to preview them" from the description's parenthetical and add a line mentioning that docs/README.md's ## Development (Mintlify) block was removed, so the squash-commit message matches what actually lands.

Why this is only a nit

Nothing breaks at runtime — this is a docs/contributor-workflow gap plus a stale squash-message claim. The Voice section (the substance of this PR) lands correctly. The fix is a one-line description edit or a one-sentence addition to the new section.


### Voice
Comment thread
robobun marked this conversation as resolved.

A docs page describes what Bun does and what you can do with it. Write it so that a developer who is new to Bun can read the page once and act on it. These guidelines are adapted from the [Next.js docs contribution guide](https://nextjs.org/docs/community/contribution-guide#voice):

- Write short sentences that each make one point. If a sentence needs several commas or a parenthetical, split it up or turn it into a list.
- Use plain words: "use" rather than "utilize", "to" rather than "in order to". Cut filler such as "Note that" and "Please".
- Use the active voice and name the actor: "Bun reads `bunfig.toml`", rather than "`bunfig.toml` is read". A sentence built around "is" and "by" is usually passive.
- Describe current behavior in the present tense: "Bun installs the package", rather than "Bun will install the package".
- Name the subject when "this" or "it" could refer to more than one thing: "`--isolate` is how Jest behaves by default", rather than "This is how Jest behaves by default".
- Address the reader as "you", and make Bun (or the specific tool) the other actor: "Bun caches the tarball", rather than "we cache the tarball" or "let's cache the tarball".
- Leave out "easy", "simple", "just", and "quick". They add nothing when a task is easy and discourage readers when it is not. State the concrete property instead: "one command", "no configuration".
- Say what to do rather than what to avoid: "use `port: 0` so the operating system picks a free port", rather than "don't hardcode ports". State limitations plainly; a limitation is a fact, not a warning to the reader.
- Use gender-neutral language: "developers", "users", "they".
- Make link text name its destination: "see [`bun install`](/pm/cli/install)", rather than "see here".
- Run every code example before you publish it, and check option names and defaults against the implementation on `main`.