Contributing to TDS
Role-specific guides and resources:
There are many ways you can contribute to the design system, including submission of bug fixes, documentation improvements, and participation in discussions.
We welcome contributions to the currently available components. Check the component documentation to see what is on the roadmap for each one. If you would like to contribute to any of the available TDS components, see how to contribute.
Before designing or contributing new components, confirm the following criteria in order to qualify a viable community component. If the suggestion you would like to raise does not perfectly match the criteria below, don't be too discouraged from opening an issue anyway. The Digital Platform Ambassadors and TDS Core team will discuss opportunities with your proposal.
A TDS component:
- Must have an identified use case in at least 2 unique applications
- Community components have the most impact when shared across multiple situations in many experiences
- Core components have the most impact when shared across the majority of TELUS experiences
- Must be brand aligned and assessed by Design Direction (if applicable)
- New user experience patterns must involve Design Direction to preserve a high-quality and consistent end customer experience.
- Must not include business logic or proprietary information
- The presence of these things limits the breadth of reuse for a component
- Design system components are focused on reusable user experience patterns; they should act as a view that can accept predictable data types
- Keep business logic, API calls, content, or other application-specific behaviour in the application.
- Must be sufficiently different than other available shared components
- Community components reduce duplication by promoting flexibility and reuse of existing code
- Before creating a new component, consider whether an existing pattern and component is sufficient. If not, consider extending or adding features to an existing component before creating a new one
- Should be sufficiently granular to promote reuse - Design system components should encapsulate a single pattern or user experience "element." Seek to find the most granular, standalone, reusable pattern
How to contribute
1. Submit an issue
We use Github Issues to track all of our bugs and open discussions so that they are visible to all consumers of the design system.
However, if you would like to make a small adjustment to documentation, you may jump straight to opening a pull request. If you found a bug or would like to begin a conversation, follow these steps:
- Ensure the issue was not already reported by searching the issues
- If you're unable to find an open issue addressing your concern, either:
- Be sure to include a title and clear description, as much relevant information as possible, and - if applicable - a code sample or executable test case demonstrating the expected behaviour that is not occurring
2. Develop a solution
There are different paths to developing a solution depending on your goal:
- Making documentation changes within GitHub: you can make changes to TDS documentation from GitHub without having to write code. You can follow this guide on how to edit files within GitHub. When making commits, be sure to follow the TELUS commit standards. There is no need to create an issue first, you may edit documentation and create a pull request anytime.
- Designers producing assets or symbols: follow the designer guide to contributing Sketch files.
- Developers making changes to components: follow the developer guide to set up your environment for TDS development and read the codebase overview to understand the structure of the codebase and the conventions being followed
3. Make a pull request
First, thanks for taking the time. :)
- Ensure the pull request description clearly describes the problem and the solution. Include the relevant issue number when you submit your pull request
- The TDS Platform team is monitoring for pull requests. We will review your pull request and either merge it, request changes to it, or close it with an explanation