npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@cybergenius/node-artisan

v1.0.9

Published

CLI for Node.js. Create a new project, controller, model, and more.

Downloads

18

Readme

Node Artisan CLI

A powerful CLI tool for Node.js development that helps you scaffold projects and components quickly.

Features

  • 🚀 Quick project scaffolding
  • 🎮 Generate controllers, models, and routes
  • 🛠️ Built-in authentication setup
  • 📦 Modern project structure
  • ⚡ Express.js integration
  • 🗄️ MongoDB/Mongoose support
  • 🧪 Testing utilities
  • 🔄 Database migrations and seeders
  • ✨ Middleware generation
  • 📝 Validation helpers
  • ⚙️ Configuration management
  • 📨 Job/Queue management

Installation

Method 1: Global Installation (CLI Tool)

npm install -g @cybergenius/node-artisan

With global installation, you can use the CLI commands anywhere:

# Create a new Node.js project
node-artisan new my-app

# Generate components within your project
node-artisan make:controller UserController
node-artisan make:model User

Method 2: Project Dependency

npm install @cybergenius/node-artisan

When installed as a dependency, you can use it in your code:

import { app, connectDB, initServer } from '@cybergenius/node-artisan';

// Initialize the server
await connectDB();
initServer();

Available Commands

Project Creation

# Create a new Node.js project
node-artisan new <project-name>

# Start development server
node-artisan serve
node-artisan serve --port 3000

Models, Controllers & Routes

# Generate a model
node-artisan make:model User
node-artisan make:model User --resource    # With controller and routes
node-artisan make:model User --rc          # Shorthand for --resource

# Generate a controller
node-artisan make:controller UserController
node-artisan make:controller UserController --resource    # With CRUD methods

# Generate a route
node-artisan make:route users
node-artisan make:route users --resource    # With CRUD endpoints

Database Operations

# Generate a migration
node-artisan make:migration create_users_table

# Generate a seeder
node-artisan make:seeder UserSeeder

# Run seeders
node-artisan db:seed

Middleware & Validation

# Generate middleware
node-artisan make:middleware Auth
node-artisan make:middleware RateLimit

# Generate validator
node-artisan make:validator User

Testing

# Generate tests
node-artisan make:test UserTest
node-artisan make:test UserTest --unit      # Unit test
node-artisan make:test UserTest --feature   # Feature test

Configuration

# Generate config file
node-artisan make:config database
node-artisan make:config cache

# List all config files
node-artisan config:list

Jobs & Queue

# Generate jobs
node-artisan make:job SendEmail
node-artisan make:job ProcessPayment --sync    # Synchronous job
node-artisan make:job ImportData --async       # Asynchronous job

Environment

# Generate .env file
node-artisan env:generate

Environment Configuration

Create a .env file in your project directory or .node-artisan.env in your home directory:

MONGODB_URI=your_mongodb_connection_string
PORT=3000
JWT_SECRET=your_jwt_secret

Project Structure

my-project/

├── controllers/    # Request handlers
├── models/         # Database models
├── routes/         # API routes
├── middleware/     # Custom middleware
├── config/         # Configuration files
├── validators/     # Request validation
└── jobs/          # Background jobs
├── tests/
│   ├── unit/          # Unit tests
│   └── feature/       # Feature tests
├── database/
│   ├── migrations/    # Database migrations
│   └── seeders/      # Database seeders
├── .env              # Environment variables
└── server.js         # Application entry point

License

ISC License

Author

Emmanuel Kolawole

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Support

If you encounter any issues or need help, please file an issue on the GitHub repository.