rapidkit 0.11.3 → 0.12.0
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 +99 -411
- package/dist/index.js +507 -640
- package/dist/package.json +1 -1
- package/package.json +1 -1
- package/templates/generator.js +175 -0
- package/templates/kits/fastapi-standard/.rapidkit/__init__.py.j2 +1 -0
- package/templates/kits/fastapi-standard/.rapidkit/activate.j2 +24 -0
- package/templates/kits/fastapi-standard/.rapidkit/cli.py.j2 +6 -4
- package/templates/kits/fastapi-standard/.rapidkit/project.json.j2 +3 -2
- package/templates/kits/fastapi-standard/.rapidkit/rapidkit.j2 +31 -0
- package/templates/kits/fastapi-standard/Makefile.j2 +41 -0
- package/templates/kits/fastapi-standard/pyproject.toml.j2 +1 -0
- package/templates/kits/fastapi-standard/rapidkit.j2 +50 -0
- package/templates/kits/nestjs-standard/.env.example.j2 +16 -0
- package/templates/kits/nestjs-standard/.eslintrc.js.j2 +25 -0
- package/templates/kits/nestjs-standard/.gitignore.j2 +26 -0
- package/templates/kits/nestjs-standard/.node-version.j2 +1 -0
- package/templates/kits/nestjs-standard/.nvmrc.j2 +1 -0
- package/templates/kits/nestjs-standard/.prettierrc.j2 +7 -0
- package/templates/kits/nestjs-standard/.rapidkit/activate.j2 +25 -0
- package/templates/kits/nestjs-standard/.rapidkit/project.json.j2 +7 -0
- package/templates/kits/nestjs-standard/.rapidkit/rapidkit.j2 +227 -0
- package/templates/kits/nestjs-standard/README.md.j2 +97 -0
- package/templates/kits/nestjs-standard/jest.config.ts.j2 +21 -0
- package/templates/kits/nestjs-standard/nest-cli.json.j2 +10 -0
- package/templates/kits/nestjs-standard/package.json.j2 +75 -0
- package/templates/kits/nestjs-standard/rapidkit.j2 +5 -0
- package/templates/kits/nestjs-standard/src/app.controller.ts.j2 +12 -0
- package/templates/kits/nestjs-standard/src/app.module.ts.j2 +23 -0
- package/templates/kits/nestjs-standard/src/app.service.ts.j2 +11 -0
- package/templates/kits/nestjs-standard/src/config/configuration.ts.j2 +9 -0
- package/templates/kits/nestjs-standard/src/config/index.ts.j2 +2 -0
- package/templates/kits/nestjs-standard/src/config/validation.ts.j2 +11 -0
- package/templates/kits/nestjs-standard/src/examples/dto/create-note.dto.ts.j2 +11 -0
- package/templates/kits/nestjs-standard/src/examples/examples.controller.ts.j2 +24 -0
- package/templates/kits/nestjs-standard/src/examples/examples.module.ts.j2 +10 -0
- package/templates/kits/nestjs-standard/src/examples/examples.service.ts.j2 +33 -0
- package/templates/kits/nestjs-standard/src/main.ts.j2 +51 -0
- package/templates/kits/nestjs-standard/src/modules/index.ts.j2 +3 -0
- package/templates/kits/nestjs-standard/test/app.controller.spec.ts.j2 +22 -0
- package/templates/kits/nestjs-standard/test/app.e2e-spec.ts.j2 +48 -0
- package/templates/kits/nestjs-standard/test/examples.controller.spec.ts.j2 +28 -0
- package/templates/kits/nestjs-standard/test/jest-e2e.json.j2 +15 -0
- package/templates/kits/nestjs-standard/tsconfig.build.json.j2 +12 -0
- package/templates/kits/nestjs-standard/tsconfig.json.j2 +26 -0
package/README.md
CHANGED
|
@@ -5,438 +5,161 @@
|
|
|
5
5
|
[](https://opensource.org/licenses/MIT)
|
|
6
6
|
[](https://github.com/getrapidkit/rapidkit-npm/stargazers)
|
|
7
7
|
|
|
8
|
-
> ⚠️ **
|
|
9
|
-
> The stable production version of RapidKit will be released soon on PyPI.
|
|
10
|
-
> Until then, use `--demo` mode to create demo workspaces with bundled templates, or `--test-mode` to try the full RapidKit installation locally.
|
|
8
|
+
> ⚠️ **PRE-RELEASE VERSION** - This is a companion tool for RapidKit framework.
|
|
9
|
+
> The stable production version of RapidKit Python will be released soon on PyPI.
|
|
11
10
|
|
|
12
|
-
🚀 The easiest way to
|
|
11
|
+
🚀 The easiest way to create FastAPI and NestJS projects with RapidKit templates!
|
|
13
12
|
|
|
14
|
-
|
|
15
|
-
2. **Full Mode** - Set up a Python environment with RapidKit installed (requires RapidKit on PyPI - coming soon!)
|
|
16
|
-
|
|
17
|
-
**💡 Tip:** Use the [RapidKit VS Code Extension](https://marketplace.visualstudio.com/items?itemName=rapidkit.rapidkit-vscode) for a visual interface to create workspaces and projects!
|
|
13
|
+
**💡 Tip:** Use the [RapidKit VS Code Extension](https://marketplace.visualstudio.com/items?itemName=rapidkit.rapidkit-vscode) for a visual interface!
|
|
18
14
|
|
|
19
15
|
## Quick Start
|
|
20
16
|
|
|
21
|
-
###
|
|
22
|
-
|
|
23
|
-
Create a demo workspace and generate multiple FastAPI projects instantly:
|
|
17
|
+
### Create a FastAPI Project
|
|
24
18
|
|
|
25
19
|
```bash
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
#
|
|
31
|
-
node generate-demo.js api-project
|
|
32
|
-
cd api-project
|
|
33
|
-
rapidkit init # Install dependencies
|
|
34
|
-
rapidkit dev # Start dev server
|
|
35
|
-
|
|
36
|
-
# Go back and create more projects
|
|
37
|
-
cd ..
|
|
38
|
-
node generate-demo.js auth-service
|
|
39
|
-
node generate-demo.js data-service
|
|
20
|
+
npx rapidkit my-api --template fastapi
|
|
21
|
+
cd my-api
|
|
22
|
+
source .rapidkit/activate # Enable rapidkit commands
|
|
23
|
+
rapidkit init # Install dependencies
|
|
24
|
+
rapidkit dev # Start dev server at http://localhost:8000
|
|
40
25
|
```
|
|
41
26
|
|
|
42
|
-
|
|
43
|
-
- Quick prototyping and demos
|
|
44
|
-
- Learning FastAPI and RapidKit project structure
|
|
45
|
-
- Testing multiple microservices in one workspace
|
|
46
|
-
- No Python RapidKit dependency required
|
|
47
|
-
- **Try now while waiting for stable RapidKit release!**
|
|
48
|
-
|
|
49
|
-
### 🚀 Full Mode (Coming Soon with Stable Release)
|
|
50
|
-
|
|
51
|
-
Once RapidKit is published on PyPI, install for full features and modules:
|
|
27
|
+
### Create a NestJS Project
|
|
52
28
|
|
|
53
29
|
```bash
|
|
54
|
-
npx rapidkit my-
|
|
55
|
-
cd my-
|
|
56
|
-
source
|
|
57
|
-
rapidkit
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
**Note:** Full mode requires RapidKit Python package on PyPI.
|
|
61
|
-
For now, use `--test-mode` flag if you have local RapidKit installation, or use `--demo` for workspace with bundled templates.
|
|
62
|
-
|
|
63
|
-
## Understanding Workspaces
|
|
64
|
-
|
|
65
|
-
**create-rapidkit** follows a workspace-based architecture:
|
|
66
|
-
|
|
67
|
-
- **Workspace** = Container directory with development environment
|
|
68
|
-
- **Projects** = Individual FastAPI/NestJS applications inside workspace
|
|
69
|
-
|
|
70
|
-
### Demo Workspace Structure
|
|
71
|
-
```
|
|
72
|
-
my-workspace/ # Workspace (container)
|
|
73
|
-
├── generate-demo.js # Project generator script
|
|
74
|
-
├── package.json # npm configuration
|
|
75
|
-
├── README.md # Workspace instructions
|
|
76
|
-
├── api-project/ # Project 1
|
|
77
|
-
│ ├── .rapidkit/ # Local CLI (rapidkit init/dev/test)
|
|
78
|
-
│ ├── src/
|
|
79
|
-
│ ├── tests/
|
|
80
|
-
│ └── pyproject.toml
|
|
81
|
-
├── auth-service/ # Project 2
|
|
82
|
-
│ ├── .rapidkit/
|
|
83
|
-
│ ├── src/
|
|
84
|
-
│ ├── tests/
|
|
85
|
-
│ └── pyproject.toml
|
|
86
|
-
└── data-service/ # Project 3
|
|
87
|
-
├── .rapidkit/
|
|
88
|
-
├── src/
|
|
89
|
-
├── tests/
|
|
90
|
-
└── pyproject.toml
|
|
30
|
+
npx rapidkit my-api --template nestjs
|
|
31
|
+
cd my-api
|
|
32
|
+
source .rapidkit/activate # Enable rapidkit commands
|
|
33
|
+
rapidkit dev # Start dev server at http://localhost:8000
|
|
91
34
|
```
|
|
92
35
|
|
|
93
|
-
|
|
94
|
-
```
|
|
95
|
-
my-workspace/ # Workspace (container)
|
|
96
|
-
├── .venv/ # Virtual environment
|
|
97
|
-
├── pyproject.toml # Poetry config
|
|
98
|
-
├── README.md # Workspace instructions
|
|
99
|
-
├── api-project/ # Project 1
|
|
100
|
-
├── auth-service/ # Project 2
|
|
101
|
-
└── data-service/ # Project 3
|
|
102
|
-
```
|
|
36
|
+
Your API will be available at `http://localhost:8000` with Swagger docs at `/docs`
|
|
103
37
|
|
|
104
|
-
|
|
105
|
-
- Multiple projects share same environment
|
|
106
|
-
- Easy microservices development
|
|
107
|
-
- Organized monorepo structure
|
|
108
|
-
- Isolated from system Python
|
|
38
|
+
## Two Modes of Operation
|
|
109
39
|
|
|
110
|
-
|
|
40
|
+
### 1. Direct Project Creation (with `--template`)
|
|
111
41
|
|
|
112
|
-
|
|
113
|
-
```bash
|
|
114
|
-
npx rapidkit my-workspace
|
|
115
|
-
# Choose: Poetry
|
|
116
|
-
cd my-workspace
|
|
117
|
-
source $(poetry env info --path)/bin/activate
|
|
118
|
-
rapidkit create my-project
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
### 📦 Python venv + pip
|
|
122
|
-
```bash
|
|
123
|
-
npx rapidkit my-workspace
|
|
124
|
-
# Select "venv + pip" when prompted
|
|
125
|
-
cd my-workspace
|
|
126
|
-
source .venv/bin/activate
|
|
127
|
-
rapidkit create my-project
|
|
128
|
-
```
|
|
42
|
+
Create a standalone project directly:
|
|
129
43
|
|
|
130
|
-
### 🔧 pipx (Global)
|
|
131
44
|
```bash
|
|
132
|
-
npx rapidkit my-
|
|
133
|
-
|
|
134
|
-
cd my-workspace
|
|
135
|
-
rapidkit create my-project
|
|
45
|
+
npx rapidkit my-api --template fastapi # Create FastAPI project
|
|
46
|
+
npx rapidkit my-api --template nestjs # Create NestJS project
|
|
136
47
|
```
|
|
137
48
|
|
|
138
|
-
|
|
49
|
+
### 2. Workspace Mode (without `--template`)
|
|
139
50
|
|
|
140
|
-
|
|
141
|
-
- Python virtual environment (Poetry or venv)
|
|
142
|
-
- RapidKit package installed
|
|
143
|
-
- README with usage instructions
|
|
144
|
-
- Git repository (optional)
|
|
145
|
-
|
|
146
|
-
## Using RapidKit Commands
|
|
147
|
-
|
|
148
|
-
Once your environment is activated, you can use all native RapidKit commands:
|
|
51
|
+
Create a workspace that can contain multiple projects:
|
|
149
52
|
|
|
150
53
|
```bash
|
|
151
|
-
# Create
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
#
|
|
155
|
-
rapidkit create project fastapi.standard my-api
|
|
156
|
-
|
|
157
|
-
# Add modules to existing project
|
|
158
|
-
cd my-api
|
|
159
|
-
rapidkit add settings
|
|
160
|
-
rapidkit add auth
|
|
161
|
-
rapidkit add database
|
|
162
|
-
rapidkit add caching
|
|
163
|
-
|
|
164
|
-
# List available kits and modules
|
|
165
|
-
rapidkit list
|
|
166
|
-
rapidkit modules
|
|
167
|
-
|
|
168
|
-
# Check system requirements
|
|
169
|
-
rapidkit doctor
|
|
170
|
-
|
|
171
|
-
# Upgrade RapidKit
|
|
172
|
-
rapidkit upgrade
|
|
173
|
-
|
|
174
|
-
# Get help
|
|
175
|
-
rapidkit --help
|
|
54
|
+
npx rapidkit my-workspace # Create workspace
|
|
55
|
+
cd my-workspace
|
|
56
|
+
rapidkit create my-api --template fastapi # Create FastAPI project in workspace
|
|
57
|
+
rapidkit create admin-api --template nestjs # Create NestJS project in workspace
|
|
176
58
|
```
|
|
177
59
|
|
|
178
|
-
##
|
|
60
|
+
## Templates
|
|
179
61
|
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
- `nestjs.advanced` - NestJS with advanced features
|
|
62
|
+
| Template | Framework | Description |
|
|
63
|
+
|----------|-----------|-------------|
|
|
64
|
+
| `fastapi` | FastAPI | Python async web framework with automatic API docs |
|
|
65
|
+
| `nestjs` | NestJS | TypeScript Node.js framework with modular architecture |
|
|
185
66
|
|
|
186
67
|
## CLI Options
|
|
187
68
|
|
|
188
69
|
```bash
|
|
189
|
-
npx rapidkit [
|
|
70
|
+
npx rapidkit [project-name] [options]
|
|
190
71
|
```
|
|
191
72
|
|
|
192
73
|
### Arguments
|
|
193
|
-
- `
|
|
74
|
+
- `project-name` - Name of project/workspace directory to create
|
|
194
75
|
|
|
195
76
|
### Options
|
|
196
|
-
-
|
|
197
|
-
- `--demo-only` - **[Internal]** Generate a single project in current directory (used by demo workspace script)
|
|
77
|
+
- `-t, --template <template>` - Template to use: `fastapi` or `nestjs` (creates direct project)
|
|
198
78
|
- `--skip-git` - Skip git initialization
|
|
199
|
-
- `--
|
|
79
|
+
- `--skip-install` - Skip installing dependencies (for NestJS)
|
|
200
80
|
- `--debug` - Enable verbose debug logging
|
|
201
81
|
- `--dry-run` - Preview what would be created without creating it
|
|
202
82
|
- `--no-update-check` - Skip checking for newer versions
|
|
203
83
|
- `--help` - Display help information
|
|
204
84
|
- `--version` - Show version number
|
|
205
85
|
|
|
206
|
-
|
|
86
|
+
## Project Commands
|
|
207
87
|
|
|
208
|
-
|
|
88
|
+
After creating a project, activate the local CLI and use these commands:
|
|
209
89
|
|
|
210
|
-
### Demo Workspace
|
|
211
90
|
```bash
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
cd my-workspace
|
|
91
|
+
cd my-api
|
|
92
|
+
source .rapidkit/activate # Enable rapidkit commands (run once per terminal)
|
|
215
93
|
|
|
216
|
-
#
|
|
217
|
-
|
|
218
|
-
|
|
94
|
+
rapidkit init # Install dependencies
|
|
95
|
+
rapidkit dev # Start dev server with hot reload (port 8000)
|
|
96
|
+
rapidkit start # Start production server
|
|
97
|
+
rapidkit build # Build for production
|
|
98
|
+
rapidkit test # Run tests
|
|
99
|
+
rapidkit lint # Lint code
|
|
100
|
+
rapidkit format # Format code
|
|
101
|
+
rapidkit --help # Show all commands
|
|
219
102
|
```
|
|
220
103
|
|
|
221
|
-
###
|
|
222
|
-
```bash
|
|
223
|
-
# Create workspace with RapidKit installed
|
|
224
|
-
npx rapidkit my-workspace
|
|
225
|
-
cd my-workspace
|
|
104
|
+
### Alternative: Without Activation
|
|
226
105
|
|
|
227
|
-
|
|
228
|
-
rapidkit create api-service
|
|
229
|
-
rapidkit create auth-service
|
|
230
|
-
```
|
|
106
|
+
You can also run commands directly without activation:
|
|
231
107
|
|
|
232
|
-
### Default workspace
|
|
233
108
|
```bash
|
|
234
|
-
|
|
235
|
-
#
|
|
109
|
+
./rapidkit dev # Using the wrapper script
|
|
110
|
+
make dev # Using Makefile (FastAPI)
|
|
111
|
+
poetry run dev # Using Poetry directly (FastAPI)
|
|
112
|
+
npm run start:dev # Using npm directly (NestJS)
|
|
236
113
|
```
|
|
237
114
|
|
|
238
|
-
|
|
239
|
-
```bash
|
|
240
|
-
npx rapidkit my-workspace --demo --skip-git
|
|
241
|
-
```
|
|
115
|
+
## Project Structure
|
|
242
116
|
|
|
243
|
-
###
|
|
244
|
-
```bash
|
|
245
|
-
npx rapidkit my-workspace --debug
|
|
246
|
-
```
|
|
117
|
+
### FastAPI Project
|
|
247
118
|
|
|
248
|
-
### Dry-run (preview without creating)
|
|
249
|
-
```bash
|
|
250
|
-
npx rapidkit my-workspace --dry-run
|
|
251
|
-
npx rapidkit my-workspace --demo --dry-run
|
|
252
119
|
```
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
}
|
|
120
|
+
my-api/
|
|
121
|
+
├── .rapidkit/
|
|
122
|
+
│ ├── activate # Activation script
|
|
123
|
+
│ ├── cli.py # Python CLI module
|
|
124
|
+
│ └── rapidkit # Bash wrapper
|
|
125
|
+
├── rapidkit # Main CLI entry point
|
|
126
|
+
├── src/
|
|
127
|
+
│ ├── main.py # FastAPI application
|
|
128
|
+
│ ├── cli.py # CLI commands
|
|
129
|
+
│ ├── routing/ # API routes
|
|
130
|
+
│ └── modules/ # Module system
|
|
131
|
+
├── tests/ # Test suite
|
|
132
|
+
├── pyproject.toml # Poetry configuration
|
|
133
|
+
├── Makefile # Make commands
|
|
134
|
+
└── README.md
|
|
269
135
|
```
|
|
270
136
|
|
|
271
|
-
###
|
|
272
|
-
|
|
273
|
-
For test mode with local RapidKit installation:
|
|
137
|
+
### NestJS Project
|
|
274
138
|
|
|
275
|
-
```bash
|
|
276
|
-
export RAPIDKIT_DEV_PATH=/path/to/local/rapidkit
|
|
277
|
-
npx rapidkit my-workspace --test-mode
|
|
278
139
|
```
|
|
279
|
-
|
|
280
|
-
|
|
140
|
+
my-api/
|
|
141
|
+
├── .rapidkit/
|
|
142
|
+
│ ├── activate # Activation script
|
|
143
|
+
│ └── rapidkit # Bash CLI wrapper
|
|
144
|
+
├── rapidkit # Main CLI entry point
|
|
145
|
+
├── src/
|
|
146
|
+
│ ├── main.ts # Application entry point
|
|
147
|
+
│ ├── app.module.ts # Root module
|
|
148
|
+
│ ├── config/ # Configuration
|
|
149
|
+
│ └── examples/ # Example module
|
|
150
|
+
├── test/ # Test files
|
|
151
|
+
├── package.json # Dependencies
|
|
152
|
+
├── tsconfig.json # TypeScript config
|
|
153
|
+
└── README.md
|
|
154
|
+
```
|
|
281
155
|
|
|
282
156
|
## Requirements
|
|
283
157
|
|
|
284
158
|
- **Node.js**: 18+ (for running npx)
|
|
285
|
-
- **
|
|
286
|
-
- **
|
|
287
|
-
|
|
288
|
-
## Typical Workflow
|
|
289
|
-
|
|
290
|
-
### Demo Mode
|
|
291
|
-
1. **Create demo workspace**:
|
|
292
|
-
```bash
|
|
293
|
-
npx rapidkit my-workspace --demo
|
|
294
|
-
cd my-workspace
|
|
295
|
-
```
|
|
296
|
-
|
|
297
|
-
2. **Generate your first project**:
|
|
298
|
-
```bash
|
|
299
|
-
node generate-demo.js api-service
|
|
300
|
-
cd api-service
|
|
301
|
-
```
|
|
302
|
-
|
|
303
|
-
3. **Install dependencies and run**:
|
|
304
|
-
```bash
|
|
305
|
-
rapidkit init # Install dependencies
|
|
306
|
-
rapidkit dev # Start dev server
|
|
307
|
-
```
|
|
308
|
-
|
|
309
|
-
4. **Create more projects** (go back to workspace):
|
|
310
|
-
```bash
|
|
311
|
-
cd ..
|
|
312
|
-
node generate-demo.js auth-service
|
|
313
|
-
node generate-demo.js data-service
|
|
314
|
-
```
|
|
315
|
-
|
|
316
|
-
### Full Mode (After RapidKit PyPI Release)
|
|
317
|
-
1. **Create RapidKit workspace**:
|
|
318
|
-
```bash
|
|
319
|
-
npx rapidkit my-workspace
|
|
320
|
-
cd my-workspace
|
|
321
|
-
```
|
|
322
|
-
|
|
323
|
-
2. **Activate environment**:
|
|
324
|
-
```bash
|
|
325
|
-
source $(poetry env info --path)/bin/activate
|
|
326
|
-
# Or: poetry shell
|
|
327
|
-
```
|
|
328
|
-
|
|
329
|
-
3. **Create your first project**:
|
|
330
|
-
```bash
|
|
331
|
-
# Interactive mode (recommended)
|
|
332
|
-
rapidkit create
|
|
333
|
-
|
|
334
|
-
# Or specify directly:
|
|
335
|
-
rapidkit create project fastapi.standard api-service
|
|
336
|
-
```
|
|
337
|
-
|
|
338
|
-
4. **Navigate and run**:
|
|
339
|
-
```bash
|
|
340
|
-
cd api-service
|
|
341
|
-
rapidkit dev
|
|
342
|
-
```
|
|
343
|
-
|
|
344
|
-
5. **Create more projects** (from workspace root):
|
|
345
|
-
```bash
|
|
346
|
-
cd ..
|
|
347
|
-
rapidkit create project fastapi.standard auth-service
|
|
348
|
-
rapidkit create project nestjs.standard data-service
|
|
349
|
-
```
|
|
350
|
-
|
|
351
|
-
## Troubleshooting
|
|
352
|
-
|
|
353
|
-
### Python not found
|
|
354
|
-
```bash
|
|
355
|
-
# Check Python version
|
|
356
|
-
python3 --version
|
|
357
|
-
|
|
358
|
-
# Install Python 3.10+
|
|
359
|
-
# Visit: https://www.python.org/downloads/
|
|
360
|
-
```
|
|
361
|
-
|
|
362
|
-
### Poetry not found
|
|
363
|
-
```bash
|
|
364
|
-
# Install Poetry
|
|
365
|
-
curl -sSL https://install.python-poetry.org | python3 -
|
|
366
|
-
|
|
367
|
-
# Or visit: https://python-poetry.org/docs/#installation
|
|
368
|
-
```
|
|
369
|
-
|
|
370
|
-
### pipx not found
|
|
371
|
-
```bash
|
|
372
|
-
# Install pipx
|
|
373
|
-
python3 -m pip install --user pipx
|
|
374
|
-
python3 -m pipx ensurepath
|
|
375
|
-
|
|
376
|
-
# Or visit: https://pypa.github.io/pipx/installation/
|
|
377
|
-
```
|
|
378
|
-
|
|
379
|
-
### Check RapidKit installation
|
|
380
|
-
```bash
|
|
381
|
-
# Activate environment first
|
|
382
|
-
poetry shell # or: source .venv/bin/activate
|
|
383
|
-
|
|
384
|
-
# Verify RapidKit
|
|
385
|
-
rapidkit --version
|
|
386
|
-
rapidkit doctor
|
|
387
|
-
```
|
|
388
|
-
|
|
389
|
-
## What's Next?
|
|
390
|
-
|
|
391
|
-
After setting up your RapidKit environment:
|
|
392
|
-
|
|
393
|
-
## What's Next?
|
|
394
|
-
|
|
395
|
-
After setting up your demo project:
|
|
396
|
-
|
|
397
|
-
1. Explore the generated FastAPI structure
|
|
398
|
-
2. Customize routes and add your business logic
|
|
399
|
-
3. **Stay tuned for RapidKit stable release on PyPI**
|
|
400
|
-
4. Upgrade to full RapidKit for modules and advanced features
|
|
401
|
-
|
|
402
|
-
## Roadmap
|
|
403
|
-
|
|
404
|
-
### ✅ Current (Beta)
|
|
405
|
-
- ✅ Demo workspace with bundled FastAPI templates
|
|
406
|
-
- ✅ Multiple projects per workspace
|
|
407
|
-
- ✅ Interactive project generation
|
|
408
|
-
- ✅ Full FastAPI project structure
|
|
409
|
-
|
|
410
|
-
### 🚧 Coming Soon
|
|
411
|
-
- **RapidKit Python package on PyPI** (main blocker)
|
|
412
|
-
- Full installation mode with all kits
|
|
413
|
-
- Module ecosystem integration (`rapidkit add module`)
|
|
414
|
-
- NestJS standard kit demos
|
|
415
|
-
- Advanced kit templates
|
|
416
|
-
- Workspace sharing and templates
|
|
417
|
-
|
|
418
|
-
### 🔮 Future
|
|
419
|
-
- More framework support
|
|
420
|
-
- Custom kit marketplace
|
|
421
|
-
- Cloud deployment integrations
|
|
422
|
-
- CI/CD templates
|
|
159
|
+
- **For FastAPI**: Python 3.11+ with Poetry
|
|
160
|
+
- **For NestJS**: Node.js 20+ with npm/yarn/pnpm
|
|
423
161
|
|
|
424
|
-
##
|
|
425
|
-
|
|
426
|
-
- **RapidKit Python** - The core framework (coming soon to PyPI)
|
|
427
|
-
- **RapidKit Marketplace** - Browse and share modules (https://rapidkit.top)
|
|
428
|
-
- **GitHub**: https://github.com/getrapidkit
|
|
429
|
-
|
|
430
|
-
## Contributing
|
|
431
|
-
|
|
432
|
-
Contributions welcome! This NPM package is a companion tool for RapidKit.
|
|
433
|
-
|
|
434
|
-
To contribute:
|
|
435
|
-
1. Fork the repository
|
|
436
|
-
2. Create a feature branch
|
|
437
|
-
3. Submit a pull request
|
|
438
|
-
|
|
439
|
-
### Development
|
|
162
|
+
## Development
|
|
440
163
|
|
|
441
164
|
```bash
|
|
442
165
|
# Clone the repository
|
|
@@ -446,36 +169,21 @@ cd rapidkit-npm
|
|
|
446
169
|
# Install dependencies
|
|
447
170
|
npm install
|
|
448
171
|
|
|
449
|
-
# Build
|
|
172
|
+
# Build
|
|
450
173
|
npm run build
|
|
451
174
|
|
|
452
|
-
# Run in watch mode during development
|
|
453
|
-
npm run dev
|
|
454
|
-
|
|
455
175
|
# Run tests
|
|
456
176
|
npm test
|
|
457
177
|
|
|
458
|
-
#
|
|
459
|
-
npm run
|
|
460
|
-
|
|
461
|
-
# Linting
|
|
462
|
-
npm run lint
|
|
463
|
-
|
|
464
|
-
# Format code
|
|
465
|
-
npm run format
|
|
466
|
-
|
|
467
|
-
# Full validation (typecheck + lint + format + test)
|
|
468
|
-
npm run validate
|
|
469
|
-
|
|
470
|
-
# Check bundle size
|
|
471
|
-
npm run bundle-size
|
|
178
|
+
# Watch mode
|
|
179
|
+
npm run dev
|
|
472
180
|
```
|
|
473
181
|
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
-
|
|
477
|
-
-
|
|
478
|
-
-
|
|
182
|
+
## Related Projects
|
|
183
|
+
|
|
184
|
+
- **RapidKit Python** - The core framework (coming soon to PyPI)
|
|
185
|
+
- **RapidKit Docs** - https://rapidkit.top
|
|
186
|
+
- **GitHub**: https://github.com/getrapidkit
|
|
479
187
|
|
|
480
188
|
## License
|
|
481
189
|
|
|
@@ -485,27 +193,7 @@ MIT
|
|
|
485
193
|
|
|
486
194
|
- 🐛 Report issues: [GitHub Issues](https://github.com/getrapidkit/rapidkit-npm/issues)
|
|
487
195
|
- 📚 Docs: https://rapidkit.top
|
|
488
|
-
- 💬 Community: Coming soon
|
|
489
196
|
|
|
490
197
|
---
|
|
491
198
|
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
**rapidkit** (npm package) is currently in beta version 1.0.0-beta.9. The `--demo` mode is fully functional for creating workspaces with bundled FastAPI templates. You can generate multiple projects within the same workspace without needing Python RapidKit installed.
|
|
495
|
-
|
|
496
|
-
**New in beta.9:**
|
|
497
|
-
- ✅ E2E integration tests for reliability
|
|
498
|
-
- ✅ CI/CD pipeline with GitHub Actions
|
|
499
|
-
- ✅ Enhanced error messages with troubleshooting steps
|
|
500
|
-
- ✅ Security audit automation
|
|
501
|
-
- ✅ Bundle size monitoring
|
|
502
|
-
- ✅ Multi-platform testing (Ubuntu, macOS, Windows)
|
|
503
|
-
|
|
504
|
-
Install with:
|
|
505
|
-
```bash
|
|
506
|
-
npx rapidkit my-workspace --demo
|
|
507
|
-
```
|
|
508
|
-
|
|
509
|
-
**Full RapidKit integration** (with `rapidkit create` and `rapidkit add module` commands) will be available once the Python package is published on PyPI.
|
|
510
|
-
|
|
511
|
-
**Timeline**: RapidKit stable release expected soon. Follow [@getrapidkit](https://github.com/getrapidkit) for updates!
|
|
199
|
+
**v0.12.0** - Added NestJS template, workspace mode, and unified CLI with `source .rapidkit/activate`
|