UNPKG

henotic-cli

Version:

Henotic CLI is the ultimate multi-language backend generator, accelerating development with modular project structures and smart CRUD generation. Streamline your workflow from day one!

2 lines (1 loc) 8.6 kB
export declare const docs = "# \uD83E\uDD9C Henotic CLI - The Ultimate Backend Generator\n\nHenotic CLI adalah generator backend multi-bahasa yang mempercepat pengembangan dengan struktur proyek modular dan pembuatan CRUD yang cerdas. Streamline workflow kamu dari hari pertama!\n\n## \uD83D\uDCCB Daftar Isi\n\n- [Instalasi](#instalasi)\n- [Perintah Dasar](#perintah-dasar)\n- [Membuat Proyek Baru](#membuat-proyek-baru)\n - [TypeScript](#typescript)\n - [Golang](#golang)\n - [Bahasa Lainnya](#bahasa-lainnya)\n- [Membuat Model dan CRUD](#membuat-model-dan-crud)\n- [Mengelola Database](#mengelola-database)\n - [Seed Data](#seed-data)\n - [Unseed Data](#unseed-data)\n - [Migrasi](#migrasi)\n - [Drop Table](#drop-table)\n- [Struktur Proyek](#struktur-proyek)\n - [TypeScript](#struktur-typescript)\n - [Golang](#struktur-golang)\n- [Konfigurasi](#konfigurasi)\n- [Pemecahan Masalah](#pemecahan-masalah)\n- [FAQ](#faq)\n\n## \uD83D\uDE80 Instalasi\n\nHenotic CLI membutuhkan [Bun](https://bun.sh) sebagai runtime. Pastikan Bun sudah terinstal di sistem kamu.\n\n```bash\n# Install Bun (jika belum)\ncurl -fsSL https://bun.sh/install | bash\n\n# Install Henotic CLI secara global\nbun install -g henotic-cli\n```\n\nVerifikasi instalasi:\n\n```bash\nhenotic -v\n```\n\n## \uD83D\uDEE0\uFE0F Perintah Dasar\n\nBerikut adalah perintah dasar yang tersedia di Henotic CLI:\n\n```bash\nhenotic new <project-name> # Membuat proyek baru\nhenotic generate <model> # Membuat model dan CRUD baru\nhenotic seed <module> # Menjalankan seed pada modul\nhenotic unseed <module> # Menjalankan unseed pada modul\nhenotic migrate <module> # Menjalankan migrasi pada modul\nhenotic drop <module> # Menjalankan drop table pada modul\nhenotic -h, --help # Menampilkan bantuan\nhenotic -v, --version # Menampilkan versi CLI\nhenotic update # Memperbarui CLI ke versi terbaru\nhenotic delete # Menghapus Henotic CLI dari sistem\n```\n\nOpsi tambahan:\n```bash\n--all # Menjalankan perintah pada semua modul (untuk seed/unseed/migrate/drop)\n```\n\n## \uD83C\uDFD7\uFE0F Membuat Proyek Baru\n\n### TypeScript\n\n```bash\nhenotic new my-app\n```\n\nKamu akan diminta untuk memilih:\n1. **Framework**: Express.js, Elysia (Bun), Hono, atau Next.js\n2. **Database**: PostgreSQL, MongoDB, MariaDB, atau SQLite\n3. **Project Directory**: Apakah menggunakan folder src/ atau tidak\n\nHenotic akan:\n- Menginisialisasi proyek TypeScript\n- Menginstal dependensi yang diperlukan\n- Membuat struktur folder dasar\n- Membuat file konfigurasi henotic.config.json\n\n### Golang\n\n```bash\nhenotic new go-app\n```\n\nKamu akan diminta untuk memilih database:\n- PostgreSQL\n- MariaDB\n- SQLite\n\nHenotic akan:\n- Menginisialisasi modul Go\n- Menginstal dependensi yang diperlukan (gin, gorm, dll)\n- Membuat struktur folder standar Go\n- Membuat file konfigurasi henotic.config.json\n\n### Bahasa Lainnya\n\nHenotic juga mendukung Java, PHP, dan Rust (dalam pengembangan).\n\n## \uD83D\uDCCA Membuat Model dan CRUD\n\nSetelah proyek dibuat, kamu dapat membuat model dan operasi CRUD dengan perintah:\n\n```bash\nhenotic generate User name:string email:string age:number isActive:boolean\n```\n\nFormat: `henotic generate <ModelName> <field1:type> <field2:type> ...`\n\nTipe data yang didukung:\n- string\n- number\n- boolean\n- date\n- array\n- object\n\nHenotic akan membuat:\n- Model/Entity\n- Repository/DAO\n- Service\n- Controller/Handler\n- Routes\n- Validasi\n- Migrasi (jika diperlukan)\n- Seed\n- Sample data JSON\n\n## \uD83D\uDCBE Mengelola Database\n\n### Seed Data\n\nMengisi database dengan data sampel:\n\n```bash\n# Seed satu modul\nhenotic seed User\n\n# Seed semua modul\nhenotic seed --all\n```\n\n### Unseed Data\n\nMenghapus data seed dari database:\n\n```bash\n# Unseed satu modul\nhenotic unseed User\n\n# Unseed semua modul\nhenotic unseed --all\n```\n\n### Migrasi\n\nMembuat atau memperbarui skema database:\n\n```bash\n# Migrasi satu modul\nhenotic migrate User\n\n# Migrasi semua modul\nhenotic migrate --all\n```\n\n### Drop Table\n\nMenghapus tabel dari database:\n\n```bash\n# Drop satu modul\nhenotic drop User\n\n# Drop semua modul\nhenotic drop --all\n```\n\n## \uD83D\uDCC1 Struktur Proyek\n\n### Struktur TypeScript\n\n```\nmy-app/\n\u251C\u2500\u2500 src/ (opsional)\n\u2502 \u251C\u2500\u2500 config/\n\u2502 \u2502 \u251C\u2500\u2500 db.json\n\u2502 \u2502 \u2514\u2500\u2500 index.ts\n\u2502 \u251C\u2500\u2500 modules/\n\u2502 \u2502 \u2514\u2500\u2500 users/\n\u2502 \u2502 \u251C\u2500\u2500 user.schema.ts\n\u2502 \u2502 \u251C\u2500\u2500 user.repository.ts\n\u2502 \u2502 \u251C\u2500\u2500 user.service.ts\n\u2502 \u2502 \u251C\u2500\u2500 user.migrate.ts\n\u2502 \u2502 \u251C\u2500\u2500 user.seed.ts\n\u2502 \u2502 \u2514\u2500\u2500 index.ts\n\u2502 \u251C\u2500\u2500 router.ts\n\u2502 \u251C\u2500\u2500 error.ts\n\u2502 \u2514\u2500\u2500 index.ts\n\u251C\u2500\u2500 data/\n\u2502 \u2514\u2500\u2500 users.json\n\u251C\u2500\u2500 henotic.config.json\n\u2514\u2500\u2500 package.json\n```\n\n### Struktur Golang\n\n```\ngo-app/\n\u251C\u2500\u2500 cmd/\n\u2502 \u251C\u2500\u2500 main/\n\u2502 \u2502 \u2514\u2500\u2500 main.go\n\u2502 \u2514\u2500\u2500 seed/\n\u2502 \u2514\u2500\u2500 main.go\n\u251C\u2500\u2500 internal/\n\u2502 \u251C\u2500\u2500 module/\n\u2502 \u2502 \u2514\u2500\u2500 user/\n\u2502 \u2502 \u251C\u2500\u2500 entity/\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 user.go\n\u2502 \u2502 \u251C\u2500\u2500 service/\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 service.go\n\u2502 \u2502 \u251C\u2500\u2500 handler/\n\u2502 \u2502 \u2502 \u251C\u2500\u2500 handler.go\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 route.go\n\u2502 \u2502 \u2514\u2500\u2500 bootstrap.go\n\u2502 \u2514\u2500\u2500 seed/\n\u2502 \u2514\u2500\u2500 user.go\n\u251C\u2500\u2500 pkg/\n\u2502 \u251C\u2500\u2500 config/\n\u2502 \u2502 \u2514\u2500\u2500 config.go\n\u2502 \u251C\u2500\u2500 database/\n\u2502 \u2502 \u2514\u2500\u2500 database.go\n\u2502 \u251C\u2500\u2500 middleware/\n\u2502 \u2502 \u2514\u2500\u2500 middleware.go\n\u2502 \u2514\u2500\u2500 utils/\n\u2502 \u2514\u2500\u2500 response.go\n\u251C\u2500\u2500 data/\n\u2502 \u2514\u2500\u2500 users.json\n\u251C\u2500\u2500 .env\n\u251C\u2500\u2500 go.mod\n\u251C\u2500\u2500 go.sum\n\u2514\u2500\u2500 henotic.config.json\n```\n\n## \u2699\uFE0F Konfigurasi\n\nHenotic menggunakan file `henotic.config.json` untuk menyimpan konfigurasi proyek:\n\n```json\n{\n \"language\": \"typescript\",\n \"framework\": \"express\",\n \"database\": \"postgresql\",\n \"projectDir\": \"src\"\n}\n```\n\n- **language**: Bahasa pemrograman (typescript, golang, java, php, rust)\n- **framework**: Framework yang digunakan (express, elysia, hono, next, gin, dll)\n- **database**: Database yang digunakan (postgresql, mongodb, mariadb, sqlite)\n- **projectDir**: Direktori utama proyek (kosong atau \"src\")\n\n## \uD83D\uDD27 Pemecahan Masalah\n\n### Perintah tidak ditemukan\n\nJika `henotic` tidak ditemukan, pastikan:\n1. Bun terinstal dengan benar\n2. Path global Bun ada di PATH sistem\n3. Coba instal ulang: `bun install -g henotic-cli`\n\n### Gagal generate\n\nJika gagal generate, pastikan:\n1. Kamu berada di direktori root proyek\n2. File `henotic.config.json` ada dan valid\n3. Format perintah generate sudah benar\n\n### Gagal seed/migrate\n\nJika gagal seed atau migrate, pastikan:\n1. Database sudah berjalan dan dapat diakses\n2. Konfigurasi database sudah benar\n3. Modul yang direferensikan sudah ada\n\n## \u2753 FAQ\n\n### Apakah Henotic mendukung database lain?\n\nSaat ini Henotic mendukung PostgreSQL, MongoDB, MariaDB, dan SQLite. Dukungan untuk database lain sedang dalam pengembangan.\n\n### Bagaimana cara menambahkan relasi antar model?\n\nSaat ini kamu perlu mengedit file model/entity secara manual untuk menambahkan relasi. Dukungan otomatis untuk relasi sedang dalam pengembangan.\n\n### Apakah Henotic mendukung autentikasi?\n\nBelum ada dukungan bawaan untuk autentikasi, tetapi kamu dapat menambahkannya secara manual ke proyek yang dihasilkan.\n\n### Bagaimana cara berkontribusi ke Henotic?\n\nKunjungi repositori GitHub kami di https://github.com/hens-msn untuk informasi tentang cara berkontribusi.\n\n---\n\n\u00A9 2023 Henotic Team. Dibuat dengan \u2764\uFE0F untuk developer.\n";