Setup Monitoring & Notifikasi¶
Panduan persiapan untuk pemilik proyek dan calon tim.
Ringkasan: apa yang otomatis vs manual¶
| Komponen | Otomatis? | Pemicu |
|---|---|---|
.progress.json |
✅ | npm run progress / CI push TODO*.md |
| Dashboard HTML + MD | ✅ | scripts/generate-project-dashboard.js |
Badge di README.md |
✅ | Generator di atas |
GitHub Actions track-todos.yml |
✅ | Push ke main |
| GitHub Pages (MkDocs) | ⚙️ | Aktifkan sekali di repo Settings |
| Laporan Telegram (Hermes) | ⚙️ | Pasang cron sekali (script bawah) |
Yang perlu Anda siapkan¶
1. Lokal (wajib, 2 menit)¶
cd /home/sic/Projects/migrasi
npm run progress
Buka dashboard:
xdg-open docs/monitoring/dashboard.html # Linux
Node.js 22+ sudah dipakai CI; tidak perlu dependency npm tambahan untuk progress.
2. GitHub (untuk tim remote)¶
| Langkah | Di mana | Keterangan |
|---|---|---|
| Push repo | GitHub | Branch main |
| Izinkan Actions write | Settings → Actions → General | Workflow commit .progress.json |
| GitHub Pages | Settings → Pages → Source: GitHub Actions | Agar docs-dashboard-pages.yml publish situs |
| Secret (opsional) | — | Workflow progress tidak butuh secret |
Setelah Pages aktif, tim buka:
https://<user>.github.io/migrasi/monitoring/dashboard.html
3. MkDocs lokal (opsional, untuk review dokumen)¶
pip install mkdocs-material
npm run docs:serve
# http://127.0.0.1:8000
4. Hermes — laporan mingguan ke Telegram (sudah ada di mesin ini)¶
Hermes sudah terpasang (hermes-gateway.service aktif, Telegram gateway enabled).
Yang perlu dicek:
| Item | Perintah / lokasi |
|---|---|
| Bot Telegram | Token di ~/.hermes/.env → TELEGRAM_BOT_TOKEN |
| Chat ID Anda | Sudah di config: admin 5779925377 (ganti di script jika perlu) |
| Cron diizinkan | ~/.hermes/config.yaml → approvals.cron_mode: allow (default deny) |
| Timezone cron | cron.timezone di config (default UTC) |
Pasang laporan mingguan (sekali):
cd /home/sic/Projects/migrasi
chmod +x scripts/install-hermes-monitoring.sh scripts/hermes-progress-digest.sh
# Opsional: ganti jadwal & tujuan
export HERMES_SCHEDULE="0 8 * * 1" # Senin 08:00
export HERMES_DELIVER="telegram:5779925377" # chat ID Anda
bash scripts/install-hermes-monitoring.sh
Tes manual tanpa menunggu cron:
bash scripts/hermes-progress-digest.sh
hermes cron run erp-migrasi-weekly
Tanpa Telegram — cukup cron ke terminal lokal:
hermes cron create "0 8 * * 1" \
--name erp-migrasi-weekly \
--script erp-migrasi-progress-digest.sh \
--no-agent \
--deliver local \
--workdir /home/sic/Projects/migrasi \
--accept-hooks
5. Calon tim (arahkan ke dokumen ini)¶
- Clone repo → baca ONBOARDING-TEAM.md
- Buka dashboard HTML
- Kerjakan checkbox di
*/TODO.mdworkstream mereka - AI:
@AGENTS.md+ file dokumen — bukan RAG - PR → CI update progress otomatis
Alur data¶
flowchart LR
TODO[TODO.md di Git] --> Parse[parse-todos.js]
Parse --> JSON[.progress.json]
JSON --> Gen[generate-project-dashboard.js]
Gen --> HTML[dashboard.html]
Gen --> MD[project-dashboard.md]
Gen --> README[README badges]
JSON --> Hermes[hermes-progress-digest.sh]
Hermes --> TG[Telegram via Hermes cron]
Parse --> CI[GitHub Actions track-todos]
Troubleshooting¶
| Masalah | Solusi |
|---|---|
| Badge README tidak berubah | npm run progress |
| Hermes cron ditolak | Set approvals.cron_mode: allow |
| Telegram tidak terima | hermes gateway / cek TELEGRAM_BOT_TOKEN |
| Pages 404 | Enable GitHub Pages + tunggu workflow Docs & Dashboard Pages |
| Dashboard HTML kosong | Buka via file:// setelah npm run progress; atau via HTTP MkDocs |
Perintah cepat¶
npm run progress # semua generator
npm run hermes:install-cron # pasang cron Hermes
npm run hermes:digest # tes output digest
npm run docs:build # build MkDocs + progress