diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..3246c42 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,245 @@ +# Contributing to ReactJS Indonesia Website + +- [How to contribute](#how-to-contribute) + - [Finding or creating issues](#finding-or-creating-issues) + - [Open Issues](#open-issues) + - [Closed Issues](#closed-issues) + - [For Beginners: `good first issue` label](#for-beginners-good-first-issue-label) + - [Working on issues](#working-on-issues) + - [Getting ready](#getting-ready) + - [Issue assignment & Communication](#issue-assignment--communication) + - [Creating a Draft Pull Request](#creating-a-draft-pull-request) + - [Formatting Pull Request Description](#formatting-pull-request-description) + - [Disabling GitHub Actions](#disabling-github-actions) +- [FAQ](#faq) + - [Why are we using English in our issues & PRs?](#why-are-we-using-english-in-our-issues--prs) +- [Additional Notes](#additional-notes) + - [Commitlint](#commitlint) +- [References](#references) + - [Conventional Commits](#conventional-commits) + - [Commit types](#commit-types) + - [Commit scopes](#commit-scopes) + - [Issue and Pull Request Labels](#issue-and-pull-request-labels) + - [Type of Issue and Issue State](#type-of-issue-and-issue-state) + - [Topic Categories](#topic-categories) + +## How to contribute + +In this project, we are heavily utilising GitHub features to document and signal any progress in the website development. + +### Finding or creating issues + +Most contributions start from defining issues. Anyone can open an issue for discussion. You can head to [this link](https://guides.github.com/features/issues/) for deep understanding about Issues. Specifically, you can start finding several Issues in [our Issues tab](https://github.com/reactjs-id/website-remix/issues). There are only two categories in Issues section, Open and Closed. + +#### Open Issues + +Open Issues are issues that need more attention and need to be resolved. Contributors should pick any of the Open Issues and start working on them. + +#### Closed Issues + +Closed Issues are issues that have been completed or doesn't need further action. Closed issues can be reopened if contributors find any issues related to it sometime in the future. + +Please pay attention on every issue attribute. Every issue might be referenced by other contributors through [Linked Pull Requests](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue). If an issue has a linked pull request, that means the issue is currently being handled. To avoid working on the same issue, contributors were strongly encouraged to submit a [draft pull request](https://github.blog/2019-02-14-introducing-draft-pull-requests/) first when they start working on an issue. + +#### For Beginners: `good first issue` label + +As mentioned [here](https://github.blog/2020-01-22-browse-good-first-issues-to-start-contributing-to-open-source/), `good first issue` is a label feature from GitHub which created to help beginner contributors in contributing to an open-source project. `good first issue` informed us about the difficulty level of an issue. This means that an issue with `good first issue` label suits perfectly for contributors that would like to have their first contribution to an open-source project. + +How to find issues with `good first issue` label: + +1. The easiest way is to go into the `github.com///contribute` link. In this case, you can go into [this link](https://github.com/reactjs-id/website-remix/contribute). That link will list all of the issues with the `good first issue` label. +2. Another way is to head over into the [Issues](https://github.com/reactjs-id/website-remix/issues) section of the repository, then click the Labels section beside Milestones. There you can see a lot of labels for the issues in the repository. Then find and click the `good first issue` label. + +### Working on issues + +#### Getting ready + +Before working on an issue, please make sure to: + +1. Fork the repo properly. Even you have done it before, it's still advised that you read / skim [the official guide](https://docs.github.com/en/get-started/quickstart/fork-a-repo#forking-a-repository). +2. Clone **your forked repository** and set it up by following the [Getting Started guide](https://github.com/reactjs-id/website-remix#getting-started). +3. Check any open [pull requests](https://github.com/reactjs-id/website-remix/pulls) that no one is working on the issue. +4. Create a new branch from the `main` branch. + +#### Issue assignment & Communication + +Once you're ready with your branch and have something to contribute, you'll want to +let everyone know that you are working on the issue. To communicate this, we +are using GitHub's Draft Pull Requests. + +Draft Pull Request is like a regular Pull Request but it can't be merged until +it's marked as "ready for review". It signals other contributors that [it's a +work in progress](https://docs.github.com/en/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request). +This is necessary to signal other contributors that the work for the particular +issue has started and it is still in progress. Also, it is a better approach to +use as a communication tool between contributors because we can provide +additional information other than viewing the changed files. + +Therefore, when you have at least one commit **it's important to create a Draft +Pull Request** to let everyone know that the issue is assigned to you. + +#### Creating a Draft Pull Request + +Steps to creating a Draft Pull Request: + +1. Commit and push your new changes into the remote repository. Please refer to [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/master/@commitlint/config-conventional) for your commit message or you can use [commitlint.io](https://commitlint.io/) to assist you in composing the commit message. +2. Head over to the Pull requests section on your forked repository, hit New pull request. + ![Hint-1](https://user-images.githubusercontent.com/46013258/126284390-c2bd1aa6-fdc2-4aa6-a945-031f02db038e.png) +3. Pick your forked repository for the head repository, and compare with the branch that you are having changes in. + ![Hint-2](https://user-images.githubusercontent.com/46013258/126285036-27b49325-62a2-4a6c-b216-5bae261788da.png) +4. Put a clear title and description in your pull request. Make sure the + description follows [our guide below](#formatting-pull-request-description). + ![Hint-3](https://user-images.githubusercontent.com/46013258/126286179-04341e30-1224-49cb-9b9a-3c3aee99c308.png) +5. Pick Create draft pull request (like in the image above) and hit the green button. +6. Don't forget to mark your Draft Pull Request as Ready for review after you commit all of the changes. + +#### Formatting Pull Request Description + +To properly [link a pull request to an issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue), there is one tiny requirement text to put in a Pull Request description. +Please make sure to mention the issue that you're working on correctly. Replace +this text `` +from the template with the issue number. Example: + +```markdown +Closes #318 + +## Description + +Update **`Start working on Issues`** section with clearer instructions on getting ready to work on an issue. +``` + +### Disabling GitHub Actions + +We recommend contributors to disable GitHub action on your forked repository. + +1. Go to Setting on your forked repository +2. Choose Action on sidebar +3. Disable Actions + ![Disable-actions](https://user-images.githubusercontent.com/35433920/129485485-ca7d1202-5dbc-46f7-b823-978d3f4ed600.png) + +## FAQ + +### Why are we using English in our issues & PRs? + +There are several reasons we're using English while communicating in GitHub Issues & PRs: + +1. It's more natural for software engineers to communicate in English because it involves many technical terms in English. Trying to translate them into Bahasa Indonesia posing a risk of miscommunication, while keeping them in English requires us to do a lot of _italic_ formatting, according to [PUEBI](https://puebi.js.org/huruf/miring). +2. It accustoms the contributors, which are mostly Indonesian, to communicate in English. It is important to increase our English reading and writing skills because the vast majority of the global open-source communities are using Engish as the main language. +3. It makes this project easier to be recognised globally. So if we need to get more support from the global communities, they could easily understand what we are doing and help us out with their access and competence. e.g., providing us free credits for their services, advocating us to global leaders, or contributing directly to our codebase. + +## Additional Notes + +### Commitlint + +In a repository with many contributors like this, it's important to understand +what's going on in it and navigate between commits. Moreover, with various +levels of contributors & their backgrounds, the commit messages can easily be +confusing and the structure may follow different approaches. + +To overcome these issues, the maintainers adopt [commit conventions](https://www.conventionalcommits.org/en/) +to allow contributors to add more semantic meaning to our git history. They use +[commitlint](https://commitlint.js.org/) to lint the git commit messages. +To enforce the conventions, the maintainers use a git hook to run the +commitlint upon a git commit command. The git hook prevents the commit the +staged files if the commit message failed to comply with the conventions. + +It's adviseable to read the [commit conventions](https://www.conventionalcommits.org/en/v1.0.0) +briefly to further understand the other benefits from them. However, if you're +having problems with it, you can use [this +tool](https://commitlint.io/) to help. + +Furthermore, please refer to the list of [commit types](#commit-types) and +[scopes](#commit-scopes) that we use to avoid adding a new scope that has similar +meaning or is synonym to the existing one. + +## References + +### Conventional Commits + +The convention specification looks like this: + +``` +[optional scope]: + +[optional body] + +[optional footer(s)] +``` + +#### Commit types + +Here are what we use for the commit types: + +- `build` +- `chore` +- `docs` +- `feat` +- `fix` +- `perf` +- `refactor` +- `style` +- `test` + +#### Commit scopes + +Here are what we use for the scopes: + +- `assets` +- `ci` +- `cms` +- `components` + - `donasi` + - `education` + - `home` + - `json-ld` + - `kontak-darurat` + - `layout` + - `telemedicine` +- `cypress` +- `deps` +- `dx` +- `e2e` +- `fetcher` +- `pages` + - `faq` + - `isoman` +- `security` +- `seo` +- `ui` + +**Note:** If there's a second level in a list, only the lowest level gets to be used. + +### Issue and Pull Request Labels + +Issue labels are a tool to group issues into one or more categories. +It helps us track and manage issues and pull requests. + +Please open an issue on [`reactjs-id/website-remix`](https://github.com/reactjs-id/website-remix/issues) if you have suggestions for new labels. + +#### Type of Issue and Issue State + +| Label name | `/website-remix` | Description | +| ------------------ | --------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | +| `blocked` | [search](https://github.com/reactjs-id/website-remix/labels/blocked) | Issues blocked by something else. | +| `bug` | [search](https://github.com/reactjs-id/website-remix/labels/bug) | Confirmed bugs or reports that are very likely to be bugs. | +| `enhancement` | [search](https://github.com/reactjs-id/website-remix/labels/enhancement) | New feature or request. | +| `epic` | [search](https://github.com/reactjs-id/website-remix/labels/epic) | A master issue thread which contains other smaller issues. | +| `good first issue` | [search](https://github.com/reactjs-id/website-remix/labels/good%20first%20issue) | Less complex issues which would be good first issues to work on for users who want to contribute to ReactJS Indonesia Website. | +| `help wanted` | [search](https://github.com/reactjs-id/website-remix/labels/help%20wanted) | Issue that need extra attention. | +| `invalid` | [search](https://github.com/reactjs-id/website-remix/labels/invalid) | Issues which aren't valid (e.g. user errors). | +| `question` | [search](https://github.com/reactjs-id/website-remix/labels/question) | More information needs to be collected about these problems or feature requests (e.g. steps to reproduce). | +| `wontfix` | [search](https://github.com/reactjs-id/website-remix/labels/wontfix) | The ReactJS Indonesia Website team will not fix these issues for now. | + +#### Topic Categories + +| Label name | `/website-remix` | Description | +| --------------- | -------------------------------------------------------------------------- | --------------------------------------------- | +| `ci-cd` | [search](https://github.com/reactjs-id/website-remix/labels/ci-cd) | Continuous Integration & Continuous Delivery. | +| `design` | [search](https://github.com/reactjs-id/website-remix/labels/design) | Issue related to design. | +| `documentation` | [search](https://github.com/reactjs-id/website-remix/labels/documentation) | Improvements or additions to documentation. | +| `dx` | [search](https://github.com/reactjs-id/website-remix/labels/dx) | Developer Experience. | +| `ui` | [search](https://github.com/reactjs-id/website-remix/labels/ui) | User interface. | +| `ux` | [search](https://github.com/reactjs-id/website-remix/labels/ux) | User experience. | +| `seo` | [search](https://github.com/reactjs-id/website-remix/labels/seo) | Search engine optimization. | +| `scripting` | [search](https://github.com/reactjs-id/website-remix/labels/scripting) | Issue related to the code. | +| `testing` | [search](https://github.com/reactjs-id/website-remix/labels/testing) | Automated testing. | diff --git a/CONTRIBUTING_ID.md b/CONTRIBUTING_ID.md new file mode 100644 index 0000000..e6e7bb7 --- /dev/null +++ b/CONTRIBUTING_ID.md @@ -0,0 +1,256 @@ +# Berkontribusi ke ReactJS Indonesia Website + +- [Cara berkontribusi](#cara-berkontribusi) + - [Menemukan atau membuat _issues_](#menemukan-atau-membuat-issues) + - [_Open Issues_](#open-issues) + - [_Closed Issues_](#closed-issues) + - [Untuk Pemula: label _`good first issue`_](#untuk-pemula-label-good-first-issue) + - [Panduan bekerja](#panduan-bekerja) + - [Persiapan](#persiapan) + - [Penugasan _issue_ & komunikasi](#penugasan-issue--komunikasi) + - [Pembuatan _Draft Pull Request_](#pembuatan-draft-pull-request) + - [Pemberian deskripsi _pull request_](#pemberian-deskripsi-pull-request) + - [Menonaktifkan GitHub Actions](#menonaktifkan-github-actions) +- [Pertanyaan yang sering ditanyakan](#pertanyaan-yang-sering-ditanyakan) + - [Mengapa kita menggunakan bahasa Inggris dalam menulis _issue_ dan _pull request_?](#mengapa-kita-menggunakan-bahasa-inggris-dalam-menulis-issue-dan-pull-request) +- [Catatan Tambahan](#catatan-tambahan) + - [_Commitlint_](#commitlint) +- [Referensi](#referensi) + - [_Conventional Commits_](#conventional-commits) + - [_Commit types_](#commit-types) + - [_Commit scopes_](#commit-scopes) + - [Label pada _issue_ dan _pull request_](#label-pada-issue-dan-pull-request) + - [Tipe _Issue_ and _Issue State_](#tipe-issue-and-issue-state) + - [Kategori](#kategori) + +## Cara berkontribusi + +Dalam proyek ini, kita memaksimalkan penggunaan fitur-fitur GitHub untuk mendokumentasikan dan memberikan sinyal terhadap kemajuan apapun dalam pengerjaan website ini. + +### Menemukan atau membuat _issues_ + +Sebagian besar kontribusi berawal dari membuat _Issues_. Tiap orang dapat memulai membuat _Issues_ untuk diskusi. Anda dapat mengunjungi [pranala ini](https://guides.github.com/features/issues/) untuk pemahaman lebih lanjut mengenai _Issues_. Secara spesifik, Anda dapat menemukan _Issues_ [di tab **Issues** ini](https://github.com/reactjs-id/website-remix/issues). Hanya ada dua kategori bagian pada _Issues_, yakni _Open_ dan _Closed Issues_. + +#### _Open Issues_ + +_Open Issues_ merupakan kategori yang membutuhkan perhatian lebih serta penyelesaian. Kontributor disarankan menelusuri bagian _Open Issues_ dan mulai mengerjakannya. + +#### _Closed Issues_ + +_Closed Issues_ merupakan kategori _issue_ yang sudah selesai dikerjakan atau tidak membutuhkan aksi lanjutan. _Issue_ dengan status _closed_ dapat kembali diubah menjadi _open_ ketika kontibutor menemukan _issue_ yang berhubungan di masa mendatang. + +Mohon perhatikan tiap atribut _issue_. Tiap _issue_ kemungkinan dikerjakan oleh kontributor lain melalui [_Linked Pull Requests_](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue). Ini berarti _issue_ sedang dalam penanganan. Untuk menghindari pekerjaan yang sama, kontributor sangat dianjurkan untuk mengajukan sebuah [_draft pull request_](https://github.blog/2019-02-14-introducing-draft-pull-requests/) terlebih dahulu setiap kali hendak mengerjakan suatu _issue_. + +#### Untuk Pemula: label _`good first issue`_ + +Seperti yang tertulis [di sini](https://github.blog/2020-01-22-browse-good-first-issues-to-start-contributing-to-open-source/), _`good first issue`_ merupakan sebuah fitur label dari GitHub yang diciptakan untuk membantu para kontributor pemula dalam berkontribusi ke sebuah proyek _open-source_. _`good first issue`_ memberitakan kita mengenai tingkat kesulitan dari sebuah _issue_. Ini berarti, bahwa sebuah _issue_ dengan label _`good first issue`_ cocok sekali bagi kontributor pemula yang ingin melakukan kontribusi pertama mereka ke sebuah proyek _open-source_. + +Bagaimana cara mencari _issue_ dengan label _`good first issue`_: + +1. Cara paling mudah adalah dengan mengunjungi pranala `github.com///contribute`. Dalam hal ini, Anda dapat mengunjungi [pranala ini](https://github.com/reactjs-id/website-remix/contribute). Pranala tersebut akan memberikan daftar dari semua _issue_ dengan label _`good first issue`_. +2. Atau cara lainnya adalah dengan mengunjungi bagian [_Issues_](https://github.com/reactjs-id/website-remix/issues) dari sebuah repository, lalu klik bagian _Labels_ di sebelah _Milestones_. Di sana, Anda dapat melihat banyak label untuk _issues_ yang terdapat dalam repository tersebut. Lalu cari dan klik label `good first issue`. + +### Panduan bekerja + +#### Persiapan + +Sebelum mengerjakan sebuah _issue_, pastikan hal-hal berikut: + +1. _Fork_ repositorynya dengan benar. Meskipun Anda sudah pernah melakukannya, kami masih menyarankan untuk membaca [manual resminya](https://docs.github.com/en/get-started/quickstart/fork-a-repo#forking-a-repository). +2. _Clone_ _forked repository_ Anda dan ikuti [_Getting Started guide_](https://github.com/reactjs-id/website-remix#getting-started). +3. Periksa di [_pull requests_](https://github.com/reactjs-id/website-remix/pulls) dan tidak ada orang lain yang sedang mengerjakan _issue_ tersebut. +4. Buat _branch_ baru dari `main`. + +#### Penugasan _issue_ & komunikasi + +Saat Anda sudah siap dengan _branch_ dan memiliki sesuatu untuk berkontribusi, +Anda perlu untuk memberitahu orang-orang bahwa Anda sedang mengerjakan _issue_ +tersebut. Untuk mengkomunikasikan hal ini, kami menggunakan _Draft Pull Requests_ +dari GitHub. + +_Draft Pull Request_ merupakan _pull request_ biasa, namun ia tidak dapat +digabungkan ke _branch_ utama sampai statusnya diubah menjadi "ready for +review". _Draft Pull Request_ menandakan bahwa _pull request_ ini [masih sedang dalam pengerjaan](https://docs.github.com/en/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request). +Hal ini diperlukan untuk memberikan sinyal kepada kontributor lainnya bahwa +pekerjaan dalam menyelesaikan _issue_ tersebut sudah dimulai dan masih +dikerjakan. Membuat _Draft Pull Request_ juga merupakan cara yang lebih baik sebagai +media komunikasi antar kontributor karena informasi tambahan bisa disediakan di +sana, selain melihat perubahan file-file. + +Dengan demikian, ketika Anda memiliki setidaknya 1 _commit_, sangat penting +bagi Anda untuk membuat suatu _Draft Pull Request_ untuk mengumumkan kepada +orang-orang bahwa _issue_ itu sedang Anda kerjakan. + +#### Pembuatan _Draft Pull Request_ + +Langkah-langkah untuk membuat _Draft Pull Request_: + +1. _Commit_ dan _push_ perubahan terbaru ke _forked repository_ Anda. Mohon merujuk ke [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/master/@commitlint/config-conventional) untuk membuat pesan _commit_ atau Anda dapat menggunakan [commitlint.io](https://commitlint.io/) untuk membantu Anda membuat pesan _commit_. +2. Pergi ke bagian _Pull requests_ pada _forked repository_ Anda, dan klik _New pull request_. + + ![Petunjuk-1](https://user-images.githubusercontent.com/46013258/126284390-c2bd1aa6-fdc2-4aa6-a945-031f02db038e.png) + +3. Pilih _forked repository_ Anda sebagai _head repository_, dan pilih _branch_ tempat Anda membuat perubahan untuk bagian _compare_. + + ![Petunjuk-2](https://user-images.githubusercontent.com/46013258/126285036-27b49325-62a2-4a6c-b216-5bae261788da.png) + +4. Berikan judul dan deskripsi yang jelas mengenai _pull request_ Anda. + Pastikan Anda mengikuti pengisian deskripsi seperti [keterangan di + bawah](#pemberian-deskripsi-pull-request). + + ![Petunjuk-3](https://user-images.githubusercontent.com/46013258/126286179-04341e30-1224-49cb-9b9a-3c3aee99c308.png) + +5. Pilih _Create draft pull request_ (seperti pada gambar di atas) dan klik tombol berwarna hijau. +6. Jangan lupa untuk menandai _Draft Pull Request_ Anda sebagai _Ready for review_ ketika Anda sudah melakukan semua perubahan yang diinginkan. + +#### Pemberian deskripsi _pull request_ + +Agar _pull request_ dapat berkaitan dengan _issue_, ada 1 syarat teks yang +harus dimasukkan ke dalam deskripsinya. Harap pastikan Anda menyebutkan nomor +_issue_ yang Anda kerjakan dengan benar. Ubah teks `` yang disediakan dari _template_ +menjadi nomor _issue_. Contoh: + +```markdown +Closes #318 + +## Description + +Update **`Start working on Issues`** section with clearer instructions on getting ready to work on an issue. +``` + +### Menonaktifkan _GitHub Actions_ + +Kami menganjurkan untuk menonaktifkan GitHub Action pada _repository_ yang telah di-_forked_ + +1. Masuk ke _Setting_ pada _repository_ yang telah di-_forked_ +2. Pilih _Action_ pada _sidebar_ +3. _Disable Actions_ + ![Disable-actions](https://user-images.githubusercontent.com/35433920/129485485-ca7d1202-5dbc-46f7-b823-978d3f4ed600.png) + +## Pertanyaan yang sering ditanyakan + +### Mengapa kita menggunakan bahasa Inggris dalam menulis _issue_ dan _pull request_? + +Ada beberapa alasan mengapa kita menggunakan bahasa Inggris ketika berkomunikasi di dalam _issue_ dan _pull request_: + +1. Secara alamiah, lebih mudah untuk _software engineer_ berkomunikasi dalam bahasa Inggris, karena terminologi-terminologi teknis yang digunakan dalam pemrograman pun berbahasa Inggris. Menerjemahkannya ke Bahasa Indonesia memunculkan resiko miskomunikasi, sementara menggunakan Bahasa Inggris membutuhkan banyak penyesuaian penulisan dalam bentuk _italic_ mengacu pada [PUEBI](https://puebi.js.org/huruf/miring). +2. Membiasakan para kontributor yang mayoritas berasal dari Indonesia untuk berkomunikasi dengan bahasa Inggris. Sangat penting untuk mengasah kemampuan menulis dan membaca bahasa Inggris kita karena sebagian besar dari komunitas _open-source_ di seluruh dunia menggunakan bahasa Inggris sebagai bahasa utama mereka. +3. Menggunakan bahasa Inggris membuat proyek ini lebih mudah diakui secara global. Apabila kita ingin mendapatkan dukungan dari komunitas global, mereka lebih mudah memahami tujuan kita, sehingga mereka lebih mudah untuk meluangkan waktu dan keahlian mereka untuk membantu membuat proyek ini lebih baik. Contohnya menyediakan _free credits_ untuk layanan mereka, mengadvokasikan proyek ini kepada pemimpin dunia, atau berkontribusi langsung ke proyek kita. + +## Catatan Tambahan + +### _Commitlint_ + +Pada _repository_ dengan kontributor yang banyak seperti ini, memahami +apa yang terjadi di dalamnya dan dapat menyelusuri di antara _commits_ +adalah hal yang sangat penting. Terlebih lagi dengan berbagai macam tingkat +dan latar belakang, pesan _commit_ bisa membingungkan dan strukturnya bisa +mengikuti pendekatan yang berbeda. + +Untuk menangani hal ini, pengurus mengadopsi [commit conventions](https://www.conventionalcommits.org/en/) +agar para kontributor dapat menambahkan makna yang berkaitan (_semantic_) +pada _git history_. Kita menggunakan [commitlint](https://commitlint.js.org/) +untuk me-_lint_ pesan-pesan _commit_. Dalam menggalakkan konvensi ini, kita +menggunakan _git hook_ untuk menjalankan _commitlint_ pada saat _git commit_. +_git_hook_ ini mencegah proses _commit_ jika pesannya tidak memenuhi konvensi +itu. + +Membaca sekilas [commit conventions](https://www.conventionalcommits.org/en/) +adalah disarankan untuk mengetahui lebih lanjut manfaat-manfaatnya. Jika Anda +memiliki kendala apapun dengan konvensi ini, Anda bisa menggunakan [situs ini](https://commitlint.io/) +untuk membantu. + +Harap merujuk kepada daftar [commit types](#commit-types) dan [scopes](#commit-scopes) +yang kita pakai untuk menghindari penambahan _scope_ baru yang bermakna +serupa atau yang merupakan sinonim dari _scope_ yang sudah dipakai. + +## Referensi + +### _Conventional Commits_ + +Spesifikasi konvensi seperti ini: + +``` +[optional scope]: + +[optional body] + +[optional footer(s)] +``` + +#### _Commit types_ + +Ini adalah _commit types_ yang kita pakai: + +- `build` +- `chore` +- `docs` +- `feat` +- `fix` +- `perf` +- `refactor` +- `style` +- `test` + +#### _Commit scopes_ + +Ini adalah _commit scopes_ yang kita pakai: + +- `assets` +- `ci` +- `cms` +- `components` + - `donasi` + - `education` + - `home` + - `json-ld` + - `kontak-darurat` + - `layout` + - `telemedicine` +- `cypress` +- `deps` +- `dx` +- `e2e` +- `fetcher` +- `pages` + - `faq` + - `isoman` +- `security` +- `seo` +- `ui` + +**Catatan:** Jika ada _scope_ terdaftar di level kedua, cukup gunakan level terendah (yang kedua tersebut). + +### Label pada _issue_ dan _pull request_ + +_Issue labels_ adalah fitur untuk mengelompokkan beberapa _issues_ ke dalam satu atau banyak kategori berbeda. Hal ini memudahkan kita untuk memantau serta mengelola _issues_ dan _pull requests_ yang ada pada _repository_ ReactJS Indonesia Website. + +Jika Anda memiliki ide atau saran untuk penambahan label baru yang belum ada di _repository_, mohon untuk membuka _issue_ di [`reactjs-id/website-remix`](https://github.com/reactjs-id/website-remix/issues). + +#### Tipe _Issue_ and _Issue State_ + +| Nama label | `/website-remix` | Deskripsi | +| ------------------ | ------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| `blocked` | [cari](https://github.com/reactjs-id/website-remix/labels/blocked) | _Issues_ yang terhalang oleh _issue_ lainnya. | +| `bug` | [cari](https://github.com/reactjs-id/website-remix/labels/bug) | Laporan mengenai adanya _bug_ atau kesalahan pada website. | +| `enhancement` | [cari](https://github.com/reactjs-id/website-remix/labels/enhancement) | Permintaan untuk penambahan fitur baru. | +| `epic` | [cari](https://github.com/reactjs-id/website-remix/labels/epic) | Utas utama dari _issue_ yang didalamnya terdiri dari beberapa _issues_ yang lebih sederhana. | +| `good first issue` | [cari](https://github.com/reactjs-id/website-remix/labels/good%20first%20issue) | _Issues_ yang sederhana. Cocok untuk para pemula untuk mulai berkontribusi ke _repository_ ReactJS Indonesia Website. | +| `help wanted` | [cari](https://github.com/reactjs-id/website-remix/labels/help%20wanted) | _Issues_ yang membutuhkan perhatian lebih dan prioritas. | +| `invalid` | [cari](https://github.com/reactjs-id/website-remix/labels/invalid) | _Issues_ yang tidak valid. | +| `question` | [cari](https://github.com/reactjs-id/website-remix/labels/question) | Membutuhkan informasi tambahan terkait permasalahan yang ada atau terkait permintaan fitur baru. | +| `wontfix` | [cari](https://github.com/reactjs-id/website-remix/labels/wontfix) | Tim ReactJS Indonesia Website tidak akan mengerjakan _issue_ tersebut untuk saat ini. | + +#### Kategori + +| Nama Label | `/website-remix` | Deskripsi | +| --------------- | ------------------------------------------------------------------------ | ------------------------------------------------------------------- | +| `ci-cd` | [cari](https://github.com/reactjs-id/website-remix/labels/ci-cd) | _Continuous Integration & Continuous Delivery_. | +| `design` | [cari](https://github.com/reactjs-id/website-remix/labels/design) | _Issues_ yang berkaitan dengan desain. | +| `documentation` | [cari](https://github.com/reactjs-id/website-remix/labels/documentation) | Perbaikan serta penambahan informasi pada dokumentasi. | +| `dx` | [cari](https://github.com/reactjs-id/website-remix/labels/dx) | _Issues_ terkait pengalaman developer dalam melakukan pengembangan. | +| `ui` | [cari](https://github.com/reactjs-id/website-remix/labels/ui) | _Issues_ terkait tampilan antar muka pengguna. | +| `ux` | [cari](https://github.com/reactjs-id/website-remix/labels/ux) | _Issues_ terkait pengalam pengguna dalam menggunakan website. | +| `seo` | [cari](https://github.com/reactjs-id/website-remix/labels/seo) | _Search engine optimization_. | +| `scripting` | [cari](https://github.com/reactjs-id/website-remix/labels/scripting) | _Issues_ terkait kode. | +| `testing` | [cari](https://github.com/reactjs-id/website-remix/labels/testing) | _Automated testing_. | diff --git a/README.md b/README.md index 5f574b0..9bb8a9e 100644 --- a/README.md +++ b/README.md @@ -44,3 +44,12 @@ Make sure to deploy the output of `bun build` ## Styling This template comes with [Tailwind CSS](https://tailwindcss.com/) already configured for a simple default starting experience. You can use whatever css framework you prefer. See the [Vite docs on css](https://vitejs.dev/guide/features.html#css) for more information. + +## Contributing + +See our contribution guidelines in these languages: + +- [English](CONTRIBUTING.md) +- [Indonesian](CONTRIBUTING_ID.md) + +When contributing to our project, please use English when communicating with other people in issues and/or pull requests. [Click here](CONTRIBUTING.md#why-are-we-using-english-in-our-issues--prs) to read why. ([Bahasa Indonesia](CONTRIBUTING_ID.md#mengapa-kita-menggunakan-bahasa-inggris-dalam-menulis-issue-dan-pull-request))