BMAD-METHOD/website
Alex Verkhovsky 8be3713595
docs: add modules reference page and site fixes (#1540)
* docs: add official external modules reference page

* chore: remove obsolete docs and basement files

* fix: update robots.txt URLs to docs.bmad-method.org

* fix: generate robots.txt dynamically from site base URL

Replace static robots.txt with an Astro endpoint that uses the
configured site URL, so sitemap references are correct on both
fork deployments and production.

* fix: unify site URL resolution in build-docs.js

build-docs.js had its own hardcoded fallback URL
(bmad-code-org.github.io) instead of using the shared
getSiteUrl() function, causing URL mismatches between
robots.txt, llms.txt, and sitemaps. Now all components
resolve the site URL through the same function. Renamed
site-url.js to .mjs to avoid Node ESM detection warnings.

* fix: correct module names and relocate prompt file

- CIS: "Creative Innovation Suite" → "Creative Intelligence Suite"
- GDS: "Game Dev Suite" → "Game Dev Studio"
- Move _prompt-external-modules-page.md from docs/ to tools/docs/

* refactor: convert build-docs to ESM, eliminate mutable globals

- Convert build-docs.js to build-docs.mjs (CJS → ESM)
- Import getSiteUrl directly, remove async import workaround
- Kill mutable SITE_URL global, call getSiteUrl() where needed
- Clean up Banner.astro variable naming
- Update package.json and CI workflow for .mjs extension
2026-02-06 06:58:09 -06:00
..
public docs: add modules reference page and site fixes (#1540) 2026-02-06 06:58:09 -06:00
src docs: add modules reference page and site fixes (#1540) 2026-02-06 06:58:09 -06:00
README.md feat(docs): Diataxis restructure + Astro/Starlight migration (#1263) 2026-01-07 14:42:15 +08:00
astro.config.mjs docs: add modules reference page and site fixes (#1540) 2026-02-06 06:58:09 -06:00

README.md

BMAD Method Documentation Site

This directory contains the Astro + Starlight configuration for the BMAD Method documentation site.

Architecture

The documentation uses a symlink architecture to keep content in docs/ at the repo root while serving it through Astro:

bmad2/
├── docs/                          # Content lives here (repo root)
│   ├── index.md
│   ├── tutorials/
│   ├── how-to/
│   ├── explanation/
│   └── reference/
└── website/
    ├── astro.config.mjs           # Astro + Starlight config
    ├── src/
    │   ├── content/
    │   │   └── docs -> ../../docs # Symlink to content
    │   └── styles/
    │       └── custom.css         # Custom styling
    └── public/                    # Static assets

Development

# From repo root
npm run docs:dev      # Start dev server
npm run docs:build    # Build for production
npm run docs:preview  # Preview production build

Platform Notes

The website/src/content/docs symlink may not work correctly on Windows without Developer Mode enabled or administrator privileges.

To enable symlinks on Windows:

  1. Enable Developer Mode (recommended):

    • Settings → Update & Security → For developers → Developer Mode: On
    • This allows creating symlinks without admin rights
  2. Or use Git's symlink support:

    git config core.symlinks true
    

    Then re-clone the repository.

  3. Or create a junction (alternative):

    # Run as Administrator
    mklink /J website\src\content\docs ..\..\docs
    

If symlinks don't work, you can copy the docs folder instead:

# Remove the symlink
rm website/src/content/docs

# Copy the docs folder
cp -r docs website/src/content/docs

Note: If copying, remember to keep the copy in sync with changes to docs/.

Build Output

The build pipeline (npm run docs:build) produces:

  • Static HTML site in build/site/
  • LLM-friendly files: llms.txt, llms-full.txt
  • Downloadable ZIP bundles in downloads/