rapidkit 0.30.0 → 0.32.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 CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
  > RapidKit is an open-source workspace platform that standardizes how teams build, scale, and deploy backend services.
4
4
 
5
- Production-ready scaffolding for FastAPI, NestJS, Spring Boot, Go/Fiber, and Go/Gin.
6
- **27+ plug-and-play modules** are available for FastAPI and NestJS projects. Spring Boot and Go kits run as npm-level generators.
5
+ Production-ready scaffolding for FastAPI, NestJS, Spring Boot, Go/Fiber, Go/Gin, and ASP.NET Core.
6
+ **50+ RapidKit Core modules** are available through the CLI for supported module-capable runtimes, with FastAPI and NestJS as first-class module installation targets. Spring Boot, Go, and ASP.NET Core kits run as npm-level generators.
7
7
  Built for clean architecture, minimal boilerplate, and fast deployment.
8
8
 
9
9
  > **💡 Recommended:** Install the [Workspai VS Code extension](https://marketplace.visualstudio.com/items?itemName=rapidkit.rapidkit-vscode) for AI-assisted project creation, workspace exploration, and context-aware coding — all backed by this CLI.
@@ -17,7 +17,7 @@ Built for clean architecture, minimal boilerplate, and fast deployment.
17
17
  The official RapidKit npm CLI for creating and operating workspaces and projects.
18
18
 
19
19
  - Workspace-first lifecycle (`create workspace` → `bootstrap` → `setup` → `create project`)
20
- - Multi-runtime support across Python, Node.js, Java, and Go
20
+ - Multi-runtime support across Python, Node.js, Java, Go, and .NET
21
21
  - Policy enforcement with `warn` / `strict` modes
22
22
  - Cache and mirror lifecycle commands for stable environments
23
23
 
@@ -51,6 +51,7 @@ It works alongside Workspai, a product developed by RapidKit.
51
51
  - Python `>= 3.10` (for Python/Core workflows)
52
52
  - Java 21+ and Maven 3.9+ (optional, for Spring Boot projects)
53
53
  - Go (optional, for Go projects)
54
+ - .NET SDK 8+ (optional, for ASP.NET Core projects)
54
55
 
55
56
  ## Install
56
57
 
@@ -109,6 +110,7 @@ npx rapidkit setup python
109
110
  npx rapidkit setup node --warm-deps
110
111
  npx rapidkit setup java --warm-deps
111
112
  npx rapidkit setup go --warm-deps
113
+ npx rapidkit setup dotnet --warm-deps
112
114
  ```
113
115
 
114
116
  ### 3) Create projects
@@ -120,6 +122,8 @@ npx rapidkit create project fastapi.ddd my-api --yes --skip-install
120
122
  npx rapidkit create project nestjs.standard my-nest --yes --skip-install
121
123
  npx rapidkit create project springboot.standard my-spring --yes --skip-install
122
124
  npx rapidkit create project gofiber.standard my-fiber --yes --skip-install
125
+ npx rapidkit create project gogin.standard my-gin --yes --skip-install
126
+ npx rapidkit create project dotnet.webapi.clean my-dotnet --yes --skip-install
123
127
  ```
124
128
 
125
129
  ## Core Commands
@@ -130,7 +134,7 @@ npx rapidkit create project gofiber.standard my-fiber --yes --skip-install
130
134
  npx rapidkit create # Prompts: workspace | project
131
135
  npx rapidkit create workspace <name> [--profile <profile>] [--author <name>] [--yes]
132
136
  npx rapidkit bootstrap [--profile <profile>] [--json]
133
- npx rapidkit setup <python|node|go|java> [--warm-deps]
137
+ npx rapidkit setup <python|node|go|java|dotnet> [--warm-deps]
134
138
  npx rapidkit analyze [--workspace <path>] [--json] [--strict] [--output <file>]
135
139
  npx rapidkit readiness [--json] [--strict]
136
140
  npx rapidkit autopilot release [--mode <audit|safe-fix|enforce>] [--json] [--output <file>] [--since <ref>] [--parallel] [--max-workers <n>]
@@ -146,6 +150,15 @@ npx rapidkit doctor workspace [--fix] [--plan] [--apply]
146
150
  npx rapidkit doctor project [--fix] [--plan] [--apply]
147
151
  npx rapidkit workspace list # Display all workspaces created on this system
148
152
  npx rapidkit workspace share [--output <file>] [--include-paths] [--no-doctor]
153
+ npx rapidkit workspace contract init [--force] [--json]
154
+ npx rapidkit workspace contract inspect [--json]
155
+ npx rapidkit workspace contract verify [--strict] [--json]
156
+ npx rapidkit workspace contract graph [--json]
157
+ npx rapidkit workspace export --output team-workspace.rapidkit-archive.zip
158
+ npx rapidkit workspace archive inspect team-workspace.rapidkit-archive.zip [--json]
159
+ npx rapidkit workspace archive verify team-workspace.rapidkit-archive.zip [--strict] [--json]
160
+ npx rapidkit workspace archive doctor team-workspace.rapidkit-archive.zip [--strict] [--json]
161
+ npx rapidkit workspace hydrate team-workspace.rapidkit-archive.zip --output ./team-workspace
149
162
  npx rapidkit import <path|git-url> [--workspace <path>] [--name <project-name>] [--git] [--json]
150
163
  npx rapidkit snapshot create [name] [--include-projects] [--reason <text>] [--json]
151
164
  npx rapidkit snapshot list [--json]
@@ -190,7 +203,12 @@ JSON output (`--json`) includes:
190
203
  - `workspaceResolution` (`explicit` | `nearest` | `default-auto`)
191
204
  - `defaultWorkspaceCreated`
192
205
  - `suggestedCdCommand`
193
- - `importedProject` (`name`, `path`, `stack`, `confidence`, `source`)
206
+ - `importedProject` (`name`, `path`, `stack`, `runtime`, `framework`, `supportTier`, `moduleSupport`, `confidence`, `source`)
207
+
208
+ Imported projects also receive `.rapidkit/import-readiness.json`, which records framework detection,
209
+ runtime command support, and module mutation policy. Existing projects from Laravel, Rails, Rust,
210
+ Elixir, Kotlin, Deno, Bun, and other ecosystems are importable/governed even when RapidKit does not
211
+ yet ship a first-class scaffold for that stack.
194
212
 
195
213
  ### Workspace snapshots and safe project operations
196
214
 
@@ -248,6 +266,53 @@ Bundle content includes:
248
266
 
249
267
  `--include-paths` is intended for internal teams only because it includes absolute filesystem paths.
250
268
 
269
+ ### Workspace contract registry
270
+
271
+ Use `workspace contract` when multiple projects in one workspace need a shared source of truth for
272
+ services, ports, APIs, events, owners, dependencies, and required environment variables.
273
+
274
+ ```bash
275
+ npx rapidkit workspace contract init
276
+ npx rapidkit workspace contract inspect
277
+ npx rapidkit workspace contract verify --strict
278
+ npx rapidkit workspace contract graph
279
+ ```
280
+
281
+ The contract is written to `.rapidkit/workspace.contract.json`. It starts from discovered RapidKit
282
+ projects and gives teams a stable place to declare cross-project service contracts. Verification
283
+ checks schema validity, duplicate project slugs, invalid or colliding ports, and dependencies that
284
+ point to unknown projects.
285
+
286
+ RapidKit keeps this contract alive during normal workspace work:
287
+
288
+ - `create project` syncs the contract after successful project creation inside a workspace.
289
+ - `workspace sync` reconciles discovered projects into the contract without overwriting manually declared APIs, events, owners, dependencies, env vars, or custom ports.
290
+ - New projects receive a framework-aware default HTTP port when possible, and the next free port is selected if the default is already claimed.
291
+ - `workspace share` includes the contract snapshot so teammates can inspect service topology before reproducing or importing the workspace.
292
+ - `workspace contract graph` renders the service/dependency/event topology for humans or returns a JSON graph for tools and UI surfaces.
293
+
294
+ ### Portable workspace archives
295
+
296
+ Use `workspace export` when you need to send a full workspace to a teammate or move it to another machine.
297
+ Export excludes dependency folders, build output, git history, logs, `.env` files, and private keys by default.
298
+
299
+ ```bash
300
+ npx rapidkit workspace export --output team-workspace.rapidkit-archive.zip
301
+ npx rapidkit workspace archive inspect team-workspace.rapidkit-archive.zip
302
+ npx rapidkit workspace archive verify team-workspace.rapidkit-archive.zip --strict
303
+ npx rapidkit workspace archive doctor team-workspace.rapidkit-archive.zip
304
+ npx rapidkit workspace hydrate team-workspace.rapidkit-archive.zip --output ./team-workspace
305
+
306
+ # Preview a hydrate without writing files
307
+ npx rapidkit workspace hydrate team-workspace.rapidkit-archive.zip --output ./team-workspace --dry-run
308
+ ```
309
+
310
+ Archives include a RapidKit/Workspai manifest with file sizes and SHA-256 checksums. `workspace hydrate`
311
+ verifies the archive before writing files. Use `workspace archive verify --strict` as a handoff or CI gate,
312
+ and `workspace archive doctor` when you want human-readable readiness/security guidance before a teammate
313
+ imports the workspace. Use `--include-env` only for trusted internal handoffs when you intentionally need
314
+ environment files inside the archive.
315
+
251
316
  ### Command ownership
252
317
 
253
318
  RapidKit keeps the wrapper boundary explicit so users know which layer owns each action.
@@ -338,6 +403,8 @@ Compatibility policy for automation consumers:
338
403
 
339
404
  ```bash
340
405
  npx rapidkit create project <kit> <name> [--yes] [--skip-install]
406
+ npx rapidkit project commands [--json]
407
+ npx rapidkit commands --scope project [--json]
341
408
  npx rapidkit init
342
409
  npx rapidkit dev
343
410
  npx rapidkit test
@@ -345,6 +412,13 @@ npx rapidkit build
345
412
  npx rapidkit start
346
413
  ```
347
414
 
415
+ `project commands` shows the effective command contract for the current project. Core-backed
416
+ FastAPI/NestJS projects can use module commands such as `add` and `modules`. npm-backed Go, Spring
417
+ Boot, and ASP.NET Core projects use runtime lifecycle commands and workspace governance while Core
418
+ module mutation remains disabled. Imported observed projects are safe to inspect, share, and govern;
419
+ they expose help-level lifecycle support until a runtime adapter or project-local command mapping is
420
+ available.
421
+
348
422
  ### Operations
349
423
 
350
424
  ```bash
@@ -476,13 +550,17 @@ npx rapidkit workspace run test --parallel
476
550
  # Test only affected projects since last commit
477
551
  npx rapidkit workspace run test --affected --since HEAD~1
478
552
 
479
- # Test affected + their dependents (requires dependency graph)
553
+ # Test affected + downstream dependents from workspace.contract.json
480
554
  npx rapidkit workspace run test --affected --blast-radius
481
555
 
482
556
  # Build specific projects with custom stages (if defined in .rapidkit/context.json)
483
557
  npx rapidkit workspace run build --json --max-workers 8
484
558
  ```
485
559
 
560
+ `--blast-radius` uses `.rapidkit/workspace.contract.json` when available. It expands direct
561
+ `dependsOn` relationships and event relationships where one project `publishes` an event and another
562
+ project `consumes` it. Legacy `.rapidkit/workspace-dependency-graph.json` remains supported as a fallback.
563
+
486
564
  ### Supported Runtimes & Frameworks
487
565
 
488
566
  | Runtime | Frameworks | Status |
@@ -491,11 +569,14 @@ npx rapidkit workspace run build --json --max-workers 8
491
569
  | **Go** | Fiber, Gin, Echo, Chi | Built-in |
492
570
  | **Java** | Spring Boot, Quarkus, Gradle | Built-in |
493
571
  | **Python** | FastAPI, Django, Flask, Poetry | Built-in |
494
- | **PHP** | Laravel, Symfony, Slim | Stable |
495
- | **Rust** | Actix, Axum, Rocket, Tokio | Stable |
496
- | **.NET** | ASP.NET Core, Entity Framework | Stable |
497
- | **Elixir** | Phoenix, Umbrella Projects | Stable |
498
- | **Ruby** | Rails, Sinatra, RSpec | Stable |
572
+ | **PHP** | Laravel, Symfony, Slim | Observed |
573
+ | **Rust** | Actix, Axum, Rocket, Tokio | Observed |
574
+ | **.NET** | ASP.NET Core, Entity Framework | Built-in |
575
+ | **Elixir** | Phoenix, Umbrella Projects | Observed |
576
+ | **Ruby** | Rails, Sinatra, RSpec | Observed |
577
+
578
+ For the public scaffold/import/lifecycle/module support contract, see
579
+ [docs/contracts/RUNTIME_SUPPORT_MATRIX.md](docs/contracts/RUNTIME_SUPPORT_MATRIX.md).
499
580
 
500
581
  ### Enterprise Features
501
582