> For the complete documentation index, see [llms.txt](https://docs.chamilo.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.chamilo.org/2.x-id/panduan-pengembang/developer-guide/contributing/git-workflow.md).

# Alur Kerja Git

## Repositori

Kode sumber Chamilo dihosting di GitHub: [github.com/chamilo/chamilo-lms](https://github.com/chamilo/chamilo-lms)

## Percabangan

* **`master`** — Cabang utama untuk pengembangan
* Cabang fitur dibuat dari `master` untuk pengembangan baru
* Cabang rilis dibuat untuk versi stabil

## Berkontribusi dengan Perubahan

1. **Buat fork** repositori di GitHub
2. **Klon** fork Anda secara lokal
3. **Buat cabang** untuk perubahan Anda: `git checkout -b feature/my-feature`
4. **Lakukan perubahan Anda** dengan mengikuti konvensi pengkodean
5. **Lakukan commit** dengan pesan commit yang jelas dan deskriptif
6. **Kirim** ke fork Anda: `git push origin feature/my-feature`
7. **Buat pull request** terhadap cabang `master`

## Pesan Commit

Tulis pesan commit yang jelas yang menjelaskan **apa** dan **mengapa**:

```
Glosarium: Menambahkan pembuatan istilah berbantuan AI

Guru sekarang dapat menghasilkan istilah glosarium menggunakan penyedia AI yang dikonfigurasi.
Mendukung prompt yang dapat dikonfigurasi dan jumlah istilah.
```

### Konvensi Awalan Alat

Baris subjek diawali dengan **alat atau area** yang terkena dampak perubahan, diikuti oleh tanda titik dua. Kami menggunakan terminologi singkat dan umum agar changelog dan `git log --oneline` dapat dengan cepat dianalisis berdasarkan alat. Awalan selalu dalam bentuk **tunggal** dari nama kanonik alat tersebut.

Format: `<Awalan>: <Ringkasan dalam bentuk imperatif waktu sekarang>`

Contoh:

```
Dokumen: Memperbaiki daftar pada tampilan siswa
Latihan: Mencegah judul pertanyaan duplikat dalam kuis
Jalur Pembelajaran: Memungkinkan pengurutan ulang bab dengan seret dan lepas
Internal: Refaktor hidrasi ResourceNode pada normalizer API
CI: Menyimpan unduhan Composer di cache pada alur kerja GitHub Actions
```

Jika suatu perubahan mencakup beberapa alat, pilih yang paling terkena dampak; perubahan yang benar-benar lintas fungsi yang hanya memengaruhi struktur kode (tanpa dampak pada alat pengguna akhir) harus diklasifikasikan sebagai `Internal`. Perubahan yang eksklusif untuk dokumentasi (situs ini, changelog, docblocks inline yang hanya dimaksudkan sebagai referensi) harus diklasifikasikan sebagai `Dokumentasi`.

#### Prefix yang Diizinkan

| Prefix               | Lingkup / catatan                                                                                |
| -------------------- | ------------------------------------------------------------------------------------------------ |
| `Admin`              |                                                                                                  |
| `Announcement`       |                                                                                                  |
| `Attendance`         |                                                                                                  |
| `Authentication`     |                                                                                                  |
| `Blog`               |                                                                                                  |
| `Calendar`           | Bukan "Agenda"                                                                                   |
| `Career`             |                                                                                                  |
| `Catalogue`          | Katalog kursus dan sesi, termasuk "kursus unggulan" di halaman utama                             |
| `Chat`               |                                                                                                  |
| `CI`                 | Integrasi Berkelanjutan, pengujian otomatis, dll.                                                |
| `Course description` |                                                                                                  |
| `Course Progress`    | Bukan "Kemajuan Tematik"                                                                         |
| `Course settings`    |                                                                                                  |
| `Cron`               |                                                                                                  |
| `Dashboard`          |                                                                                                  |
| `Display`            |                                                                                                  |
| `Document`           |                                                                                                  |
| `Documentation`      | Segala hal yang berkaitan secara eksklusif dengan dokumentasi Chamilo atau kode, changelog, dll. |
| `Dropbox`            |                                                                                                  |
| `Exercise`           | Bukan "Kuis"                                                                                     |
| `Extra Fields`       |                                                                                                  |
| `Forum`              |                                                                                                  |
| `Glossary`           |                                                                                                  |
| `Gradebook`          | Termasuk Sertifikat                                                                              |
| `Group`              | Termasuk grup kursus, grup global, dan kelas                                                     |
| `Help`               |                                                                                                  |
| `Hook`               | Untuk mekanisme internal hook                                                                    |
| `Install`            | Termasuk item pembaruan                                                                          |
| `Internal`           | Untuk perubahan dan perbaikan yang terutama memengaruhi kode atau bersifat sangat global         |
| `Language`           |                                                                                                  |
| `Link`               |                                                                                                  |
| `Learnpath`          | Untuk LP / Jalur Pembelajaran                                                                    |
| `Maintenance`        | Alat pemeliharaan kursus: salinan kursus, cadangan, pemulihan, dll.                              |
| `Message`            |                                                                                                  |
| `Notebook`           |                                                                                                  |
| `Optimization`       |                                                                                                  |
| `Portfolio`          |                                                                                                  |
| `Privacy`            |                                                                                                  |
| `Script`             | Untuk yang ada di `tests/scripts/`                                                               |
| `Search`             | Pencarian teks lengkap                                                                           |
| `Security`           |                                                                                                  |
| `Session`            |                                                                                                  |
| `Skill`              |                                                                                                  |
| `Social`             | Jejaring sosial                                                                                  |
| `SSO`                | Metode Single Sign-On                                                                            |
| `Survey`             |                                                                                                  |
| `System`             | Hal-hal yang terutama berkaitan dengan hosting dan penyesuaian halus di tingkat server           |
| `Template`           |                                                                                                  |
| `Ticket`             |                                                                                                  |
| `Tracking`           |                                                                                                  |
| `User`               |                                                                                                  |
| `Webservice`         |                                                                                                  |
| `Wiki`               |                                                                                                  |
| `Work`               |                                                                                                  |
| `WYSIWYG`            |                                                                                                  |
| `XAPI`               |                                                                                                  |

***

## Tinjauan Kode

Permintaan pull akan ditinjau oleh tim pemeliharaan. Bersiaplah untuk:

* Menanggapi umpan balik dan melakukan revisi
* Menjaga branch Anda tetap diperbarui dengan `master`
* Memastikan bahwa tes berhasil dilalui

## Pelaporan Masalah

Laporkan bug dan permintaan fitur di pelacak isu GitHub.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.chamilo.org/2.x-id/panduan-pengembang/developer-guide/contributing/git-workflow.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
