Contributing
We welcome contributions from everyone! There are several ways to contribute, including the following.
- Adding or commenting on tasks in our project management system, Phabricator.
- Contributing to the design process.
- Suggesting new components and design tokens.
- Writing and submitting code.
- Reviewing code.
- Updating and expanding library documentation.
- Providing support to others using Codex.
For technical decisions about the library, refer to the Architecture Decision Records (ADRs) section.
INFO
Contributions to Codex are covered by the Code of Conduct for Wikimedia technical spaces.
Resources
- Figma: design with Codex components in Figma.
- MediaWiki: learn about using Codex within MediaWiki.
- Gerrit: visit the canonical Codex codebase.
- GitHub: visit a mirror of the Gerrit codebase on GitHub.
Task tracking
Tasks are tracked in Phabricator on the Codex Phabricator workboard.
Within this board, filters are used to organize tasks into categories, including but not limited to:
- Good first tasks: tasks that are good starting points for new contributors.
- New components: tasks relating to the addition of new components in Codex.
- Bugs: tasks that have reported a bug in Codex.
- Accessibility tasks: tasks to improve accessibility in Codex.
- Design tasks: tasks that are design oriented.
FAQ
What if I have a question about something related to Codex?
Please get in touch with us.
What is the status of something Codex related?
The status of a particular task can be found on the Codex Phabricator workboard. If a task exists, the task will be in the column that represents its current status. If not, you can create a task (see below) or get in touch with us.
Can I request a feature?
You are welcome to create new tasks on the Codex Phabricator workboard. New tasks will go into our "Inbox" 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.
Please use the Phabricator templates for each type of request:
How can I track Codex tasks?
Create a Phabricator account and add yourself as a subscriber to a task to get notified when updates are made.
How can I contribute to a task?
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"?