Skip to content

Conversation

@forcetrainer
Copy link
Contributor

@forcetrainer forcetrainer commented Jan 18, 2026

Summary

  • Add new header logo graphics for the documentation website with light/dark mode support
  • Replace the default Starlight icon + text logo with custom BMAD Method wordmark banners
  • Left-align header logo (as best as possible) with sidebar content for cleaner visual alignment
  • Configure separate logos for light mode (bmad-light.png) and dark mode (bmad-dark.png)

Test plan

  • Verify header logo displays correctly in light mode
  • Verify header logo displays correctly in dark mode
  • Verify logo links to welcome page when clicked
  • Verify logo aligns with sidebar content

🤖 Generated with Claude Code

forcetrainer and others added 12 commits January 15, 2026 21:01
- Remove duplicate H1 header (frontmatter provides title)
- Remove horizontal rules throughout
- Convert Prerequisites to admonition
- Add Quick Path TL;DR admonition
- Convert Key Takeaway to tip admonition
- Convert TEA Workflows list to Quick Reference table
- Convert Troubleshooting to Common Questions FAQ format
- Rename Need Help to Getting Help section
- Remove redundant Feedback section

Also adds missing @clack/prompts dependency from upstream merge.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
- MCP → Model Context Protocol
- E2E → End-to-end (also fix missing article)
- CI/CD → Continuous integration/continuous deployment
- ATDD → Acceptance Test-Driven Development
- TDD → Test-Driven Development
- NFR → non-functional requirements
- Remove inaccurate CRUD reference

Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add banner image to README header
- Replace website logo with wordmark, hiding title text
- Left-align logo with sidebar by reducing header padding

Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Revert README to original banner
- Add waveform banner to docs site welcome page

Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Remove banner from welcome page content
- Update header logo to use banner-bmad-method2.png

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Use banner-bmad-method-dark.png in dark mode for better blending

Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Light mode: bmad-light.png (dark blue background with lightning)
- Dark mode: bmad-dark.png (light background variant)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Remove unused banner-bmad-method2.png and bmad-wordmark.png
- Add readme2.md with upcoming features section
- Update banner-bmad-method-dark.png

Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Rename bmad-light2.png to bmad-light.png as final version
- Remove readme2.md draft

Co-Authored-By: Claude Opus 4.5 <[email protected]>
@coderabbitai
Copy link

coderabbitai bot commented Jan 18, 2026

📝 Walkthrough

Walkthrough

The pull request updates project branding by replacing the text title with a banner image in README.md, updates terminology in getting-started documentation from "TEA Lite" to "Test Architect", modifies website logo configuration to support light and dark theme variants, and adjusts header navigation styling with revised padding and title alignment.

Changes

Cohort / File(s) Change Summary
Documentation & Branding
README.md, docs/tutorials/getting-started/tea-lite-quickstart.md
README replaces text project title with banner image; getting-started tutorial updates terminology, rephrases sections, and reformats content blocks with admonitions and tips.
Website Logo Configuration
website/astro.config.mjs
Logo configuration schema expanded from single src/alt to multi-variant structure with light/dark theme-specific variants and new replacesTitle boolean flag.
Website Styling
website/src/styles/custom.css
Reduces header navigation left padding (2.5rem/3rem → 1rem) at breakpoints and removes left margin/padding from site title for left-edge alignment.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

Suggested reviewers

  • cecil-the-coder
  • muratkeremozcan
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'feat: update website header with new BMAD Method branding' directly and clearly describes the main change across the changeset—updating website header elements with new BMAD Method branding assets and configuration.
Description check ✅ Passed The description is related to the changeset, detailing the header logo graphics, light/dark mode support, and alignment adjustments that match the changes in README.md, astro.config.mjs, and custom.css.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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 and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In `@docs/tutorials/getting-started/tea-lite-quickstart.md`:
- Around line 15-23: Update the Node.js version in the Prerequisites note from
"v18 or later" to "v20 or later" so it matches the README Quick Start; edit the
"Prerequisites" block (the Node.js line in tea-lite-quickstart) and verify any
other Node.js mentions in this document are changed to v20+ for consistency.

In `@website/astro.config.mjs`:
- Around line 40-45: The logo asset paths in the logo config use filesystem
paths ('./public/img/...') which won't resolve; update the logo object (keys:
light, dark, retains replacesTitle) to use root-relative URLs (e.g.,
'/img/bmad-light.png' and '/img/bmad-dark.png') so Astro serves them from the
public/ directory at build time.

Comment on lines 15 to 23
:::note[Prerequisites]
- Node.js installed (v18 or later)
- 30 minutes of focused time
- We'll use TodoMVC (<https://todomvc.com/examples/react/>) as our demo app
:::

:::tip[Quick Path]
Load TEA (`*tea`) → scaffold framework (`*framework`) → create test plan (`*test-design`) → generate tests (`*automate`) → run with `npx playwright test`.
:::
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Align Node.js version guidance with the README.

Line 16 says Node.js v18+, while the README Quick Start states v20+. This inconsistency can confuse users; please align the minimum version.

