# Context Index — server-connection ⭐ AI Entry Point > **Terakhir Diperbarui:** 2026-06-29 > **Versi:** 2.0.0 --- ## Filosofi Proyek ini menerapkan **AI Native Development**: - Repository = sumber kebenaran utama (Single Source of Truth) - AI tidak boleh mengandalkan riwayat percakapan - Developer sering berpindah perangkat — konteks harus tersimpan di repo - Implementasi tanpa dokumentasi = belum selesai --- ## Urutan Membaca 1. **File ini** — peta navigasi 2. `.cursor/me.md` — profil user + inventaris infrastruktur 3. `perintah.md` — quick reference + protokol sync 4. `.cursor/rules/` — behavior rules AI 5. Dokumen spesifik task (lihat tabel di bawah) --- ## Proyek dalam Repo Ini | Proyek | URL | Stack | Status | Context | |--------|-----|-------|--------|---------| | **geonet-console** | https://console.gisportal.id | Laravel 12 | ✅ Production | [`geonet-console/context-index.md`](../geonet-console/context-index.md) | | **databaselist** | https://databaselist.gisportal.id | Laravel legacy | ⚠️ Legacy | — | | **sqlservercheck** | https://sqlservercheck.gisportal.id | PHP | ✅ Running | — | > AI yang bekerja pada proyek spesifik **wajib membaca context-index proyek tersebut**. --- ## Peta Dokumentasi ### `docs/` — Flat Files | File | Isi | Baca Saat | |------|-----|-----------| | `docs/project-status.md` | Status modul, backlog, known issues | Selalu | | `docs/roadmap.md` | Fase pengembangan, milestone | Planning | | `docs/todo.md` | Next actions berprioritas | Sebelum coding | | `docs/issues.md` | Known bugs + workaround | Debug | | `docs/changelog.md` | Riwayat perubahan | Reference | | `docs/environment.md` | Env vars (tanpa secret) | Setup, deploy | | `docs/server.md` | Server list, SSH, Docker | Deploy, infra | | `docs/deployment.md` | Step-by-step deploy | Deploy | | `docs/development.md` | Setup lokal, coding standard | Onboarding | | `docs/database.md` | Schema DB, migrations, koneksi | DB change | | `docs/troubleshooting.md` | Debug common problems | Debug | | `docs/monitoring.md` | Zabbix, health check | Monitoring | | `docs/security.md` | Credential management | Security | | `docs/glossary.md` | Kamus istilah | Reference | ### `docs/architecture/` — Arsitektur | File | Isi | |------|-----| | `system-overview.md` | Diagram sistem + komponen | | `folder-structure.md` | Struktur monorepo | | `request-flow.md` | Alur request API | | `authentication-flow.md` | Auth LDAP → JWT | | `database-flow.md` | DB connections, read/write | | `storage.md` | QNAP OSS object storage | | `deployment-architecture.md` | Server topology, Docker, Nginx | ### `docs/api/` — API Documentation | File | Isi | |------|-----| | `overview.md` | Base URL, auth, format response | | `service-auth.md` | Login, refresh, token guide | | `service-ldap.md` | LDAP users & groups | | `service-database.md` | Database registry | | `service-tokens.md` | Service tokens | | `service-project-search.md` | AI project search | | `error-codes.md` | Error format standard | ### `docs/adr/` — Architecture Decision Records | ADR | Keputusan | |-----|-----------| | `ADR-0001-monorepo-structure.md` | Struktur monorepo + folder convention | | `ADR-0002-database-postgresql.md` | PostgreSQL untuk app baru | | `ADR-0003-ldap-authentication.md` | Auth via LDAP Active Directory | | `ADR-0004-qnap-object-storage.md` | QNAP OSS untuk file storage | ### `.cursor/` — AI Context (Detail Teknis) | File | Isi | |------|-----| | `.cursor/context-index.md` | Entry point detail (versi lama) | | `.cursor/me.md` | Profil user + inventaris infrastruktur | | `.cursor/rules/00-project-context.mdc` | Struktur repo, host SSH, deploy | | `.cursor/rules/01-enterprise-principles.mdc` | Prinsip enterprise & UX | | `.cursor/rules/02-implementation-status.mdc` | Status fitur geonet-console | | `.cursor/rules/03-ai-behavior.mdc` | Perilaku agent, larangan | | `.cursor/rules/04-geonet-uiux.mdc` | Standar UI/UX | | `.cursor/rules/05-laravel-backend.mdc` | Backend Laravel | | `.cursor/rules/06-infrastructure.mdc` | SSH, MikroTik, deploy | --- ## Quick Reference ### URL Produksi | Fungsi | URL | |--------|-----| | Geonet Console login | https://console.gisportal.id | | LDAP Users | https://console.gisportal.id/ldap-users | | API Docs | https://console.gisportal.id/api-docs | | REST API | https://console.gisportal.id/api/v1 | | Databaselist (legacy) | https://databaselist.gisportal.id | | SQL Server Check | https://sqlservercheck.gisportal.id/ts | ### Deploy Commands ```powershell .\scripts\deploy-geonet-console.ps1 .\scripts\deploy-databaselist.ps1 .\scripts\deploy-sqlservercheck.ps1 ``` ### SSH Commands | Server | Command | |--------|---------| | Reverse Proxy | `ssh -m hmac-sha1 root@10.100.1.24 -p 22` | | Database | `ssh -m hmac-sha1 root@10.100.1.25 -p 22` | | AD/LDAP | `ssh -m hmac-sha1 Administrator@10.100.1.40 -p 22` | | MikroTik | `.\scripts\ssh-mikrotik.ps1` | | QNAP NAS | `.\scripts\ssh-qnap.ps1` | | Ollama VM | `.\scripts\ssh-ollama.ps1` | | Zabbix | `.\scripts\ssh-zabbix.ps1` | > SSH commands ke server **wajib minta persetujuan user** sebelum dijalankan. --- ## Aturan Utama AI 1. Baca `docs/context-index.md` ini terlebih dahulu 2. Baca `.cursor/me.md` untuk konteks infrastruktur 3. Untuk geonet-console: baca `geonet-console/context-index.md` dan `geonet-console/docapi/` 4. Setelah selesai: update `perintah.md` (Sync terakhir) 5. ADR tidak boleh dihapus — buat baru jika keputusan berubah 6. **Jangan commit secret** ke repository 7. **JANGAN overwrite `.env`** saat deploy — `.env` server berisi credentials production