rapidkit 0.20.0 → 0.21.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,888 +2,638 @@
2
2
 
3
3
  # 🚀 RapidKit CLI
4
4
 
5
- **Build Modern Applications at Warp Speed**
5
+ ### Build Production-Ready APIs in Seconds
6
6
 
7
- An open-source framework that helps developers build, scale, and deploy production-ready APIs — faster. Clean architecture, modular design, and automation-first workflows for FastAPI & NestJS.
7
+ FastAPI & NestJS scaffolding with **27+ plug-and-play modules**.
8
+ Clean architecture • Zero boilerplate • Instant deployment.
8
9
 
9
10
  [![npm version](https://img.shields.io/npm/v/rapidkit.svg?style=flat-square)](https://www.npmjs.com/package/rapidkit)
10
11
  [![Downloads](https://img.shields.io/npm/dm/rapidkit.svg?style=flat-square)](https://www.npmjs.com/package/rapidkit)
11
12
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](https://opensource.org/licenses/MIT)
12
13
  [![GitHub Stars](https://img.shields.io/github/stars/getrapidkit/rapidkit-npm.svg?style=flat-square)](https://github.com/getrapidkit/rapidkit-npm/stargazers)
13
14
 
14
- [Quick Start](#-quick-start) • [Features](#-features) • [Docs](https://getrapidkit.com) • [VS Code Extension](https://marketplace.visualstudio.com/items?itemName=rapidkit.rapidkit-vscode)
15
-
16
- </div>
17
-
18
- ---
19
-
20
- ## 🎯 What is RapidKit?
21
-
22
- RapidKit is a professional project scaffolding CLI for FastAPI and NestJS that delivers production-ready applications in seconds. Built on a powerful Python core engine, it provides:
23
-
24
- - 🏗️ **Instant Scaffolding** - Generate production-ready projects with best practices baked in
25
- - 🧩 **27+ Free Modules** - Plug-and-play modules for auth, databases, caching, monitoring, and more
26
- - 🎨 **Consistent Architecture** - Maintain the same structure across all your projects and teams
27
- - 🔄 **Workspace Management** - Organize multiple microservices in one environment
28
- - 🤖 **VS Code Integration** - Visual interface for creating projects and managing modules
29
-
30
- **Perfect for:**
31
- - Starting new microservices quickly
32
- - Maintaining architectural consistency across teams
33
- - Rapid prototyping with production-ready structure
34
- - Learning best practices for FastAPI/NestJS development
35
-
36
- ---
37
-
38
- ## 📦 Table of Contents
39
-
40
- - [What is RapidKit?](#-what-is-rapidkit)
41
- - [Features](#-features)
42
- - [Quick Start](#-quick-start)
43
- - [Standalone Project](#standalone-project)
44
- - [Workspace Mode](#workspace-mode-recommended)
45
- - [Workspace vs Standalone](#-workspace-vs-standalone)
46
- - [Available Commands](#-available-commands)
47
- - [Project Commands](#project-commands)
48
- - [Global Commands](#global-commands)
49
- - [Workspace Commands](#workspace-commands)
50
- - [Module System](#-module-system)
51
- - [Architecture](#-architecture)
52
- - [Workspace Management](#-workspace-management)
53
- - [Project Structure](#-project-structure)
54
- - [Requirements](#-requirements)
55
- - [CLI Options](#-cli-options)
56
- - [Troubleshooting](#-troubleshooting)
57
- - [FAQs](#-faqs)
58
- - [Development](#-development)
59
- - [Contributing](#-contributing)
60
- - [Related Projects](#-related-projects)
61
- - [License](#-license)
62
- - [Support](#-support)
63
-
64
- ---
65
-
66
- ## ✨ Features
67
-
68
- <table>
69
- <tr>
70
- <td width="50%">
71
-
72
- ### 🚀 **Instant Scaffolding**
73
- - FastAPI DDD & Standard kits
74
- - NestJS Standard kit
75
- - Production-ready project structure
76
- - Docker & CI/CD configuration included
77
- - Best practices baked in
78
-
79
- </td>
80
- <td width="50%">
81
-
82
- ### 🧩 **Modular Architecture**
83
- - 27+ free plug-and-play modules
84
- - Authentication (JWT, OAuth, WebAuthn)
85
- - Databases (PostgreSQL, MongoDB, Redis)
86
- - Monitoring, logging, and tracing
87
- - Caching and message queues
88
-
89
- </td>
90
- </tr>
91
- <tr>
92
- <td width="50%">
93
-
94
- ### 🎯 **Workspace Management**
95
- - Organize multiple projects
96
- - Shared Python environment
97
- - Auto-tracking in registry
98
- - VS Code Extension integration
99
- - Cross-tool compatibility
100
-
101
- </td>
102
- <td width="50%">
103
-
104
- ### 🔧 **Developer Experience**
105
- - Interactive TUI wizard
106
- - Hot reload development
107
- - Built-in testing & linting
108
- - Comprehensive CLI commands
109
- - One-command project setup
110
-
111
- </td>
112
- </tr>
113
- </table>
114
-
115
- ---
116
-
117
- ## 🚀 Quick Start
118
-
119
- ### Standalone Project
120
-
121
- Perfect for single projects or trying out RapidKit:
122
-
123
- **FastAPI:**
124
15
  ```bash
125
- npx rapidkit create project fastapi.standard my-api
126
- cd my-api
127
- npx rapidkit init # Install dependencies
128
- npx rapidkit dev # Start dev server at http://localhost:8000
16
+ npx rapidkit init
17
+ cd my-workspace
18
+ npx rapidkit create project
19
+ cd <project-name>
20
+ npx rapidkit init && npx rapidkit dev
21
+ # ✅ Production-ready API running at http://localhost:8000
129
22
  ```
130
23
 
131
- **NestJS:**
24
+ Using Node.js/NestJS? Use this direct kit command (inside or outside a workspace):
25
+
132
26
  ```bash
133
- npx rapidkit create project nestjs.standard my-service
134
- cd my-service
135
- npx rapidkit init # Install dependencies
136
- npx rapidkit dev # Start dev server at http://localhost:3000
27
+ npx rapidkit create project nestjs.standard my-service # standard kit
137
28
  ```
138
-
139
- ### Workspace Mode (Recommended)
140
-
141
- For teams, microservices, or multiple projects:
142
-
29
+ Using Python/FastAPI? Use these direct kit commands (inside or outside a workspace):
143
30
  ```bash
144
- # 1. Create workspace
145
- npx rapidkit my-workspace
146
- cd my-workspace
147
-
148
- # 2. Activate environment (choose one method):
149
-
150
- # Method A: Activate virtualenv (once per terminal session)
151
- source "$(poetry env info --path)/bin/activate"
152
-
153
- # Method B: Use poetry run prefix (every command)
154
- poetry run rapidkit create
155
-
156
- # Method C: Create alias (recommended - add to ~/.bashrc or ~/.zshrc)
157
- alias rapidkit="poetry run rapidkit"
158
-
159
- # 3. Create projects interactively
160
- rapidkit create # Interactive wizard
161
-
162
- # Or create directly
163
- rapidkit create project fastapi.standard api-gateway
164
- rapidkit create project nestjs.standard user-service
165
- rapidkit create project fastapi.ddd order-service
166
-
167
- # 4. View all projects
168
- rapidkit workspace list
31
+ npx rapidkit create project fastapi.standard my-service # standard kit
32
+ npx rapidkit create project fastapi.ddd my-service # DDD kit
169
33
  ```
170
34
 
171
- **Why use workspace mode?**
172
- - ✅ One shared Python environment for all projects
173
- - ✅ All projects auto-tracked in `~/.rapidkit/workspaces.json`
174
- - ✅ VS Code Extension auto-discovers your projects
175
- - ✅ Consistent RapidKit Core version across projects
176
- - ✅ Easier dependency management
177
-
178
- ---
179
-
180
- ## 🆚 Workspace vs Standalone
181
-
182
- Choose the right mode for your use case:
183
-
184
- <table>
185
- <thead>
186
- <tr>
187
- <th width="25%">Feature</th>
188
- <th width="37.5%">Workspace Mode</th>
189
- <th width="37.5%">Standalone</th>
190
- </tr>
191
- </thead>
192
- <tbody>
193
- <tr>
194
- <td><strong>Best for</strong></td>
195
- <td>✅ Teams, microservices, multiple projects</td>
196
- <td>⚡ Single project, quick prototyping</td>
197
- </tr>
198
- <tr>
199
- <td><strong>Python Environment</strong></td>
200
- <td>✅ Shared across all projects (~150MB once)</td>
201
- <td>⚠️ Separate per project (150MB each)</td>
202
- </tr>
203
- <tr>
204
- <td><strong>Project Registry</strong></td>
205
- <td>✅ Auto-tracked in <code>~/.rapidkit/workspaces.json</code></td>
206
- <td>❌ Not tracked</td>
207
- </tr>
208
- <tr>
209
- <td><strong>VS Code Extension</strong></td>
210
- <td>✅ Auto-discovers all projects</td>
211
- <td>⚠️ Manual discovery</td>
212
- </tr>
213
- <tr>
214
- <td><strong>Setup Time</strong></td>
215
- <td>⏱️ ~2 minutes (once)</td>
216
- <td>⏱️ ~30 seconds</td>
217
- </tr>
218
- <tr>
219
- <td><strong>Disk Usage</strong></td>
220
- <td>✅ Efficient (one venv)</td>
221
- <td>⚠️ Higher (multiple venvs)</td>
222
- </tr>
223
- <tr>
224
- <td><strong>Dependency Management</strong></td>
225
- <td>✅ Centralized Core version</td>
226
- <td>⚠️ Independent per project</td>
227
- </tr>
228
- <tr>
229
- <td><strong>Use Case</strong></td>
230
- <td>Production teams, long-term projects</td>
231
- <td>Quick demos, learning, single services</td>
232
- </tr>
233
- </tbody>
234
- </table>
35
+ [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)
235
36
 
236
37
  ---
237
38
 
238
- ## 🎯 Architecture
39
+ ### 👉 Get Started in 30 Seconds
239
40
 
240
- ```
241
- ┌──────────────────────────────────────────────────────────────┐
242
- │ RapidKit CLI (npm) │
243
- │ • Command routing & delegation │
244
- │ • Workspace management & registry │
245
- │ • VS Code Extension integration │
246
- │ • Python Core bridge & bootstrapping │
247
- └────────────────────────┬─────────────────────────────────────┘
248
-
249
- ┌──────────┴──────────┐
250
- │ │
251
- ▼ ▼
252
- ┌──────────────────────┐ ┌──────────────────────────┐
253
- │ Project Local CLI │ │ RapidKit Core │
254
- │ Launcher │ │ (Python Engine) │
255
- ├──────────────────────┤ ├──────────────────────────┤
256
- │ • init │ │ • create │
257
- │ • dev │ │ • add module │
258
- │ • test │ │ • list kits/modules │
259
- │ • build │ │ • info │
260
- │ • lint │ │ • doctor │
261
- │ • format │ │ • upgrade │
262
- │ • start │ │ • TUI wizard │
263
- └──────────────────────┘ └──────────────────────────┘
264
- │ │
265
- └──────────┬───────────────┘
266
-
267
- ┌────────────────────┐
268
- │ Generated Project │
269
- │ (FastAPI/NestJS) │
270
- └────────────────────┘
271
- ```
41
+ No account. No config. No pain. Just build.
272
42
 
273
- **How it works:**
43
+ [📖 Read Full Docs](https://getrapidkit.com) • [🎥 Watch Demo](https://www.youtube.com/watch?v=demo) • [⭐ Star on GitHub](https://github.com/getrapidkit/rapidkit-npm)
274
44
 
275
- 1. **Inside a project:** Commands like `init`, `dev`, `test` are delegated to the project-local launcher
276
- 2. **Outside a project:** Commands like `create`, `list`, `add` are forwarded to RapidKit Core (Python)
277
- 3. **Workspace mode:** Python Core is installed in workspace venv via Poetry/pipx
278
- 4. **Standalone mode:** Each project manages its own environment
45
+ </div>
279
46
 
280
47
  ---
281
48
 
282
- ## 💻 Available Commands
283
-
284
- ### Project Commands
49
+ ## Why RapidKit?
285
50
 
286
- Run these inside a RapidKit project:
51
+ | 🚀 **Instant Setup** | 🧩 **Modular By Design** | 🎯 **Production-Ready** |
52
+ |-------------------------------|-------------------------------|--------------------------------|
53
+ | Project in 30 seconds | 27+ plug-and-play modules | Docker + CI/CD included |
54
+ | Zero configuration needed | Add features in 1 command | Best practices baked in |
55
+ | FastAPI & NestJS support | Auth, DB, Cache, Monitoring | Clean architecture guaranteed |
287
56
 
288
- ```bash
289
- npx rapidkit init # Install dependencies (auto-activates environment)
290
- npx rapidkit dev # Start dev server with hot reload
291
- npx rapidkit start # Start production server
292
- npx rapidkit build # Build for production
293
- npx rapidkit test # Run tests with coverage
294
- npx rapidkit lint # Run linting checks
295
- npx rapidkit format # Format code automatically
296
- npx rapidkit --help # Show all commands
297
- ```
298
-
299
- ### Global Commands
300
-
301
- Run these anywhere:
57
+ ### 🔥 From This...
302
58
 
303
59
  ```bash
304
- # Project creation
305
- npx rapidkit create # Interactive wizard
306
- npx rapidkit create project <kit> <name> # Direct creation
307
-
308
- # Information
309
- npx rapidkit list # List available kits
310
- npx rapidkit list modules # List available modules
311
- npx rapidkit info kit <name> # Kit details
312
- npx rapidkit info module <name> # Module details
313
-
314
- # System
315
- npx rapidkit doctor # Diagnose environment
316
- npx rapidkit doctor --workspace # Check entire workspace
317
- npx rapidkit doctor --workspace --json # JSON output (CI/CD)
318
- npx rapidkit doctor --workspace --fix # Auto-fix issues
319
- npx rapidkit --version # Show version
320
- npx rapidkit --tui # Launch interactive TUI
321
-
322
- # Workspace management
323
- npx rapidkit workspace list # List workspaces
324
- npx rapidkit workspace sync # Sync projects
60
+ mkdir my-api && cd my-api
61
+ python -m venv .venv && source .venv/bin/activate
62
+ pip install fastapi uvicorn sqlalchemy alembic pydantic redis...
63
+ # Create project structure manually
64
+ # Configure Docker, CI/CD, testing...
65
+ # Write boilerplate code...
66
+ # ... 2 hours later
325
67
  ```
326
68
 
327
- ### Doctor Command (Health Check)
328
-
329
- The enhanced `doctor` command provides comprehensive health monitoring:
69
+ ### ...To This!
330
70
 
331
71
  ```bash
332
- # System check (basic)
333
- rapidkit doctor
334
-
335
- # Workspace check (detailed)
336
- rapidkit doctor --workspace
337
- # ✅ Health score with visual progress bar
338
- # ✅ System tools validation (Python, Poetry, pipx, Core)
339
- # ✅ Project-level checks (venv, dependencies, modules)
340
- # ✅ Environment file validation (.env)
341
- # ✅ Module structure integrity
342
- # ✅ Version compatibility warnings
343
- # ✅ Actionable fix commands
344
-
345
- # JSON output for CI/CD pipelines
346
- rapidkit doctor --workspace --json
347
-
348
- # Auto-fix common issues
349
- rapidkit doctor --workspace --fix
350
- # Interactive confirmation before applying fixes
72
+ npx rapidkit create project fastapi.standard my-api
73
+ cd my-api && npx rapidkit init && npx rapidkit dev
74
+ # ✅ Done in 30 seconds!
351
75
  ```
352
76
 
353
- **Features:**
354
- - **Health Score**: Visual percentage with pass/warn/error breakdown
355
- - **Fix Commands**: Project-specific commands to resolve issues
356
- - **JSON Mode**: Machine-readable output for automation
357
- - **Auto-Fix**: Apply fixes automatically with confirmation
358
- - **Module Checks**: Validates `__init__.py` files
359
- - **Environment Checks**: Detects missing `.env` files
360
- - **Version Compatibility**: Warns about Core/CLI mismatches
361
- ```
77
+ **What you get:**
78
+ - Production-ready project structure
79
+ - Docker & docker-compose configured
80
+ - GitHub Actions CI/CD pipeline
81
+ - Testing & linting setup
82
+ - Environment configuration
83
+ - Hot reload development server
84
+ - Best practices & clean architecture
362
85
 
363
- ### Workspace Commands
364
86
 
365
- ```bash
366
- # List all registered workspaces
367
- rapidkit workspace list
87
+ ---
368
88
 
369
- # Sync current workspace (scan for new projects)
370
- rapidkit workspace sync
371
- ```
89
+ ## 📦 Table of Contents
372
90
 
373
- ---
91
+ - [Why RapidKit?](#-why-rapidkit)
92
+ - [Quick Start](#-quick-start)
93
+ - [Core Concepts](#-core-concepts)
94
+ - [Module Ecosystem](#-module-ecosystem)
95
+ - [Commands Reference](#-commands-reference)
96
+ - [Requirements](#-requirements)
97
+ - [FAQs](#-faqs)
98
+ - [Links](#-links)
374
99
 
375
100
  ---
376
101
 
377
- ## 🧩 Module System
102
+ ## 🚀 Quick Start
378
103
 
379
- RapidKit's modular architecture lets you extend your project with pre-built modules.
104
+ ### Option 0: Fastest Start (`npx rapidkit init`)
380
105
 
381
- ### Adding Modules
106
+ Use this when you want the quickest complete flow (workspace + project + run):
382
107
 
383
108
  ```bash
384
- # Add single module
385
- rapidkit add module <module-slug>
386
-
387
- # Examples
388
- rapidkit add module auth # Authentication
389
- rapidkit add module db_postgres # PostgreSQL
390
- rapidkit add module redis # Redis caching
391
- rapidkit add module monitoring # Monitoring & metrics
109
+ cd ~/my-empty-folder
110
+ npx rapidkit init
111
+ cd my-workspace
112
+ npx rapidkit create project
113
+ cd <project-name>
114
+ npx rapidkit init && npx rapidkit dev
392
115
  ```
393
116
 
394
- ### List Available Modules
395
-
396
- ```bash
397
- rapidkit list modules # Human-readable list
398
- rapidkit list modules --json # JSON format
399
- ```
117
+ This is the recommended quickest onboarding path for most users.
118
+ `npx rapidkit init` is context-aware and auto-detects plain folders, workspace roots, and project directories.
400
119
 
401
- ### Module Information
120
+ Prefer direct kit selection (works both inside and outside a workspace):
402
121
 
403
122
  ```bash
404
- rapidkit info module auth # View module details
405
- rapidkit info module db_postgres # Dependencies, config, etc.
123
+ npx rapidkit create project fastapi.standard my-service
124
+ npx rapidkit create project fastapi.ddd my-service
125
+ npx rapidkit create project nestjs.standard my-service
406
126
  ```
407
127
 
408
- ### Available Modules (27 Total)
409
-
410
- #### 🔐 Authentication & Authorization (5)
128
+ ### Option 1: Single Project (Fastest)
411
129
 
412
- | Module | Slug | Description |
413
- |--------|------|-------------|
414
- | **Authentication Core** | `auth` | Opinionated password hashing, token signing, and runtime auth |
415
- | **API Keys** | `api_keys` | API key issuance, verification, and auditing |
416
- | **OAuth Providers** | `oauth` | Lightweight OAuth 2.0 scaffolding with provider registry |
417
- | **Passwordless Authentication** | `passwordless` | Magic link and one-time code authentication helpers |
418
- | **Session Management** | `session` | Opinionated session management with signed cookies |
130
+ Perfect for trying out RapidKit or building a standalone service:
419
131
 
420
- #### 💳 Billing & E-commerce (3)
421
-
422
- | Module | Slug | Description |
423
- |--------|------|-------------|
424
- | **Cart** | `cart` | Shopping cart service for checkout flows |
425
- | **Inventory** | `inventory` | Inventory and pricing service backing Cart + Stripe |
426
- | **Stripe Payment** | `stripe` | Stripe payments and subscriptions |
427
-
428
- #### 🗄️ Database (3)
132
+ **FastAPI:**
133
+ ```bash
134
+ # Create project
135
+ npx rapidkit create project fastapi.standard my-api
429
136
 
430
- | Module | Slug | Description |
431
- |--------|------|-------------|
432
- | **PostgreSQL** | `db_postgres` | SQLAlchemy async+sync Postgres with clean DI, healthcheck |
433
- | **MongoDB** | `db_mongo` | MongoDB integration with async driver support, health diagnostics |
434
- | **SQLite** | `db_sqlite` | SQLite database integration for development |
137
+ # Start developing
138
+ cd my-api
139
+ npx rapidkit init # Install dependencies
140
+ npx rapidkit dev # Start dev server http://localhost:8000
435
141
 
436
- #### 🔒 Security (3)
142
+ # Add modules as needed
143
+ npx rapidkit add module auth
144
+ npx rapidkit add module db_postgres
145
+ ```
437
146
 
438
- | Module | Slug | Description |
439
- |--------|------|-------------|
440
- | **CORS** | `cors` | Cross-Origin Resource Sharing security module |
441
- | **Rate Limiting** | `rate_limiting` | Production request throttling with configurable rules |
442
- | **Security Headers** | `security_headers` | Harden HTTP responses with industry-standard security headers |
147
+ **NestJS:**
148
+ ```bash
149
+ # Create project
150
+ npx rapidkit create project nestjs.standard my-service
443
151
 
444
- #### 📧 Communication (2)
152
+ # Start developing
153
+ cd my-service
154
+ npx rapidkit init # Install dependencies
155
+ npx rapidkit dev # Start dev server → http://localhost:3000
445
156
 
446
- | Module | Slug | Description |
447
- |--------|------|-------------|
448
- | **Email** | `email` | Email sending capabilities |
449
- | **Unified Notifications** | `notifications` | Email-first notification runtime with SMTP delivery |
157
+ # Add modules as needed
158
+ npx rapidkit add module auth
159
+ npx rapidkit add module db_postgres
160
+ ```
450
161
 
451
- #### 👥 User Management (2)
162
+ ### Option 2: Workspace (Recommended for Multiple Projects)
452
163
 
453
- | Module | Slug | Description |
454
- |--------|------|-------------|
455
- | **Users Core** | `users` | Opinionated user management backbone with immutable user records |
456
- | **Users Profiles** | `users_profiles` | Extends Users Core with rich profile modeling |
164
+ Organize multiple microservices with a shared environment:
457
165
 
458
- #### ⚙️ Essentials (4)
166
+ ```bash
167
+ # 1. Create workspace
168
+ npx rapidkit my-workspace
169
+ # Or with explicit command mode
170
+ npx rapidkit create workspace my-workspace
171
+ # Or interactive naming
172
+ npx rapidkit create workspace
173
+ cd my-workspace
459
174
 
460
- | Module | Slug | Description |
461
- |--------|------|-------------|
462
- | **Application Settings** | `settings` | Centralized modular configuration management using Pydantic |
463
- | **Middleware** | `middleware` | HTTP middleware pipeline with FastAPI and NestJS support |
464
- | **Structured Logging** | `logging` | Structured logging runtime with correlation IDs, multi-sink output |
465
- | **Deployment Toolkit** | `deployment` | Portable Docker, Compose, Makefile, and CI assets for RapidKit |
175
+ # 2. Activate environment (choose one):
466
176
 
467
- #### 📊 Observability (1)
177
+ # A. Activate virtualenv (recommended)
178
+ source "$(poetry env info --path)/bin/activate"
468
179
 
469
- | Module | Slug | Description |
470
- |--------|------|-------------|
471
- | **Observability Core** | `observability` | Cohesive metrics, tracing, and structured logging foundation |
180
+ # B. Use poetry run prefix
181
+ poetry run rapidkit create
472
182
 
473
- #### 💾 Caching (1)
183
+ # C. Create alias (add to ~/.bashrc or ~/.zshrc)
184
+ alias rapidkit="poetry run rapidkit"
474
185
 
475
- | Module | Slug | Description |
476
- |--------|------|-------------|
477
- | **Redis Cache** | `redis` | Production Redis runtime with async and sync client support |
186
+ # 3. Create projects
187
+ rapidkit create # Interactive wizard
188
+ rapidkit create project fastapi.standard api
189
+ rapidkit create project nestjs.standard users
190
+ rapidkit create project fastapi.ddd orders
478
191
 
479
- #### 🤖 AI (1)
192
+ # 4. View all projects
193
+ npx rapidkit workspace list
194
+ ```
480
195
 
481
- | Module | Slug | Description |
482
- |--------|------|-------------|
483
- | **AI Assistant** | `ai_assistant` | AI assistant integration capabilities |
196
+ **Why workspace mode?**
197
+ - ✅ One shared Python environment (~150MB once vs 150MB per project)
198
+ - All projects auto-tracked in `~/.rapidkit/workspaces.json`
199
+ - ✅ VS Code Extension auto-discovers projects
200
+ - ✅ Consistent RapidKit Core version
201
+ - ✅ Perfect for microservices architecture
484
202
 
485
- #### Tasks (1)
203
+ ### Next Steps
486
204
 
487
- | Module | Slug | Description |
488
- |--------|------|-------------|
489
- | **Celery** | `celery` | Production Celery task orchestration for asynchronous workflows |
205
+ ```bash
206
+ # Project commands (run inside project directory)
207
+ npx rapidkit init # Install dependencies
208
+ npx rapidkit dev # Start dev server with hot reload
209
+ npx rapidkit test # Run tests with coverage
210
+ npx rapidkit lint # Run linting checks
211
+ npx rapidkit format # Format code
212
+ npx rapidkit build # Build for production
213
+ npx rapidkit start # Start production server
490
214
 
491
- #### 💼 Business (1)
215
+ # Explore modules
216
+ npx rapidkit modules list # List all 27+ modules
217
+ npx rapidkit modules info db_postgres # View module details
492
218
 
493
- | Module | Slug | Description |
494
- |--------|------|-------------|
495
- | **Storage** | `storage` | File Storage & Media Management - Upload, store, and retrieve files |
219
+ # Health check
220
+ npx rapidkit doctor # Check system requirements
221
+ npx rapidkit doctor --workspace # Check entire workspace
222
+ ```
496
223
 
497
- > **💡 Tip:** Use `rapidkit modules list` to see all modules with versions and status, or install the [RapidKit VS Code Extension](https://marketplace.visualstudio.com/items?itemName=rapidkit.rapidkit-vscode) to browse and install modules visually!
224
+ > 💡 **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!
498
225
 
499
226
  ---
500
227
 
501
- ## 🗂️ Workspace Management
502
-
503
- RapidKit maintains a shared workspace registry at `~/.rapidkit/workspaces.json` for cross-tool compatibility with the VS Code Extension.
228
+ ## 💎 Prefer Visual Interface?
504
229
 
505
- ### List Registered Workspaces
506
-
507
- ```bash
508
- rapidkit workspace list
509
- ```
230
+ <div align="center">
510
231
 
511
- **Example output:**
512
- ```
513
- 📦 Registered RapidKit Workspaces:
232
+ ### **RapidKit VS Code Extension** is the recommended way to use RapidKit
514
233
 
515
- my-workspace
516
- Path: /home/user/projects/my-workspace
517
- Projects: 3
234
+ All npm CLI features + powerful visual tools in one integrated experience
518
235
 
519
- microservices
520
- Path: /home/user/work/microservices
521
- Projects: 7
236
+ [![Install Extension](https://img.shields.io/badge/Install-VS%20Code%20Extension-007ACC?style=for-the-badge&logo=visual-studio-code)](https://marketplace.visualstudio.com/items?itemName=rapidkit.rapidkit-vscode)
522
237
 
523
- Total: 2 workspace(s)
524
- ```
238
+ </div>
525
239
 
526
- ### Sync Workspace Projects
240
+ **Why use the Extension?**
241
+
242
+ | Feature | npm CLI | VS Code Extension |
243
+ |---------|---------|-------------------|
244
+ | **Project Creation** | ✅ Terminal commands | ✅ Visual wizard with preview |
245
+ | **Module Browse** | ✅ List in terminal | ✅ Rich UI with search & categories |
246
+ | **Module Installation** | ✅ `add module` command | ✅ One-click install with previews |
247
+ | **Workspace Management** | ✅ Basic commands | ✅ Visual tree + auto-discovery |
248
+ | **System Health Check** | ✅ `doctor` command | ✅ Real-time status indicators |
249
+ | **Project Templates** | ✅ Kit selection | ✅ Preview + compare kits visually |
250
+ | **Documentation** | ❌ External links | ✅ Integrated docs & tooltips |
251
+ | **AI Recommendations** | ✅ Terminal prompts | ✅ Interactive suggestions panel |
252
+ | **Multi-project View** | ❌ | ✅ Workspace explorer & switcher |
253
+ | **Quick Actions** | ❌ | ✅ Right-click context menus |
254
+
255
+ **Extension-only features:**
256
+ - 🎨 **Visual Project Browser**: See all projects at a glance
257
+ - 📊 **Live Health Monitoring**: Real-time project status
258
+ - 🔍 **Smart Search**: Find modules instantly with filters
259
+ - 📝 **Inline Documentation**: Hover tooltips for every module
260
+ - ⚡ **Quick Commands**: Keyboard shortcuts for common tasks
261
+ - 🔄 **Auto-sync**: Automatically detect new projects
262
+ - 🎯 **Context Menus**: Right-click actions everywhere
263
+
264
+ > 💡 The Extension includes the full npm package functionality, so you get **both** the CLI and the visual interface!
265
+
266
+ [📥 Install VS Code Extension](https://marketplace.visualstudio.com/items?itemName=rapidkit.rapidkit-vscode) • [📖 Extension Docs](https://getrapidkit.com/docs/vscode-extension)
527
267
 
528
- Projects are automatically tracked when created. Manual sync is available if needed:
268
+ ---
529
269
 
530
- ```bash
531
- cd my-workspace
532
- rapidkit workspace sync
533
- ```
270
+ ## 🧠 Core Concepts
534
271
 
535
- This scans the workspace directory and registers all RapidKit projects (directories with `.rapidkit/context.json` or `.rapidkit/project.json`).
536
-
537
- **When to use manual sync:**
538
- - Manually moved/copied projects into workspace
539
- - Created projects before sync feature existed
540
- - Registry got out of sync
541
- - Want to refresh after external changes
542
-
543
- ### Registry Format
544
-
545
- The registry stores workspace and project metadata:
546
-
547
- ```json
548
- {
549
- "workspaces": [
550
- {
551
- "name": "my-workspace",
552
- "path": "/home/user/projects/my-workspace",
553
- "mode": "full",
554
- "projects": [
555
- {
556
- "name": "api-gateway",
557
- "path": "/home/user/projects/my-workspace/api-gateway"
558
- },
559
- {
560
- "name": "user-service",
561
- "path": "/home/user/projects/my-workspace/user-service"
562
- }
563
- ]
564
- }
565
- ]
566
- }
567
- ```
272
+ ### Workspace vs Standalone
568
273
 
569
- **Auto-registration:**
570
- - Workspaces registered when created via `npx rapidkit <name>` or VS Code Extension
571
- - Projects registered when created via `rapidkit create project ...` inside workspace
572
- - VS Code Extension and npm CLI share the same registry
274
+ Choose the right mode for your use case:
573
275
 
574
- ---
276
+ | Feature | Workspace Mode | Standalone Mode |
277
+ |---------|----------------|-----------------|
278
+ | **Best For** | Teams, microservices, multiple projects | Single project, quick prototyping |
279
+ | **Setup Time** | ~2 minutes (one time) | ~30 seconds |
280
+ | **Disk Usage** | Efficient (one venv) | Higher (multiple venvs) |
281
+ | **Python Environment** | Shared across all projects | Separate per project |
282
+ | **Project Tracking** | Auto-tracked in registry | Manual |
283
+ | **VS Code Extension** | Auto-discovery | Manual discovery |
575
284
 
576
- ## 📁 Project Structure
285
+ ### Project Structure
577
286
 
578
- ### Workspace
287
+ #### Workspace Structure
579
288
 
580
289
  ```
581
290
  my-workspace/
582
- ├── my-api/ # FastAPI project
583
- ├── .rapidkit/ # Project config
584
- ├── src/ # Source code
585
- ├── config/ # Configuration
586
- ├── tests/ # Test suite
587
- ├── pyproject.toml # Poetry config
588
- │ └── Dockerfile # Docker setup
589
- ├── my-service/ # NestJS project
590
- │ ├── .rapidkit/ # Project config
591
- │ ├── src/ # Source code
592
- │ ├── test/ # Test suite
593
- │ ├── package.json # npm config
594
- │ └── Dockerfile # Docker setup
595
- ├── .venv/ # Workspace Python environment
596
- ├── .rapidkit-workspace # Workspace metadata
597
- ├── poetry.lock # Locked Python dependencies
598
- ├── pyproject.toml # Workspace Python config
599
- ├── rapidkit # CLI script (bash)
600
- ├── rapidkit.cmd # CLI script (Windows)
291
+ ├── .rapidkit-workspace # Workspace marker file
292
+ ├── .venv/ # Shared Python environment
293
+ ├── poetry.lock # Locked dependencies
294
+ ├── poetry.toml # Poetry configuration
295
+ ├── pyproject.toml # Workspace Python config
296
+ ├── rapidkit # CLI script (Unix)
297
+ ├── rapidkit.cmd # CLI script (Windows)
601
298
  ├── README.md
602
- └── Makefile
299
+ ├── my-api/ # FastAPI project
300
+ ├── my-service/ # NestJS project
301
+ └── my-admin/ # Another project
603
302
  ```
604
303
 
605
- ### FastAPI Project
304
+ #### FastAPI Project (DDD Architecture)
606
305
 
607
306
  ```
608
307
  my-api/
609
- ├── .rapidkit/ # RapidKit config
610
- │ ├── project.json # Project metadata
611
- │ ├── context.json # Project context
612
- │ ├── cli.py # Local CLI module
613
- │ └── activate # Environment activation
614
- ├── src/ # Source code
615
- │ ├── main.py # FastAPI entry point
308
+ ├── .rapidkit/ # RapidKit metadata & CLI
309
+ │ ├── activate # Environment activation
310
+ │ ├── cli.py # Local CLI commands
311
+ │ ├── context.json # Build context
312
+ │ └── rapidkit # Project CLI launcher
313
+ ├── src/
314
+ │ ├── app/ # DDD layers
315
+ │ │ ├── application/ # Use cases & interfaces
316
+ │ │ ├── domain/ # Business logic & models
317
+ │ │ ├── infrastructure/ # External services & repos
318
+ │ │ ├── presentation/ # API controllers & routes
319
+ │ │ ├── config/ # Configuration
320
+ │ │ ├── shared/ # Shared utilities
321
+ │ │ └── main.py # Application entry
322
+ │ ├── modules/ # RapidKit modules
323
+ │ │ └── free/ # Free modules (auth, db, etc.)
616
324
  │ ├── routing/ # API routes
617
- ├── __init__.py
618
- ├── health.py
619
- └── examples.py
620
- │ └── modules/ # Feature modules
621
- │ └── __init__.py
622
- ├── config/ # Configuration
325
+ │ ├── health/ # Health check endpoints
326
+ │ ├── cli.py # CLI commands
327
+ │ └── main.py # FastAPI app entry
623
328
  ├── tests/ # Test suite
624
- ├── __init__.py
625
- ├── test_health.py
626
- │ └── test_examples.py
627
- ├── .github/ # GitHub workflows
628
- ├── .env.example # Environment template
629
- ├── .gitignore
630
- ├── bootstrap.sh # Setup script
631
- ├── docker-compose.yml # Docker Compose
632
- ├── Dockerfile # Docker configuration
633
- ├── Makefile # Make commands
329
+ ├── config/ # Configuration files
330
+ ├── .github/workflows/ # CI/CD pipelines
331
+ ├── docker-compose.yml # Docker Compose setup
332
+ ├── Dockerfile # Production container
333
+ ├── Makefile # Quick commands
334
+ ├── pyproject.toml # Poetry dependencies
634
335
  ├── poetry.lock # Locked dependencies
635
- ├── pyproject.toml # Poetry configuration
636
- ├── LICENSE
336
+ ├── bootstrap.sh # Setup script
337
+ ├── .env.example # Environment template
338
+ ├── .pre-commit-config.yaml # Pre-commit hooks
637
339
  └── README.md
638
340
  ```
639
341
 
640
- ### NestJS Project
342
+ #### NestJS Project (Standard Architecture)
641
343
 
642
344
  ```
643
- my-app/
644
- ├── .rapidkit/ # RapidKit config
645
- │ ├── project.json # Project metadata
646
- │ ├── context.json # Project context
647
- │ └── cli.js # Local CLI module (optional)
648
- ├── src/ # Source code
649
- │ ├── main.ts # NestJS entry point
345
+ my-service/
346
+ ├── .rapidkit/ # RapidKit metadata & CLI
347
+ │ ├── activate # Environment activation
348
+ │ ├── context.json # Build context
349
+ │ └── rapidkit # Project CLI launcher
350
+ ├── src/
650
351
  │ ├── app.module.ts # Root module
651
352
  │ ├── app.controller.ts # Root controller
652
353
  │ ├── app.service.ts # Root service
354
+ │ ├── main.ts # NestJS entry point
653
355
  │ ├── config/ # Configuration module
654
356
  │ │ ├── configuration.ts
655
- │ │ └── validation.ts
656
- │ └── examples/ # Example CRUD module
657
- ├── examples.module.ts
658
- ├── examples.controller.ts
659
- └── examples.service.ts
660
- ├── test/ # Test suite
661
- │ ├── app.e2e-spec.ts
662
- └── jest-e2e.json
663
- ├── .github/ # GitHub workflows
664
- ├── .env.example # Environment template
665
- ├── .gitignore
666
- ├── bootstrap.sh # Setup script
667
- ├── docker-compose.yml # Docker Compose
668
- ├── Dockerfile # Docker configuration
669
- ├── eslint.config.cjs # ESLint configuration
670
- ├── jest.config.ts # Jest configuration
671
- ├── nest-cli.json # NestJS CLI config
357
+ │ │ ├── validation.ts
358
+ └── index.ts
359
+ ├── modules/ # RapidKit modules
360
+ ├── free/ # Free modules (auth, db, etc.)
361
+ └── index.ts # Module registry
362
+ ├── auth/ # Auth feature module
363
+ ├── auth.module.ts
364
+ │ ├── auth.controller.ts
365
+ │ │ ├── auth.service.ts
366
+ │ │ └── entities/
367
+ ├── examples/ # Example CRUD module
368
+ │ │ ├── examples.module.ts
369
+ │ │ ├── examples.controller.ts
370
+ │ │ ├── examples.service.ts
371
+ │ │ └── dto/
372
+ │ └── health/ # Health check endpoints
373
+ ├── test/ # E2E tests
374
+ ├── tests/ # Unit tests
375
+ ├── .github/workflows/ # CI/CD pipelines
376
+ ├── docker-compose.yml # Docker Compose setup
377
+ ├── Dockerfile # Production container
378
+ ├── Makefile # Quick commands
672
379
  ├── package.json # npm dependencies
380
+ ├── yarn.lock / package-lock.json # Locked dependencies
381
+ ├── nest-cli.json # NestJS CLI config
673
382
  ├── tsconfig.json # TypeScript config
674
- ├── LICENSE
383
+ ├── tsconfig.build.json # Build config
384
+ ├── jest.config.ts # Jest test config
385
+ ├── eslint.config.cjs # ESLint config
386
+ ├── bootstrap.sh # Setup script
387
+ ├── .env.example # Environment template
675
388
  └── README.md
676
389
  ```
677
390
 
678
- ---
679
-
680
- ## 📋 Requirements
681
-
682
- ### System Requirements
391
+ ### Module System
683
392
 
684
- - **Node.js**: 20.19.6+ LTS (20.x or 22.x recommended)
685
- - **Python**: 3.10+ (required for RapidKit Core)
686
- - **Git**: For version control
393
+ RapidKit's modules are plug-and-play components that extend your project:
687
394
 
688
- ### Framework-Specific Requirements
395
+ ```bash
396
+ # Add authentication
397
+ rapidkit add module auth
689
398
 
690
- **FastAPI Projects:**
691
- - Python 3.10+
692
- - Poetry (auto-installed if missing)
399
+ # Add database with caching
400
+ rapidkit add module db_postgres
401
+ rapidkit add module redis
693
402
 
694
- **NestJS Projects:**
695
- - Node.js 20.19.6+
696
- - Package manager (npm/yarn/pnpm)
403
+ # Add payment processing
404
+ rapidkit add module stripe
405
+ ```
697
406
 
698
- ### Optional Tools
407
+ Modules include:
408
+ - ✅ Pre-configured code
409
+ - ✅ Dependencies (auto-added to pyproject.toml/package.json)
410
+ - ✅ Configuration templates
411
+ - ✅ Tests and documentation
412
+ - ✅ Best practices baked in
699
413
 
700
- - **Docker**: For containerized development
701
- - **VS Code**: For Extension integration
702
- - **Make**: For Makefile commands (usually pre-installed on Unix)
414
+ ### 🤖 AI-Powered Recommendations
703
415
 
704
- > 💡 **Tip:** Use [RapidKit VS Code Extension](https://marketplace.visualstudio.com/items?itemName=rapidkit.rapidkit-vscode) which includes a system checker to verify all requirements!
416
+ Not sure which modules you need? Ask AI:
705
417
 
706
- ---
418
+ ```bash
419
+ npx rapidkit ai recommend "I want to build a SaaS with authentication and payments"
707
420
 
708
- ## ⚙️ CLI Options
421
+ # Output:
422
+ # 📦 Recommended Modules:
423
+ # 1. Authentication Core (92% match)
424
+ # 2. Users Core (88% match)
425
+ # 3. Stripe Payment (85% match)
426
+ # 4. PostgreSQL (82% match)
427
+ ```
709
428
 
429
+ **Setup (one-time):**
710
430
  ```bash
711
- npx rapidkit [workspace-name] [options]
712
- npx rapidkit workspace <action>
431
+ rapidkit config set-api-key # Configure OpenAI API key
432
+ rapidkit ai generate-embeddings # Generate embeddings (~$0.50)
713
433
  ```
714
434
 
715
- ### Arguments
435
+ **Features:**
436
+ - 🧠 Understands natural language queries
437
+ - 🎯 Suggests relevant modules with confidence scores
438
+ - 💰 Ultra-cheap: ~$0.0002 per query
439
+ - ✅ Works in mock mode without API key (for testing)
440
+
441
+ [More about AI features →](https://getrapidkit.com/docs/ai)
716
442
 
717
- - `workspace-name` - Name of workspace directory to create
718
- - `action` - For workspace commands: `list` or `sync`
443
+ ---
719
444
 
720
- ### Workspace Creation Options
445
+ ## 🧩 Module Ecosystem
721
446
 
722
- - `-y, --yes` - Skip prompts and use defaults
723
- - `--skip-git` - Skip git initialization
724
- - `--debug` - Enable verbose debug logging
725
- - `--dry-run` - Preview what would be created without creating it
726
- - `--no-update-check` - Skip checking for newer versions
727
- - `--help` - Display help information
728
- - `--version` - Show version number
447
+ RapidKit includes **27 production-ready modules** across 10 categories:
729
448
 
730
- ### Project Creation Flags
449
+ ### Quick Overview
731
450
 
732
- - `--output <dir>` - Specify output directory (default: current)
733
- - `--create-workspace` - Auto-create workspace if outside one
734
- - `--no-workspace` - Don't create workspace if outside one
451
+ - 🔐 **Authentication** (5 modules): Core Auth, API Keys, OAuth, Passwordless, Sessions
452
+ - 💳 **Payments & E-commerce** (3): Stripe, Shopping Cart, Inventory
453
+ - 🗄️ **Databases** (3): PostgreSQL, MongoDB, SQLite
454
+ - 🔒 **Security** (3): CORS, Rate Limiting, Security Headers
455
+ - 📧 **Communication** (2): Email, Unified Notifications
456
+ - 👥 **User Management** (2): Users Core, User Profiles
457
+ - ⚙️ **Essentials** (4): Settings, Middleware, Logging, Deployment
458
+ - 📊 **Observability** (1): Metrics & Tracing
459
+ - 💾 **Caching** (1): Redis
460
+ - 🤖 **AI** (1): AI Assistant
461
+ - ⚡ **Tasks** (1): Celery
462
+ - 💼 **Storage** (1): File Management
735
463
 
736
- ### Examples
464
+ ### Browse & Install
737
465
 
738
466
  ```bash
739
- # Create workspace with defaults
740
- npx rapidkit my-workspace --yes --skip-git
467
+ # List all modules
468
+ rapidkit modules list
741
469
 
742
- # Create project in specific location
743
- npx rapidkit create project fastapi.standard api --output ./services
470
+ # View module details
471
+ rapidkit modules info auth
472
+ rapidkit modules info db_postgres
744
473
 
745
- # Preview workspace creation
746
- npx rapidkit test-workspace --dry-run
747
-
748
- # Skip update check
749
- npx rapidkit create --no-update-check
474
+ # Install modules
475
+ rapidkit add module auth
476
+ rapidkit add module db_postgres redis
750
477
  ```
751
478
 
752
- ---
479
+ ### Popular Combinations
753
480
 
754
- ## 🔧 Troubleshooting
481
+ **SaaS Starter:**
482
+ ```bash
483
+ rapidkit add module auth users db_postgres redis session
484
+ ```
485
+
486
+ **E-commerce API:**
487
+ ```bash
488
+ rapidkit add module auth users db_postgres cart inventory stripe
489
+ ```
755
490
 
756
- ### Common Issues
491
+ **Enterprise API:**
492
+ ```bash
493
+ rapidkit add module auth api_keys db_postgres redis rate_limiting observability
494
+ ```
757
495
 
758
- <details>
759
- <summary><strong>❌ BRIDGE_VENV_BOOTSTRAP_FAILED</strong></summary>
496
+ 📚 **[View Full Module Catalog →](https://getrapidkit.com/modules)**
760
497
 
761
- **Problem:** Python core can't run in workspace.
498
+ ---
762
499
 
763
- **Cause:** Poetry virtualenv not activated or workspace environment issue.
500
+ ## 💻 Commands Reference
764
501
 
765
- **Solutions:**
502
+ ### Global Commands (Run Anywhere)
766
503
 
767
504
  ```bash
768
- # Solution 1: Use poetry run prefix
769
- poetry run rapidkit create
505
+ # Workspace creation
506
+ npx rapidkit <name> # Legacy stable workspace creation
507
+ npx rapidkit create workspace # Interactive workspace creation
508
+ npx rapidkit create workspace <name> # Create workspace with name
770
509
 
771
- # Solution 2: Activate environment
772
- source "$(poetry env info --path)/bin/activate"
773
- rapidkit create
510
+ # Project creation
511
+ npx rapidkit create project # Interactive wizard
512
+ npx rapidkit create project <kit> <name> # Direct creation
774
513
 
775
- # Solution 3: Use non-interactive mode (always works without workspace)
776
- rapidkit create project fastapi.standard my-api
514
+ # Information
515
+ npx rapidkit list # List kits
516
+ npx rapidkit modules list # List modules
517
+ npx rapidkit kits info <name> # Kit details
518
+ npx rapidkit modules info <name> # Module details
777
519
 
778
- # Solution 4: Recreate workspace
779
- cd ..
780
- rm -rf old-workspace
781
- npx rapidkit new-workspace
782
- ```
783
- </details>
520
+ # System health
521
+ npx rapidkit doctor # Check system
522
+ npx rapidkit doctor --workspace # Check workspace
523
+ npx rapidkit doctor --workspace --fix # Auto-fix issues
524
+ npx rapidkit doctor --workspace --json # JSON output (CI/CD)
784
525
 
785
- <details>
786
- <summary><strong>🔍 Workspace not detected</strong></summary>
526
+ # Workspace management
527
+ npx rapidkit workspace list # List workspaces
528
+ npx rapidkit workspace sync # Sync projects
787
529
 
788
- **Problem:** CLI doesn't recognize you're in a workspace.
530
+ # CLI info
531
+ npx rapidkit --version # Show version
532
+ npx rapidkit --help # Show help
533
+ ```
789
534
 
790
- **Check:**
791
- ```bash
792
- # Verify workspace marker exists
793
- ls -la .rapidkit-workspace
535
+ `npx rapidkit create workspace` interactive prompts:
536
+ - Without a name: asks workspace name, author name, Python version, and install method.
537
+ - With a name: asks author name, Python version, and install method.
538
+ - With `--yes`: skips prompts and uses defaults.
794
539
 
795
- # Check workspace is registered
796
- rapidkit workspace list
797
- ```
540
+ ### Init & Project Commands
798
541
 
799
- **Solution:**
800
542
  ```bash
801
- # Manual sync
802
- rapidkit workspace sync
543
+ npx rapidkit init # Context-aware init (see behavior below)
544
+ npx rapidkit dev # Start dev server with hot reload
545
+ npx rapidkit start # Start production server
546
+ npx rapidkit build # Build for production
547
+ npx rapidkit test # Run tests with coverage
548
+ npx rapidkit lint # Run linting
549
+ npx rapidkit format # Format code
803
550
  ```
804
- </details>
805
551
 
806
- <details>
807
- <summary><strong>📋 Project not auto-registered</strong></summary>
552
+ `npx rapidkit init` behavior:
553
+ - In a plain folder: creates `my-workspace` (or `my-workspace-<n>` if needed) and initializes it.
554
+ - In a workspace root: initializes workspace dependencies, then initializes all detected child projects.
555
+ - In a project inside a workspace: initializes only that project.
808
556
 
809
- **Problem:** New project not showing in `workspace list`.
557
+ Quick examples:
810
558
 
811
- **Solution:**
812
559
  ```bash
813
- cd my-workspace
814
- rapidkit workspace sync
815
- ```
816
-
817
- Projects created with `rapidkit create project` should auto-register. If not, sync manually.
818
- </details>
560
+ # Plain folder
561
+ cd ~/new-folder && npx rapidkit init
819
562
 
820
- <details>
821
- <summary><strong>🐍 Python version mismatch</strong></summary>
563
+ # Workspace root
564
+ cd ~/my-workspace && npx rapidkit init
822
565
 
823
- **Problem:** Python 3.10+ required but not found.
566
+ # Project inside workspace
567
+ cd ~/my-workspace/my-api && npx rapidkit init
568
+ ```
824
569
 
825
- **Solution:**
570
+ ### Module Commands
826
571
 
827
572
  ```bash
828
- # Ubuntu/Debian
829
- sudo apt install python3.10 python3.10-venv
573
+ npx rapidkit add module <slug> # Add single module
574
+ npx rapidkit add module auth redis # Add multiple modules
575
+ npx rapidkit modules list # List available modules
576
+ npx rapidkit modules info <slug> # Module details
577
+ ```
830
578
 
831
- # macOS (Homebrew)
832
- brew install python@3.10
579
+ ### Advanced Options
833
580
 
834
- # Verify installation
835
- python3.10 --version
836
- ```
837
- </details>
581
+ ```bash
582
+ # Workspace creation
583
+ npx rapidkit <name> --yes # Skip prompts
584
+ npx rapidkit <name> --skip-git # Skip git init
585
+ npx rapidkit <name> --dry-run # Preview only
586
+ npx rapidkit <name> --debug # Verbose logging
587
+ npx rapidkit create workspace --yes # Create default my-workspace non-interactive
588
+ npx rapidkit create workspace <name> --yes # Create named workspace non-interactive
838
589
 
839
- <details>
840
- <summary><strong>📦 Poetry not found</strong></summary>
590
+ # Project creation
591
+ npx rapidkit create --output <dir> # Custom location
592
+ npx rapidkit create --no-update-check # Skip version check
593
+ ```
841
594
 
842
- **Problem:** Poetry installation missing or not in PATH.
595
+ **Quick Reference Table:**
843
596
 
844
- **Solution:**
597
+ | Command | Description | Context |
598
+ |---------|-------------|---------|
599
+ | `create workspace` | Create workspace | Anywhere |
600
+ | `create project` | Create project | Anywhere |
601
+ | `init` | Context-aware dependency setup | Folder / workspace / project |
602
+ | `dev` | Start dev server | Inside project |
603
+ | `test` | Run tests | Inside project |
604
+ | `add module` | Add module to project | Inside project |
605
+ | `list` | List kits | Anywhere |
606
+ | `modules list` | List modules | Anywhere |
607
+ | `doctor` | Health check | Anywhere |
608
+ | `workspace` | Manage workspaces | Anywhere |
845
609
 
846
- ```bash
847
- # Install Poetry
848
- curl -sSL https://install.python-poetry.org | python3 -
610
+ ---
849
611
 
850
- # Add to PATH (add to ~/.bashrc or ~/.zshrc)
851
- export PATH="$HOME/.local/bin:$PATH"
612
+ ## 📋 Requirements
852
613
 
853
- # Verify
854
- poetry --version
855
- ```
856
- </details>
614
+ ### System Requirements
857
615
 
858
- <details>
859
- <summary><strong>🔄 Workspace environment corrupt</strong></summary>
616
+ - **Node.js**: 20.19.6+ LTS (20.x or 22.x recommended)
617
+ - **Python**: 3.10+ (required for RapidKit Core)
618
+ - **Git**: For version control
860
619
 
861
- **Problem:** Workspace `.venv` or Poetry environment is broken.
620
+ ### Framework-Specific
862
621
 
863
- **Solution:**
622
+ **FastAPI Projects:**
623
+ - Python 3.10+
624
+ - Poetry (auto-installed if missing)
864
625
 
865
- ```bash
866
- # For Poetry workspace
867
- cd my-workspace
868
- poetry env remove python
869
- poetry install
870
-
871
- # For venv workspace
872
- rm -rf .venv
873
- python3 -m venv .venv
874
- source .venv/bin/activate
875
- pip install rapidkit-core
876
- ```
877
- </details>
626
+ **NestJS Projects:**
627
+ - Node.js 20.19.6+
628
+ - npm/yarn/pnpm
878
629
 
879
- ### Getting Help
630
+ ### Optional but Recommended
880
631
 
881
- If you encounter issues not covered here:
632
+ - **Docker**: For containerized development
633
+ - **VS Code**: For Extension integration
634
+ - **Make**: For Makefile commands (pre-installed on Unix)
882
635
 
883
- 1. **Check the documentation:** https://getrapidkit.com
884
- 2. **Search existing issues:** https://github.com/getrapidkit/rapidkit-npm/issues
885
- 3. **Run diagnostics:** `rapidkit doctor`
886
- 4. **Open a new issue:** Include `rapidkit --version`, OS, Node.js version, and error output
636
+ > 💡 **Tip:** Use `rapidkit doctor` to check all requirements automatically!
887
637
 
888
638
  ---
889
639
 
@@ -892,13 +642,13 @@ If you encounter issues not covered here:
892
642
  <details>
893
643
  <summary><strong>Do I need Python installed?</strong></summary>
894
644
 
895
- Yes, Python 3.10+ is required for RapidKit Core (the engine). The npm package will bootstrap it into a workspace venv if needed, but having Python system-wide is recommended.
645
+ 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.
896
646
  </details>
897
647
 
898
648
  <details>
899
649
  <summary><strong>Can I use this without npm?</strong></summary>
900
650
 
901
- Yes! Install globally: `npm i -g rapidkit`, then use `rapidkit` directly without `npx`. Note: You'll still need Node.js installed.
651
+ Yes! Install globally: `npm i -g rapidkit`, then use `rapidkit` directly. You'll still need Node.js installed.
902
652
  </details>
903
653
 
904
654
  <details>
@@ -906,853 +656,89 @@ Yes! Install globally: `npm i -g rapidkit`, then use `rapidkit` directly without
906
656
 
907
657
  RapidKit provides:
908
658
  - **Living templates** that receive updates
909
- - **Module system** (27+ free plug-and-play modules)
910
- - **Workspace management** for organizing multiple projects
911
- - **VS Code integration** with visual interface
912
- - **Interactive TUI** wizard
913
- - **Built-in CLI** commands (dev, test, lint, etc.)
659
+ - **27+ plug-and-play modules**
660
+ - **Workspace management**
661
+ - **VS Code integration**
662
+ - **Built-in dev commands** (dev, test, lint)
914
663
 
915
- Cookiecutter is great for one-time scaffolding, but RapidKit is a complete development platform.
664
+ Cookiecutter is one-time scaffolding. RapidKit is a complete development platform.
916
665
  </details>
917
666
 
918
667
  <details>
919
668
  <summary><strong>Do I need the VS Code Extension?</strong></summary>
920
669
 
921
- No, but it's highly recommended! The Extension provides:
922
- - Visual interface for creating projects
923
- - One-click module installation
924
- - Workspace browser
925
- - System requirements checker
926
- - Integrated terminal commands
927
-
928
- CLI is fully functional standalone.
670
+ No, but highly recommended! It provides visual interface, one-click module installation, workspace browser, and system checker.
929
671
  </details>
930
672
 
931
673
  <details>
932
- <summary><strong>Can I use venv instead of Poetry?</strong></summary>
933
-
934
- Yes! During workspace creation, you can choose:
935
- - **Poetry** (recommended - better dependency management)
936
- - **venv** (standard Python virtualenv)
937
- - **pipx** (global user install)
674
+ <summary><strong>Can I customize generated projects?</strong></summary>
938
675
 
939
- All options work, but Poetry provides the best experience.
676
+ Yes! After generation, files are yours. Modify as needed, add/remove modules, update dependencies. RapidKit won't overwrite your changes.
940
677
  </details>
941
678
 
942
679
  <details>
943
680
  <summary><strong>How do I upgrade RapidKit?</strong></summary>
944
681
 
945
682
  ```bash
946
- # For global install
947
- npm update -g rapidkit
948
-
949
683
  # For npx usage (automatic)
950
684
  npx rapidkit@latest create
951
685
 
686
+ # For global install
687
+ npm update -g rapidkit
688
+
952
689
  # For workspace Python Core
953
690
  cd my-workspace
954
691
  poetry update rapidkit-core
955
- # OR
956
- pip install --upgrade rapidkit-core
957
692
  ```
958
693
  </details>
959
694
 
960
695
  <details>
961
- <summary><strong>Can I customize generated projects?</strong></summary>
962
-
963
- Yes! After generation:
964
- 1. Modify files as needed - they're yours
965
- 2. Add/remove modules: `rapidkit add module <name>`
966
- 3. Update dependencies in `pyproject.toml` or `package.json`
967
- 4. RapidKit won't overwrite your changes
968
-
969
- For template-level changes, consider:
970
- - Creating custom kits (see Core docs)
971
- - Using RapidKit as a starting point
972
- </details>
973
-
974
- <details>
975
- <summary><strong>Is there a Docker workflow?</strong></summary>
696
+ <summary><strong>Is there Docker support?</strong></summary>
976
697
 
977
698
  Yes! All projects include:
978
- - `Dockerfile` for production builds
699
+ - `Dockerfile` for production
979
700
  - `docker-compose.yml` for development
980
701
  - `.dockerignore` for optimization
981
702
 
982
703
  ```bash
983
- # Development
984
- docker-compose up
985
-
986
- # Production
987
- docker build -t my-service .
988
- docker run -p 8000:8000 my-service
704
+ docker-compose up # Development
705
+ docker build -t my-service . && docker run -p 8000:8000 my-service # Production
989
706
  ```
990
707
  </details>
991
708
 
992
- <details>
993
- <summary><strong>How does workspace registry work with teams?</strong></summary>
994
-
995
- The registry (`~/.rapidkit/workspaces.json`) is **user-local**, not project-local:
996
- - Each developer has their own registry
997
- - Workspaces are auto-discovered when cloned
998
- - VS Code Extension syncs automatically
999
- - Git doesn't track the registry (it's in `~/.rapidkit/`)
1000
-
1001
- For team sharing:
1002
- - Commit workspace code to Git
1003
- - Each developer runs `rapidkit workspace sync` after clone
1004
- - Or let VS Code Extension auto-discover
1005
- </details>
709
+ **More Questions?** Check [Full Documentation](https://getrapidkit.com) or [Open an Issue](https://github.com/getrapidkit/rapidkit-npm/issues)
1006
710
 
1007
711
  ---
1008
712
 
1009
- ## 🛠️ Development
1010
-
1011
- ### Setup
1012
-
1013
- ```bash
1014
- # Clone the repository
1015
- git clone https://github.com/getrapidkit/rapidkit-npm.git
1016
- cd rapidkit-npm
1017
-
1018
- # Install dependencies
1019
- npm install
1020
-
1021
- # Build
1022
- npm run build
1023
-
1024
- # Run tests
1025
- npm test
1026
-
1027
- # Watch mode for development
1028
- npm run dev
1029
- ```
1030
-
1031
- ### Local Testing
713
+ ## 🔗 Links
1032
714
 
1033
- ```bash
1034
- # Build and link locally
1035
- npm run install:local
715
+ ### 📚 Documentation & Resources
716
+ - [Official Website](https://getrapidkit.com) – Complete documentation and guides
717
+ - [Full Module Catalog](https://getrapidkit.com/modules) – Browse all 27+ modules
718
+ - [Getting Started Guide](https://getrapidkit.com/docs/getting-started) – Step-by-step tutorials
1036
719
 
1037
- # Now rapidkit command uses your local build
1038
- rapidkit --version
720
+ ### 🛠️ Tools & Extensions
721
+ - [VS Code Extension](https://marketplace.visualstudio.com/items?itemName=rapidkit.rapidkit-vscode) – Visual project creation & module management
722
+ - [RapidKit Core (Python)](https://pypi.org/project/rapidkit-core/) – The engine powering RapidKit
1039
723
 
1040
- # Uninstall local version
1041
- npm run uninstall:local
1042
- ```
724
+ ### 💬 Community & Support
725
+ - [GitHub Discussions](https://github.com/getrapidkit/rapidkit-npm/discussions) Ask questions & share ideas
726
+ - [GitHub Issues](https://github.com/getrapidkit/rapidkit-npm/issues) – Report bugs & request features
727
+ - [Discord Community](https://discord.gg/rapidkit) – Chat with other developers
1043
728
 
1044
- ### Project Scripts
1045
-
1046
- ```json
1047
- {
1048
- "dev": "tsup --watch",
1049
- "build": "tsup",
1050
- "test": "vitest run",
1051
- "test:watch": "vitest",
1052
- "lint": "eslint src",
1053
- "install:local": "npm unlink -g rapidkit 2>/dev/null || true && npm run build && npm link",
1054
- "uninstall:local": "npm unlink -g rapidkit"
1055
- }
1056
- ```
729
+ ### 📱 Social
730
+ - [Twitter/X](https://twitter.com/getrapidkit) – Updates & announcements
731
+ - [GitHub Organization](https://github.com/getrapidkit) – All repositories
732
+ - [Blog](https://getrapidkit.com/blog) – Tutorials & best practices
1057
733
 
1058
734
  ---
1059
735
 
1060
- ## 🤝 Contributing
1061
-
1062
- We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
1063
-
1064
- ### Ways to Contribute
1065
-
1066
- - 🐛 [Report bugs](https://github.com/getrapidkit/rapidkit-npm/issues)
1067
- - 💡 [Request features](https://github.com/getrapidkit/rapidkit-npm/issues)
1068
- - 📖 [Improve documentation](https://github.com/getrapidkit/rapidkit-npm/pulls)
1069
- - 🔧 [Submit pull requests](https://github.com/getrapidkit/rapidkit-npm/pulls)
1070
-
1071
- ### Development Guidelines
1072
-
1073
- 1. Fork the repository
1074
- 2. Create a feature branch: `git checkout -b feature/my-feature`
1075
- 3. Make your changes with tests
1076
- 4. Run tests: `npm test`
1077
- 5. Commit: `git commit -m "feat: add awesome feature"`
1078
- 6. Push: `git push origin feature/my-feature`
1079
- 7. Open a Pull Request
1080
-
1081
- ---
1082
-
1083
- ## 🔗 Related Projects
1084
-
1085
- - **[RapidKit Core (Python)](https://pypi.org/project/rapidkit-core/)** - The engine powering RapidKit
1086
- - **[RapidKit VS Code Extension](https://marketplace.visualstudio.com/items?itemName=rapidkit.rapidkit-vscode)** - Visual interface
1087
- - **[RapidKit Documentation](https://getrapidkit.com)** - Full documentation
1088
- - **[GitHub Organization](https://github.com/getrapidkit)** - All repositories
1089
-
1090
- ---
1091
-
1092
- ## 📄 License
1093
-
1094
- MIT License - see [LICENSE](LICENSE) for details.
1095
-
1096
- ---
1097
-
1098
- ## 🌟 Support
1099
-
1100
736
  <div align="center">
1101
737
 
1102
- ### Show Your Support
738
+ **Made with ❤️ by the RapidKit team**
1103
739
 
1104
740
  ⭐ Star this repo if you find it helpful!
1105
741
 
1106
- ### Stay Connected
1107
-
1108
- 🐦 Follow [@getrapidkit](https://twitter.com/getrapidkit) for updates
1109
-
1110
- 💬 Join our [Discord community](https://discord.gg/rapidkit)
1111
-
1112
- 📚 Read the [full documentation](https://getrapidkit.com)
1113
-
1114
- ### Get Help
1115
-
1116
- 🐛 [Report Issues](https://github.com/getrapidkit/rapidkit-npm/issues)
1117
-
1118
- 💡 [Request Features](https://github.com/getrapidkit/rapidkit-npm/issues)
1119
-
1120
- 📖 [Browse Docs](https://getrapidkit.com)
1121
-
1122
- ---
1123
-
1124
- **Made with ❤️ by the RapidKit team**
1125
-
1126
- [Website](https://getrapidkit.com) • [GitHub](https://github.com/getrapidkit) • [Twitter](https://twitter.com/getrapidkit) • [Discord](https://discord.gg/rapidkit)
742
+ [Install Now](https://www.npmjs.com/package/rapidkit) • [Read Docs](https://getrapidkit.com) • [Get Extension](https://marketplace.visualstudio.com/items?itemName=rapidkit.rapidkit-vscode)
1127
743
 
1128
744
  </div>
1129
- >
1130
- > _Note: The AI recommender feature is complete in the `feature/ai-recommender` branch but not yet released. We will announce it when Core module support is available._
1131
-
1132
- RapidKit's single source of truth for kits and global commands is **RapidKit Core (Python)**.
1133
- This npm package is a **bridge/wrapper** that:
1134
-
1135
- - Delegates project commands (e.g. `init`, `dev`, `test`) to the project-local launcher when you are inside a RapidKit project.
1136
- - Forwards global/core commands (e.g. `list`, `info`, `create`, `add`, `doctor`, `--tui`, `--json`) to `python -m rapidkit ...`.
1137
- - If `rapidkit-core` is not available in your system Python, it can bootstrap a cached virtualenv and install Core there.
1138
-
1139
- **🤖 NEW:** [AI-powered module recommendations](#-ai-features) to help you build faster!
1140
- **💡 Tip:** Use the [RapidKit VS Code Extension](https://marketplace.visualstudio.com/items?itemName=rapidkit.rapidkit-vscode) for a visual interface!
1141
-
1142
- ## Quick Start
1143
-
1144
- ### Create a Project (FastAPI)
1145
-
1146
- ```bash
1147
- npx rapidkit create project fastapi.standard my-api --output .
1148
- cd my-api
1149
- npx rapidkit init # Install dependencies
1150
- npx rapidkit dev # Start dev server at http://localhost:8000
1151
- ```
1152
-
1153
- ### Create a Project (NestJS)
1154
-
1155
- ```bash
1156
- npx rapidkit create project nestjs.standard my-api --output .
1157
- cd my-api
1158
- npx rapidkit init # Install dependencies
1159
- npx rapidkit dev # Start dev server at http://localhost:8000
1160
- ```
1161
-
1162
- ### Create a Workspace (Recommended)
1163
-
1164
- For organizing multiple projects:
1165
-
1166
- ```bash
1167
- npx rapidkit my-workspace # Create workspace with Poetry
1168
- cd my-workspace
1169
-
1170
- # Activate environment (choose one):
1171
- source "$(poetry env info --path)/bin/activate"
1172
- # OR use poetry run prefix for all commands
1173
- alias rapidkit="poetry run rapidkit"
1174
-
1175
- # Create projects
1176
- rapidkit create # Interactive mode
1177
- rapidkit create project fastapi.standard my-api --output .
1178
- cd my-api
1179
- rapidkit init && rapidkit dev
1180
- ```
1181
-
1182
- **Why use a workspace?**
1183
- - ✅ Centralized Python environment for all projects
1184
- - ✅ Auto-tracks all projects in registry (`~/.rapidkit/workspaces.json`)
1185
- - ✅ VS Code Extension auto-discovers your projects
1186
- - ✅ Easier dependency management across projects
1187
-
1188
- ### Interactive mode (recommended)
1189
-
1190
- ```bash
1191
- # Outside workspace
1192
- npx rapidkit create
1193
-
1194
- # Inside workspace (after activation)
1195
- rapidkit create
1196
- # OR
1197
- poetry run rapidkit create
1198
- ```
1199
-
1200
- This runs the RapidKit Core wizard and guides you through kit selection and project creation.
1201
-
1202
- ## Two Modes of Operation
1203
-
1204
- ### 1. Direct Project Creation (Core-first)
1205
-
1206
- Create a standalone project directly via Core:
1207
-
1208
- ```bash
1209
- npx rapidkit create project fastapi.standard my-api --output .
1210
- npx rapidkit create project nestjs.standard my-api --output .
1211
- ```
1212
-
1213
- ### 2. RapidKit Workspace Mode
1214
-
1215
- Create a workspace to organize multiple projects:
1216
-
1217
- ```bash
1218
- npx rapidkit my-workspace # Create a RapidKit workspace
1219
- cd my-workspace
1220
-
1221
- # Activate the environment (Poetry installs to cache, not .venv)
1222
- source "$(poetry env info --path)/bin/activate"
1223
-
1224
- # Or use poetry run prefix
1225
- poetry run rapidkit create # Interactive project creation
1226
- poetry run rapidkit create project fastapi.standard my-api --output .
1227
- ```
1228
-
1229
- This mode creates a "RapidKit workspace" directory and installs the Python Core there via Poetry/venv/pipx, so you can create/manage multiple projects from the same environment.
1230
-
1231
- **Important:** When using Poetry (recommended), the virtualenv is created in Poetry's cache, not as a local `.venv` folder. You must either:
1232
- - Activate the environment: `source "$(poetry env info --path)/bin/activate"`
1233
- - Use `poetry run` prefix: `poetry run rapidkit create`
1234
- - Create an alias: `alias rapidkit="poetry run rapidkit"`
1235
-
1236
- **Workspace Features:**
1237
- - All projects are automatically tracked in `~/.rapidkit/workspaces.json`
1238
- - VS Code Extension auto-discovers workspace projects
1239
- - Use `rapidkit workspace list` to see all workspaces and projects
1240
- - Use `rapidkit workspace sync` to update project registry
1241
-
1242
- ## Kits / Templates
1243
-
1244
- Kits/templates are provided by the Python Core. This npm package is not limited to two templates.
1245
-
1246
- List kits:
1247
-
1248
- ```bash
1249
- rapidkit list
1250
- rapidkit list --json
1251
- ```
1252
-
1253
- Create a project with any kit slug:
1254
-
1255
- ```bash
1256
- npx rapidkit create project <kit-slug> my-service --output .
1257
- ```
1258
-
1259
- Examples:
1260
-
1261
- ```bash
1262
- npx rapidkit create project fastapi.standard my-service --output .
1263
- npx rapidkit create project nestjs.standard my-service --output .
1264
- ```
1265
-
1266
- ### Offline fallback (deprecated, last resort)
1267
-
1268
- **Deprecated:** With the Python Core (PyPI `rapidkit-core`) now providing dynamic kits and the interactive wizard, the npm package no longer relies on static embedded templates. The offline fallback remains available only as an absolute last-resort for environments where Python/Core cannot be used, but it is not recommended for normal usage.
1269
-
1270
- If you still need the fallback it supports:
1271
-
1272
- - `fastapi.standard` (and `fastapi` shorthand)
1273
- - `nestjs.standard` (and `nestjs` shorthand)
1274
-
1275
- Example (deprecated fallback):
1276
-
1277
- ```bash
1278
- npx rapidkit create project fastapi.standard my-api --output .
1279
- ```
1280
-
1281
- Limitations of the offline fallback (deprecated):
1282
-
1283
- - Only FastAPI/NestJS embedded templates are supported.
1284
- - The full kit catalog (`rapidkit list`) and the interactive wizard (`rapidkit create`) require Python Core.
1285
- - `--json` output is not supported for fallback `create`.
1286
-
1287
- ---
1288
-
1289
- ### Bootstrapping Python Core into a workspace
1290
-
1291
- The recommended flow is to use the Python Core (`rapidkit-core` on PyPI) as the single source of truth for kits and modules. The npm CLI will bootstrap the Python Core into a workspace virtual environment so you can create and manage projects even on a fresh machine.
1292
-
1293
- Example: create a workspace and verify Core is bootstrapped
1294
-
1295
- ```bash
1296
- # Create a RapidKit workspace non-interactively (workspace .venv will be created)
1297
- npx rapidkit my-workspace --yes --skip-git
1298
-
1299
- # Activate the workspace environment
1300
- cd my-workspace
1301
- source .venv/bin/activate
1302
-
1303
- # Confirm rapidkit-core is installed inside the workspace venv
1304
- python -m pip show rapidkit-core
1305
- # -> Name: rapidkit-core
1306
- # -> Version: 0.2.1rc1 (or newer)
1307
- ```
1308
-
1309
- ## Install Python Core (optional) 🐍🔧
1310
-
1311
- RapidKit's engine is provided by the Python package `rapidkit-core` on PyPI. If you prefer to install the engine manually (for development or testing), you can do so:
1312
-
1313
- ```bash
1314
- # Install for current user
1315
- pip install --user rapidkit-core
1316
-
1317
- # Or install into an active virtual environment / system
1318
- pip install rapidkit-core
1319
- ```
1320
-
1321
- Project page: https://pypi.org/project/rapidkit-core/
1322
-
1323
- Notes:
1324
-
1325
- - The CLI will prefer system Python with `rapidkit-core` if available. If not present it bootstraps `rapidkit-core` into the workspace `.venv` (or a cached bridge venv as a fallback for some global flows).
1326
- - To emulate a clean system in CI/QA, ensure `rapidkit-core` is not installed in the global/system Python before running the workspace creation script.
1327
- - If you prefer Poetry to create in-project virtualenvs (`.venv`), enable it via `poetry config virtualenvs.in-project true` or let the workspace installer configure Poetry for you.
1328
-
1329
- ## Workspace Management
1330
-
1331
- RapidKit maintains a shared workspace registry at `~/.rapidkit/workspaces.json` for cross-tool compatibility with the VS Code Extension.
1332
-
1333
- ### List Registered Workspaces
1334
-
1335
- ```bash
1336
- npx rapidkit workspace list
1337
- ```
1338
-
1339
- This shows all workspaces created via npm package or VS Code Extension, including:
1340
- - Workspace name and path
1341
- - Number of projects in each workspace
1342
- - Validation status (path exists/missing)
1343
-
1344
- **Example output:**
1345
- ```
1346
- 📦 Registered RapidKit Workspaces:
1347
-
1348
- my-workspace
1349
- Path: /home/user/projects/my-workspace
1350
- Projects: 3
1351
-
1352
- Total: 1 workspace(s)
1353
- ```
1354
-
1355
- ### Sync Workspace Projects
1356
-
1357
- When you create projects inside a workspace, they are automatically tracked. If needed, you can manually sync:
1358
-
1359
- ```bash
1360
- cd my-workspace
1361
- rapidkit workspace sync
1362
- ```
1363
-
1364
- This command scans the workspace directory and registers all RapidKit projects (directories with `.rapidkit/context.json` or `.rapidkit/project.json`) in the registry.
1365
-
1366
- **Note:** Project registration happens automatically when you create projects with `rapidkit create project ...` inside a workspace. Manual sync is only needed if you:
1367
- - Manually moved/copied projects into the workspace
1368
- - Created projects before the sync feature was added
1369
- - Want to refresh the registry after external changes
1370
-
1371
- ### Workspace Registry Format
1372
-
1373
- The registry stores workspace metadata:
1374
-
1375
- ```json
1376
- {
1377
- "workspaces": [
1378
- {
1379
- "name": "my-workspace",
1380
- "path": "/home/user/projects/my-workspace",
1381
- "mode": "full",
1382
- "projects": [
1383
- {
1384
- "name": "my-api",
1385
- "path": "/home/user/projects/my-workspace/my-api"
1386
- },
1387
- {
1388
- "name": "admin-api",
1389
- "path": "/home/user/projects/my-workspace/admin-api"
1390
- }
1391
- ]
1392
- }
1393
- ]
1394
- }
1395
- ```
1396
-
1397
- Workspaces are automatically registered when created via:
1398
- - `npx rapidkit <workspace-name>`
1399
- - VS Code Extension "Create Workspace" command
1400
-
1401
- Projects are automatically registered when created via:
1402
- - `rapidkit create project ...` (inside a workspace)
1403
- - VS Code Extension "Create Project" command
1404
-
1405
- ## 🤖 AI Features
1406
-
1407
- RapidKit now includes AI-powered module recommendations using OpenAI embeddings!
1408
-
1409
- ### Quick Start with AI
1410
-
1411
- **First time setup** (automatic):
1412
- ```bash
1413
- # Just use AI recommendations - it will guide you through setup!
1414
- npx rapidkit ai recommend "user authentication with social login"
1415
-
1416
- # If embeddings don't exist, you'll see:
1417
- # ⚠️ Module embeddings not found
1418
- # ? What would you like to do?
1419
- # 🚀 Generate embeddings now (requires OpenAI API key)
1420
- # 📝 Show me how to generate them manually
1421
- # ❌ Cancel
1422
- ```
1423
-
1424
- **Example Usage:**
1425
- ```bash
1426
- # Get intelligent module recommendations
1427
- npx rapidkit ai recommend "I need user authentication with email"
1428
-
1429
- # Output:
1430
- # 📦 Recommended Modules:
1431
- # 1. Authentication Core
1432
- # Complete authentication with JWT, OAuth 2.0, secure sessions
1433
- # Match: 92.5% - Matches: auth, login, email
1434
- # Category: auth
1435
- #
1436
- # 2. Users Core
1437
- # User management with profiles, roles, permissions
1438
- # Match: 88.3% - Matches: user
1439
- # Category: auth
1440
- # Requires: authentication-core
1441
- ```
1442
-
1443
- ### AI Commands
1444
-
1445
- ```bash
1446
- # Get recommendations
1447
- npx rapidkit ai recommend "payment processing with Stripe"
1448
- npx rapidkit ai recommend "real-time notifications" --number 3
1449
-
1450
- # Setup and management
1451
- npx rapidkit config set-api-key # Configure OpenAI API key
1452
- npx rapidkit ai generate-embeddings # Manual embedding generation
1453
- npx rapidkit ai generate-embeddings --force # Force regeneration
1454
- npx rapidkit ai update-embeddings # Update with latest modules
1455
- npx rapidkit ai info # Show features & pricing
1456
- ```
1457
-
1458
- ### Features
1459
-
1460
- - 🧠 **Semantic Search**: AI understands intent, not just keywords
1461
- - 🤖 **Auto-Setup**: Embeddings generate automatically on first use
1462
- - 📦 **27+ Modules**: Production-ready modules from RapidKit Python Core
1463
- - 💰 **Ultra-Cheap**: ~$0.0002 per query (practically free)
1464
- - 🎯 **Dependency Detection**: Automatically shows required modules
1465
- - ✅ **Mock Mode**: Test without API key using deterministic embeddings
1466
- - 🔄 **Dynamic Catalog**: Fetches latest modules from Python Core
1467
-
1468
- ### Pricing
1469
-
1470
- **One-time Setup:**
1471
- - Generate embeddings: ~$0.50 (one time only)
1472
-
1473
- **Per Query:**
1474
- - Single query: ~$0.0002
1475
- - 100 queries: ~$0.02 (2 cents)
1476
- - 1,000 queries: ~$0.20 (20 cents)
1477
-
1478
- 💡 **Tip:** Setup cost is paid once, then queries are essentially free!
1479
-
1480
- ### Available Module Categories
1481
-
1482
- - 🔐 **Auth**: authentication-core, users-core, session-management, 2fa
1483
- - 💾 **Database**: db-postgres, db-mongodb, db-mysql
1484
- - 💳 **Payment**: stripe-payment, payment-core
1485
- - 📧 **Communication**: email, sms, notifications
1486
- - 🚀 **Infrastructure**: redis-cache, celery, storage, rate-limiter
1487
- - 📊 **Monitoring**: logging, analytics, error-tracking
1488
- - 🔌 **Integrations**: webhooks, api-gateway, graphql
1489
-
1490
- ### Troubleshooting
1491
-
1492
- **No OpenAI API Key?**
1493
- ```bash
1494
- # AI works in mock mode without API key (for testing)
1495
- npx rapidkit ai recommend "auth" # Works without key!
1496
-
1497
- # For production, get a key:
1498
- # 1. Visit: https://platform.openai.com/api-keys
1499
- # 2. Create new key
1500
- # 3. Configure: npx rapidkit config set-api-key
1501
- ```
1502
-
1503
- **Embeddings Not Found?**
1504
- ```bash
1505
- # Just run any AI command - it will prompt you to generate them
1506
- npx rapidkit ai recommend "database"
1507
-
1508
- # Or generate manually:
1509
- npx rapidkit ai generate-embeddings
1510
- ```
1511
-
1512
- **Update Embeddings After RapidKit Python Update?**
1513
- ```bash
1514
- npx rapidkit ai update-embeddings
1515
- ```
1516
-
1517
- **See Current Config:**
1518
- ```bash
1519
- npx rapidkit config show
1520
- ```
1521
-
1522
- ### Learn More
1523
-
1524
- - 📚 **Full Guide**: [docs/AI_FEATURES.md](docs/AI_FEATURES.md)
1525
- - 🔧 **Technical Details**: [docs/AI_DYNAMIC_INTEGRATION.md](docs/AI_DYNAMIC_INTEGRATION.md)
1526
-
1527
- ## CLI Options
1528
-
1529
- ```bash
1530
- npx rapidkit [project-name] [options]
1531
- ```
1532
-
1533
- ### Arguments
1534
-
1535
- - `project-name` - Name of project/workspace directory to create
1536
- - `action` - For workspace commands: `list` or `sync`
1537
-
1538
- ### Workspace Commands
1539
-
1540
- - `rapidkit workspace list` - List all registered workspaces and their projects
1541
- - `rapidkit workspace sync` - Scan current workspace and register all projects
1542
-
1543
- ### Options
1544
-
1545
- - `--skip-git` - Skip git initialization
1546
- - `--skip-install` - Skip installing dependencies (for NestJS)
1547
- - `--debug` - Enable verbose debug logging
1548
- - `--dry-run` - Preview what would be created without creating it
1549
- - `--no-update-check` - Skip checking for newer versions
1550
- - `--help` - Display help information
1551
- - `--version` - Show version number
1552
-
1553
- ## Project Commands
1554
-
1555
- After creating a project, use these commands:
1556
-
1557
- ```bash
1558
- cd my-api
1559
- npx rapidkit init # Install dependencies (auto-activates environment)
1560
- npx rapidkit dev # Start dev server with hot reload (port 8000)
1561
- npx rapidkit start # Start production server
1562
- npx rapidkit build # Build for production
1563
- npx rapidkit test # Run tests
1564
- npx rapidkit lint # Lint code
1565
- npx rapidkit format # Format code
1566
-
1567
- # AI Commands (new!)
1568
- npx rapidkit ai recommend "query" # Get module recommendations
1569
- npx rapidkit ai recommend "auth" --number 3 # Get top 3 results
1570
- npx rapidkit ai generate-embeddings # Generate embeddings (one-time)
1571
- npx rapidkit ai update-embeddings # Update embeddings
1572
- npx rapidkit ai info # Show AI features info
1573
- npx rapidkit config set-api-key # Configure OpenAI API key
1574
- npx rapidkit config show # View current config
1575
-
1576
- npx rapidkit --help # Show all commands
1577
- ```
1578
-
1579
- ### Adding Modules to Your Project
1580
-
1581
- RapidKit's modular architecture lets you extend your project with pre-built modules. Install modules using:
1582
-
1583
- ```bash
1584
- npx rapidkit add module <module-slug>
1585
- ```
1586
-
1587
- **Examples:**
1588
-
1589
- ```bash
1590
- # Add authentication module
1591
- npx rapidkit add module auth
1592
-
1593
- # Add caching module (Redis)
1594
- npx rapidkit add module redis
1595
-
1596
- # Add database module (PostgreSQL)
1597
- npx rapidkit add module db_postgres
1598
- ```
1599
-
1600
- **List available modules:**
1601
-
1602
- ```bash
1603
- npx rapidkit list modules
1604
- npx rapidkit list modules --json
1605
- ```
1606
-
1607
- **View module details:**
1608
-
1609
- ```bash
1610
- npx rapidkit info module auth
1611
- npx rapidkit info module db_postgres
1612
- ```
1613
-
1614
- > **💡 Tip:** Use the [RapidKit VS Code Extension](https://marketplace.visualstudio.com/items?itemName=rapidkit.rapidkit-vscode) for a visual interface to browse and install modules!
1615
-
1616
- > **Note:** `npx rapidkit` automatically detects when you're inside a RapidKit project and delegates to the local CLI. Works everywhere without any setup!
1617
-
1618
- > **💡 Tip:** Install globally with `npm i -g rapidkit` to use `rapidkit` directly without `npx`.
1619
-
1620
- ### Alternative: Direct Commands
1621
-
1622
- You can also run commands directly:
1623
-
1624
- ```bash
1625
- ./rapidkit dev # Using the wrapper script
1626
- make dev # Using Makefile (FastAPI)
1627
- poetry run dev # Using Poetry directly (FastAPI)
1628
- npm run start:dev # Using npm directly (NestJS)
1629
- ```
1630
-
1631
- ## Project Structure
1632
-
1633
- ### FastAPI Project
1634
-
1635
- ```
1636
- my-api/
1637
- ├── .rapidkit/
1638
- │ ├── activate # Activation script
1639
- │ ├── cli.py # Python CLI module
1640
- │ └── rapidkit # Bash wrapper
1641
- ├── rapidkit # Main CLI entry point
1642
- ├── src/
1643
- │ ├── main.py # FastAPI application
1644
- │ ├── cli.py # CLI commands
1645
- │ ├── routing/ # API routes
1646
- │ └── modules/ # Module system
1647
- ├── tests/ # Test suite
1648
- ├── pyproject.toml # Poetry configuration
1649
- ├── Makefile # Make commands
1650
- └── README.md
1651
- ```
1652
-
1653
- ### NestJS Project
1654
-
1655
- ```
1656
- my-api/
1657
- ├── .rapidkit/
1658
- │ ├── activate # Activation script
1659
- │ └── rapidkit # Bash CLI wrapper
1660
- ├── rapidkit # Main CLI entry point
1661
- ├── src/
1662
- │ ├── main.ts # Application entry point
1663
- │ ├── app.module.ts # Root module
1664
- │ ├── config/ # Configuration
1665
- │ └── examples/ # Example module
1666
- ├── test/ # Test files
1667
- ├── package.json # Dependencies
1668
- ├── tsconfig.json # TypeScript config
1669
- └── README.md
1670
- ```
1671
-
1672
- ## Requirements
1673
-
1674
- - **Node.js**: 20.19.6+ (LTS recommended)
1675
- - **Python**: Required for RapidKit Core commands (e.g. `list/info/create/add/...`). If Python is missing, the bridge fails with a clear error message.
1676
- - For FastAPI projects: Python + Poetry (as required by the generated project)
1677
- - For NestJS projects: Node + a package manager (npm/yarn/pnpm)
1678
- - **Git**: For version control
1679
-
1680
- > 💡 **Tip:** Use [RapidKit VS Code Extension](https://marketplace.visualstudio.com/items?itemName=rapidkit.rapidkit-vscode) - includes system checker to verify all requirements!
1681
-
1682
- ## How It Works (Under the Hood)
1683
-
1684
- This CLI runs a Node entrypoint (`dist/index.js`) that makes these decisions:
1685
-
1686
- 1. If you're inside a RapidKit project:
1687
-
1688
- - It detects the project (via `.rapidkit/project.json` or other signals).
1689
- - It delegates `rapidkit init/dev/test/...` to the project-local launcher (`./rapidkit` or `.rapidkit/rapidkit`).
1690
-
1691
- 2. If you're not inside a project and run a global/core command (e.g. `rapidkit list --json`):
1692
-
1693
- - It forwards the request to the Python Core via `python -m rapidkit ...`.
1694
- - If Core is not installed in system Python, it bootstraps a cached venv and installs `rapidkit-core` there.
1695
-
1696
- 3. If you run `npx rapidkit <name>` without `--template`:
1697
-
1698
- - It creates a "RapidKit environment" directory (Poetry/venv/pipx) so you're ready to create and run real projects.
1699
-
1700
- ### Bridge controls
1701
-
1702
- - Override Core install target (dev/test): `RAPIDKIT_CORE_PYTHON_PACKAGE=/path/to/core`
1703
- - Cache location: `XDG_CACHE_HOME=...`
1704
- - Upgrade pip during bootstrap (optional): `RAPIDKIT_BRIDGE_UPGRADE_PIP=1`
1705
-
1706
- ### Workspace Markers
1707
-
1708
- Workspaces created by the npm package include a `.rapidkit-workspace` marker file:
1709
-
1710
- ```json
1711
- {
1712
- "signature": "RAPIDKIT_WORKSPACE",
1713
- "createdBy": "rapidkit-npm",
1714
- "version": "0.15.1",
1715
- "createdAt": "2026-02-01T...",
1716
- "name": "my-workspace"
1717
- }
1718
- ```
1719
-
1720
- This marker enables:
1721
- - Workspace auto-detection by VS Code Extension
1722
- - Cross-tool workspace compatibility
1723
- - Workspace validation and version tracking
1724
-
1725
- ## Development
1726
-
1727
- ```bash
1728
- # Clone the repository
1729
- git clone https://github.com/getrapidkit/rapidkit-npm.git
1730
- cd rapidkit-npm
1731
-
1732
- # Install dependencies
1733
- npm install
1734
-
1735
- # Build
1736
- npm run build
1737
-
1738
- # Run tests
1739
- npm test
1740
-
1741
- # Watch mode
1742
- npm run dev
1743
- ```
1744
-
1745
- ## Related Projects
1746
-
1747
- - **RapidKit Core (Python)** - The engine (PyPI: `rapidkit-core`)
1748
- - **RapidKit Docs** - https://getrapidkit.com
1749
- - **GitHub**: https://github.com/getrapidkit
1750
-
1751
- ## License
1752
-
1753
- MIT
1754
-
1755
- ## Support
1756
-
1757
- - 🐛 Report issues: [GitHub Issues](https://github.com/getrapidkit/rapidkit-npm/issues)
1758
- - 📚 Docs: https://getrapidkit.com