Since Origami is largely open source, we welcome contributions from all of our users. There are a number of ways that you can contribute, and we provide tooling and processes to help you do that.
The Origami registry houses components that the Origami team maintains, as well as components that other teams are responsible for.
For the Origami team to oversee a component’s maintenance, a proposal needs to be made. You can find information about that process in the origami-proposals project board, where all proposals are logged.
After the team have reviewed and accepted the proposal, according to the project guidelines, we will take responsibility for this component and help build and maintain it.
If would like to create a component that you don’t expect the team to maintain, such as an experimental or product-specific component, there are minimum requirements that need to be adhered to. These requirements allow any component to be picked up by the registry and ensure consistency across all components’ behaviour.
You can use the Origami Build Tools for this, as it will provide a boilerplate with those requirements.
npm i -g origami-build-tools
The alias for this library is
Choose a sufficiently descriptive name for your component, and prefix it with
Once you’ve done that, run:
obt init o-new-component
obt init will generate a new folder structure that meet the aforementioned requirements with the component name you’ve chosen, and will generate JS and SASS files with code bases that imitate other components.
If there is a new feature, a bug fix or anything else missing from a component that you might need, you can:
Issues are important for Origami, as they provide a place for us to track discussions about changes to components. They allow us to reference past discussions and inform future decisions, and help to stop us from talking about the same thing multiple times.
If there is a change you would like to see, we appreciate a detailed description of the problem and your reasoning. Our components have issue templates that help us get to the root of the problem, but feel free to be liberal in your explanations and examples when opening a new issue.
If you’ve chosen to make changes to the component, you’ll need the Origami Build Tools. In addition to building the scaffolding for a component, these command-line tools enable us to install dependencies, build demos locally, test our work and more.
We provide details on what commands to use for
obt in its documentation
When everything is right, open a PR with your changes to the component.
We appreciate details about your changes and screenshots to illustrate them, where relevant. Make sure to request a review from
Financial-Times/origami-core, which will notify all members of the Origami team, and we’ll take a look at it!