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