PEST.js is a minimal, scalable framework that generates production-ready Node.js applications. It focuses on essential functionality and developer experience, providing a clean foundation that grows with your project.
- Minimal Dependencies: Only essential packages included
- TypeScript-First: Built for modern development
- Clean Architecture: Feature-based organization
- Testing Ready: Jest configuration included
- Linting Setup: ESLint with TypeScript support
- Git Integration: Automatic repository initialization
- Node.js v16 or higher
- npm or yarn
- Git
-
Clone the repository
git clone https://github.com/nabinkhair42/pest.js.git cd pest.js
-
Run the framework
./pestjs
-
Follow the prompts
- Enter project name
- Enter GitHub username
-
Navigate to your project directory:
cd your-project-name
-
Install dependencies:
npm install
-
Start development:
npm run dev
pest.js/
├── core/ # Framework core
│ ├── cli/ # CLI interface
│ │ └── main.sh # Main CLI logic
│ ├── generators/ # Code generators
│ │ ├── package.sh # Package.json generator
│ │ ├── config.sh # Config files generator
│ │ └── app.sh # App file generator
│ ├── utils/ # Utilities
│ │ └── helpers.sh # Helper functions
│ └── templates/ # Project templates
├── www/ # Documentation site
├── public/ # Static assets
├── scripts/ # Build scripts
├── docs/ # Framework docs
└── pestjs # CLI entry point
your-project/
├── src/
│ ├── config/ # Configuration
│ ├── features/ # Feature modules
│ │ ├── auth/
│ │ └── users/
│ ├── middleware/ # Custom middleware
│ ├── utils/ # Utilities
│ └── types/ # TypeScript types
├── tests/
│ ├── unit/
│ └── integration/
├── scripts/ # Utility scripts
├── docs/ # Documentation
└── [config files]
npm run dev
- Start development servernpm run build
- Build for productionnpm start
- Start production servernpm test
- Run testsnpm run lint
- Run ESLint
-
CLI Entry Point (
pestjs
)- Minimal, focused interface
- Essential project setup
-
Modular Generators (
core/generators/
)package.sh
- Package.json generationconfig.sh
- Configuration filesapp.sh
- Application setup
-
Utilities (
core/utils/
)helpers.sh
- Essential helper functions- Validation and file operations
- Minimal Dependencies: Only essential packages
- Modular Structure: Focused, single-purpose files
- Developer Experience: Clean, intuitive interface
- Scalable Foundation: Easy to extend and customize
express
- Web frameworkcors
- Cross-origin resource sharinghelmet
- Security headersdotenv
- Environment variables
typescript
- Type safetyjest
- Testing frameworkeslint
- Code lintingnodemon
- Development server
We welcome contributions! Please see our Contributing Guide for details.
This project is licensed under the MIT License - see the LICENSE file for details.