Thank you for considering contributing to the UX Design System Framework project. Your contributions help make this project better for everyone.
- Code of Conduct
- How to Contribute
- Reporting Issues
- Pull Requests
- Development Setup
- Coding Standards
- Code Quality
- Documentation
- Running Tests
- Creating ADRs
This project adheres to a Code of Conduct. By participating, you are expected to uphold this code. Please report any unacceptable behavior to [email protected].
If you find a bug or have a feature request, please open an issue in the issue tracker. Be sure to include:
- A descriptive title.
- A detailed explanation of the issue or request.
- Steps to reproduce the issue (if applicable).
- Any relevant screenshots or logs.
We welcome your pull requests! To ensure a smooth process, please follow these steps:
-
Fork the Repository:
- Create your own copy of the repository by clicking the
Fork
button on GitHub.
- Create your own copy of the repository by clicking the
-
Clone the Forked Repository:
git clone https://github.com/your-username/design-system-framework-swiftui.git
-
Create a New Branch:
git checkout -b feature/your-feature-name
-
Make Your Changes:
- Develop your feature or fix on the new branch. Ensure that you follow the coding standards.
-
Commit Your Changes:
- Use clear and concise commit messages.
git commit -m "Add a concise and descriptive commit message"
-
Push Your Changes:
git push origin feature/your-feature-name
-
Submit a Pull Request:
- Go to the original repository and click
New pull request
. - Provide a detailed description of your changes.
- Link to any relevant issues or ADRs if applicable.
- Go to the original repository and click
Follow these steps to set up your development environment:
-
Clone the Repository:
git clone https://github.com/your-repo/design-system-framework-swiftui.git
-
Navigate to the Project Directory:
cd design-system-framework-swiftui
-
Open the Project in Xcode:
- Open the project folder in Xcode:
- Command line:
xed .
- Finder: Right-click the project folder and select "Open with Xcode"
- Command line:
- Open the project folder in Xcode:
-
Resolve Dependencies:
- Xcode should automatically resolve and fetch dependencies when you open the project.
-
Run Tests:
- Ensure all tests pass by selecting
Product > Test
from the menu or using the shortcut (Cmd + U
).
- Ensure all tests pass by selecting
Please adhere to the following coding standards to ensure consistency:
- Follow the Swift API Design Guidelines.
- Consistently apply design tokens across all components.
- Use SwiftLint to enforce a consistent code style.
- Write unit tests for all critical functionalities.
- Document all public APIs thoroughly.
To maintain high code quality, we use the following linters and tools in our CI/CD pipeline. Please ensure your code adheres to these standards before submitting a pull request:
-
SwiftLint:
- SwiftLint enforces Swift style and conventions. Refer to the SwiftLint configuration file for our specific rules.
- Install SwiftLint via Homebrew:
brew install swiftlint
-
Yamllint:
- Yamllint checks YAML files for syntax errors and style issues. Refer to the Yamllint configuration file for our specific rules.
- Install Yamllint via Homebrew:
brew install yamllint
-
Other Linters:
- Additional linters may be used as needed for different file types. Check the project's CI/CD configuration for the full list of linters.
Our CI/CD pipeline will automatically run these linters on every pull request to ensure code quality. Here is a summary of the checks performed:
- swiftlint: Ensures Swift code adheres to style guidelines.
- yamllint: Checks YAML files for syntactical correctness and style issues.
Make sure your code passes these checks before opening a pull request.
Good documentation helps others understand your code. Please:
- Update the
DEVELOPMENT.md
file if your changes affect the development process. - Ensure your code is well-commented, especially for complex logic.
- Update or create relevant ADRs in the
docs/adr
directory.
To run the test suite:
-
Open the Project in Xcode:
- Open the project folder in Xcode using
xed .
or by using Finder.
- Open the project folder in Xcode using
-
Run Tests:
- Run the test suite by pressing (
Cmd + U
).
- Run the test suite by pressing (
Ensure that all tests pass before submitting your pull request.
Architecture Decision Records (ADRs) document significant architectural decisions made during the project. When you need to record an architectural decision, follow these steps:
-
Create an ADR Document:
- ADRs should be created in the
docs/adr
directory. - Use the template provided in
docs/adr-xx-Template.md
.
- ADRs should be created in the
-
Document the Decision:
- Follow the structure in the template.
-
Review and Approval:
- Submit the ADR for review by creating a pull request.
- The ADR must be approved by the Maintainers/Codeowners before it is merged. This ensures that all architectural decisions are aligned with the project's overall strategy.
Thank you for contributing to the UX Design System Framework project. Your efforts help improve the project for everyone. We appreciate your time and dedication!