Nxdom Framework

Nusantara eXtreme Development Object Model — dokumentasi resmi

CLI Nxdom

Nxdom FrameworkNusantara eXtreme Development Object Model. Satu halaman untuk memasang CLI dari npm, membuat proyek, migrasi database, generator controller, dan server pengembangan.

Instalasi (npm global)

Pasang sekali di mesin (Node.js 18+). Setelah itu perintah nxdom tersedia di folder mana pun.

npm install -g nxdom-cli
nxdom help
npm ls -g nxdom-cli

Baris npm ls -g nxdom-cli harus menampilkan versi (mis. nxdom-cli@1.0.8) tanpa panah -> ke folder lokal — itu berarti masih npm link (development), bukan paket dari npmjs.

Tanpa install global (sekali jalan):

npx nxdom-cli create web my-site

Persyaratan

ToolUntuk
Node.js 18+ & npmMenjalankan CLI
Git atau mode ZIPUnduh template (create)
PHP + ComposerProyek create app
npmProyek create node / react / electron

Mulai cepat

nxdom create web my-site
cd my-site
nxdom modules

nxdom create — proyek baru

Semua template diambil dari branch main repo Nxadom/framework.

PerintahFolder di GitHubInstall otomatisKeterangan
create app [nama]backend/composer installAPI/backend PHP NexaUI
create web [nama]web/Frontend statis (HTML/JS)
create node [nama]node/npm installServer Express
create express [nama]node/npm installAlias create node
create electron [nama]eletron/npm installDesktop Electron
create desktop [nama]eletron/npm installAlias create electron
create react [nama]react/npm installReact / Expo
create mobile [nama]react/npm installAlias create react

Opsi umum:

  • -d, --dir <path> — folder induk tempat proyek dibuat
  • --no-composer / --no-npm — lewati install otomatis
nxdom create app my-api -d ./apps
nxdom create electron my-desktop
nxdom create react my-mobile

nxdom modules

Memperbarui assets/modules dari repo GitHub (menghapus folder lama lalu mengganti). Berlaku di proyek web, node, react, electron, dan backend setelah create.

cd my-site
nxdom modules
nxdom modules@v1.0.0
nxdom modules v1.0.0 -y

Perintah di dalam proyek

Jalankan dari root proyek (folder hasil create app dengan system/bin/router.php), atau gunakan -C / NXDOM_ROOT dari folder lain.

PerintahFungsi
nxdom migrate …Migration database (backend)
nxdom make …Generator controller
nxdom start / devServer PHP / mode dev
nxdom install nodeSetup server Node di proyek backend
nxdom -C <folder> <cmd>Jalankan perintah di root proyek tertentu
nxdom -C ./apps/my-api migrate run
nxdom -C ./apps/my-api make 1/Product
nxdom -C ./apps/my-api start 8000

nxdom migrate

Setelah proyek backend siap, jalankan migrasi agar skema database mengikuti framework.

cd my-api
nxdom migrate run
nxdom migrate rollback
nxdom migrate status
nxdom migrate create CreateProductsTable
nxdom migrate createdb nama_database

createdb membuat database MySQL (CREATE DATABASE IF NOT EXISTS) memakai DB_HOST, DB_USERNAME, DB_PASSWORD dari .env, lalu mengisi DB_DATABASE di .env.

Tanpa argumen → menu interaktif (opsi 5 = createdb).

nxdom make

Generator controller Admin. Prefiks 1 = area Admin; 1/Product → kelas seperti ProductController.

nxdom make 1/Product
  • 1/… → Admin
  • 2/… → Api
  • 3/… → Frontend
  • Tanpa argumen → interaktif

nxdom start — server pengembangan

Menjalankan PHP built-in server memakai system/bin/router.php. Direktori kerja = root proyek backend.

nxdom start
nxdom start 3000
nxdom start 8000 1

Argumen kedua opsional: 1 = localhost, 2 = jaringan LAN (Windows).

Variabel lingkungan CLI

VariabelDefaultFungsi
NXDOM_TEMPLATE_REPO https://github.com/Nxadom/framework.gitSumber create
NXDOM_TEMPLATE_BRANCHmainBranch template
NXDOM_ROOTRoot proyek (sama seperti -C)
NXDOM_CREATE_DOWNLOADgit lalu ZIPSet zip untuk unduh tanpa Git
PHP_BINphpPerintah PHP
NXDOM_NO_BANNER1 = sembunyikan banner di nxdom help

Proyek lama: nxdom.bat di root repo

Beberapa proyek backend yang di-clone manual masih menyertakan nxdom.bat (Windows) atau skrip nxdom di root. Itu setara perintah lokal di folder tersebut. Untuk proyek baru, disarankan npm install -g nxdom-cli lalu nxdom create app … — tidak perlu mengandalkan nxdom.bat atau setup PowerShell profil.

Yang bukan cara pakai CLI: npm install github:iyanrsaleh/nxdom di package.json — itu dependency Node, bukan pengganti npm install -g nxdom-cli.