Contributing
We welcome contributions from everyone! There are several ways to contribute:
- Adding or commenting on tasks in our project management system, Phabricator (links below)
- Contributing to the design process
- Suggesting new components and design tokens
- Writing and submitting code
- Reviewing code
- Updating and expanding library documentation
Contributions to Codex are covered by the Code of Conduct for Wikimedia technical spaces.
How to stay up-to-date
Consider following Codex design, development, roadmaps, and releases in these places:
- Phabricator: used to track the work, and allows others the opportunity to subscribe to tasks, add comments, and claim tasks. Learn more about the use of Phabricator at the Wikimedia Foundation.
- Team page: used to share information about the Design Systems Team's mission, vision, work streams, objectives/key results (OKRs), and roadmap.
- Mailing lists: used to share release notes and summaries for major and minor releases:
- Wikimedia tech news mailing list (wikitech-l)
- Wikimedia design mailing list (design.public)
- ADRs section: used to document technical decisions about the library.
Task tracking
Tasks are tracked in Phabricator. We use three different Phabricator workboards, for three different purposes:
- Codex: used to indicate that a task is related to Codex. We do not track task status here.
- Design-Systems-Team: used to triage, sort, prioritize, and refine tasks that the Design Systems team and contributors will work on.
- Design-Systems-Sprint: used to track active works-in-progress from Research > Design > Development > Testing > Release. As a contributor, you are welcome to track your work related to the Design System on this board as well—just remember to keep the task in the appropriate column that reflects its status.
I want to know the status of something
Check the Codex, Design-Systems-Team, and Design-Systems-Sprint workboards in Phabricator to see if a task exists for that work (for detailed Phabricator search tips, visit this page). If so, the task will be in the column that represents its current status. If not, you can create a task (see below) or contact us (see the Design Systems Team page on mediawiki.org)
I want to request a feature
You are welcome to create new tasks with the #Codex and #Design-Systems-Team tags. New tasks will go into our "Needs Triage (Incoming Requests)" column and will be triaged regularly. Please remember that Codex is maintained by a nonprofit—we won't be able to meet all feature requests, and it might take time to get to your request.
To request a new component, please fill out the new component task template.
I want to follow parts of your work
Create a Phabricator account and add yourself as a subscriber to a task to get notified when updates are made.
I want to contribute to a task
Great! Create or claim a task as soon as you decide to work on it. This will help avoid overlapping, duplicate, or conflicting work. If you're creating a task, add as much detail as you can about the scope of the task: for example, what needs to be completed before the task can be considered "done"?