https://github.com/getrapidkit/rapidkit-npm
🚀 Official CLI for RapidKit - Create FastAPI and NestJS workspaces with demo templates. Zero config, production-ready projects in seconds.
https://github.com/getrapidkit/rapidkit-npm
api backend boilerplate cli developer-tools fastapi frameworks generator microservices nestjs python rapidkit scaffold typescript workspace
Last synced: about 1 month ago
JSON representation
🚀 Official CLI for RapidKit - Create FastAPI and NestJS workspaces with demo templates. Zero config, production-ready projects in seconds.
- Host: GitHub
- URL: https://github.com/getrapidkit/rapidkit-npm
- Owner: getrapidkit
- License: mit
- Created: 2025-10-23T09:26:10.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2026-02-22T06:28:20.000Z (about 2 months ago)
- Last Synced: 2026-02-22T13:04:18.083Z (about 2 months ago)
- Topics: api, backend, boilerplate, cli, developer-tools, fastapi, frameworks, generator, microservices, nestjs, python, rapidkit, scaffold, typescript, workspace
- Language: TypeScript
- Homepage: https://www.getrapidkit.com/rapidkit-npm
- Size: 1.12 MB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Security: docs/SECURITY.md
Awesome Lists containing this project
README
# 🚀 RapidKit CLI
### Build Production-Ready APIs in Seconds
FastAPI & NestJS scaffolding with **27+ plug-and-play modules**.
Clean architecture • Zero boilerplate • Instant deployment.
[](https://www.npmjs.com/package/rapidkit)
[](https://www.npmjs.com/package/rapidkit)
[](https://opensource.org/licenses/MIT)
[](https://github.com/getrapidkit/rapidkit-npm/stargazers)
```bash
npx rapidkit init
cd my-workspace
npx rapidkit create project
cd
npx rapidkit init && npx rapidkit dev
# ✅ Production-ready API running at http://localhost:8000
```
Using Node.js/NestJS? Use this direct kit command (inside or outside a workspace):
```bash
npx rapidkit create project nestjs.standard my-service # standard kit
```
Using Python/FastAPI? Use these direct kit commands (inside or outside a workspace):
```bash
npx rapidkit create project fastapi.standard my-service # standard kit
npx rapidkit create project fastapi.ddd my-service # DDD kit
```
[Quick Start](#-quick-start) • [Docs](https://getrapidkit.com) • [VS Code Extension](https://marketplace.visualstudio.com/items?itemName=rapidkit.rapidkit-vscode) • [Examples](https://github.com/getrapidkit/rapidkit-examples)
---
### 👉 Get Started in 30 Seconds
No account. No config. No pain. Just build.
[📖 Read Full Docs](https://getrapidkit.com) • [🎥 Watch Demo](https://www.youtube.com/watch?v=demo) • [⭐ Star on GitHub](https://github.com/getrapidkit/rapidkit-npm)
---
## ⚡ Why RapidKit?
| 🚀 **Instant Setup** | 🧩 **Modular By Design** | 🎯 **Production-Ready** |
|-------------------------------|-------------------------------|--------------------------------|
| Project in 30 seconds | 27+ plug-and-play modules | Docker + CI/CD included |
| Zero configuration needed | Add features in 1 command | Best practices baked in |
| FastAPI & NestJS support | Auth, DB, Cache, Monitoring | Clean architecture guaranteed |
### 🔥 From This...
```bash
mkdir my-api && cd my-api
python -m venv .venv && source .venv/bin/activate
pip install fastapi uvicorn sqlalchemy alembic pydantic redis...
# Create project structure manually
# Configure Docker, CI/CD, testing...
# Write boilerplate code...
# ... 2 hours later
```
### ...To This! ✨
```bash
npx rapidkit create project fastapi.standard my-api
cd my-api && npx rapidkit init && npx rapidkit dev
# ✅ Done in 30 seconds!
```
**What you get:**
- ✅ Production-ready project structure
- ✅ Docker & docker-compose configured
- ✅ GitHub Actions CI/CD pipeline
- ✅ Testing & linting setup
- ✅ Environment configuration
- ✅ Hot reload development server
- ✅ Best practices & clean architecture
---
## 📦 Table of Contents
- [Why RapidKit?](#-why-rapidkit)
- [Quick Start](#-quick-start)
- [Core Concepts](#-core-concepts)
- [Module Ecosystem](#-module-ecosystem)
- [Commands Reference](#-commands-reference)
- [Requirements](#-requirements)
- [FAQs](#-faqs)
- [Links](#-links)
---
## 🚀 Quick Start
### Option 0: Fastest Start (`npx rapidkit init`)
Use this when you want the quickest complete flow (workspace + project + run):
```bash
cd ~/my-empty-folder
npx rapidkit init
cd my-workspace
npx rapidkit create project
cd
npx rapidkit init && npx rapidkit dev
```
This is the recommended quickest onboarding path for most users.
`npx rapidkit init` is context-aware and auto-detects plain folders, workspace roots, and project directories.
Prefer direct kit selection (works both inside and outside a workspace):
```bash
npx rapidkit create project fastapi.standard my-service
npx rapidkit create project fastapi.ddd my-service
npx rapidkit create project nestjs.standard my-service
```
### Option 1: Single Project (Fastest)
Perfect for trying out RapidKit or building a standalone service:
**FastAPI:**
```bash
# Create project
npx rapidkit create project fastapi.standard my-api
# Start developing
cd my-api
npx rapidkit init # Install dependencies
npx rapidkit dev # Start dev server → http://localhost:8000
# Add modules as needed
npx rapidkit add module auth
npx rapidkit add module db_postgres
```
**NestJS:**
```bash
# Create project
npx rapidkit create project nestjs.standard my-service
# Start developing
cd my-service
npx rapidkit init # Install dependencies
npx rapidkit dev # Start dev server → http://localhost:3000
# Add modules as needed
npx rapidkit add module auth
npx rapidkit add module db_postgres
```
### Option 2: Workspace (Recommended for Multiple Projects)
Organize multiple microservices with a shared environment:
```bash
# 1. Create workspace
npx rapidkit my-workspace
# Or with explicit command mode
npx rapidkit create workspace my-workspace
# Or interactive naming
npx rapidkit create workspace
cd my-workspace
# 2. Activate environment (choose one):
# A. Activate virtualenv (recommended)
source "$(poetry env info --path)/bin/activate"
# B. Use poetry run prefix
poetry run rapidkit create
# C. Create alias (add to ~/.bashrc or ~/.zshrc)
alias rapidkit="poetry run rapidkit"
# 3. Create projects
rapidkit create # Interactive wizard
rapidkit create project fastapi.standard api
rapidkit create project nestjs.standard users
rapidkit create project fastapi.ddd orders
# 4. View all projects
npx rapidkit workspace list
```
**Why workspace mode?**
- ✅ One shared Python environment (~150MB once vs 150MB per project)
- ✅ All projects auto-tracked in `~/.rapidkit/workspaces.json`
- ✅ VS Code Extension auto-discovers projects
- ✅ Consistent RapidKit Core version
- ✅ Perfect for microservices architecture
### Next Steps
```bash
# Project commands (run inside project directory)
npx rapidkit init # Install dependencies
npx rapidkit dev # Start dev server with hot reload
npx rapidkit test # Run tests with coverage
npx rapidkit lint # Run linting checks
npx rapidkit format # Format code
npx rapidkit build # Build for production
npx rapidkit start # Start production server
# Explore modules
npx rapidkit modules list # List all 27+ modules
npx rapidkit modules info db_postgres # View module details
# Health check
npx rapidkit doctor # Check system requirements
npx rapidkit doctor --workspace # Check entire workspace
```
> 💡 **Pro Tip:** Install [RapidKit VS Code Extension](https://marketplace.visualstudio.com/items?itemName=rapidkit.rapidkit-vscode) for visual project creation, module browsing, and one-click installation!
---
## 💎 Prefer Visual Interface?
### **RapidKit VS Code Extension** is the recommended way to use RapidKit
All npm CLI features + powerful visual tools in one integrated experience
[](https://marketplace.visualstudio.com/items?itemName=rapidkit.rapidkit-vscode)
**Why use the Extension?**
| Feature | npm CLI | VS Code Extension |
|---------|---------|-------------------|
| **Project Creation** | ✅ Terminal commands | ✅ Visual wizard with preview |
| **Module Browse** | ✅ List in terminal | ✅ Rich UI with search & categories |
| **Module Installation** | ✅ `add module` command | ✅ One-click install with previews |
| **Workspace Management** | ✅ Basic commands | ✅ Visual tree + auto-discovery |
| **System Health Check** | ✅ `doctor` command | ✅ Real-time status indicators |
| **Project Templates** | ✅ Kit selection | ✅ Preview + compare kits visually |
| **Documentation** | ❌ External links | ✅ Integrated docs & tooltips |
| **AI Recommendations** | ✅ Terminal prompts | ✅ Interactive suggestions panel |
| **Multi-project View** | ❌ | ✅ Workspace explorer & switcher |
| **Quick Actions** | ❌ | ✅ Right-click context menus |
**Extension-only features:**
- 🎨 **Visual Project Browser**: See all projects at a glance
- 📊 **Live Health Monitoring**: Real-time project status
- 🔍 **Smart Search**: Find modules instantly with filters
- 📝 **Inline Documentation**: Hover tooltips for every module
- ⚡ **Quick Commands**: Keyboard shortcuts for common tasks
- 🔄 **Auto-sync**: Automatically detect new projects
- 🎯 **Context Menus**: Right-click actions everywhere
> 💡 The Extension includes the full npm package functionality, so you get **both** the CLI and the visual interface!
[📥 Install VS Code Extension](https://marketplace.visualstudio.com/items?itemName=rapidkit.rapidkit-vscode) • [📖 Extension Docs](https://getrapidkit.com/docs/vscode-extension)
---
## 🧠 Core Concepts
### Workspace vs Standalone
Choose the right mode for your use case:
| Feature | Workspace Mode | Standalone Mode |
|---------|----------------|-----------------|
| **Best For** | Teams, microservices, multiple projects | Single project, quick prototyping |
| **Setup Time** | ~2 minutes (one time) | ~30 seconds |
| **Disk Usage** | Efficient (one venv) | Higher (multiple venvs) |
| **Python Environment** | Shared across all projects | Separate per project |
| **Project Tracking** | Auto-tracked in registry | Manual |
| **VS Code Extension** | Auto-discovery | Manual discovery |
### Project Structure
#### Workspace Structure
```
my-workspace/
├── .rapidkit-workspace # Workspace marker file
├── .venv/ # Shared Python environment
├── poetry.lock # Locked dependencies
├── poetry.toml # Poetry configuration
├── pyproject.toml # Workspace Python config
├── rapidkit # CLI script (Unix)
├── rapidkit.cmd # CLI script (Windows)
├── README.md
├── my-api/ # FastAPI project
├── my-service/ # NestJS project
└── my-admin/ # Another project
```
#### FastAPI Project (DDD Architecture)
```
my-api/
├── .rapidkit/ # RapidKit metadata & CLI
│ ├── activate # Environment activation
│ ├── cli.py # Local CLI commands
│ ├── context.json # Build context
│ └── rapidkit # Project CLI launcher
├── src/
│ ├── app/ # DDD layers
│ │ ├── application/ # Use cases & interfaces
│ │ ├── domain/ # Business logic & models
│ │ ├── infrastructure/ # External services & repos
│ │ ├── presentation/ # API controllers & routes
│ │ ├── config/ # Configuration
│ │ ├── shared/ # Shared utilities
│ │ └── main.py # Application entry
│ ├── modules/ # RapidKit modules
│ │ └── free/ # Free modules (auth, db, etc.)
│ ├── routing/ # API routes
│ ├── health/ # Health check endpoints
│ ├── cli.py # CLI commands
│ └── main.py # FastAPI app entry
├── tests/ # Test suite
├── config/ # Configuration files
├── .github/workflows/ # CI/CD pipelines
├── docker-compose.yml # Docker Compose setup
├── Dockerfile # Production container
├── Makefile # Quick commands
├── pyproject.toml # Poetry dependencies
├── poetry.lock # Locked dependencies
├── bootstrap.sh # Setup script
├── .env.example # Environment template
├── .pre-commit-config.yaml # Pre-commit hooks
└── README.md
```
#### NestJS Project (Standard Architecture)
```
my-service/
├── .rapidkit/ # RapidKit metadata & CLI
│ ├── activate # Environment activation
│ ├── context.json # Build context
│ └── rapidkit # Project CLI launcher
├── src/
│ ├── app.module.ts # Root module
│ ├── app.controller.ts # Root controller
│ ├── app.service.ts # Root service
│ ├── main.ts # NestJS entry point
│ ├── config/ # Configuration module
│ │ ├── configuration.ts
│ │ ├── validation.ts
│ │ └── index.ts
│ ├── modules/ # RapidKit modules
│ │ ├── free/ # Free modules (auth, db, etc.)
│ │ └── index.ts # Module registry
│ ├── auth/ # Auth feature module
│ │ ├── auth.module.ts
│ │ ├── auth.controller.ts
│ │ ├── auth.service.ts
│ │ └── entities/
│ ├── examples/ # Example CRUD module
│ │ ├── examples.module.ts
│ │ ├── examples.controller.ts
│ │ ├── examples.service.ts
│ │ └── dto/
│ └── health/ # Health check endpoints
├── test/ # E2E tests
├── tests/ # Unit tests
├── .github/workflows/ # CI/CD pipelines
├── docker-compose.yml # Docker Compose setup
├── Dockerfile # Production container
├── Makefile # Quick commands
├── package.json # npm dependencies
├── yarn.lock / package-lock.json # Locked dependencies
├── nest-cli.json # NestJS CLI config
├── tsconfig.json # TypeScript config
├── tsconfig.build.json # Build config
├── jest.config.ts # Jest test config
├── eslint.config.cjs # ESLint config
├── bootstrap.sh # Setup script
├── .env.example # Environment template
└── README.md
```
### Module System
RapidKit's modules are plug-and-play components that extend your project:
```bash
# Add authentication
rapidkit add module auth
# Add database with caching
rapidkit add module db_postgres
rapidkit add module redis
# Add payment processing
rapidkit add module stripe
```
Modules include:
- ✅ Pre-configured code
- ✅ Dependencies (auto-added to pyproject.toml/package.json)
- ✅ Configuration templates
- ✅ Tests and documentation
- ✅ Best practices baked in
### 🤖 AI-Powered Recommendations
Not sure which modules you need? Ask AI:
```bash
npx rapidkit ai recommend "I want to build a SaaS with authentication and payments"
# Output:
# 📦 Recommended Modules:
# 1. Authentication Core (92% match)
# 2. Users Core (88% match)
# 3. Stripe Payment (85% match)
# 4. PostgreSQL (82% match)
```
**Setup (one-time):**
```bash
rapidkit config set-api-key # Configure OpenAI API key
rapidkit ai generate-embeddings # Generate embeddings (~$0.50)
```
**Features:**
- 🧠 Understands natural language queries
- 🎯 Suggests relevant modules with confidence scores
- 💰 Ultra-cheap: ~$0.0002 per query
- ✅ Works in mock mode without API key (for testing)
[More about AI features →](https://getrapidkit.com/docs/ai)
---
## 🧩 Module Ecosystem
RapidKit includes **27 production-ready modules** across 10 categories:
### Quick Overview
- 🔐 **Authentication** (5 modules): Core Auth, API Keys, OAuth, Passwordless, Sessions
- 💳 **Payments & E-commerce** (3): Stripe, Shopping Cart, Inventory
- 🗄️ **Databases** (3): PostgreSQL, MongoDB, SQLite
- 🔒 **Security** (3): CORS, Rate Limiting, Security Headers
- 📧 **Communication** (2): Email, Unified Notifications
- 👥 **User Management** (2): Users Core, User Profiles
- ⚙️ **Essentials** (4): Settings, Middleware, Logging, Deployment
- 📊 **Observability** (1): Metrics & Tracing
- 💾 **Caching** (1): Redis
- 🤖 **AI** (1): AI Assistant
- ⚡ **Tasks** (1): Celery
- 💼 **Storage** (1): File Management
### Browse & Install
```bash
# List all modules
rapidkit modules list
# View module details
rapidkit modules info auth
rapidkit modules info db_postgres
# Install modules
rapidkit add module auth
rapidkit add module db_postgres redis
```
### Popular Combinations
**SaaS Starter:**
```bash
rapidkit add module auth users db_postgres redis session
```
**E-commerce API:**
```bash
rapidkit add module auth users db_postgres cart inventory stripe
```
**Enterprise API:**
```bash
rapidkit add module auth api_keys db_postgres redis rate_limiting observability
```
📚 **[View Full Module Catalog →](https://getrapidkit.com/modules)**
---
## 💻 Commands Reference
### Global Commands (Run Anywhere)
```bash
# Workspace creation
npx rapidkit # Legacy stable workspace creation
npx rapidkit create workspace # Interactive workspace creation
npx rapidkit create workspace # Create workspace with name
# Project creation
npx rapidkit create project # Interactive wizard
npx rapidkit create project # Direct creation
# Information
npx rapidkit list # List kits
npx rapidkit modules list # List modules
npx rapidkit kits info # Kit details
npx rapidkit modules info # Module details
# System health
npx rapidkit doctor # Check system
npx rapidkit doctor --workspace # Check workspace
npx rapidkit doctor --workspace --fix # Auto-fix issues
npx rapidkit doctor --workspace --json # JSON output (CI/CD)
# Workspace management
npx rapidkit workspace list # List workspaces
npx rapidkit workspace sync # Sync projects
# CLI info
npx rapidkit --version # Show version
npx rapidkit --help # Show help
```
`npx rapidkit create workspace` interactive prompts:
- Without a name: asks workspace name, author name, Python version, and install method.
- With a name: asks author name, Python version, and install method.
- With `--yes`: skips prompts and uses defaults.
### Init & Project Commands
```bash
npx rapidkit init # Context-aware init (see behavior below)
npx rapidkit dev # Start dev server with hot reload
npx rapidkit start # Start production server
npx rapidkit build # Build for production
npx rapidkit test # Run tests with coverage
npx rapidkit lint # Run linting
npx rapidkit format # Format code
```
`npx rapidkit init` behavior:
- In a plain folder: creates `my-workspace` (or `my-workspace-` if needed) and initializes it.
- In a workspace root: initializes workspace dependencies, then initializes all detected child projects.
- In a project inside a workspace: initializes only that project.
Quick examples:
```bash
# Plain folder
cd ~/new-folder && npx rapidkit init
# Workspace root
cd ~/my-workspace && npx rapidkit init
# Project inside workspace
cd ~/my-workspace/my-api && npx rapidkit init
```
### Module Commands
```bash
npx rapidkit add module # Add single module
npx rapidkit add module auth redis # Add multiple modules
npx rapidkit modules list # List available modules
npx rapidkit modules info # Module details
```
### Advanced Options
```bash
# Workspace creation
npx rapidkit --yes # Skip prompts
npx rapidkit --skip-git # Skip git init
npx rapidkit --dry-run # Preview only
npx rapidkit --debug # Verbose logging
npx rapidkit create workspace --yes # Create default my-workspace non-interactive
npx rapidkit create workspace --yes # Create named workspace non-interactive
# Project creation
npx rapidkit create --output # Custom location
npx rapidkit create --no-update-check # Skip version check
```
**Quick Reference Table:**
| Command | Description | Context |
|---------|-------------|---------|
| `create workspace` | Create workspace | Anywhere |
| `create project` | Create project | Anywhere |
| `init` | Context-aware dependency setup | Folder / workspace / project |
| `dev` | Start dev server | Inside project |
| `test` | Run tests | Inside project |
| `add module` | Add module to project | Inside project |
| `list` | List kits | Anywhere |
| `modules list` | List modules | Anywhere |
| `doctor` | Health check | Anywhere |
| `workspace` | Manage workspaces | Anywhere |
---
## 📋 Requirements
### System Requirements
- **Node.js**: 20.19.6+ LTS (20.x or 22.x recommended)
- **Python**: 3.10+ (required for RapidKit Core)
- **Git**: For version control
### Framework-Specific
**FastAPI Projects:**
- Python 3.10+
- Poetry (auto-installed if missing)
**NestJS Projects:**
- Node.js 20.19.6+
- npm/yarn/pnpm
### Optional but Recommended
- **Docker**: For containerized development
- **VS Code**: For Extension integration
- **Make**: For Makefile commands (pre-installed on Unix)
> 💡 **Tip:** Use `rapidkit doctor` to check all requirements automatically!
---
## ❓ FAQs
Do I need Python installed?
Yes, Python 3.10+ is required for RapidKit Core (the engine). The npm package will bootstrap it if needed, but system-wide installation is recommended.
Can I use this without npm?
Yes! Install globally: `npm i -g rapidkit`, then use `rapidkit` directly. You'll still need Node.js installed.
What's the difference from cookiecutter?
RapidKit provides:
- **Living templates** that receive updates
- **27+ plug-and-play modules**
- **Workspace management**
- **VS Code integration**
- **Built-in dev commands** (dev, test, lint)
Cookiecutter is one-time scaffolding. RapidKit is a complete development platform.
Do I need the VS Code Extension?
No, but highly recommended! It provides visual interface, one-click module installation, workspace browser, and system checker.
Can I customize generated projects?
Yes! After generation, files are yours. Modify as needed, add/remove modules, update dependencies. RapidKit won't overwrite your changes.
How do I upgrade RapidKit?
```bash
# For npx usage (automatic)
npx rapidkit@latest create
# For global install
npm update -g rapidkit
# For workspace Python Core
cd my-workspace
poetry update rapidkit-core
```
Is there Docker support?
Yes! All projects include:
- `Dockerfile` for production
- `docker-compose.yml` for development
- `.dockerignore` for optimization
```bash
docker-compose up # Development
docker build -t my-service . && docker run -p 8000:8000 my-service # Production
```
**More Questions?** Check [Full Documentation](https://getrapidkit.com) or [Open an Issue](https://github.com/getrapidkit/rapidkit-npm/issues)
---
## 🔗 Links
### 📚 Documentation & Resources
- [Official Website](https://getrapidkit.com) – Complete documentation and guides
- [Full Module Catalog](https://getrapidkit.com/modules) – Browse all 27+ modules
- [Getting Started Guide](https://getrapidkit.com/docs/getting-started) – Step-by-step tutorials
### 🛠️ Tools & Extensions
- [VS Code Extension](https://marketplace.visualstudio.com/items?itemName=rapidkit.rapidkit-vscode) – Visual project creation & module management
- [RapidKit Core (Python)](https://pypi.org/project/rapidkit-core/) – The engine powering RapidKit
### 💬 Community & Support
- [GitHub Discussions](https://github.com/getrapidkit/rapidkit-npm/discussions) – Ask questions & share ideas
- [GitHub Issues](https://github.com/getrapidkit/rapidkit-npm/issues) – Report bugs & request features
- [Discord Community](https://discord.gg/rapidkit) – Chat with other developers
### 📱 Social
- [Twitter/X](https://twitter.com/getrapidkit) – Updates & announcements
- [GitHub Organization](https://github.com/getrapidkit) – All repositories
- [Blog](https://getrapidkit.com/blog) – Tutorials & best practices
---
**Made with ❤️ by the RapidKit team**
⭐ Star this repo if you find it helpful!
[Install Now](https://www.npmjs.com/package/rapidkit) • [Read Docs](https://getrapidkit.com) • [Get Extension](https://marketplace.visualstudio.com/items?itemName=rapidkit.rapidkit-vscode)