🚀 Package Installer CLI v3.17.7 — Modern Web App Scaffolding Made Even Easier
Version 3.17.7 of Package Installer CLI (@0xshariq/package-installer) focuses on polish, clarity, and workflow correctness. It brings a highly-requested improvement — database-aware ORM selection — plus many quality-of-life updates to templates, features, and packaging.
If you haven't used Package Installer CLI yet, it's an interactive, cross-platform tool that scaffolds production-ready projects across many languages and frameworks (React, Next.js, Express, Rust, Python, and more). The CLI also helps you add features (auth, analytics, databases, monitoring) to existing projects with pi add.
Install the latest version:
npm install -g @0xshariq/package-installer@3.17.7
# or
pnpm add -g @0xshariq/package-installer@3.17.7Why this release
We heard from users that mismatches between chosen databases and ORMs during interactive setup caused confusion and broken scaffolds. This release makes template choices safer and more discoverable by limiting ORM choices to only those compatible with the selected database (as defined in templates/template.json).
Other improvements include template refinements (Vite / Next.js App Router / shadcn/ui wiring), updated Docker and bundling guidance, and general documentation clarifications pulled from the core-cli/docs/ directory.
✨ Highlights — What’s new in v3.17.7
-
Database-specific ORM selection
-
When you select a database (PostgreSQL, MySQL, MongoDB, etc.), the CLI now only shows compatible ORMs (Prisma, TypeORM, Mongoose, Drizzle, etc.). This prevents misconfiguration and streamlines the setup flow.
-
Example (internal):
if (database && fwConfig.databases[database] && Array.isArray(fwConfig.databases[database].orms)) { const dbOrms = fwConfig.databases[database].orms; if (dbOrms.length > 0) { // Prompt for ORM selection (only the compatible list) } }
-
-
Templates & scaffolding
- Improved Next.js App Router template: better shadcn/ui wiring, Tailwind defaults, and clearer server/client boundaries.
- React (Vite) templates tuned for fast dev experience (hot reload, strict TypeScript, ESLint + Prettier integration).
- Fullstack combination templates (React + Express, React + NestJS) have clearer database/ORM wiring and example env files.
-
Features ecosystem
pi add databasenow surfaces recommended ORMs per database and includes migration helper scripts when supported.- AI, analytics, auth, monitoring, and Docker features have updated documentation and provider examples in
core-cli/docs/features.md.
-
Packaging & distribution
- Bundles and Docker images include clearer tags and recommended usage per the README's Docker section.
- The CLI's packaging scripts (
scripts/create-distribution-bundle.sh,scripts/create-node-binary.sh) were tuned for consistent artifacts across platforms.
Quick CLI walkthrough (updated)
- Start the CLI
pi my-app
# or
package-installer my-app- Interactive prompts (improved flow)
- Project name: argument or prompt (
pi my-apporpi .) - Framework: React, Next.js, Vue, Express, Rust, etc.
- Language: TypeScript, JavaScript, Rust, Python
- UI library: shadcn, Material UI, Chakra, etc. (when available for the chosen framework)
- Bundler: Vite, Webpack (framework-dependent)
- Src structure: whether to include a
src/layout - Tailwind CSS: optional
- Database: PostgreSQL, MySQL, MongoDB, none
- ORM: only shows ORMs compatible with the selected database (new)
- Project creation & dependency installation
The CLI copies the selected template, configures environment files, and runs the detected package manager (pnpm, yarn, or npm) to install dependencies automatically. It will try to detect your preferred package manager by looking for lockfiles and user preferences.
- Success message & next steps
After scaffolding, you'll see a short, helpful summary with commands to run the dev server, lint, test, and build.
Example flow (PostgreSQL + Prisma)
$ pi create my-app
# Choose Next.js -> TypeScript -> Tailwind -> PostgreSQL
# When prompted for ORM, you will only see the compatible ORMs (e.g. Prisma, TypeORM)This prevents accidentally choosing an ORM that doesn't support your selected database and ensures generated templates include the correct migration and schema helpers.
Where to find more details
- Full CLI docs: see
core-cli/README.md(quick start, commands) and the docs folder:core-cli/docs/. - Templates reference:
core-cli/docs/templates.md— details on frontend, backend, fullstack, and Rust templates. - Features reference:
core-cli/docs/features.md— allpi addfeatures and provider lists. - Installation & Docker:
core-cli/docs/installation.mdandcore-cli/docs/docker.md.
Troubleshooting & tips
- If a template or provider is missing, check the
templates/directory andtemplates/template.jsonfor supported combinations. - Use
pi .to scaffold in the current directory. - For Rust templates, ensure
cargois installed and on your PATH. - For full-stack templates, run frontend and backend in separate terminals (or use the Docker compose templates included).
Roadmap & next steps
- Add more database/ORM mappings (Drizzle, MikroORM, Prisma adapters) and improve automated migrations.
- More templates: Svelte, SolidJS, Python/Django, advanced mobile templates.
- Plugin system for custom template logic and community templates.
- Cloud deployment integrations directly from the CLI (Vercel, Netlify, Fly, AWS shortcuts).
Changelog (selected)
- v3.17.7 — database-aware ORM selection; template improvements; packaging/documentation clarifications
- v3.17.6 — minor template fixes and dependency updates
Ready to try it? Install or upgrade to v3.17.7 and scaffold a project in minutes:
npm install -g @0xshariq/package-installer@3.17.7
pi create my-appFor full docs and examples, browse the core-cli/docs directory in the repository.
Happy scaffolding! ✨