cleancode-e
v1.4.0
Published
CLI generator untuk project backend Fastify siap pakai
Maintainers
Readme
⚡ cleancode-e
CLI Generator untuk project backend Fastify — siap pakai dalam hitungan detik.
Apa itu cleancode-e?
cleancode-e adalah CLI generator yang men-scaffold project backend Fastify secara interaktif — lengkap dengan struktur folder siap produksi, pilihan database (MongoDB / MySQL / tanpa database), pilihan dokumentasi API (Swagger UI / Scalar), dan auto-install dependency.
Terinspirasi dari Artisan (Laravel) dan Create-React-App, tapi untuk ekosistem Node.js + Fastify.
Quickstart
npx cleancode-eTidak perlu install dulu. Jalankan langsung, ikuti promptnya.
Cara Pakai
npx cleancode-e
# atau jika install global:
npm install -g cleancode-e
cleancode-eIkuti prompt interaktifnya:
┌ cleancode-e CLI Generator
│
◇ Nama project kamu:
│ my-api
│
◇ Pilih database:
│ ● Tidak pakai database (in-memory)
│ ○ MongoDB (Mongoose)
│ ○ MySQL (Sequelize + mysql2)
│
◇ Pakai nodemon untuk auto-reload saat development?
│ ● Ya ○ Tidak
│
◇ Pilih dokumentasi API:
│ ● Swagger UI (akses via /docs)
│ ○ Scalar (akses via /docs — tampilan modern)
│
└ folder berhasil dibuat, Selamat berkarya! masbro 🚀Struktur Project yang Dihasilkan
my-api/
├── app.js # Entry point server Fastify
├── package.json # Scripts & dependencies
├── .env.example # Template environment variables
│
├── routes/
│ ├── example.userRoute.js # Contoh route GET & POST /users
│ └── readme.txt # Panduan penggunaan folder routes
│
├── controllers/
│ ├── example.userController.js # Contoh logic controller
│ └── readme.txt
│
├── models/
│ ├── User.js / example.userModel.js # Skema User (Mongoose / Sequelize)
│ └── readme.txt
│
├── config/
│ ├── db.js # Koneksi database (jika dipilih)
│ └── readme.txt
│
├── plugins/
│ ├── example.corsPlugin.js # Contoh plugin CORS
│ └── readme.txt
│
└── middleware/
├── example.authMiddleware.js # Contoh middleware autentikasi
└── readme.txtDependency yang Diinstall Otomatis
| Pilihan | Package yang diinstall |
|---|---|
| Semua project | fastify |
| MongoDB | + mongoose |
| MySQL | + sequelize, mysql2 |
| Nodemon (jika Ya) | nodemon (devDependency) |
| Swagger UI | + @fastify/swagger, @fastify/swagger-ui |
| Scalar | + @fastify/swagger, @scalar/fastify-api-reference |
Setup Setelah Generate
1. Tanpa Database
Langsung jalankan:
cd my-api
npm run dev
# → http://localhost:30002. MongoDB
cd my-api
# Rename dan isi .env
cp .env.example .env
# Edit MONGO_URI di .env:
# MONGO_URI=mongodb://localhost:27017/my-api
# atau MongoDB Atlas:
# MONGO_URI=mongodb+srv://user:[email protected]/my-api
npm run dev3. MySQL
cd my-api
# Buat database dulu di MySQL:
# CREATE DATABASE my_api;
cp .env.example .env
# Edit .env:
# DB_HOST=localhost
# DB_NAME=my_api
# DB_USER=root
# DB_PASS=yourpassword
npm run dev
# Sequelize akan auto-sync tabel saat pertama kali jalanDokumentasi API
Setelah server berjalan, buka browser dan akses:
| Pilihan | URL |
|---|---|
| Swagger UI | http://localhost:3000/docs |
| Scalar | http://localhost:3000/docs |
Scalar menampilkan UI yang lebih modern & estetis dengan dark mode bawaan, cocok untuk project yang ingin tampilan API Reference premium.
Scripts
| Command | Keterangan |
|---|---|
| npm start | Jalankan server (production) |
| npm run dev | Jalankan dengan nodemon (development) |
Syarat
- Node.js
>= 18 - npm
>= 8
Tech Stack
- Fastify — Web framework Node.js ultra-cepat
- @clack/prompts — Prompt CLI yang elegan
- execa — Shell command runner
- picocolors — Terminal color output
Lisensi
MIT © cleancode-e contributors
