Tentang Retrojet
Kenapa Retrojet ada, bagaimana dibangun, dan aturan yang dipegang.
Kenapa
Perbaikan satu baris di app Flutter bisa butuh berhari-hari sampai ke pengguna: build, kirim ke store, tunggu review, tunggu pengguna update. Retrojet memperpendek jalur itu untuk perubahan kode Dart. Kamu tetap merilis lewat store, dan di antara rilis, kamu mengirim patch langsung ke device yang menjalankannya.
Cara dibangun
| Bagian | Dibangun dengan | Peran |
|---|---|---|
| CLI | Go, satu binary statis per OS | Login, setup project, build dan upload release serta patch |
| Backend | Java, Spring Boot, PostgreSQL | Akun, organisasi, app, release, patch, channel, usage |
| Console | Next.js, React, Tailwind CSS | Web app tempat tim memeriksa, promote, dan rollback |
| Dokumentasi ini | Hugo dengan tema Lotus Docs | Halaman statis, tanpa kode server |
Aturan yang kami pegang
- CLI membuat, console mengendalikan. Release dan patch hanya dibuat dari CLI, tempat build terjadi. Console bisa promote, rollback, dan menghapus, jadi browser sudah cukup untuk bertindak saat ada yang rusak.
- Rollback per channel. Menghentikan patch untuk tester tidak pernah mengganggu pengguna di
stable. - Token tidak lewat browser. Login CLI memakai PKCE, sehingga token langsung dikirim dari Retrojet ke terminal kamu. Console menyimpan access token terenkripsi di cookie HttpOnly yang tidak bisa dibaca script halaman.
- Patch ditandatangani. Setiap file patch di-upload bersama tanda tangannya.
- Dokumentasi yang jujur. Kalau sesuatu belum tersedia, halamannya mengatakan begitu.
Status
Retrojet masih tahap early access. Console, login, dan setup project sudah bisa dipakai. Build release dan patch dari CLI sedang dikerjakan. Lihat Apa itu Retrojet untuk kondisi terbaru.
Kredit
Dokumentasi ini dibangun dengan Hugo dan tema Lotus Docs buatan Colin Wilson. Console berawal dari next-shadcn-admin-dashboard-aria buatan Mohammed Arham Khan. Detail lisensi lengkap ada di halaman Lisensi.