Package Exports
- @shakil-dev/shakil-stack
- @shakil-dev/shakil-stack/bin/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@shakil-dev/shakil-stack) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
🚀 Shakil-Stack
Shakil-Stack is a high-performance, developer-first full-stack project generator. It scaffolds production-ready applications mirroring the EchoNet backend architecture paired with a state-of-the-art Next.js frontend.
🌟 Key Features
🛡️ Backend Excellence (EchoNet Style)
- Modular Architecture: Clean, scalable
src/app/modulepattern. - Prisma 7+: Next-gen database ORM with pre-configured PostgreSQL adapters.
- Better Auth Integration: Pre-built authentication schemas (User, Session, Account).
- Security First: Integrated Helmet, CORS, Rate Limiting, and XSS Sanitization.
- Robust Error Handling: Centralized global error handler and structured
ApiErrorclass.
🌐 Modern Frontend (Next.js)
- App Router: Leveraging the latest Next.js 14/15 patterns.
- TypeScript & Tailwind: Pre-configured for visual excellence and type safety.
- Clean Structure: Dedicated directories for hooks, services, lib, and types.
🛠️ Developer Experience (CLI)
- One-Command Scaffolding: Setup your entire stack in seconds.
- Smart Generation: Scaffold modules (Controller, Service, Route) with zero boilerplate.
- Built-in Utilities: Quick access to Prisma and build commands.
🚀 Commands Guide
1. Initialize a New Project
Create your full-stack dream project interactively:
npx @shakil-dev/shakil-stack init my-awesome-app2. Scaffold a New Module (g)
Generate a complete module with all layers instantly:
# Must be run in the project root
shakil-stack g module ProductGenerated Files:
product.controller.ts: Request/Response handling.product.service.ts: Business logic & Database interaction.product.route.ts: API endpoint definitions.product.interface.ts: Data types and contracts.product.validation.ts: Zod schema validation.product.constant.ts: Reusable constants.
3. Production Build
Prepare your application for the real world:
shakil-stack build4. Prisma Power Tools
Manage your database without leaving the CLI:
shakil-stack prisma generate # Update Prisma Client
shakil-stack prisma migrate # Apply migrations to DB📂 Project Structure
my-awesome-app/
├── backend/
│ ├── prisma/ # Schema & Config
│ ├── src/
│ │ ├── server.ts # Entry point
│ │ └── app/ # Core logic
│ │ ├── module/ # Feature-based modules
│ │ ├── middleware/ # Security & Global handlers
│ │ └── utils/ # Reusable helpers
│ └── tsconfig.json
├── frontend/ (Next.js)
│ ├── src/
│ │ ├── app/ # Routes & Pages
│ │ ├── components/ # UI Components
│ │ └── services/ # API integration
└── README.md🛠️ Post-Setup Checklist
- Environment: Update
backend/.envwith yourDATABASE_URL. - Database: Run
shakil-stack prisma migrateto setup your tables. - Launch: Run
npm devin both folders.
🤝 Contributing
Contributions make the open-source community an amazing place to learn, inspire, and create.
- Fork the Project.
- Create your Feature Branch (
git checkout -b feature/AmazingFeature). - Commit your Changes (
git commit -m 'Add some AmazingFeature'). - Push to the Branch (
git push origin feature/AmazingFeature). - Open a Pull Request.
Please read our CODE_OF_CONDUCT.md before contributing.
📄 License
Distributed under the MIT License. See LICENSE for more information.
Built with ⚡ by Shakil Ahmed Billal