🔧 Suggested fix (if v20+ is the actual minimum)
- - Node.js installed (v18 or later)
+ - Node.js installed (v20 or later)
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
:::note[Prerequisites]
- Node.js installed (v18 or later)
- 30 minutes of focused time
- We'll use TodoMVC (<https://todomvc.com/examples/react/>) as our demo app
:::
:::tip[Quick Path]
Load TEA (`*tea`) → scaffold framework (`*framework`) → create test plan (`*test-design`) → generate tests (`*automate`) → run with `npx playwright test`.
:::
:::note[Prerequisites]
- Node.js installed (v20 or later)
- 30 minutes of focused time
- We'll use TodoMVC (<https://todomvc.com/examples/react/>) as our demo app
:::
:::tip[Quick Path]
Load TEA (`*tea`) → scaffold framework (`*framework`) → create test plan (`*test-design`) → generate tests (`*automate`) → run with `npx playwright test`.
:::
🤖 Prompt for AI Agents
In `@docs/tutorials/getting-started/tea-lite-quickstart.md` around lines 15 - 23,
Update the Node.js version in the Prerequisites note from "v18 or later" to "v20
or later" so it matches the README Quick Start; edit the "Prerequisites" block
(the Node.js line in tea-lite-quickstart) and verify any other Node.js mentions
in this document are changed to v20+ for consistency.

Comment on lines 40 to 45
logo: {
src: './public/img/logo.svg',
alt: 'BMAD Logo',
light: './public/img/bmad-light.png',
dark: './public/img/bmad-dark.png',
alt: 'BMAD Method',
replacesTitle: true,
},
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

# Find and check the package.json for `@astrojs/starlight` version
find . -name "package.json" -type f | head -5 | xargs grep -l "@astrojs/starlight"

Repository: bmad-code-org/BMAD-METHOD

Length of output: 83


🏁 Script executed:

# Get the full context of the astro.config.mjs file
cat -n website/astro.config.mjs

Repository: bmad-code-org/BMAD-METHOD

Length of output: 8329


🏁 Script executed:

# Check if there are any other logo configurations or documentation in the repo
rg -i "logo\.(light|dark|replacesTitle)" -A 2 -B 2

Repository: bmad-code-org/BMAD-METHOD

Length of output: 51


🏁 Script executed:

cat -n package.json | grep -A 2 -B 2 "@astrojs/starlight"

Repository: bmad-code-org/BMAD-METHOD

Length of output: 252


🌐 Web query:

Starlight @astrojs/starlight logo configuration light dark replacesTitle API

💡 Result:

Yes — Starlight's logo option supports a simple API that lets you set a single image or light/dark variants, plus accessibility and title-replacement flags.

Key API (used inside starlight({ ... }) in astro.config.mjs):

  • logo can be either { src: string } or { light: string; dark: string }.
  • Optional properties: alt?: string and replacesTitle?: boolean (when true the visual site title is hidden but kept for screen readers).
  • Type signature from the docs:
    type LogoConfig = { alt?: string; replacesTitle?: boolean } & ({ src: string } | { light: string; dark: string }). [see docs]

Minimal examples:

  • Single src
    starlight({ title: 'My site', logo: { src: './src/assets/my-logo.svg' } }). [see docs]
  • Replace title visually
    starlight({ title: 'My site', logo: { src: './src/assets/my-logo.svg', replacesTitle: true } }). [see docs]
  • Light / dark variants
    starlight({ title: 'My site', logo: { light: './src/assets/light.svg', dark: './src/assets/dark.svg' } }). [see docs]

Sources: Starlight customization guide and configuration reference. [1][2]


🏁 Script executed:

# Verify if the public/img directory and files exist
ls -la website/public/img/ 2>/dev/null || echo "Directory check result"
fd -t f "bmad-(light|dark)" website/

Repository: bmad-code-org/BMAD-METHOD

Length of output: 438


🌐 Web query:

Astro public directory asset paths ./public vs / root-relative

💡 Result:

Short answer

  • Put files you don't want processed into /public and reference them with root‑relative paths like /images/foo.png. This is the documented Astro convention. [1][2]
  • Using ./relative paths in markup points at the current page URL (and can break when pages live in subpaths) — prefer root‑relative or import assets from src/ so Astro can bundle/optimize them. [1][3]
  • If you deploy to a subpath (example.com/docs), set astro.config.mjs base (or use import.meta.env.BASE_URL) and prefix public URLs with that base so asset URLs resolve correctly. [4][2]

References

  1. Astro Images / public vs src guidance. [1]
  2. Astro Assets / Image examples showing /public paths. [3]
  3. Astro config: base and import.meta.env.BASE_URL (use when deploying under a subpath). [4]

Fix logo asset paths to use root-relative URLs for public directory.

Lines 41–42 incorrectly use ./public/img/.... In Astro, files in the public/ directory are served at the root and must be referenced as root-relative URLs (/img/...), not file system paths. Using ./public/ will fail to resolve at build time. The light/dark variants and replacesTitle flag are fully supported in Starlight ^0.37.0.

🔧 Suggested fix
Suggested change
logo: {
src: './public/img/logo.svg',
alt: 'BMAD Logo',
light: './public/img/bmad-light.png',
dark: './public/img/bmad-dark.png',
alt: 'BMAD Method',
replacesTitle: true,
},
light: '/img/bmad-light.png',
dark: '/img/bmad-dark.png',
🤖 Prompt for AI Agents
In `@website/astro.config.mjs` around lines 40 - 45, The logo asset paths in the
logo config use filesystem paths ('./public/img/...') which won't resolve;
update the logo object (keys: light, dark, retains replacesTitle) to use
root-relative URLs (e.g., '/img/bmad-light.png' and '/img/bmad-dark.png') so
Astro serves them from the public/ directory at build time.

@bmadcode bmadcode merged commit e0318d9 into bmad-code-org:main Jan 18, 2026
5 checks passed
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.

2 participants