Guides
How to Contribute

How to contribute

You can contribute in several ways, depending on your interest and bandwidth. Whether you want to volunteer for existing work or just submit an idea or report a bug, there are processes to follow. Learn about them here.

GitHub

GitHub is where contributions will happen. Access the Shoreline issues list (opens in a new tab) to have a general view of what is happening and open new issues.

GitHub Issues

Access the Shoreline project (opens in a new tab) to have a view of the existing issues organized by status, and also filtered views for Design tasks and Dev tasks.

GitHub Project

  • No status: Issues that still don't have any discussion.
  • Discussing: Issues that have any discussions going on, including defining solutions in design or code. Check the issue labels (opens in a new tab) to understand the nature of the discussion (bug (opens in a new tab), proposal (opens in a new tab), idea (opens in a new tab), or question and feedback (opens in a new tab)), its subject, and if designer or developer inputs are needed.
  • Backlog: Issues in which the discussion was concluded, a maintainer approved the solution, and they are ready to be implemented by anyone who volunteers. Feel free to reach out to the maintainers through the GitHub issue if you want to volunteer. Keep in mind that when taking a task from the backlog, you are responsible for it. Make sure to communicate with the maintainers if you have any questions or need help.
  • Active: Issues for which someone has already volunteered to implement the solution and is already working on the tasks.
  • Done: Issues that a maintainer reviewed, approved the changes, and merged the PR.

Bug report

Reporting a bug means that you’ve found a potential problem with the library, in Figma or code, and want to share it with the community or even propose a solution for it.

Bug report flow

Open an issue

Use the bug report template (opens in a new tab) and answer questions like what is the context, the problem you are facing, and the evidence you have. If you already have a potential solution to this problem don’t forget to share it. Don't worry if you aren’t sure about the issue! Share it and start a discussion as early as possible.

For bug fixes in Figma, propose a solution by creating a branch in the library with the name Fix [Component or Icon name].

Discussion

Get feedback through comments on the GitHub issue, on Figma, or by attending office hours. As you make progress, make sure to update your issue.

Definition

As the discussions and refinements occur, your issue can be classified by a maintainer as valid to be resolved or not. If it is valid, these are the following steps:

  • Figma bugs: Prepare the handoff following the guidelines (opens in a new tab) and post the files in the issue. A maintainer will review, approve, and merge the component or icon branch in the Figma library.
  • Code bugs: A maintainer will review and approve the solution.

When the issue is in great shape and includes the necessary information and/or files to be implemented, it will be moved to the Backlog (opens in a new tab) column by a maintainer.

Proposal

Submitting a proposal means that you've already created a solution for a problem and want to share it with the community.

Proposal flow

Your proposal can have two origins:

  • You have already created a solution for your context needs and want to start a discussion about it. Remember to question yourself before submitting the proposal if the solution brings significant value to Shoreline and its users.
  • You find an existing issue with a design wanted or dev wanted label and volunteer yourself to work on it. Before moving on with volunteering, ask yourself if you're clear on the scope of the project, if the task is feasible for you to do, and if you would need to collaborate with someone else. Feel free to ask any questions!

If everything is clear, move on with submitting your proposal.

Open an issue

Use the proposal template (opens in a new tab) and answer questions like the problem you are solving, your solution, and the references you had. If the proposal is related to an existing issue, remember to mention it. Don't worry if your proposal is not finalized yet! Share it and start a discussion as early as possible.

For proposals in Figma, create a branch in the library with the name Add [Component or Icon name] or Update [Component or Icon name].

Discussion

You can get feedback through comments on the GitHub issue or by attending office hours. As you make progress, make sure to update your issue.

Definition

As the discussions and refinements occur, your issue can be classified by a maintainer as valid to be resolved or not. If it is valid, these are the following steps:

  • Design proposal: Prepare the handoff following the guidelines (opens in a new tab) and post the files in the issue. A maintainer will review, approve, and merge the component or icon branch in the Figma library.
  • Code proposal: A maintainer will review and approve the solution.

When the issue is in great shape and includes the necessary information and/or files to be implemented, it will be moved to the Backlog (opens in a new tab) column by a maintainer.

Idea

Submitting an idea means that you just want to suggest an enhancement to Shoreline.

Idea flow

Open an issue

Use the idea (opens in a new tab) template and answer questions about the feature like what is the context, how can we benefit from it, and the rationale behind it. If you already have a potential solution to this issue don’t forget to share it. Don't worry if you aren’t sure about the issue! Share it and start a discussion as early as possible.

Discussion

You can get feedback through comments on the GitHub issue or by attending office hours. Make sure to share all the necessary information about the feature so the community can help giving insights and sharing their context as well. As you make progress, make sure to update your issue.

Definition

As the discussions and refinements occur, your issue can be classified as valid to be resolved or not.

If the issue is classified as valid by a maintainer and needs a design or code proposal, it will be tagged as design wanted or dev wanted and a volunteer will be responsible for starting a proposal flow (opens in a new tab).

Question & Feedback

Asking a question or sending a feedback means that you have something to share with maintainers or the community that probably is bothering you. Feel free to reach us anytime you need!

Question and Feedback flow

Open an issue

Use the question template (opens in a new tab) and answer important questions about your submission like how we can help, what have you tried, and any additional information. Don't be shy! Share it and start a discussion as early as possible.

Discussion

You can get feedback through comments on the GitHub issue or by attending office hours. Make sure to share all the necessary information about the feature so the community can help giving insights and sharing their context as well. As you make progress, make sure to update your issue.

Definition

The idea here is that your issue act as a forum for discussion and resource for others that might have the same question. If the issue is resolved, a maintainer will close it.

Your question or feedback can be used as a reference for an idea for enhancement or potential bug fix. Then, it will follow the processes according to its nature.