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 🙏

© 2025 – Pkg Stats / Ryan Hefner

cli-aspen

v0.1.4

Published

A modern CLI tool for creating backend projects with customizable options

Readme

Aspen CLI

A modern command-line tool for creating backend projects with customizable options and robust framework support.

Features

  • 🚀 Fast backend project creation
  • 🛠️ Support for multiple frameworks: Express, Fastify, NestJS, AdonisJS
  • 📊 Integration with various ORMs: Prisma, TypeORM, Mongoose, Drizzle, Sequelize, Lucid (AdonisJS)
  • 🗄️ Support for different databases: PostgreSQL, MySQL, SQLite, MongoDB
  • 📦 Uses native CLIs for robust frameworks (NestJS, AdonisJS) and local templates for simple frameworks (Express, Fastify)
  • 🔧 Customizable additional features and configurations
  • 🎨 Beautiful and intuitive command-line interface
  • ⚡ Automatic CLI installation for frameworks that require it
  • 🚫 No fallback to templates for frameworks with official CLIs

Installation

# Global installation via npm
npm install -g aspen-cli

# Or via yarn
yarn global add aspen-cli

# Or via pnpm
pnpm add -g aspen-cli

Usage

Create a new project

# Create a new project with interactive wizard
aspen create my-project

# Create a project specifying directory
aspen create my-project --directory ./projects

# Create a project with specific template (for Express/Fastify)
aspen create my-project --template express-typescript

List available templates

aspen list

Initialize Aspen in an existing project

# Navigate to your existing project directory
cd my-existing-project

# Initialize Aspen
aspen init

Project Creation Options

When creating a new project, you can customize:

  • Language: TypeScript or JavaScript
  • Framework: Express, Fastify, NestJS, AdonisJS
  • ORM: Prisma, TypeORM, Mongoose, Drizzle, Sequelize, Lucid (AdonisJS) or none
  • Database: PostgreSQL, MySQL, SQLite, MongoDB or none
  • Additional Features:
    • ESLint for code linting
    • Prettier for code formatting
    • Biome as an alternative formatter/linter
    • Jest for testing
    • Docker configuration
    • Swagger/OpenAPI documentation
    • JWT Authentication
    • Rate limiting
    • CORS support
    • Helmet for security
    • Winston for logging
    • Husky for git hooks
    • GitHub Actions for CI/CD
    • And more...

Framework Strategies

Simple Frameworks (Express, Fastify)

  • Uses complete local templates with example files
  • Includes pre-configured project structure
  • Ready-to-use example controllers, services, and routes
  • Faster setup with immediate development readiness

Robust Frameworks (NestJS, AdonisJS)

  • Uses official CLIs only - no fallback to templates
  • Automatically installs framework CLI if not present
  • Leverages the full power and latest features of official tooling
  • Ensures compatibility with framework best practices

Generated Project Structure

Express/Fastify Projects

my-backend-project/
├── src/
│   ├── controllers/     # Application controllers with examples
│   ├── models/          # Data models
│   ├── routes/          # Route definitions
│   ├── middlewares/     # Custom middlewares
│   ├── services/        # Business logic services
│   ├── utils/           # Utility functions
│   ├── config/          # Configuration files
│   └── index.ts         # Application entry point
├── .env                 # Environment variables
├── .env.example         # Environment variables example
├── .gitignore           # Git ignore rules
├── package.json         # Dependencies and scripts
├── tsconfig.json        # TypeScript configuration
├── Dockerfile           # Docker configuration (if selected)
├── docker-compose.yml   # Docker Compose setup (if selected)
└── README.md            # Project documentation

NestJS/AdonisJS Projects

my-backend-project/
├── [Framework-specific structure created by official CLI]
├── Additional ORM configuration (if selected)
├── Additional features configuration (if selected)
└── Environment and Docker setup (if selected)

Why This Approach?

  • Reliability: Official CLIs are maintained by framework authors and always up-to-date
  • Best Practices: Framework CLIs ensure proper project structure and configuration
  • No Maintenance Burden: No need to maintain custom templates for complex frameworks
  • Flexibility: Simple frameworks get rich templates, complex frameworks get official tooling
  • Performance: Faster setup for simple projects, robust setup for complex projects

Contributing

We welcome contributions! Please see our contributing guidelines for more information.

License

MIT

Support

If you encounter any issues or have questions/suggestions, please open an issue on our GitHub repository or let me know by any means.