hackpack-cli
v1.0.22
Published
A CLI tool to accelerate project setup and automation.
Readme
What is Hackpack?
Hackpack is a powerful CLI tool that scaffolds hackathon-ready full-stack applications in seconds. Stop wasting time on repetitive setup — let the CLI handle your project structure, UI libraries, databases, authentication, and more with a single command
npm i -g hackpack-cliNode.js >= 18.7.0 (recommended)
Features
Lightning-Fast Setup
Spin up full projects in seconds
Modern Frameworks
React, Next.js, Astro, Vue, Nuxt, Angular and Svelte
Pre-configured UI
shadcn/ui, DaisyUI, Material, Hero UI & many more
Database Ready
MongoDB, PostgreSQL support out of the box
Auth Integration
Clerk and more, ready to use out of the box
Your Hackathon Superpower
Launch your project in seconds with a single command — skip the setup, focus on building and winning the hackathon
Full Stack Support
Quick Start
Installation
# Install globally
npm install -g hackpack-cli
# Then run
hpInteractive Mode
Simply run the command and follow the prompts:
hpThe interactive wizard will guide you through:
- Project name and location
- Framework selection (React, Next.js, Vue, etc.)
- Database choice (MongoDB, PostgreSQL)
- Authentication setup
- UI library preferences
CLI Commands
Core Commands
| Command | Description |
|---------|-------------|
| hp | Launch interactive wizard (recommended for beginners) |
| hp -h, hp --help | Display help and command usage |
| hp reset | Clear all locally saved state and configurations |
| hp state | View all saved projects and highlight the active one |
| hp resume | Resume an interrupted or incomplete setup |
| hp run | Execute setup for the currently selected project |
Project Management
| Command | Description |
|---------|-------------|
| hp select <project-name> | Set a project as active for operations |
| hp projects | List all projects created with Hackpack |
| hp name <new-name> | Rename the currently active project |
| hp add ui <library> | Add a UI library to your project |
| hp uninstall ui <library> | Remove an installed UI library |
| hp migrate | 🔜 Migrate project to newer template versions |
Usage Examples
# Add UI libraries on the fly
hp add ui shadcn
hp add ui daisyui
# Remove unwanted libraries
hp uninstall ui tailwind
# Check your saved projects
hp projects
hp stateAutocomplete Support
Speed up your workflow with terminal autocompletion:
| Command | Description |
|---------|-------------|
| hp autocomplete install | Show instructions for shell autocomplete (bash, zsh, fish) |
| hp autocomplete uninstall | Remove autocomplete configuration |
# Enable autocomplete
hp autocomplete install
# Follow the instructions for your shellUnderstanding State in Hackpack
Hackpack keeps track of your setup progress and project preferences using a persistent state file. This is especially useful when:
- You stop midway during setup (e.g., terminal closes unexpectedly)
- You want to resume an incomplete setup
- You're managing multiple projects at the same time
The state is stored in a hidden .hackpack-state.json file (in your project folder or home directory), and it keeps track of configuration choices and setup progress.
What Does Hackpack Save in State?
- Project Name
- Framework (React, Next.js, Angular, etc.)
- Styling & UI libraries (shadcn/ui, DaisyUI, etc.)
- Database (MongoDB, PostgreSQL)
- Authentication (Clerk, Supabase, etc.)
- Setup Step Tracking (for resume support)
Each project you create gets its own state and can be resumed or configured independently!
How to use database in your project
Hackpack automatically configures a MongoDB backend for your project, tailored to the selected framework (Next.js, Astro, SvelteKit, Nuxt, or Node.js backend).
Once you choose a database option (like MongoDB), Hackpack generates all the necessary folders, files, and environment variables required.
Once setup is done, you only need to:
- Create your models inside the generated
/modelsdirectory. - Call the
ConnectToDB()function (auto-generated in the project) to establish a connection whenever your app starts. - Hackpack ensures your app connects to MongoDB instantly without manual configuration.
Commands That Use State
| Command | Purpose |
|------------------------|---------|
| hp | Start a new project with a clean state |
| hp run | Builds or continues setup for the active project |
| hp resume | Resume the last project setup from where you left off |
| hp select <project> | Switch between saved projects before running/resuming |
| hp state | View all saved project states and active project |
| hp reset | Completely clears all saved state (fresh start) |
Supported Stacks
Frontend Frameworks
React (Vite) • Next.js • Astro • Vue • Nuxt • Angular • SvelteKitBackend Technologies
Node.js • Express • Prisma (coming soon) • NestJS (coming soon) • FastAPI (coming soon)UI Libraries
shadcn/ui • DaisyUI • Material UI • Hero UI • Ant Design • Angular Material and many more...Databases
MongoDB • PostgreSQL (beta) • MySQL (coming soon) • SQLite (coming soon)Authentication
Clerk • Supabase (coming soon) • Auth0 (AngularJS)Contributing
We love contributions! Whether it's a bug report, feature request, or pull request — all are welcome
Found a Bug?
Open an issue with:
- Clear description of the problem
- Mail to [[email protected]] or [[email protected]]
- Steps to reproduce
- Expected vs actual behavior
- Your environment (OS, Node version, etc.)
License
Distributed under the Proprietary License. See LICENSE for more information
Acknowledgments
By TeamHackpack ( Varun & Yash ) — because setup time is coding time wasted!
