Lewati ke isi

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/.envTELEGRAM_BOT_TOKEN
Chat ID Anda Sudah di config: admin 5779925377 (ganti di script jika perlu)
Cron diizinkan ~/.hermes/config.yamlapprovals.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)

  1. Clone repo → baca ONBOARDING-TEAM.md
  2. Buka dashboard HTML
  3. Kerjakan checkbox di */TODO.md workstream mereka
  4. AI: @AGENTS.md + file dokumen — bukan RAG
  5. 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