Contribution Guide

Welcome to the Optimus UI Contribution Guide and thank you for considering contributing.

Optimus UI is a community-maintained Angular UI library, stewarded by OpenNG and dedicated to providing high-quality, versatile and accessible UI components that help developers build better applications faster.

Development Setup

To begin with, clone the Optimus UI repository from GitHub:

git clone https://github.com/openng-org/optimus-ui.git
cd optimus-ui

Then run the documentation app in your local environment at http://localhost:4200/.

pnpm install
pnpm run dev

Project Structure

Optimus UI's project structure is organized as follows:

- apps
  - docs                       // this documentation website
  - tailwind-playgrounds       // Tailwind integration sandboxes
- packages
  - optimus-ui                 // components, directives and services
  - optimus-ui-themes          // built-in theme presets
  - optimus-ui-styled          // styled-mode theming engine
  - optimus-ui-styles          // base styles
  - optimus-ui-tailwindcss     // Tailwind CSS plugin
  - optimus-ui-locale          // i18n locales
  - optimus-ui-motion          // animation utilities
  - optimus-ui-utils           // shared helpers

Optimus UI is a community-driven project stewarded by OpenNG, and we appreciate any help you can provide. Here are some areas where you can contribute:

Issue Triage

Help us manage issues by;

  • Reproducing reported bugs
  • Clarifying issue descriptions
  • Tagging issues with appropriate labels

Sending Pull Requests

We encourage you to send pull requests, especially for issues tagged with the help-needed label.

Community Support

Assist other users by participating in the issue tracker, GitHub discussions, and the Angular community Discord. Your expertise can help others solve problems and improve their experience with Optimus UI.

Optimus UI offers an organization structure involving contributors and the core team:

Contributor Role

After a certain period of frequent contributions, a community member is offered the Contributor role. On average, it may take about three months, but the exact duration can vary depending on the individual commitment.

Committer Role

If a contributor actively participates in the codebase and PRs, their role may be upgraded to a Committer level, providing direct commit access to the Optimus UI codebase.

Contributing to Optimus UI comes with several benefits. Being part of an open-source project will enhance your career and open up exciting opportunities. You'll gain significant visibility in the developer community while improving yourself as a professional.