Documentation
Overview
Package Installer CLI (pi) is a modern, cross-platform CLI tool designed to scaffold web applications with beautiful styling, interactive prompts, and comprehensive framework support. Create production-ready projects in seconds with the ultimate developer experience.
- 10+ Frameworks: Next.js, React, Vue, Angular, Express, Rust, Remix, NestJS
- Language Support: JavaScript & TypeScript
- UI Libraries: Shadcn/ui, Material-UI, Headless UI
- Bundler Options: Vite and more
- Cross-platform: Windows, macOS, Linux, WSL
- Dual Commands: Use `pi` or `package-installer`
Installation
Install Package Installer CLI globally or use it directly with npx. We recommend using npx for the latest version.
Using npx (Recommended)
npx package-installer-cli
Global Installation
npm install -g package-installer-cli
After global installation, you can use: pi
or package-installer
- Node.js 16.0 or higher
- npm 7.0 or higher
- Windows 10+, macOS 10.15+, or Linux
Usage
The CLI provides an intuitive interface for scaffolding web applications. Here are the basic commands.
Basic Usage
pi
Available Commands
Create a new project interactively
pi
Create project with specific name
pi my-awesome-app
Use current directory name
pi .
Use full command name
package-installer my-react-app
Supported Frameworks
Package Installer CLI supports a wide range of frameworks and technologies for building modern web applications.
React framework with SSR, SSG, and API routes
JavaScript library for building user interfaces
Progressive JavaScript framework
Platform for building mobile and desktop web applications
Fast, unopinionated web framework for Node.js
Full stack web framework focused on web standards
Progressive Node.js framework for building scalable applications
Systems programming language with memory safety
Frameworks are categorized by their primary use case:
- Frontend: User interface frameworks and libraries
- Backend: Server-side frameworks and APIs
- Fullstack: Complete application frameworks
Templates
Each framework comes with multiple template options to suit different project requirements.
Template Types
Simple, clean structure for getting started
Full-featured, production-ready setups
Pre-configured full-stack setups
Templates with Shadcn/ui, Material-UI
Example: React + Express + Shadcn
š Choose your template:
⯠react-basic-express-shadcn-template (Pre-configured setup)
react-advance-express-shadcn-template (Pre-configured setup)
š Template includes:
ā
Shadcn/ui components
ā
Express.js backend
ā
React.js frontend
š” All configurations are pre-configured for optimal setup!
Examples
Common use cases and examples to help you get started quickly.
Next.js Project
# Create a Next.js project
pi my-next-app
# Choose framework: Next.js
# Choose language: TypeScript
# Choose template: Basic with Shadcn/ui
# Choose styling: Tailwind CSS
Full-Stack Application
# Create a full-stack app
pi my-fullstack-app
# Choose combination template
# React + Express + Shadcn/ui
# TypeScript throughout
# Auto dependency installation
Rust Backend
# Create a Rust project
pi my-rust-service
# Choose framework: Rust
# Choose template: Advanced
# Cargo commands will be shown
Development
Information for developers who want to contribute to Package Installer CLI.
Local Development
# Clone the repository
git clone https://github.com/0xshariq/package-installer-cli.git
cd package-installer-cli
# Install dependencies
npm install
# Build the project
npm run build
# Run locally
node dist/index.js
Project Structure
package-installer-cli/
āāā src/
ā āāā index.ts # Main CLI logic with enhanced styling
āāā templates/ # Template directories
ā āāā nextjs/
ā āāā reactjs/
ā āāā vuejs/
ā āāā angularjs/
ā āāā expressjs/
ā āāā remixjs/
ā āāā nestjs/
ā āāā rust/
ā āāā reactjs-expressjs-shadcn/
āāā template.json # Framework configurations
āāā dist/ # Compiled JavaScript
āāā package.json
Contributing
We welcome contributions! Here's how to get started with contributing to Package Installer CLI.
Getting Started
# Fork the repository
# Create your feature branch
git checkout -b feature/amazing-feature
# Commit your changes
git commit -m 'Add amazing feature'
# Push to the branch
git push origin feature/amazing-feature
# Open a Pull Request
- Follow TypeScript best practices
- Add proper error handling
- Include emoji and styling for new features
- Update documentation for new frameworks
- Test on multiple platforms
- Add comprehensive comments to code
Adding New Frameworks
- Update
template.json
with framework configuration - Create template directory in
templates/
- Add framework theme in
getFrameworkTheme()
- Update documentation in README.md
- Test thoroughly on different platforms
Quick Start Steps
Install CLI
Run 'npx package-installer-cli' in your terminal.
npx package-installer-cli
Choose Packages
Select and install npm packages interactively.
Enjoy!
Your project is ready with all dependencies installed.