A cross-platform CLI for scaffolding production-ready starter projects.
Generate fully-configured starter projects for Python, Node.js, Ruby, and Java from one command.
# Recommended
pipx install initra
# Secondary option
python3 -m pip install initraSee INSTALL.md for detailed installation options.
initra myapi python fastapiReplace
docs/demo.gifwith an updated terminal recording before publishing major feature updates.
# FastAPI REST API with automatic virtual environment
initra myapi python fastapi
cd myapi && source .venv/bin/activate
# Express server with TypeScript and VS Code
initra server node express --ts --open
# Full-stack Next.js with GitHub repo
initra app node next --gh --public
# Rails app
initra blog ruby rails
# Spring Boot microservice
initra service java springbootinitra <name> <language> <framework> [options]✅ Multiple Languages & Frameworks
- Python: Flask, FastAPI, Django, Aiohttp
- Node.js: Express (JS/TS), Next.js, Koa
- Ruby: Rails, Sinatra
- Java: Spring Boot, Javalin
✅ Automatic Setup
- Project directory creation
- Git repository initialization
- Framework-specific boilerplate code
- Language-appropriate
.gitignorefiles - Dependency file generation and installation
- Python virtualenv creation (auto-installed)
✅ Developer Integrations
- Create GitHub repositories with
--ghflag - Open projects in VS Code with
--openflag - TypeScript support for Express projects
- Interactive prompts when run with no arguments
| Option | Description |
|---|---|
--ts |
Use TypeScript for Express |
--gh |
Create GitHub repository |
--public |
Make GitHub repo public |
--open |
Open in VS Code |
--no-install |
Skip dependency installation |
--no-git |
Skip git initialization and commit |
--dry-run |
Preview actions without writing files |
--output-dir |
Choose a base directory for generated projects |
--json |
Print machine-readable scaffold summary |
--list |
List supported stacks and exit |
- Flask – Lightweight, flexible
- FastAPI – Modern, async, type-safe
- Django – Full-featured, batteries-included
- Aiohttp – Async server framework for lightweight services
- Express – Simple HTTP server (JavaScript)
- Express + TypeScript – Type-safe Express with
--ts - Next.js – Full-stack React/SSR
- Koa – Minimal async middleware framework
- Rails – Full web framework
- Sinatra – Minimal Ruby web framework
- Spring Boot – Enterprise framework
- Javalin – Lightweight Java/Kotlin web framework
Python FastAPI with auto-installed dependencies:
initra myapi python fastapi
cd myapi
source .venv/bin/activate # Auto-created
pip install -r requirements.txt
uvicorn src.main:app --reloadTypeScript Express with GitHub and VS Code:
initra api node express --ts --gh --public --open
cd api
npm install
npm run devNext.js with GitHub:
initra webapp node next --gh --open
cd webapp
npm run devDjango full-stack:
initra blog python django
cd blog
source .venv/bin/activate
python manage.py migrate
python manage.py runserverRails:
initra store ruby rails
cd store
bundle install
bin/rails serverSpring Boot:
initra users java springboot
cd users
./mvnw spring-boot:runKoa:
initra service node koa
cd service
npm install
npm run devSinatra:
initra web ruby sinatra
cd web
bundle install
bundle exec ruby app.rbJavalin:
initra api java javalin
cd api
mvn compile exec:javaUse these as copy/paste starters for common workflows.
1) Safe preview first, then scaffold for real
# Preview exactly what will be created (no files written)
initra orders-api python fastapi --dry-run --license --tutorial
# Run the same scaffold for real after preview
initra orders-api python fastapi --license --tutorial2) Multi-tag setup for a production-ready Node project
initra billing-service node express --ts --gh --public --open --license3) Generate into a dedicated workspace folder
initra auth-service python django --output-dir ~/dev/services4) CI/automation-friendly output
# Get machine-readable scaffold details for scripts/pipelines
initra analytics-api node koa --json5) Faster local scaffolding when you want full manual control
initra playground ruby sinatra --no-install --no-gitEach project includes:
- ✅ Working starter code with health endpoints
- ✅ Language-specific
.gitignore - ✅
README.mdwith setup & run instructions - ✅ Dependency files (
requirements.txt,package.json, etc.) - ✅ Tests directory with example tests
- ✅ Git repository with initial commit
- ✅ Python virtualenv (
.venvfor Python projects)
initra myapp python fastapi
cd myapp
source .venv/bin/activate
python -m unittest discover -s testsinitra myapp node express --ts
cd myapp
npm install
npm testinitra myapp node express
cd myapp
npm install
npm testinitra myapp ruby rails
cd myapp
bundle install
bin/rails testinitra myapp java springboot
cd myapp
./mvnw testSee INSTALL.md for:
- Framework prerequisites
- Alternative installation methods
- Troubleshooting
- Detailed verification steps
See USAGE.md for:
- Complete command reference
- Framework-specific examples
- Interactive mode walkthrough
- Advanced usage patterns
# Run directly without installation
python3 initra.py myapp python flask
# Install in editable mode
python3 -m pip install -e .
initra myapp python fastapi
# Run automated CLI tests
python3 -m unittest discover -s tests- Python 3.10+ – For running the CLI
- Git – For repository initialization
- Framework CLIs – Rails, Spring, etc. (installed separately)
Optional:
- GitHub CLI (
gh) – For--ghflag - VS Code – For
--openflag
- Fork the repository
- Create a feature branch
- Make focused changes
- Open a pull request
MIT
