Overview
First of all, thank you for your interest in contributing to Abyss. All of your contributions are valuable to the project! There are several ways you can get involved in the Abyss community and become a contributor:
- Share Abyss: Share the link to Abyss with members of your product team, and we'd be happy to discuss how we can help support your application.
- Improve documentation: Help us improve the Abyss Docs by fixing incomplete or missing sections, examples, and explanations.
- Provide feedback: The team at Abyss are constantly working to make the project better, please let us know what features you would like to see with the Contact Us form.
Abyss Code Repo
Setting Up Project Locally
For the essential system tools to get Abyss running on your local development environment, visit our workspace setup guide.
To set up, clone the abyss repository:
# Make the abyss-projects directorymkdir abyss-projects && cd abyss-projects
# Clone the abyss repositorygit clone https://github.com/uhc-tech/abyss.gitAfterwards, install the dependencies for abyss on your machine:
# Go into the abyss directorycd abyss
# Install abyss dependenciesnpm iThen you are ready to start abyss-docs on your machine:
npm run docsCommit Conventions
Head to the Abyss source code for updates and additions to our Abyss NPM packages and documentation. With several contributors working in these repos daily, it's important to write your commit messages to be as descriptive as possible.
Commit Convention:
[area] Optional title: MessageExamples:
[docs] Button: Edit accessibility section
[@uhg-abyss/ui] useLoadingOverlay: Add remove handler
[@uhg-abyss/core] Fix non-prod deployment scripts
[@uhg-abyss/ui] Carousel: New feature added
[docs] Doc scripts: Fix docs deployment scriptGit Branch Names
Naming the branch you're working on helps repository maintainers understand the changes being made when the PR is opened. Using consistent branch name prefixes also allows build tools to automatically categorize the branches using labels. Branch names should be all lowercase (with the exception of US and DE) and include hyphens between words. All branches are divided into four groups:
-
story/####### - Changes associated with a User Story, use the unique 7-digit number from Rally followed by a task description.
-
defect/####### - Changes associated with a Defect, use the unique 7-digit number from Rally followed by a task description.
-
refactor/ - Changes to the repo that aren't documented in Rally are considered refactors, so use the task portion to add detail to your branch name.
-
release/ - Used specifically by build tools, this branch name is exclusive to release notes and documentation leading up to a new release.
Examples:
git checkout -b story/US2434515-developer-toolkit
git checkout -b defect/DE308703-button-accessibility
git checkout -b refactor/select-list-multi-docs
git checkout -b story/US1533842-use-loading-overlayBranch Name Rules:
- Branch prefix must start with story, defect, refactor, or release
- Branch name must be only lowercase letters, numbers, and hyphens
- US### and DE### are valid character exceptions
Secure Groups
Visit secure.uhc.com to request permissions groups:
- abyss_contributors: For write access to abyss code repositories
Developer Tools
Abyss is built using a list of trusted resources. Below are links to what makes up the framework of Abyss Mobile.
If you're ready to get started with Abyss on your own, checkout the Abyss StarterKit (coming soon) to get started.
Design Tools
Abyss has a dedicated team of designers creating a Design Kit on Figma. Below are some resources to help developers navigate these tools:
If you're a designer and want to dive deeper into the Abyss Design Kit, visit our Designer Getting Started (coming soon) page to learn more.