letsinit
v1.0.5
Published
LetsInit CLI for scaffolding frontend, backend, mobile, and API projects
Maintainers
Readme
LetsInit CLI
Bootstrap modern web, API, and mobile projects from pre-configured templates
LetsInit is an interactive command-line tool that scaffolds ready-to-use starter projects. Choose a stack and package manager, name the project, and start building from a configured template.
Features
- 8 Ready-to-use Stack Options: React, Express, Expo, Fiber, Django, and FastAPI
- Bundled Templates: Project files ship with the CLI, so Git is not required
- Lightning Fast Setup: Get a complete project running in under 2 minutes
- Pre-configured Frontend Styling: Tailwind CSS for React and NativeWind for Expo
- Built-in Routing: React Router and Express routes already set up
- Authentication Boilerplate: JWT patterns in the Express, Fiber, and Django templates
- Beautiful CLI Experience: Interactive prompts with colorful feedback
- npm or pnpm: Choose the package manager for Node.js and Expo templates
- Smart Configuration: Creates the project structure, prepares
.env, and installs ecosystem dependencies
Quick Start
Installation
# Run directly with npx (recommended)
npx letsinit
# Or install globally
npm install -g letsinit
letsinitBasic Usage
npx letsinitFollow the interactive prompts to:
- Choose your tech stack
- Choose npm or pnpm for Node.js and Expo projects
- Choose whether to create a
.venvfor Django and FastAPI projects - Name your project
Available Stacks
| Stack | Description | Includes | |-------|-------------|----------| | React + JS | Modern React with JavaScript | Vite, React Router, Tailwind CSS, ESLint | | React + TS | React with TypeScript | Vite, React Router, Tailwind CSS, TypeScript, ESLint | | Express + Prisma | Node.js API with Prisma ORM | Express, Prisma, PostgreSQL, JWT, CORS, Zod | | Express + Mongoose | Node.js API with MongoDB | Express, Mongoose, JWT, CORS, Zod | | Fiber + SQLC | Go API with generated database queries | Fiber, SQLC, pgx, PostgreSQL | | Django | Python API starter | Django, CORS, SQLite, user CRUD, JWT helpers | | FastAPI | Basic Python API | FastAPI, Uvicorn, CORS, dotenv | | Expo | Minimal React Native app | Expo SDK, TypeScript, NativeWind, Tailwind CSS |
Each stack is maintained as a directory under templates/ on the main branch.
The CLI copies the selected template into the new project and then installs its
dependencies. There is no boilerplate repository clone or stack-specific Git
branch to keep synchronized.
Docker package manager
Node templates that include a Dockerfile keep the npm stages active by default and provide complete pnpm stages as a commented alternative. When generating a project with pnpm, comment the npm section and uncomment the pnpm section before building its image.
CLI Parameters
Core Flags
| Flag | Description | Example |
|------|-------------|---------|
| -v, --verbose | Show detailed output during installation | npx letsinit -v |
Examples
# Standard interactive setup
npx letsinit
# Verbose mode (see all installation details)
npx letsinit -v
Project Structure
React Projects
my-react-app/
├── src/
│ ├── components/
│ ├── pages/
│ ├── hooks/
│ ├── utils/
│ └── App.jsx
├── public/
├── tailwind.config.js
├── vite.config.js
└── package.jsonExpress Projects
my-express-app/
├── src/
│ ├── controllers/
│ ├── middleware/
│ ├── models/
│ ├── routes/
│ └── server.js
├── prisma/ (if Prisma)
├── .env
└── package.jsonFiber + SQLC Projects
my-fiber-api/
├── Controller/
├── Middleware/
├── Route/
├── Utils/
├── db/
│ ├── migrations/
│ ├── queries/
│ └── sqlc/ # Generated by SQLC
├── docker-compose.yml
├── go.mod
├── main.go
└── sqlc.yamlWhat You Get Out of the Box
Frontend (React)
- Vite for lightning-fast development
- Tailwind CSS with custom configuration
- React Router with example routes
- ESLint with sensible defaults
- Responsive design patterns
- Component library structure
Backend (Express)
- JWT Authentication with refresh tokens
- Security Middleware (Helmet, CORS)
- Database Models and schemas
- RESTful API routes structure
- Error Handling middleware
- Request Validation setup
Backend (Fiber + SQLC)
- Fiber HTTP server
- SQLC-generated type-safe PostgreSQL queries
- pgx connection pooling
- PostgreSQL development container with automatic schema initialization
- JWT cookie authentication with register, login, current-user, and logout routes
- Focused controller, middleware, route, and utility packages
- Direct environment reads with
os.Getenv
Environment Setup
- Environment Variables prepared by renaming
.env.exampleto.env - .gitignore with sensible defaults
- Package Scripts for development and production
- Development Workflow ready
Getting Started After Installation
React Projects
React projects require Node.js 22.22 or newer.
cd your-project-name
npm run dev
# or: pnpm run devYour React app will be running on http://localhost:5173
Express Projects
cd your-project-name
# For Prisma projects after PostgreSQL is available
npm exec -- prisma migrate dev --name init
# or: pnpm exec prisma migrate dev --name init
# Start development server
npm run dev
# or: pnpm run devYour API will be running on http://localhost:8000
Fiber + SQLC Projects
cd your-project-name
docker-compose up -d postgres
go run .Your API will be running on http://localhost:3000.
Expo Projects
The Expo template targets SDK 54 so projects open in the Expo Go version distributed through the public mobile app stores during the SDK 57 transition.
cd your-project-name
npm run start
# or: pnpm run startDjango and FastAPI Projects
For Python stacks, the CLI asks whether to create a project-local .venv and
install dependencies. The recommended answer is selected by default. When
accepted, dependencies are installed inside .venv, and the printed start
command uses that environment's Python interpreter directly. Manual activation
is optional.
If you decline, the CLI only creates the project files. It does not install anything into the system Python. Activate an environment you manage, then run the printed dependency installation and start commands.
# Django on Linux and macOS
.venv/bin/python manage.py migrate
.venv/bin/python manage.py runserver
# FastAPI on Linux and macOS
.venv/bin/python main.py
# Django on Windows
.venv\Scripts\python.exe manage.py migrate
.venv\Scripts\python.exe manage.py runserver
# FastAPI on Windows
.venv\Scripts\python.exe main.pyCustomization
All projects come with sensible defaults but are fully customizable:
- Tailwind CSS: Modify
tailwind.config.jsfor your design system - ESLint: Adjust rules in
eslint.config.js - Vite: Configure build options in
vite.config.js - Database: Update Prisma schema or Mongoose models as needed
Contributing
Contributions are welcome. You can add a new starter template, improve an existing template, fix the CLI, or update the documentation.
Start by forking the repository, create a branch in your fork, make and validate your changes, and then open a pull request against the main repository.
Read CONTRIBUTING.md for the complete workflow and template requirements.
License
MIT License - feel free to use this in your projects!
Support
Having issues? Found a bug?
- Open an issue on GitHub
- Check our documentation
- Ask questions in discussions
Happy coding! 🎉
