
Security News
Axios Maintainer Confirms Social Engineering Attack Behind npm Compromise
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.
CLI buat developer malas yang tetap pengen rapi.
malas menghapus kerja berulang di workflow dev: generate file, folder, dan struktur yang itu-itu lagi, dengan hasil konsisten, deterministic, dan bisa dipreview.
Bukan AI. Bukan framework. Bukan tool serba bisa.
Cuma generator kecil yang bikin kamu lanjut kerja lebih cepat.
npm install -g malas
atau pakai langsung:
npx malas gen svelte route blog
# Generate Svelte route
malas gen svelte route blog
# Generate React component
malas gen react component Button
# Generate Neovim plugin structure
malas gen nvim plugin my-plugin
# List semua generator
malas list
malas?Karena ini kejadian terus:
Semua bisa manual. Semua juga malesin.
malas menghapus ritual itu.
$ malas gen svelte route blog
✓ Preview changes:
+ src/routes/blog/+page.svelte
+ src/routes/blog/+page.server.ts
+ src/routes/blog/+page.ts
Apply changes? [Y/n]
Input sama → output sama.
Tidak ada guessing, tidak ada magic.
Bisa dijalankan ulang tanpa rusak struktur yang udah ada.
Preview diff kalau file sudah exist.
# Route dengan server load
malas gen svelte route blog
# Component dengan TypeScript
malas gen svelte component Button
# Layout
malas gen svelte layout dashboard
Output:
src/routes/blog/
├── +page.svelte
├── +page.server.ts
└── +page.ts
# Functional component
malas gen react component Button
# Component dengan hooks
malas gen react hook useCounter
malas gen nvim plugin my-plugin
Output:
lua/my-plugin/
├── init.lua
└── config.lua
plugin/my-plugin.lua
Template disimpan di ~/.config/malas/templates/.
Struktur:
~/.config/malas/templates/
├── svelte/
│ ├── route/
│ │ ├── +page.svelte.hbs
│ │ └── +page.server.ts.hbs
│ └── component/
│ └── Component.svelte.hbs
└── react/
└── component/
└── Component.tsx.hbs
Template pakai Handlebars syntax:
<!-- +page.svelte.hbs -->
<script lang="ts">
export let data;
</script>
<h1>{{name}}</h1>
Default template udah oke buat 80% kasus.
Edit kalau kamu butuh style spesifik.
Kalau belum kamu pakai sendiri tiap hari, fitur itu belum layak ada.
malasmalas tidak:
Ini cuma generator. Simple dan fokus.
Kalau kamu cari tool "bisa semuanya", ini bukan itu.
# Generate dari template
malas gen <framework> <type> <name>
# List semua generator tersedia
malas list
# Show template location
malas config
# Show version
malas --version
# Help
malas --help
# Clone repo
git clone https://github.com/yourusername/malas
cd malas
# Install dependencies
pnpm install
# Build
pnpm build
# Test locally
pnpm link --global
malas gen svelte route test
Scope dijaga ketat. Fitur bertambah hanya kalau dipakai beneran.
Lebih baik tool kecil yang kepake tiap hari
daripada tool gede yang cuma dibaca README-nya.
Kalau sesuatu bisa dilakukan manual tapi bikin kamu malas,
itu kandidat fitur malas.
PR welcome untuk:
Tidak diterima:
Keep it simple. Keep it focused.
MIT
Dibuat karena males ngulang-ngulang hal yang sama.
Maintained dengan prinsip: kalau nggak kepake, nggak masuk.
FAQs
Deterministic CLI generator for repetitive dev workflows. Simple, fast, no AI.
We found that malas demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.