Contributing

What kind of code contribution are you making?

Engineering flow

Engineering flow

Requesting a new component, feature, bugfix, or improvement

  1. Submit bug reports and feature requests to the Odyssey Jira board.
  2. Slack the team in #odyssey so your request can be prioritized and added to a sprint.

Changing code or improving that you've made yourself

  1. In Github, create a Git branch of the codebase you’re updating, then make changes within that branch.
  2. Ping the Odyssey team when your changes are ready for review — if they’re accepted, the branch will be merged into main.

Contributing code for a new component or pattern

  1. Any new code should reflect a designed component in the Odyssey Labs project. Sync with your design partners and the Odyssey team to ensure the Labs component is finalized.
  2. Build the component by composing existing Odyssey components where possible, falling back on MUI primitives only when absolutely necessary. Follow the code contribution guidelines outlined in Storybook.
  3. Follow the standard GitHub PR process.

Odyssey code standards

The design system team will help your code meet Odyssey standards. Code in Odyssey must:

  • Be accessible
    • Include all relevant ARIA roles
    • Work with screen readers
    • Be fully keyboard-accessible
  • Be internationalization-ready
    • Support RTL
  • Be responsive
  • Support different device and container sizes
  • Support different modes of input (click, tap, etc)
  • Support theming

Have questions or need support?

Oktanauts can use the following resources when building with Odyssey:

  • Check the Odyssey 1.0 FAQs.
  • Join #odyssey in Slack to ask questions and stay up to date about the design system.
  • Attend Odyssey Office Hours on Mondays and Wednesdays from 1-1:30 p.m. PT / 4-4:30 p.m. ET.
  • Submit bug reports and feature requests to the Odyssey Jira board
  • Request a new component using the Odyssey component proposal.