Skip to content

About

Ultimate Linux Tool Project Manager adalah asisten terminal (TUI) yang dirancang khusus untuk mempermudah alur kerja Fullstack Developer di lingkungan Linux. Skrip ini mengotomatiskan manajemen servis, database, git, dan navigasi proyek dalam satu antarmuka yang cepat dan indah.

Resources

Security policy

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Ultimate Linux Tool Project Manager

Ultimate Linux Tool Project Manager adalah asisten terminal (TUI) yang dirancang untuk mempermudah alur kerja pengembangan perangkat lunak di lingkungan Linux. Aplikasi ini mengotomatiskan manajemen layanan sistem, basis data, integrasi Git, dan manajemen proyek melalui satu antarmuka terpusat.

📸 Tangkapan Layar (Screenshots)

Berikut adalah sekilas tampilan antarmuka elegan DevMenu Pro di dalam terminal:

Dashboard Utama DevMenu

Manajemen Layanan Sistem   Port Commander Pro

Interactive Database Explorer   Environment Guard (.env Manager)

Interactive Credentials Manager   Plugin System Integration


🌟 Fitur Utama (v3.0 Pro Edition)

  • FZF Project Browser Pro (dengan Live Preview & Proteksi .env): Fitur pencarian proyek yang dirombak total menjadi browser proyek TUI yang interaktif dan informatif.
    • Informasi Kolom Instan (Left Panel): Menampilkan daftar proyek terformat lengkap: Nama Proyek | Tipe/Framework | Cabang Git (Simbol * jika kotor) | Ukuran Folder | Tech Stack.
    • Detail Preview Dinamis (Right Panel): Menampilkan detail metadata proyek secara real-time yang tersinkronisasi dengan tema warna aktif.
    • Proteksi Keamanan Ketat: Membaca berkas .env proyek dan menyensor otomatis kata kunci kredensial sensitif (PASSWORD, SECRET, TOKEN, KEY, PASS, PRIVATE, CREDENTIAL) menjadi ******** [TERPROTEKSI].
    • Pintasan Keyboard Terpadu:
      • [ENTER] ➔ Membuka sub-menu proyek (Submenu Action Hub).
      • [CTRL-O] ➔ Membuka folder proyek secara instan di editor modern pilihan Anda (VS Code, Cursor, Windsurf, Nano).
      • [CTRL-S] ➔ Membuka terminal tab baru di dalam direktori kerja proyek secara instan.
      • [ESC] ➔ Membatalkan navigasi dan kembali dengan aman.
  • Port Commander Pro: Pemantauan port dengan Live Process Detail Preview. Hentikan proses zombie dengan satu klik secara interaktif dan instan.
  • Environment Guard (.env Manager): Pusat pencarian seluruh file .env di direktori kerja. Dilengkapi Auto-Masking Preview (Otomatis menyensor variabel PASSWORD/SECRET) sebelum membuka file di editor spesifik.
  • Interactive Database Explorer X: Penjelajahan database di dalam terminal yang tidak lagi pasif. Menyediakan jendela preview fzf langsung (Mode Pro) untuk intip tabel secara real-time tanpa perlu eksekusi kuery manual.
  • Minimalist Industrial Aesthetic: Tidak ada lagi elemen norak. Desain terminal menggunakan indikator blok status (█/░), simbol hierarki profesional (❯, ◈), dan aksen warna solid untuk alur kerja elit.
  • Multi-Language Support (i18n): Dukungan penuh untuk Bahasa Indonesia dan Bahasa Inggris. Ganti bahasa secara instan melalui sistem tanpa harus restart aplikasi (Live Reload).
  • N-Tier Monorepo Orchestrator: Arsitektur adaptif untuk direktori apps/api maupun apps/web. Dilengkapi menu interaktif untuk merilis Multi-Terminal Dev Server seketika.
  • Local Domain & SSL Router: Mengarahkan ekosistem proyek seketika ke sub-domain HTTPS mandiri (mis: https://traderpro.test), dijalin bersama mkcert & proksi lokal.
  • Interactive Settings Hub: Control panel terminal yang canggih. Anda bisa mengganti Editor IDE default (VS Code, Cursor, Windsurf), mengubah direktori Workspace, hingga memperbarui kredensial MySQL secara on-the-fly lewat antarmuka grafis terminal yang aman ([ESC] cancellation).

Manajemen Proyek & Eksekusi Cepat

  • Project X-Ray Scanner: Memindai jenis framework, memeriksa Git Branch & Status, serta menangkap konfigurasi repositori eksternal sebagai detail dashboard.
  • Smart Interactive Runner: Menganalisis package.json (NPM Scripts) atau composer dan memfasilitasi menu fzf agar Anda tepat dalam menjalankan peladen (server).
  • Auto-Docker Engine: Deteksi detil siklus kontainer (docker-compose.yml) per-proyek (Up, Down, Logs, Restart) diintegrasikan langsung pada menu sub-proyek (Submenu Action Hub).
  • Pembukaan proyek otomatis pada alat IDE andalan (VS Code/Cursor) maupun Multi-Session Tmux langsung.

Arsitektur Modular

Aplikasi ini menggunakan arsitektur pure directory-based — seluruh isi modules/ adalah direktori, tanpa flat file. Setiap direktori memiliki init.sh sebagai entry-point loader-nya sendiri.

Cara Kerja Loader (devmenu.sh)

devmenu.sh memuat modul secara deterministik menggunakan LOAD_ORDER:

core → i18n → service → ports → database → project → snapshot → devutils → git → system → search → monitor → menu

Setiap direktori diload via <nama-modul>/init.sh-nya masing-masing.

Pedoman Arsitektur Modul (init.sh)

Semua berkas init.sh di dalam modul hanya diperbolehkan untuk melakukan pemuatan berkas (source) dan pendefinisian fungsi (function). Berkas init.sh tidak boleh menjalankan aksi interaktif langsung (seperti meminta masukan user dengan read), memicu verifikasi/eksekusi sudo, melakukan koneksi jaringan (curl), melakukan pemasangan dependensi (npm install/composer install), eksekusi perintah database (mysql), maupun modifikasi layanan aktif (systemctl) ketika di-source oleh loader.


📦 Daftar Modul

Direktori File Utama Fungsi
core/ logging.sh, ui.sh, system.sh, security.sh, plugin_engine.sh, credentials.sh, bootstrap.sh Fondasi sistem: log, UI, validasi, keamanan/masking, plugin, kredensial, inisialisasi
i18n/ init.sh, id.sh, en.sh Internasionalisasi: Dukungan multi-bahasa bahasa Indonesia & Inggris secara dinamis
service/ engine.sh, manager.sh, dashboard.sh Kontrol layanan sistem (MariaDB, Redis, Apache, dst.)
ports/ ports.sh Manajemen port: lihat aktif, bebaskan, kill proses
database/ database.sh Backup, restore, buat, dan hapus database
project/ detection.sh, runner.sh, creator.sh, scanner.sh, docker.sh, monorepo.sh, submenu.sh, actions/info.sh, actions/build.sh, actions/db.sh, actions/github.sh, actions/delete.sh Engine proyek lengkap: deteksi, jalankan, buat, scan, docker, monorepo, submenu, dan aksi-aksi (info, build, db, github, delete)
devutils/ sdk.sh, cleaner.sh, keys.sh, menu.sh Utilitas developer: versi SDK, cache cleaner, SSH keys
git/ git.sh Git status, commit, dan pull untuk semua proyek
system/ system.sh Info sistem, dependensi, cleanup, edit config, credentials
search/ search.sh Fuzzy search proyek via fzf
monitor/ health.sh Live Health-Check Dashboard: Monitor HTTP, DB, dan Git Status proyek secara real-time
menu/ menu.sh Render menu utama dan main loop navigasi

Modul Inti — core/

core/init.sh memuat sub-modul inti dengan urutan ketat (logging wajib pertama): logging.sh → ui.sh → system.sh → security.sh → plugin_engine.sh → credentials.sh → bootstrap.sh

Catatan: bootstrap.sh adalah file inisialisasi startup (core_init(), init_directories(), dll.).


Memulai Penggunaan

  1. Jalankan Skrip Instalasi Buka terminal di direktori ini dan jalankan: bash ./setup.sh

  2. Muat Ulang Konfigurasi Jalankan perintah berikut untuk mengaktifkan alias: source ~/.bashrc

  3. Menjalankan Aplikasi Gunakan perintah berikut di direktori mana pun:

devmenu
  1. Konfigurasi Bahasa Secara default aplikasi menggunakan Bahasa Indonesia. Anda dapat mengubahnya ke Bahasa Inggris melalui menu SYSTEMS > Developer Utils Hub > Ganti Bahasa (atau langsung melalui menu Settings jika tersedia di versi Anda).

Ekstensibilitas (Plugin System)

Sistem ini mendukung perluasan fitur (third-party extensions) tanpa memodifikasi kode inti arsitektur. Anda dapat membuat fitur khusus, sinkronisasi API luar, hingga pemantauan memori lanjutan dengan cukup membuat modul di folder plugins/. Untuk standar baku pemrograman, pedoman pendaftaran API, serta konvensi elemen UI, silakan rujuk: 👉 Buku Panduan Ekstensibilitas Plugin (Developer Guide)


Kredensial & Keamanan

Informasi kredensial disimpan pada file ~/.project_manager_creds dengan izin akses terbatas (600) untuk keamanan maksimal. DevMenu mematuhi standar keamanan modern:

  1. Tidak Ada Eksekusi Kredensial: Berkas kredensial dibaca dan diparsing menggunakan parser kustom berbasis teks murni tanpa memicu source atau eval di bash shell.
  2. Whitelist Kunci Ketat: Hanya kunci whitelist yang diperbolehkan (MYSQL_USER, MYSQL_PASS, SUDO_PASS, GITHUB_USER, GITHUB_TOKEN).
  3. Penyensoran Sandi: Semua rahasia disensor sebagai ******** [TERPROTEKSI] secara aman dalam panel peninjauan berkas .env.
  4. Verifikasi Izin: Sistem secara otomatis mendeteksi dan memperbaiki izin akses berkas kredensial yang terlalu longgar ke tingkat akses aman (600).
  5. Caching Memori Kredensial: Mengurangi I/O disk dengan mekanisme caching global (_CREDS_LOADED) yang secara cerdas tetap valid di lingkup shell induk dan subshell untuk kinerja optimal.
  6. Perlindungan Terhadap Interupsi (Signal Traps): Pembuatan berkas kredensial sementara (seperti .cnf MySQL atau config API GitHub) selalu dibungkus dalam subshell dan dilindungi oleh signal traps (EXIT ERR INT TERM), memastikan berkas rahasia selalu terhapus bersih jika skrip dihentikan paksa.
  7. Escaping Karakter Khusus: Mengamankan penulisan kredensial yang mengandung karakter khusus (seperti backslash \) pada berkas opsi MySQL guna menghindari kerusakan karakter secara diam-diam (silent password corruption).
  8. Eksekusi Perintah Aman: Menggunakan pembungkus perintah (try_execute_cmd & safe_execute_cmd) berbasis pemetaan argumen/array, menggantikan fungsi lawas eval atau bash -c guna meniadakan kerentanan shell/command injection.

Alfan Zaky

About

Ultimate Linux Tool Project Manager adalah asisten terminal (TUI) yang dirancang khusus untuk mempermudah alur kerja Fullstack Developer di lingkungan Linux. Skrip ini mengotomatiskan manajemen servis, database, git, dan navigasi proyek dalam satu antarmuka yang cepat dan indah.

Resources

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages