Skip to main content
๐Ÿšง Demo Version - Stable release coming soon!Follow Development
Documentation

RapidKit Documentation

Complete guide to building backend projects at warp speed

Getting Started

Installation

RapidKit requires Python 3.10 or higher. Install the CLI using one of the following methods:

Recommended: Using pipx

pipx installs the CLI in an isolated environment, preventing dependency conflicts.

pipx install rapidkit

Using pip

pip install rapidkit

User installation (no sudo required)

pip install --user rapidkit
Verify installation:
rapidkit --version

Creating Your First Project

Use the interactive wizard to create a new project:

rapidkit create

This will prompt you to select:

  • โ€ขProject type (API, Microservice, Monolith)
  • โ€ขFramework (FastAPI, NestJS, Django)
  • โ€ขProject template
  • โ€ขProject name

Non-interactive mode

Create a project without prompts:

rapidkit create project fastapi.standard my-api

CLI Commands

rapidkit create

Create a new project from templates.

# Interactive mode
rapidkit create

# Non-interactive mode
rapidkit create project <template> <name>

# Examples:
rapidkit create project fastapi.standard my-api
rapidkit create project nestjs.microservice user-service

rapidkit add

Add modules to your existing project.

# Add a module
rapidkit add module <module-name>

# Examples:
rapidkit add module auth
rapidkit add module logging
rapidkit add module docker-deployment

rapidkit dev

Start the development server with hot-reload.

# Start dev server
poetry run rapidkit dev

# With custom port
poetry run rapidkit dev --port 3000

# With custom host
poetry run rapidkit dev --host 0.0.0.0

rapidkit build

Build your project for production.

# Build for production
rapidkit build

# Build with Docker
rapidkit build --docker

# Build and optimize
rapidkit build --optimize

rapidkit test

Run tests for your project.

# Run all tests
rapidkit test

# Run specific test file
rapidkit test tests/test_auth.py

# Run with coverage
rapidkit test --coverage

rapidkit list

List available templates and modules.

# List all templates
rapidkit list templates

# List all modules
rapidkit list modules

# List installed modules
rapidkit list installed

Module System

What are Modules?

Modules are self-contained, production-ready components that you can add to your RapidKit projects. Each module follows Clean Architecture principles and integrates seamlessly with your project.

Module Features:

  • Clean Architecture with DDD patterns
  • Dependency injection ready
  • Comprehensive test coverage
  • Framework-agnostic design
  • Easy configuration

Installing Modules

Add modules to your project using the CLI:

# Navigate to your project
cd my-api

# Add a module
rapidkit add module auth

# Install dependencies
poetry install
Note: Some premium modules require authentication.Login to access premium modules.

Browse Available Modules

Explore our collection of modules across different categories:

๐Ÿ” Authentication

JWT, OAuth2, social login, 2FA

๐Ÿ—„๏ธ Database

ORM, migrations, connection pooling

โšก API

Rate limiting, validation, caching

๐Ÿ“Š Monitoring

Logging, metrics, observability

๐Ÿณ Deployment

Docker, K8s, CI/CD pipelines

๐Ÿงช Testing

Unit, integration, E2E testing

Project Structure

Typical RapidKit Project

RapidKit projects follow Clean Architecture principles with a clear separation of concerns:

my-api/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ core/              # Domain layer
โ”‚   โ”‚   โ”œโ”€โ”€ entities/      # Business entities
โ”‚   โ”‚   โ”œโ”€โ”€ use_cases/     # Business logic
โ”‚   โ”‚   โ””โ”€โ”€ interfaces/    # Abstract interfaces
โ”‚   โ”œโ”€โ”€ infrastructure/    # External services
โ”‚   โ”‚   โ”œโ”€โ”€ database/      # DB implementations
โ”‚   โ”‚   โ”œโ”€โ”€ cache/         # Cache implementations
โ”‚   โ”‚   โ””โ”€โ”€ external/      # Third-party APIs
โ”‚   โ”œโ”€โ”€ presentation/      # API layer
โ”‚   โ”‚   โ”œโ”€โ”€ api/           # Route handlers
โ”‚   โ”‚   โ”œโ”€โ”€ schemas/       # Request/response models
โ”‚   โ”‚   โ””โ”€โ”€ middleware/    # API middleware
โ”‚   โ””โ”€โ”€ modules/           # Installed modules
โ”‚       โ”œโ”€โ”€ auth/
โ”‚       โ”œโ”€โ”€ logging/
โ”‚       โ””โ”€โ”€ email/
โ”œโ”€โ”€ tests/                 # Test files
โ”œโ”€โ”€ config/                # Configuration
โ”œโ”€โ”€ pyproject.toml         # Poetry dependencies
โ””โ”€โ”€ README.md

Key Principles:

  • Dependency Inversion: Core depends on abstractions, not implementations
  • Modularity: Modules are self-contained and independent
  • Testability: Business logic isolated from infrastructure

Configuration

Environment Configuration

RapidKit uses environment variables and configuration files for project settings.

Create a .env file:

# Application
APP_NAME=my-api
APP_ENV=development
APP_DEBUG=true

# Server
HOST=0.0.0.0
PORT=8000

# Database
DATABASE_URL=postgresql://user:pass@localhost/dbname

# Redis
REDIS_URL=redis://localhost:6379

# JWT
JWT_SECRET=your-secret-key
JWT_ALGORITHM=HS256
JWT_EXPIRATION=3600
Security: Never commit .env files to version control. Add them to .gitignore.