npm package: @sundaysf/cli-v2
Description: Sundays Framework CLI - Project scaffolding and CRUD code generation
Author: Pablo Dominguez
Latest version: 1.0.11

# 🚀 Sundays Framework - The Backend Architect's Dream

> *"Why waste weekdays struggling with boilerplate when you can build like it's Sunday?"* - Paul Sundays

Welcome to **Sundays Framework**, where backend development meets architectural elegance. Created by Paul Sundays, your personal backend architect, this framework transforms the way you build scalable, production-ready applications.

## 🌟 Why Sundays Framework?

In a world of complex setups and endless configurations, Sundays Framework stands as your beacon of simplicity and power. We believe that great architecture shouldn't require a PhD to implement. That's why we've crafted every line of code with love, ensuring you spend less time configuring and more time creating.

### ✨ Features That Make Every Day Feel Like Sunday

- **🏗️ Zero-Config Architecture**: Start building in seconds, not hours
- **🎯 Type-Safe Everything**: TypeScript-first approach for bulletproof code
- **⚡ Lightning Fast Setup**: From zero to API in under 60 seconds
- **🔧 Smart Code Generation**: Controllers, routes, and DAOs created automagically
- **📦 Production-Ready**: Docker, migrations, and best practices out of the box
- **🎨 Clean Code Philosophy**: Because beautiful code is maintainable code

## 🎯 Quick Start - Your Sunday Begins Now

Paul Sundays here! Let me guide you through the smoothest setup experience you've ever had. Choose your adventure:

### 🏃‍♂️ Backend API Template
```bash
npx @sundaysf/cli --init --backend
```
*Perfect for REST APIs, microservices, and full-stack backends*

### 🗄️ Database SQL Module
```bash
npx @sundaysf/cli --init --db-sql
```
*Ideal for database layers with Knex.js, migrations, and seeds*

### 📦 Basic Module Template
```bash
npx @sundaysf/cli --init --module
```
*Great for npm packages and shared libraries*

> **Pro tip from Paul**: Each template comes pre-configured with everything you need. No more "how do I structure this?" moments!
## ⚙️ Configuration - Set It and Forget It

After initialization, you'll find a `.env.example` file. Simply:

```bash
cp .env.example .env
```

Customize your environment variables, and you're ready to rock! The framework handles the rest with sensible defaults.

## 🎨 Magic Controller Generation

Watch as Paul Sundays works his magic! Need a new feature? Let's create a controller with all CRUD operations in seconds:

```bash
npm run create:controller
```

### What You Get:
- ✅ **Full CRUD Operations**: GET, GET by UUID, CREATE, UPDATE, DELETE
- ✅ **Type-Safe Routes**: Automatically generated with proper TypeScript types
- ✅ **Postman Collection**: API documentation generated on the fly
- ✅ **Best Practices**: Error handling, validation, and clean architecture

> **Paul's Secret**: Each controller follows the same battle-tested patterns I've refined over years of Sunday coding sessions!

## 🛠️ Development Commands - Your Sunday Toolkit

### 🔥 Development Mode
```bash
npm run start:dev
```
*Hot-reloading enabled! Code like the wind, see changes instantly.*

### 🏗️ Build for Production
```bash
npm run build
```
*TypeScript → JavaScript transformation with optimization magic.*

### 🚀 Production Server
```bash
npm run start
```
*Battle-tested, production-ready, and blazing fast.*

### 🗄️ Database Commands (db-sql template)
```bash
npm run migrate:create    # Create a new migration
npm run migrate:deploy    # Run pending migrations
npm run seed:create       # Create a new seed file
npm run seed:run          # Populate your database
```

### 🎯 Code Quality
```bash
npm run format            # Prettier auto-formatting
npm run lint              # ESLint code analysis
npm test                  # Run your test suite
```

## 🐳 Docker Support - Ship It Like a Pro

Paul Sundays believes in shipping with confidence. That's why every backend template includes a production-ready Dockerfile!

### 📦 Build Your Container
```bash
docker build -t my-sunday-api .
```

### 🚢 Launch to the Cloud
```bash
docker run -p 3098:3098 my-sunday-api
```

### 🎯 Docker Compose Ready
```yaml
version: '3.8'
services:
  api:
    build: .
    ports:
      - "3098:3098"
    environment:
      - NODE_ENV=production
    volumes:
      - ./logs:/app/logs
```

## 🏗️ Project Structure - Organized Like Sunday Brunch

```
your-project/
├── src/
│   ├── controllers/     # Your business logic lives here
│   ├── routes/          # RESTful route definitions
│   ├── services/        # Reusable service layer
│   ├── middlewares/     # Express middleware magic
│   ├── dao/             # Data Access Objects (db-sql)
│   └── interfaces/      # TypeScript interfaces
├── migrations/          # Database evolution scripts
├── seeds/               # Sample data for development
├── dist/                # Compiled production code
└── postman.json         # Auto-generated API docs
```

## 🎓 Philosophy - The Sunday Way

**"Code on Sundays, Deploy on Mondays"**

We believe that:
- 🌟 **Simplicity is the ultimate sophistication**
- 🎯 **Convention over configuration saves lives**
- 🚀 **Developer experience is user experience**
- 💪 **Great frameworks empower, not constrain**

## 🤝 Join the Sunday Revolution

Created with ❤️ by Paul Sundays, your backend architect who believes every developer deserves tools that spark joy.

### 🌐 Connect with Paul
- 📧 Feedback: Create an issue and let's make Sundays even better!
- 🐛 Found a bug? You've discovered a weekday trying to sneak in!
- 💡 Have an idea? Sunday brainstorming sessions are the best!

## 📜 License

MIT License - Because Sundays are meant to be free!

---

*Remember: When you code with Sundays Framework, every day feels like the weekend. Now go build something amazing!*

**Happy Sunday Coding! 🎉**

*- Paul Sundays, Your Backend Architect*