How to Contribute
How to bring your ideas, feedback, and work into Marigold.
Marigold is shaped by the people who use it. If something is missing, broken, or could work better, we want to hear about it. And if you want to help fix it, even better.
You don't need to write code to contribute. Bug reports, design feedback, and ideas for new components all move the system forward. This page walks you through how that works in practice.
Start with an idea
Maybe a component doesn't cover your use case. Maybe you've seen a pattern elsewhere that would work well here. Maybe something just feels off.
Things worth bringing up:
- A missing component or a gap in an existing one
- A bug or unexpected behavior
- A design pattern that could work across products
- Something in the docs that's unclear or outdated
- Feedback on how a component works in your application
You don't need a polished proposal. A rough observation is enough to start the conversation.
Share it
Post in our Slack channel (internal only) or file a request through the support portal (internal only). Either works.
The sooner the better
Don't sit on an idea until it's fully formed. A quick message in Slack like "I think we might need X" is a perfectly fine way to start.
For bugs, describe what you expected and what actually happened. If you can, create a reproduction in StackBlitz. That makes it much faster for us to understand the problem.
Work on it together
Once you've shared an idea, the design system team will look at it. We typically ask ourselves three questions:
- Does this address a real problem teams are running into?
- Is it consistent with UX patterns our users already know?
- Will more than one product benefit from it?
This can feel slower than what you're used to on the product side, and that's by design. Marigold is shared infrastructure. What goes in gets used by every team, so we take the time to make sure it holds up. Products move fast and experiment. The design system absorbs what works and makes it durable.
That said, this isn't a gate you pass through alone. We'll shape the idea with you. Sometimes that means narrowing the scope, sometimes it means combining your request with similar ones from other teams.
If you can, pair up. A developer and a designer working together tend to produce something that works well on both sides. We're happy to help make those connections.
If timelines don't align
Sometimes we agree on the value of an idea but can't get to it right away. That's a natural part of how product teams and the design system work at different speeds, and it doesn't mean you're stuck.
You can build your own solution in the meantime. Think of it as writing the first draft. Use Marigold's design tokens and existing building blocks where you can, so things stay consistent. Keep us in the loop and we'll help you stay on track. When the design system catches up, we can take what you've built, refine it, and turn it into something the whole company benefits from.
Submit your work
Not every contribution needs to be a pull request. If you have a design, a sketch, or a well described idea, that's enough. The design system team can take it from there and handle the implementation.
If you do want to contribute code, the Marigold GitHub repository is the place. You can browse existing components in Storybook to see how things are structured. It helps to follow existing patterns and keep pull requests small, but it doesn't need to be perfect. We'll review it together and fill in what's missing.
When it ships
Your contribution becomes part of Marigold and goes out to every team that uses it. We document changes in our release notes so people know what's new and who made it happen.