Skip to content

YashVerma-code/hackpack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

94 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

hp-img

Hackpack Typing Animation

npm version npm downloads License GitHub stars

Tired of manually setting up full-stack projects every time? 😩
Say hello to Hackpack β€” your all-in-one project bootstrapper that turns setup time into build time

Quick Start β€’ Features β€’ CLI Commands β€’ Supported Stacks

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-cli

Node.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

Frontend Backend Database Auth UI Libraries
βœ… React (Vite) βœ… Node.js βœ… MongoDB βœ… Clerk βœ… shadcn/ui
βœ… Next.js βœ… Express πŸ”œ PostgreSQL (beta) πŸ”œ Supabase βœ… DaisyUI
βœ… Astro πŸ”œ Prisma πŸ”œ MySQL πŸ”œ Auth0 βœ… Material UI
βœ… Vue πŸ”œ NestJS πŸ”œ SQLite βœ… Hero UI
βœ… Nuxt πŸ”œ FastAPI βœ… Ant Design & more
βœ… Angular πŸ”œ Django
βœ… Svelte

Quick Start

Installation

# Install globally
npm install -g hackpack-cli

# Then run
hp

Interactive Mode

Simply run the command and follow the prompts:

hp

The 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 state

Autocomplete 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 shell

Understanding 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 /models directory.
  • 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 β€’ SvelteKit

Backend 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:

License

Distributed under the Proprietary License. See LICENSE for more information

Acknowledgments

By TeamHackpack ( Varun & Yash ) β€” because setup time is coding time wasted!

Sponsor this project

Packages

No packages published

Contributors 5