Skip to content

Latest commit

 

History

History
196 lines (140 loc) · 11.7 KB

CONTRIBUTING.md

File metadata and controls

196 lines (140 loc) · 11.7 KB

Contributing to untukkita.sda

To contribute to this project, we ask all contributors to understand some of the features of GitHub to make it easier for maintainers to review all contributions made by contributors.

Onboarding

All developments in this project use issues as the basis for all contributions made. Everyone can provide an issue for discussion. You can search for available issues on the issues tab of this repository. Contributors can contribute to open issues. Contributors are free to choose which issues will be taken and worked on by themselves. Otherwise, closed issues are issues that have been resolved and do not need to be followed up unless there are problems related to the issue in the future.

Getting Involved

It was previously explained that this project was developed based on the available issues, now it will be explained how to work with the issues themselves.

Before starting, make sure you have done the following:

  1. Fork the untukkita.sda repository properly.
  2. Check the Pull Request and make sure no one is working on the issue you are going to work on.
  3. Create a new branch from the main branch with name format:
<issuesnumber>-<type>-issuesshortname

Example:
1-feat-ssgrendering

It is important to note that the branch name should be unique.

After doing these checks, communicate to the maintainer about the issue that you will be working on. That way, the maintainer will assign the issue to you and everyone can know if you're working on the issue.

Not only that, you can also use the Draft Pull Request as a sign that you are working on the issue, regardless of the status in progress or the review process.

That said, communicate with the maintainer either through issue cards or Draft Pull Requests. The maintainer will be happy to review all of your contributions.

Working with Issues

Issues can be opened by anyone, you can open an issue easily. We recommend using the provided template so that each issue has a description and it is easy to categorize the issue.

Currently, there are two kinds of issue templates that anyone can create, namely Bug Reports and Feature Requests & Changes.

In creating an issue, please pay attention to the format for naming the issue to make it easier for contributors and maintainers to find and categorize issues.

type: Issues Title

Example:

feat: Add new feature
fix: Fix bug
docs: Add documentation
style: Fix style
refactor: Refactor code
perf: Improve performance
test: Add tests

Make a Pull Request

  1. Commit and push the changes you made to your fork repository. Make sure you are following the Conventional Commits guidelines.
  2. Create a new Draft Pull Request.
  3. Give a clear title and description using the project PR template.
  4. Pick Create Draft Pull Request as the action.
  5. Don't forget to change your PR as Ready to review when you're done.

Pull Request Template

To make it easier to structure a good pull request description, use the Pull Request Template format provided when creating a Pull Request. A basic example can be seen below.

# Description

Closes #

## Finished Task

## Screenshots (if appropriate)

## Types of changes

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)

References

Conventioanl Commits

The Conventional Commits specification is a lightweight convention on top of commit messages. It provides an easy set of rules for creating an explicit commit history; which makes it easier to write automated tools on top of. This convention dovetails with SemVer, by describing the features, fixes, and breaking changes made in commit messages.

Please read more at Conventional Commits.

The commit message should be structured as follows:

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]

Commit Types

Below are the types of commit that can be made:

Type Description
feat A new feature
fix A bug fix
docs Documentation only changes
style Changes that do not affect the meaning of the code.
refactor A code change that neither fixes a bug nor adds a feature
perf A code change that improves performance
test Adding missing or correcting tests
chore Changes to the build process or auxiliary tools and libraries
revert Revert to a commit
ci Changes to CI configuration files
build Changes to the build system itself

Commit Scopes

Below are the scopes that can be used:

Type Description
page Changes to the page
seo Changes to the SEO
ui Changes to the UI
dx Changes to the DX
deps Changes to the deps
assets Changes to the assets

Issues and Pull Requests Labels

Issue labeling is intended to categorize issues and pull requests to make it easier for maintainers to document and create project milestones.

Status labels

Label Description
status-open Open issue
status-close Closed issue
status-merge Merged issue
status-duplicate Duplicate issue
status-invalid Invalid issue
status-wip Work in progress issue
status-wontfix Won't fix issue
status-needs-review Needs review issue
status-needs-discussion Needs discussion issue
status-verified Verified issue
status-other Other issue

Types Labels

Label Description
type-bug Bug report
type-feature Feature request
type-improvement Improvement request
type-documentation Documentation change
type-style Style change
type-refactor Refactor change
type-testing Test change
type-other Other change
type-question Question

Priority Labels

Label Description
priority-critical Must be resolved immediately
priority-high Need more attention and effort
priority-medium Issues can be resolved with peace
priority-low Issues can be ignored when everything in heat
priority-trivial We don't know exactly
priority-other It must be resolved, when?

Scope Labels

Label Description
scope-ux UX related
scope-ui UI related
scope-security Security related
scope-performance Performance related
scope-accessibility Accessibility related
scope-other Other
scope-dx DX related
scope-ci-cd CI/CD related
scope-seo SEO related

Any problems could be reported to @untukkita Sidoarjo Discussion Tab.

Happy Contributing ❤️