Browse Source
Agent-ready commands and checklists for sync with rbsetiawan/LDAPWeb. Co-authored-by: Cursor <cursoragent@cursor.com>master
2 changed files with 358 additions and 0 deletions
@ -0,0 +1,189 @@ |
|||||||
|
# Pull dari Git — LDAPWeb Monorepo |
||||||
|
|
||||||
|
> Panduan pull dari [git.gisportal.id](https://git.gisportal.id/) · akun **rbsetiawan** · repo **LDAPWeb** |
||||||
|
|
||||||
|
## Info repository |
||||||
|
|
||||||
|
| Item | Nilai | |
||||||
|
|------|-------| |
||||||
|
| Remote | `https://git.gisportal.id/rbsetiawan/LDAPWeb.git` | |
||||||
|
| Branch default | `master` | |
||||||
|
| Root lokal | `D:\Project\app on git` | |
||||||
|
| Web | https://git.gisportal.id/rbsetiawan/LDAPWeb | |
||||||
|
|
||||||
|
### Folder lokal tidak dari repo ini |
||||||
|
|
||||||
|
Folder berikut **tidak** di-track monorepo LDAPWeb (tetap ada di disk, di-ignore): |
||||||
|
|
||||||
|
- `ops/` |
||||||
|
- `support/` → repo terpisah: `http://git.gisportal.id/rfahreza/support.git` |
||||||
|
- `support-api/` → repo terpisah: `http://git.gisportal.id/rfahreza/support-api.git` |
||||||
|
|
||||||
|
Pull monorepo **tidak** mengupdate `support/` atau `support-api/`. Gunakan pull terpisah di folder masing-masing bila perlu. |
||||||
|
|
||||||
|
--- |
||||||
|
|
||||||
|
## Perintah langsung ke Agent |
||||||
|
|
||||||
|
Salin blok di bawah ke chat Cursor bila ingin Agent melakukan pull: |
||||||
|
|
||||||
|
``` |
||||||
|
Pull terbaru dari git.gisportal.id (rbsetiawan/LDAPWeb). |
||||||
|
Ikuti pull.md: cek status lokal, backup/stash jika ada perubahan belum commit, pull origin master, laporkan file yang berubah. |
||||||
|
Jangan overwrite .env lokal tanpa konfirmasi. |
||||||
|
``` |
||||||
|
|
||||||
|
### Variasi perintah |
||||||
|
|
||||||
|
| Tujuan | Perintah ke Agent | |
||||||
|
|--------|-------------------| |
||||||
|
| Pull standar | `Pull origin master sesuai pull.md` | |
||||||
|
| Pull aman | `Stash perubahan lokal, pull, lalu pop stash sesuai pull.md` | |
||||||
|
| Sync perangkat baru | `Clone atau pull LDAPWeb monorepo, jelaskan folder yang di-ignore` | |
||||||
|
| Cek saja | `Fetch dan bandingkan lokal vs remote tanpa merge — laporkan perbedaan` | |
||||||
|
| Pull support terpisah | `Pull support-api di folder support-api/ dari remote rfahreza` | |
||||||
|
|
||||||
|
--- |
||||||
|
|
||||||
|
## Perintah manual (PowerShell) |
||||||
|
|
||||||
|
### 1. Masuk ke root proyek |
||||||
|
|
||||||
|
```powershell |
||||||
|
cd "D:\Project\app on git" |
||||||
|
``` |
||||||
|
|
||||||
|
### 2. Cek kondisi lokal |
||||||
|
|
||||||
|
```powershell |
||||||
|
git status |
||||||
|
git remote -v |
||||||
|
git fetch origin |
||||||
|
git log HEAD..origin/master --oneline |
||||||
|
``` |
||||||
|
|
||||||
|
### 3. Pull (working tree bersih) |
||||||
|
|
||||||
|
```powershell |
||||||
|
git pull origin master |
||||||
|
``` |
||||||
|
|
||||||
|
### 4. Pull aman (ada perubahan lokal) |
||||||
|
|
||||||
|
```powershell |
||||||
|
git stash push -m "wip sebelum pull" |
||||||
|
git pull origin master |
||||||
|
git stash pop |
||||||
|
``` |
||||||
|
|
||||||
|
Jika `stash pop` konflik, selesaikan file konflik lalu: |
||||||
|
|
||||||
|
```powershell |
||||||
|
git add . |
||||||
|
# jangan commit otomatis kecuali user minta |
||||||
|
``` |
||||||
|
|
||||||
|
### 5. Verifikasi |
||||||
|
|
||||||
|
```powershell |
||||||
|
git status |
||||||
|
git log -3 --oneline |
||||||
|
``` |
||||||
|
|
||||||
|
--- |
||||||
|
|
||||||
|
## Clone perangkat baru |
||||||
|
|
||||||
|
```powershell |
||||||
|
git clone https://git.gisportal.id/rbsetiawan/LDAPWeb.git "D:\Project\app on git" |
||||||
|
cd "D:\Project\app on git" |
||||||
|
``` |
||||||
|
|
||||||
|
Setelah clone: |
||||||
|
|
||||||
|
1. Salin `.env` dari backup atau buat dari `*.env.example` — file `.env` tidak ada di repo. |
||||||
|
2. Folder `ops/`, `support/`, `support-api/` perlu disiapkan terpisah jika dipakai. |
||||||
|
3. `GeoNetAgent/agent/config.json` — salin dari `config.example.json` atau `config.share.json`. |
||||||
|
|
||||||
|
--- |
||||||
|
|
||||||
|
## Pull sub-proyek terpisah (opsional) |
||||||
|
|
||||||
|
### support |
||||||
|
|
||||||
|
```powershell |
||||||
|
cd "D:\Project\app on git\support" |
||||||
|
git pull origin master |
||||||
|
``` |
||||||
|
|
||||||
|
### support-api |
||||||
|
|
||||||
|
```powershell |
||||||
|
cd "D:\Project\app on git\support-api" |
||||||
|
git pull origin master |
||||||
|
``` |
||||||
|
|
||||||
|
--- |
||||||
|
|
||||||
|
## Checklist Agent setelah pull |
||||||
|
|
||||||
|
1. **Laporkan** commit baru yang masuk (`git log` sebelum/sesudah). |
||||||
|
2. **Jangan hapus** `.env` lokal — pull tidak menimpa file yang di-ignore kecuali user sudah commit `.env` (seharusnya tidak). |
||||||
|
3. **Cek konflik** — jika ada, bantu selesaikan atau minta keputusan user. |
||||||
|
4. **Baca ulang** `.cursor/*.md` jika berubah — itu sumber konteks AI di perangkat ini. |
||||||
|
5. **Jangan** `git pull --rebase` atau `reset --hard` tanpa persetujuan user. |
||||||
|
|
||||||
|
--- |
||||||
|
|
||||||
|
## Troubleshooting |
||||||
|
|
||||||
|
### `Your local changes would be overwritten` |
||||||
|
|
||||||
|
```powershell |
||||||
|
git stash |
||||||
|
git pull origin master |
||||||
|
git stash pop |
||||||
|
``` |
||||||
|
|
||||||
|
### `fatal: not a git repository` |
||||||
|
|
||||||
|
```powershell |
||||||
|
cd "D:\Project\app on git" |
||||||
|
git init |
||||||
|
git remote add origin https://git.gisportal.id/rbsetiawan/LDAPWeb.git |
||||||
|
git fetch origin |
||||||
|
git checkout -b master origin/master |
||||||
|
``` |
||||||
|
|
||||||
|
### Diverged branches |
||||||
|
|
||||||
|
```powershell |
||||||
|
git fetch origin |
||||||
|
git log --oneline --graph --all -10 |
||||||
|
``` |
||||||
|
|
||||||
|
Laporkan ke user — jangan force-push/pull tanpa instruksi. |
||||||
|
|
||||||
|
### Ingin hanya lihat perubahan remote |
||||||
|
|
||||||
|
```powershell |
||||||
|
git fetch origin |
||||||
|
git diff master origin/master |
||||||
|
``` |
||||||
|
|
||||||
|
--- |
||||||
|
|
||||||
|
## Alur singkat (Agent) |
||||||
|
|
||||||
|
```mermaid |
||||||
|
flowchart LR |
||||||
|
A[git status] --> B{Perubahan lokal?} |
||||||
|
B -->|Ya| C[stash atau minta commit] |
||||||
|
B -->|Tidak| D[git pull origin master] |
||||||
|
C --> D |
||||||
|
D --> E{Konflik?} |
||||||
|
E -->|Ya| F[Selesaikan / laporkan] |
||||||
|
E -->|Tidak| G[Laporkan commit baru] |
||||||
|
``` |
||||||
|
|
||||||
|
Lihat juga: [push.md](push.md) |
||||||
@ -0,0 +1,169 @@ |
|||||||
|
# Push ke Git — LDAPWeb Monorepo |
||||||
|
|
||||||
|
> Panduan push ke [git.gisportal.id](https://git.gisportal.id/) · akun **rbsetiawan** · repo **LDAPWeb** |
||||||
|
|
||||||
|
## Info repository |
||||||
|
|
||||||
|
| Item | Nilai | |
||||||
|
|------|-------| |
||||||
|
| Remote | `https://git.gisportal.id/rbsetiawan/LDAPWeb.git` | |
||||||
|
| Branch default | `master` | |
||||||
|
| Root lokal | `D:\Project\app on git` | |
||||||
|
| Web | https://git.gisportal.id/rbsetiawan/LDAPWeb | |
||||||
|
|
||||||
|
### Folder di-ignore (tidak ikut push) |
||||||
|
|
||||||
|
- `ops/` |
||||||
|
- `support/` |
||||||
|
- `support-api/` |
||||||
|
- `LDAPWeb.code-workspace` |
||||||
|
- `.env` (kecuali `*.env.example`) |
||||||
|
- `node_modules/`, `.venv/`, `GeoNetAgent/agent/config.json` |
||||||
|
|
||||||
|
`support/` dan `support-api/` punya repo Git terpisah di akun lain — jangan di-push dari monorepo ini. |
||||||
|
|
||||||
|
--- |
||||||
|
|
||||||
|
## Perintah langsung ke Agent |
||||||
|
|
||||||
|
Salin blok di bawah ke chat Cursor bila ingin Agent melakukan push: |
||||||
|
|
||||||
|
``` |
||||||
|
Push perubahan ke git.gisportal.id (rbsetiawan/LDAPWeb). |
||||||
|
Ikuti push.md: cek status, pastikan tidak ada .env/secret, commit dengan pesan jelas, lalu push origin master. |
||||||
|
Jangan push folder yang di-ignore (.gitignore). |
||||||
|
``` |
||||||
|
|
||||||
|
### Variasi perintah |
||||||
|
|
||||||
|
| Tujuan | Perintah ke Agent | |
||||||
|
|--------|-------------------| |
||||||
|
| Push semua perubahan | `Commit dan push semua perubahan ke origin master sesuai push.md` | |
||||||
|
| Push satu folder | `Commit dan push hanya perubahan di GeoNetAgent/ ke origin master` | |
||||||
|
| Push setelah sync docs | `Update dokumentasi .cursor lalu commit & push sesuai push.md` | |
||||||
|
| Cek sebelum push | `Jalankan pre-push checklist di push.md, laporkan hasil tanpa push` | |
||||||
|
|
||||||
|
--- |
||||||
|
|
||||||
|
## Perintah manual (PowerShell) |
||||||
|
|
||||||
|
### 1. Masuk ke root proyek |
||||||
|
|
||||||
|
```powershell |
||||||
|
cd "D:\Project\app on git" |
||||||
|
``` |
||||||
|
|
||||||
|
### 2. Cek perubahan |
||||||
|
|
||||||
|
```powershell |
||||||
|
git status |
||||||
|
git diff |
||||||
|
git diff --staged |
||||||
|
``` |
||||||
|
|
||||||
|
### 3. Stage file |
||||||
|
|
||||||
|
```powershell |
||||||
|
# Semua perubahan (hormati .gitignore) |
||||||
|
git add . |
||||||
|
|
||||||
|
# Atau per folder |
||||||
|
git add GeoNetAgent/ |
||||||
|
git add LDAPWeb/ |
||||||
|
git add server-audit/ |
||||||
|
git add server-connection/ |
||||||
|
``` |
||||||
|
|
||||||
|
### 4. Commit |
||||||
|
|
||||||
|
```powershell |
||||||
|
git commit -m "feat(GeoNetAgent): deskripsi singkat perubahan" |
||||||
|
``` |
||||||
|
|
||||||
|
Contoh pesan commit: |
||||||
|
|
||||||
|
```powershell |
||||||
|
git commit -m "docs: sinkronkan .cursor setelah sesi pengembangan" |
||||||
|
git commit -m "fix(LDAPWeb): perbaiki validasi login LDAP" |
||||||
|
git commit -m "chore: update nginx config collector" |
||||||
|
``` |
||||||
|
|
||||||
|
### 5. Push |
||||||
|
|
||||||
|
```powershell |
||||||
|
git push origin master |
||||||
|
``` |
||||||
|
|
||||||
|
Atau (jika upstream sudah di-set): |
||||||
|
|
||||||
|
```powershell |
||||||
|
git push |
||||||
|
``` |
||||||
|
|
||||||
|
### 6. Verifikasi |
||||||
|
|
||||||
|
```powershell |
||||||
|
git status |
||||||
|
git log -1 --oneline |
||||||
|
``` |
||||||
|
|
||||||
|
--- |
||||||
|
|
||||||
|
## Checklist Agent sebelum push |
||||||
|
|
||||||
|
Agent **wajib** memeriksa ini sebelum `git commit` / `git push`: |
||||||
|
|
||||||
|
1. **Tidak ada secret** — pastikan `.env`, password, token, atau kredensial tidak ter-stage. |
||||||
|
2. **Hormati `.gitignore`** — jangan paksa-add `ops/`, `support/`, `support-api/`. |
||||||
|
3. **Dokumentasi** — jika ada perubahan arsitektur/desain, update `.cursor/*.md` atau ADR dulu (lihat `GeoNetAgent/perintah.md`). |
||||||
|
4. **Pesan commit** — jelas, menyebut area (`GeoNetAgent`, `LDAPWeb`, dll.) dan alasan singkat. |
||||||
|
5. **Branch** — push ke `master` kecuali user minta branch lain. |
||||||
|
6. **Jangan** `git push --force` ke `master` tanpa persetujuan eksplisit user. |
||||||
|
|
||||||
|
--- |
||||||
|
|
||||||
|
## Troubleshooting |
||||||
|
|
||||||
|
### Autentikasi gagal |
||||||
|
|
||||||
|
```powershell |
||||||
|
git remote -v |
||||||
|
git push origin master |
||||||
|
``` |
||||||
|
|
||||||
|
Credential Windows Credential Manager: host `git.gisportal.id`, user `rbsetiawan`. |
||||||
|
|
||||||
|
### Remote belum ada |
||||||
|
|
||||||
|
```powershell |
||||||
|
git remote add origin https://git.gisportal.id/rbsetiawan/LDAPWeb.git |
||||||
|
git push -u origin master |
||||||
|
``` |
||||||
|
|
||||||
|
### Push ditolak (behind remote) |
||||||
|
|
||||||
|
```powershell |
||||||
|
git pull origin master |
||||||
|
# selesaikan konflik jika ada, lalu: |
||||||
|
git push origin master |
||||||
|
``` |
||||||
|
|
||||||
|
Lihat juga: [pull.md](pull.md) |
||||||
|
|
||||||
|
### File besar / push lambat |
||||||
|
|
||||||
|
`server-connection/databaselist/vendor/` ikut repo — hindari commit ulang vendor tanpa perlu. |
||||||
|
|
||||||
|
--- |
||||||
|
|
||||||
|
## Alur singkat (Agent) |
||||||
|
|
||||||
|
```mermaid |
||||||
|
flowchart LR |
||||||
|
A[git status] --> B{Ada secret?} |
||||||
|
B -->|Ya| C[Stop — perbaiki .gitignore] |
||||||
|
B -->|Tidak| D[git add] |
||||||
|
D --> E[git commit] |
||||||
|
E --> F[git push origin master] |
||||||
|
F --> G[git status — up to date] |
||||||
|
``` |
||||||
Loading…
Reference in new issue