Compare commits

..

4 Commits

Author SHA1 Message Date
gabadi 5aedab3aea
Merge d80d05ad30 into 783601b576 2026-04-04 20:00:27 -07:00
Brian 783601b576
fix: move BMB announcement to custom Banner component (#2210)
Starlight banner config doesn't render with custom Header. Added
announcement row to Banner.astro and removed unused config.
2026-04-04 16:10:37 -05:00
Brian 975aea6e74
docs: add BMad Builder announcement banner to docs site (#2209) 2026-04-04 16:02:26 -05:00
Alex Verkhovsky f98083ba75
docs: add contribution guardrails for unsolicited PRs (#2207)
Add Discord-first callout banner and AI-generated code curation policy.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 12:13:06 -05:00
2 changed files with 38 additions and 16 deletions

View File

@ -6,6 +6,12 @@ Thank you for considering contributing! We believe in **Human Amplification, Not
---
> **Before you write code: talk to us on [Discord](https://discord.gg/gk8jAdXWmj).**
>
> If your change adds features, restructures code, or touches more than a couple of files, **confirm with a maintainer that it fits**. A large PR out of the blue has a high chance of being closed — regardless of effort invested. A five-minute conversation can save you hours.
---
## Our Philosophy
BMad strengthens human-AI collaboration through specialized agents and guided workflows. Every contribution should answer: **"Does this make humans and AI better together?"**
@ -57,15 +63,10 @@ After searching, use the [feature request template](https://github.com/bmad-code
## Before Starting Work
⚠️ **Required before submitting PRs:**
| Work Type | Requirement |
| ------------- | ---------------------------------------------- |
| Bug fix | An open issue (create one if it doesn't exist) |
| Feature | An open feature request issue |
| Large changes | Discussion via issue first |
**Why?** This prevents wasted effort on work that may not align with project direction.
| ----------------------- | -------------------------------------------------------- |
| Typo / small bug fix | Just open the PR |
| Feature or large change | Confirm with a maintainer on Discord **before** you start |
---
@ -83,6 +84,12 @@ Submit PRs to the `main` branch. We use trunk-based development. Every push to `
If your change exceeds 800 lines, break it into smaller PRs that can be reviewed independently.
### AI-Generated Code
Given the nature of this project, we expect most contributions involve AI assistance — that's fine. What we require is **heavy human curation**. You must understand every line you're submitting, have made deliberate choices about what to include, and be able to explain your reasoning.
We will reject PRs that read like raw LLM output: bulk refactors nobody asked for, unsolicited "improvements" across many files, or changes where the submitter clearly hasn't read the existing code. Using AI to write code is normal here; using AI as a substitute for thinking is not.
### New to Pull Requests?
1. **Fork** the repository

View File

@ -7,9 +7,13 @@ const llmsFullUrl = `${getSiteUrl()}/llms-full.txt`;
<div class="ai-banner" role="note" aria-label="AI documentation notice">
<span>🤖 Consolidated, AI-optimized BMAD docs: <a href={llmsFullUrl}>llms-full.txt</a>. Fetch this plain text file for complete context.</span>
</div>
<div class="announce-banner" role="note" aria-label="BMad Builder announcement">
<span>🚀 Build your own BMad modules and share them with the community! <a href="https://bmad-builder-docs.bmad-method.org/tutorials/build-your-first-module/">Get started</a> or <a href="https://bmad-builder-docs.bmad-method.org/how-to/distribute-your-module/">submit to the marketplace</a>.</span>
</div>
<style>
.ai-banner {
.ai-banner,
.announce-banner {
width: 100%;
height: var(--ai-banner-height, 2.75rem);
background: #1a1a1a;
@ -25,37 +29,48 @@ const llmsFullUrl = `${getSiteUrl()}/llms-full.txt`;
}
/* Truncate text on narrow screens */
.ai-banner span {
.ai-banner span,
.announce-banner span {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 100%;
}
.ai-banner a {
.ai-banner a,
.announce-banner a {
color: #3b82f6;
text-decoration: none;
font-weight: 600;
}
.ai-banner a:hover {
.ai-banner a:hover,
.announce-banner a:hover {
color: #fafafa;
text-decoration: underline;
}
.ai-banner a:focus-visible {
.ai-banner a:focus-visible,
.announce-banner a:focus-visible {
outline: 2px solid #3b82f6;
outline-offset: 2px;
border-radius: 2px;
}
.announce-banner {
background: #1a2332;
border-bottom: 1px solid #1e3a5f;
}
/* Match navbar padding at breakpoints */
@media (min-width: 50rem) {
.ai-banner {
.ai-banner,
.announce-banner {
padding-left: 2.5rem;
padding-right: 2.5rem;
}
}
@media (min-width: 72rem) {
.ai-banner {
.ai-banner,
.announce-banner {
padding-left: 3rem;
padding-right: 3rem;
}