rapidkit 0.34.0 → 0.35.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.
Files changed (61) hide show
  1. package/README.md +137 -706
  2. package/contracts/backend-import-stack-parity.snapshot.json +36 -36
  3. package/contracts/infra-stack.v1.json +190 -47
  4. package/contracts/module-layout.v1.json +12 -3
  5. package/contracts/module-support.v1.json +20 -0
  6. package/contracts/runtime-command-surface.v1.json +139 -22
  7. package/contracts/workspace-intelligence/workspace-context.v1.json +59 -0
  8. package/contracts/workspace-intelligence/workspace-impact.v1.json +84 -0
  9. package/contracts/workspace-intelligence/workspace-model-diff.v1.json +105 -0
  10. package/contracts/workspace-intelligence/workspace-model-snapshot.v1.json +36 -0
  11. package/contracts/workspace-intelligence/workspace-model.v1.json +50 -0
  12. package/contracts/workspace-intelligence/workspace-verify.v1.json +111 -0
  13. package/dist/analyze-IIPDLLM2.js +1 -0
  14. package/dist/autopilot-release-EO7GQS4P.js +1 -0
  15. package/dist/chunk-5LLGW5TP.js +9 -0
  16. package/dist/{chunk-2PGMJSO5.js → chunk-752X3YI3.js} +84 -84
  17. package/dist/chunk-A5FBGRJA.js +1 -0
  18. package/dist/chunk-B7NCBH5B.js +2 -0
  19. package/dist/chunk-DKVWFHZO.js +4 -0
  20. package/dist/{chunk-3TBSWOTY.js → chunk-FNL34DKD.js} +13 -13
  21. package/dist/chunk-HHJAANUC.js +1 -0
  22. package/dist/chunk-KDUAZXEQ.js +3 -0
  23. package/dist/chunk-KMUWWZRT.js +1 -0
  24. package/dist/chunk-MCLLP6MW.js +2 -0
  25. package/dist/chunk-OCGZNSOE.js +1 -0
  26. package/dist/{chunk-RGXFDBYB.js → chunk-R4RPUW7I.js} +1 -1
  27. package/dist/chunk-TC2PSHT6.js +50 -0
  28. package/dist/chunk-UZW5QFRW.js +5 -0
  29. package/dist/chunk-VPNHGQIV.js +1 -0
  30. package/dist/chunk-YBS2HGO3.js +2 -0
  31. package/dist/chunk-YJ24EV3P.js +1 -0
  32. package/dist/create-LUXJGSNL.js +1 -0
  33. package/dist/{doctor-3SBEO7XU.js → doctor-DG3TBPZN.js} +1 -1
  34. package/dist/imported-projects-registry-ZOCHFWMK.js +1 -0
  35. package/dist/index.d.ts +29 -2
  36. package/dist/index.js +135 -129
  37. package/dist/module-layout-NZ43RSC5.js +1 -0
  38. package/dist/{pipeline-VUQ6AXKF.js → pipeline-7OTUIB6D.js} +1 -1
  39. package/dist/{workspace-AG2MQFTY.js → workspace-ZXWYIZOR.js} +1 -1
  40. package/dist/workspace-context-YFQQROOZ.js +2 -0
  41. package/dist/{workspace-contract-Z5VYUF3T.js → workspace-contract-A6QP7FPA.js} +1 -1
  42. package/dist/{workspace-foundation-G74V6K4U.js → workspace-foundation-TYLH5SAU.js} +1 -1
  43. package/dist/workspace-intelligence-NXIO55GJ.js +1 -0
  44. package/dist/workspace-model-OO4WOBJS.js +1 -0
  45. package/dist/workspace-run-AZ63D75J.js +1 -0
  46. package/dist/workspace-verify-K56NI3AI.js +1 -0
  47. package/package.json +14 -4
  48. package/dist/analyze-SVYRQNLO.js +0 -1
  49. package/dist/autopilot-release-LBKCP73F.js +0 -1
  50. package/dist/chunk-4E6ZGX6V.js +0 -1
  51. package/dist/chunk-ILY6QARY.js +0 -9
  52. package/dist/chunk-JIECGCLV.js +0 -4
  53. package/dist/chunk-KXTXQODI.js +0 -5
  54. package/dist/chunk-QCZGNOTH.js +0 -2
  55. package/dist/chunk-QUNCXYYK.js +0 -1
  56. package/dist/chunk-SAIWD6VM.js +0 -3
  57. package/dist/chunk-Y3UKTEZO.js +0 -2
  58. package/dist/chunk-YV7IQDBM.js +0 -50
  59. package/dist/create-BO2I3ESU.js +0 -1
  60. package/dist/module-layout-J56LHEGH.js +0 -1
  61. package/dist/workspace-run-EDM3SUPA.js +0 -1
package/README.md CHANGED
@@ -1,12 +1,8 @@
1
1
  # RapidKit NPM CLI
2
2
 
3
- > RapidKit is an open-source workspace platform that standardizes how teams build, scale, and deploy backend services.
3
+ > Workspace-first open-source platform that gives teams, tools, and AI agents a shared understanding of software systems.
4
4
 
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
- Built for clean architecture, minimal boilerplate, and fast deployment.
8
-
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.
5
+ RapidKit turns scattered projects into a governed workspace that CI, Workspai, and AI agents can understand.
10
6
 
11
7
  [![npm version](https://img.shields.io/npm/v/rapidkit.svg?style=flat-square)](https://www.npmjs.com/package/rapidkit)
12
8
  [![Downloads](https://img.shields.io/npm/dm/rapidkit.svg?style=flat-square)](https://www.npmjs.com/package/rapidkit)
@@ -14,784 +10,219 @@ Built for clean architecture, minimal boilerplate, and fast deployment.
14
10
  [![GitHub Stars](https://img.shields.io/github/stars/rapidkitlabs/rapidkit-npm.svg?style=flat-square)](https://github.com/rapidkitlabs/rapidkit-npm/stargazers)
15
11
  [![Built by RapidKit](https://img.shields.io/badge/Built%20by-RapidKit-0f172a?logo=github)](https://www.getrapidkit.com)
16
12
 
17
- The official RapidKit npm CLI for creating and operating workspaces and projects.
13
+ For the visual experience, install the [Workspai VS Code extension](https://marketplace.visualstudio.com/items?itemName=rapidkit.rapidkit-vscode). The extension calls this CLI for discovery, commands, evidence, and AI context install `rapidkit@latest` globally or link locally for scaffold/adopt flows.
18
14
 
19
- - Workspace-first lifecycle (`create workspace` → `bootstrap` → `setup` → `create project`)
20
- - Multi-runtime support across Python, Node.js, Java, Go, and .NET
21
- - Policy enforcement with `warn` / `strict` modes
22
- - Cache and mirror lifecycle commands for stable environments
23
- - Contract-driven workspace infra sidecar (`infra plan|up|down|status`) for local Postgres, Redis, mail, and related dev dependencies
15
+ ## Table of contents
24
16
 
25
- ## Workspace-First Architecture
17
+ - [Start here](#start-here)
18
+ - [Mental model](#mental-model)
19
+ - [Workspace intelligence](#workspace-intelligence)
20
+ - [Requirements & install](#requirements)
21
+ - [Quickstarts](#quickstarts)
22
+ - [CI & evidence](#ci--evidence)
23
+ - [Workspai ecosystem](#workspai-ecosystem)
24
+ - [VS Code extension](#vs-code-extension)
25
+ - [Documentation](#documentation)
26
+ - [Development](#development)
27
+ - [Troubleshooting](#troubleshooting)
28
+ - [License](#license)
26
29
 
27
- RapidKit is designed around the workspace as the operational boundary.
30
+ ## Start here
28
31
 
29
- - The workspace owns policy, readiness, and shared tooling state.
30
- - Projects are discovered and managed inside that workspace boundary.
31
- - Wrapper-owned commands stay in the npm CLI; runtime-specific execution is delegated only when appropriate.
32
- - Release evidence is written into `.rapidkit/reports/` so CI, docs, and local workflows use the same contract surface.
33
- - A single governance loop connects bootstrap, sync, doctor, analyze, readiness, and autopilot without requiring the VS Code extension.
32
+ | If you have... | Use | What you get |
33
+ | --- | --- | --- |
34
+ | An existing project to keep in place | [`adopt`](docs/workspace-operations.md#import-and-adoption) | Links project, detects stack, writes metadata |
35
+ | A folder or repo to copy into a workspace | [`import`](docs/workspace-operations.md#import-and-adoption) | Copy/clone with rollback-safe sync |
36
+ | A new project from a kit | `create workspace` + `create project` / `create frontend` | Scaffold + governance evidence |
37
+ | CI or release gates | `pipeline --json --strict` | Full governance loop in one command |
38
+ | Agent-ready context | `workspace model` + `workspace context` | Canonical facts and context packs |
34
39
 
35
- This layout keeps workspace setup deterministic, makes cross-project orchestration explicit, and avoids drifting behavior between the CLI and the core runtime.
40
+ ### Adopt in place
36
41
 
37
- ## Governance Pipeline (CLI-native)
42
+ ```bash
43
+ npx rapidkit adopt /path/to/project --workspace /path/to/workspace --json
44
+ npx rapidkit adopt --json # from inside the project folder
45
+ ```
38
46
 
39
- RapidKit ships a wrapper-owned release loop for CI and local pre-merge checks:
47
+ ### Workspace layout
40
48
 
41
49
  ```text
42
- bootstrap → workspace sync → doctor → analyze → readiness → autopilot
50
+ ~/.rapidkit/workspaces.json
51
+ ~/rapidkit/workspaces/
52
+ workspai/ # managed default (import/adopt fallback)
53
+ my-workspace/ # user-created workspaces
43
54
  ```
44
55
 
45
- Run the full loop in one command:
46
-
47
- ```bash
48
- npx rapidkit pipeline --json --strict
49
- ```
56
+ New workspaces go under `~/rapidkit/workspaces/<name>`. Legacy `~/Workspai/rapidkits/*` paths remain registered. Use `--output <parent-dir>` for a custom parent.
50
57
 
51
- Or run stages individually:
58
+ ### Two-layer model
52
59
 
53
- ```bash
54
- npx rapidkit bootstrap --profile polyglot
55
- npx rapidkit workspace sync --json
56
- npx rapidkit doctor workspace --json --ci
57
- npx rapidkit analyze --json --strict
58
- npx rapidkit readiness --json --strict
59
- npx rapidkit autopilot release --mode audit --json
60
+ ```text
61
+ First-class engine kits → FastAPI and NestJS (modules + deep generation)
62
+ Workspace intelligence → frontend apps, Go, Spring, .NET, adopted/imported repos
60
63
  ```
61
64
 
62
- Evidence artifacts:
65
+ ## Mental model
63
66
 
64
- | Stage | Report path |
65
- | ---------- | ----------- |
66
- | Pipeline | `.rapidkit/reports/pipeline-last-run.json` |
67
- | Doctor | `.rapidkit/reports/doctor-last-run.json` |
68
- | Analyze | `.rapidkit/reports/analyze-last-run.json` |
69
- | Readiness | `.rapidkit/reports/release-readiness-last-run.json` |
70
- | Autopilot | `.rapidkit/reports/autopilot-release-last-run.json` |
71
- | Contract verify (CLI fallback) | `.rapidkit/reports/workspace-contract-verify-last-run.json` |
67
+ RapidKit treats the **workspace** as the operating boundary: policy, registry, evidence, contracts, and release readiness. Projects can live inside the workspace or be **adopted** from outside.
72
68
 
73
- The verify gate accepts extension `verify-pack-contract` artifacts **or** runs `workspace contract verify` inline when no extension artifact is present. Use `--skip-verify` on `readiness` / `pipeline` when verify is handled elsewhere.
69
+ ```text
70
+ workspace/
71
+ .rapidkit/workspace.json
72
+ .rapidkit/reports/
73
+ services/api/
74
74
 
75
- ## RapidKit CLI in the Workspai Ecosystem
75
+ external-project/
76
+ .rapidkit/project.json
77
+ .rapidkit/adopt.json
78
+ ```
79
+
80
+ Every tool gets the same answers: what projects exist, what stack they use, which commands are safe, what evidence exists, and what context agents should receive.
76
81
 
77
- The `rapidkit` npm package remains the official RapidKit CLI.
82
+ ## Workspace intelligence
78
83
 
79
- It works alongside Workspai, a product developed by RapidKit.
84
+ | Command | Purpose |
85
+ | --- | --- |
86
+ | `workspace model --json` | Canonical workspace model |
87
+ | `workspace context --for-agent --json` | Agent-ready context pack |
88
+ | `workspace snapshot --json` | Persist model snapshot |
89
+ | `workspace diff --from <file\|git[:ref]> --json` | Diff against snapshot or git |
90
+ | `workspace impact --from <file> --json` | Blast-radius evidence |
91
+ | `workspace verify [--strict] --json` | Impact verification gate |
80
92
 
81
- | Component | Repository | Role |
82
- | ----------------- | ----------------------------------------------------------------------------------- | ---------------------------------------------------------- |
83
- | CLI | [rapidkitlabs/rapidkit-npm](https://github.com/rapidkitlabs/rapidkit-npm) | Official RapidKit npm CLI |
84
- | VS Code Extension | [rapidkitlabs/rapidkit-vscode](https://github.com/rapidkitlabs/rapidkit-vscode) | **Workspai** — visual explorer + AI features (recommended) |
85
- | Core Engine | [rapidkitlabs/rapidkit-core](https://github.com/rapidkitlabs/rapidkit-core) | Official RapidKit Core |
86
- | Examples | [rapidkitlabs/rapidkit-examples](https://github.com/rapidkitlabs/rapidkit-examples) | Example workspaces and starter references |
93
+ JSON schemas: `contracts/workspace-intelligence/`. Details: [commands-reference.md](docs/commands-reference.md).
87
94
 
88
95
  ## Requirements
89
96
 
90
97
  - Node.js `>= 20.19.6`
91
98
  - Python `>= 3.10` (for Python/Core workflows)
92
- - Java 21+ and Maven 3.9+ (optional, for Spring Boot projects)
93
- - Go (optional, for Go projects)
94
- - .NET SDK 8+ (optional, for ASP.NET Core projects)
99
+ - Java 21+, Go, .NET SDK 8+ (optional, per stack)
95
100
 
96
101
  ## Install
97
102
 
98
- Install the RapidKit CLI npm package (`rapidkit`) globally:
99
-
100
103
  ```bash
101
104
  npm install -g rapidkit
102
- ```
103
-
104
- Or run directly with `npx`:
105
-
106
- ```bash
105
+ # or
107
106
  npx rapidkit --help
108
107
  ```
109
108
 
110
- The commands above provide install/help entry points for the same CLI.
111
-
112
- ## 60-Second Quickstart
113
-
114
- ```bash
115
- npx rapidkit my-workspace
116
- cd my-workspace
117
- npx rapidkit create project
118
- cd <project-name>
119
- npx rapidkit init && npx rapidkit dev
120
- ```
121
-
122
- If you prefer explicit commands instead of shortcut mode:
123
-
124
- ```bash
125
- npx rapidkit create workspace my-workspace --yes --profile polyglot
126
- ```
127
-
128
- ## Quick Start (Recommended)
109
+ ## Quickstarts
129
110
 
130
- ### 1) Create a workspace
111
+ ### I already have a project
131
112
 
132
113
  ```bash
133
- npx rapidkit create workspace my-workspace --yes --profile polyglot
134
- cd my-workspace
114
+ npx rapidkit adopt /path/to/project --workspace /path/to/workspace
115
+ npx rapidkit import ../orders-api --workspace ./platform
116
+ npx rapidkit workspace model --json
117
+ npx rapidkit doctor workspace --json
135
118
  ```
136
119
 
137
- Shortcut form (equivalent workspace creation flow):
120
+ ### I want a new project
138
121
 
139
122
  ```bash
140
- npx rapidkit my-workspace
123
+ npx rapidkit create workspace platform --yes --profile polyglot
124
+ cd platform && npx rapidkit bootstrap --profile polyglot
125
+ npx rapidkit create project # interactive kit picker
126
+ npx rapidkit create frontend nextjs my-web --yes
127
+ cd <project-name> && npx rapidkit init && npx rapidkit dev
141
128
  ```
142
129
 
143
- This shortcut launches the same interactive workspace wizard (author, profile, Python version, environment strategy).
144
-
145
- ### 2) Bootstrap and setup runtimes
130
+ Backend kits: `fastapi.standard`, `nestjs.standard`, `springboot.standard`, `gofiber.standard`, `dotnet.webapi.clean`, and more.
146
131
 
147
- ```bash
148
- npx rapidkit bootstrap --profile polyglot
149
- npx rapidkit setup python
150
- npx rapidkit setup node --warm-deps
151
- npx rapidkit setup java --warm-deps
152
- npx rapidkit setup go --warm-deps
153
- npx rapidkit setup dotnet --warm-deps
154
- ```
132
+ Frontend: `create frontend nextjs|remix|vite-react|angular|astro|…` or `create project frontend.nextjs <name>`.
155
133
 
156
- ### 3) Create projects
157
-
158
- ```bash
159
- npx rapidkit create project # Interactive kit picker
160
- npx rapidkit create project fastapi.standard my-api --yes --skip-install
161
- npx rapidkit create project fastapi.ddd my-api --yes --skip-install
162
- npx rapidkit create project nestjs.standard my-nest --yes --skip-install
163
- npx rapidkit create project springboot.standard my-spring --yes --skip-install
164
- npx rapidkit create project gofiber.standard my-fiber --yes --skip-install
165
- npx rapidkit create project gogin.standard my-gin --yes --skip-install
166
- npx rapidkit create project dotnet.webapi.clean my-dotnet --yes --skip-install
167
- ```
168
-
169
- ## Core Commands
170
-
171
- ### Workspace lifecycle
172
-
173
- ```bash
174
- npx rapidkit create # Prompts: workspace | project
175
- npx rapidkit create workspace <name> [--profile <profile>] [--author <name>] [--yes]
176
- npx rapidkit bootstrap [--profile <profile>] [--json] [--compliance-only]
177
- npx rapidkit setup <python|node|go|java|dotnet> [--warm-deps]
178
- npx rapidkit pipeline [--json] [--strict] [--skip-verify] [--skip-analyze] [--skip-autopilot] [--autopilot-mode <audit|safe-fix|enforce>]
179
- npx rapidkit analyze [--workspace <path>] [--json] [--strict] [--output <file>]
180
- npx rapidkit readiness [--json] [--strict] [--skip-verify]
181
- npx rapidkit autopilot release [--mode <audit|safe-fix|enforce>] [--json] [--output <file>] [--since <ref>] [--parallel] [--max-workers <n>]
182
- ```
134
+ Shortcut: `npx rapidkit platform` (interactive workspace wizard).
183
135
 
184
- Recommended for CI:
136
+ ### I want CI or release gates
185
137
 
186
138
  ```bash
187
139
  npx rapidkit pipeline --json --strict
188
- # or the release gate alone:
189
- npx rapidkit autopilot release --mode enforce --json --output .rapidkit/reports/autopilot-release.json
190
140
  ```
191
141
 
192
- `bootstrap --json --compliance-only` runs compliance checks only (skips init) for machine-readable CI gates. Default `bootstrap --json` still runs init after compliance checks.
142
+ Stages individually: `workspace sync`, `doctor workspace --ci`, `analyze --strict`, `readiness --strict`, `autopilot release`.
193
143
 
194
- ```bash
195
- npx rapidkit workspace sync [--json]
196
- npx rapidkit workspace policy show
197
- npx rapidkit workspace policy set <key> <value>
198
- npx rapidkit doctor
199
- npx rapidkit doctor workspace [--json] [--strict] [--ci] [--fix] [--plan] [--apply]
200
- npx rapidkit doctor project [--json] [--strict] [--ci] [--fix] [--plan] [--apply]
201
- npx rapidkit workspace list # Display all workspaces created on this system
202
- npx rapidkit workspace foundation ensure [--force] [--json]
203
- npx rapidkit workspace share [--output <file>] [--include-paths] [--no-doctor]
204
- npx rapidkit workspace contract init [--force] [--json]
205
- npx rapidkit workspace contract inspect [--json]
206
- npx rapidkit workspace contract verify [--strict] [--json]
207
- npx rapidkit workspace contract graph [--json]
208
- npx rapidkit workspace export --output team-workspace.rapidkit-archive.zip
209
- npx rapidkit workspace archive inspect team-workspace.rapidkit-archive.zip [--json]
210
- npx rapidkit workspace archive verify team-workspace.rapidkit-archive.zip [--strict] [--json]
211
- npx rapidkit workspace archive doctor team-workspace.rapidkit-archive.zip [--strict] [--json]
212
- npx rapidkit workspace hydrate team-workspace.rapidkit-archive.zip --output ./team-workspace
213
- npx rapidkit import <path|git-url> [--workspace <path>] [--name <project-name>] [--git] [--json]
214
- npx rapidkit snapshot create [name] [--include-projects] [--reason <text>] [--json]
215
- npx rapidkit snapshot list [--json]
216
- npx rapidkit snapshot inspect <name> [--json]
217
- npx rapidkit snapshot restore <name> [--dry-run] [--force] [--json]
218
- npx rapidkit project archive <name> [--reason <text>] [--dry-run] [--json]
219
- npx rapidkit project archives [--json]
220
- npx rapidkit project restore <archive> [--name <project-name>] [--force] [--dry-run] [--json]
221
- npx rapidkit project delete <name> [--permanent --confirm <name>] [--dry-run] [--json]
222
- npx rapidkit workspace init # Full-init alias (same behavior as root init/workspace run init at workspace root)
223
- npx rapidkit workspace run <init|test|build|start> [--affected] [--blast-radius] [--since <ref>] [--parallel] [--max-workers <n>] [--strict] [--json]
224
- npx rapidkit infra plan [--workspace <path>] [--json] [--dry-run] [--verbose]
225
- npx rapidkit infra up [--workspace <path>] [--no-plan] [--build]
226
- npx rapidkit infra down [--workspace <path>] [--volumes]
227
- npx rapidkit infra status [--workspace <path>] [--json] [--strict]
228
- ```
229
-
230
- ### Project import into workspace
231
-
232
- Use `import` to bring an existing backend project (local folder or git repository) into a RapidKit workspace.
233
-
234
- ```bash
235
- # Local folder import
236
- npx rapidkit import ../orders-api
237
-
238
- # Git import
239
- npx rapidkit import https://github.com/acme/orders-api.git --git
240
-
241
- # Explicit workspace and custom target name
242
- npx rapidkit import ../orders-api --workspace ./my-workspace --name orders-api
243
-
244
- # Machine-readable output
245
- npx rapidkit import ../orders-api --json
246
- ```
144
+ ## CI & evidence
247
145
 
248
- Import behavior:
249
-
250
- - Local folders are copied; git sources are cloned with shallow history.
251
- - If you run import outside any workspace and do not pass `--workspace`, RapidKit auto-creates/reuses the default workspace at `~/Workspai/rapidkits/default-workspace`.
252
- - CLI cannot change your parent shell directory; instead it prints a next-step `cd ...` hint (and returns `suggestedCdCommand` in JSON mode).
253
- - If workspace sync fails after import, RapidKit rolls back imported files and registry entries before returning an error.
254
-
255
- JSON output (`--json`) includes:
256
-
257
- - `workspacePath`
258
- - `workspaceResolution` (`explicit` | `nearest` | `default-auto`)
259
- - `defaultWorkspaceCreated`
260
- - `suggestedCdCommand`
261
- - `importedProject` (`name`, `path`, `stack`, `runtime`, `framework`, `supportTier`, `moduleSupport`, `confidence`, `source`)
262
-
263
- Imported projects also receive `.rapidkit/import-readiness.json`, which records framework detection,
264
- runtime command support, and module mutation policy. Existing projects from Laravel, Rails, Rust,
265
- Elixir, Kotlin, Deno, Bun, and other ecosystems are importable/governed even when RapidKit does not
266
- yet ship a first-class scaffold for that stack.
267
-
268
- ### Workspace snapshots and safe project operations
269
-
270
- Use `snapshot` before migrations, mass imports, dependency upgrades, or release preparation.
271
- By default snapshots preserve workspace metadata only (`.rapidkit`, workspace marker, and config files).
272
- Use `--include-projects` when you need a full recoverable copy of project source files too.
273
-
274
- ```bash
275
- npx rapidkit snapshot create before-upgrade --reason "before dependency upgrade"
276
- npx rapidkit snapshot list
277
- npx rapidkit snapshot inspect before-upgrade
278
- npx rapidkit snapshot restore before-upgrade --dry-run
279
- npx rapidkit snapshot restore before-upgrade --force
280
- ```
146
+ | Stage | Report |
147
+ | --- | --- |
148
+ | Pipeline | `.rapidkit/reports/pipeline-last-run.json` |
149
+ | Doctor | `.rapidkit/reports/doctor-last-run.json` |
150
+ | Analyze | `.rapidkit/reports/analyze-last-run.json` |
151
+ | Readiness | `.rapidkit/reports/release-readiness-last-run.json` |
152
+ | Autopilot | `.rapidkit/reports/autopilot-release-last-run.json` |
281
153
 
282
- Project delete is intentionally safe-by-default:
283
-
284
- ```bash
285
- npx rapidkit project archive orders-api --reason "replaced by orders-v2"
286
- npx rapidkit project archives
287
- npx rapidkit project restore orders-api
288
- npx rapidkit project delete orders-api
289
- npx rapidkit project delete orders-api --permanent --confirm orders-api
290
- ```
291
-
292
- Lifecycle safety rules:
293
-
294
- - `project delete` archives by default; permanent removal requires `--permanent --confirm <exact-project-name>`.
295
- - `snapshot restore` requires `--force` unless it is a dry-run.
296
- - Restore, archive, and permanent delete create a pre-operation metadata snapshot automatically.
297
- - Archive manifests are stored beside archived projects under `.rapidkit/archive/projects`.
298
- - Lifecycle operations append JSONL audit records to `.rapidkit/audit/events.jsonl`.
299
- - Workspace policy can require reasons, require safety snapshots, or block permanent delete via `.rapidkit/policies.yml`.
300
-
301
- ### Workspace collaboration bundle
302
-
303
- Use `workspace share` to export a portable JSON snapshot for team handoff,
304
- debugging, and cross-machine diagnostics.
305
-
306
- ```bash
307
- npx rapidkit workspace share
308
- # default output: .rapidkit/reports/share-bundle.json
309
-
310
- npx rapidkit workspace share --output ./team-share.json
311
- npx rapidkit workspace share --include-paths
312
- npx rapidkit workspace share --no-doctor
313
- ```
314
-
315
- Bundle content includes:
316
-
317
- - Workspace metadata (`name`, `profile`, RapidKit version)
318
- - Discovered RapidKit projects (`relative_path`, runtime, kit)
319
- - Workspace and project report file index
320
- - Latest doctor evidence per project (unless `--no-doctor` is used)
321
-
322
- `--include-paths` is intended for internal teams only because it includes absolute filesystem paths.
323
-
324
- ### Workspace contract registry
325
-
326
- Use `workspace contract` when multiple projects in one workspace need a shared source of truth for
327
- services, ports, APIs, events, owners, dependencies, and required environment variables.
328
-
329
- ```bash
330
- npx rapidkit workspace contract init
331
- npx rapidkit workspace contract inspect
332
- npx rapidkit workspace contract verify --strict
333
- npx rapidkit workspace contract graph
334
- ```
335
-
336
- The contract is written to `.rapidkit/workspace.contract.json`. It starts from discovered RapidKit
337
- projects and gives teams a stable place to declare cross-project service contracts. Verification
338
- checks schema validity, duplicate project slugs, invalid or colliding ports, and dependencies that
339
- point to unknown projects.
340
-
341
- RapidKit keeps this contract alive during normal workspace work:
342
-
343
- - `create project` syncs the contract after successful project creation inside a workspace.
344
- - `workspace sync` reconciles discovered projects into the contract without overwriting manually declared APIs, events, owners, dependencies, env vars, or custom ports.
345
- - New projects receive a framework-aware default HTTP port when possible, and the next free port is selected if the default is already claimed.
346
- - `workspace share` includes the contract snapshot so teammates can inspect service topology before reproducing or importing the workspace.
347
- - `workspace contract graph` renders the service/dependency/event topology for humans or returns a JSON graph for tools and UI surfaces.
348
-
349
- ### Portable workspace archives
350
-
351
- Use `workspace export` when you need to send a full workspace to a teammate or move it to another machine.
352
- Export excludes dependency folders, build output, git history, logs, `.env` files, and private keys by default.
353
-
354
- ```bash
355
- npx rapidkit workspace export --output team-workspace.rapidkit-archive.zip
356
- npx rapidkit workspace archive inspect team-workspace.rapidkit-archive.zip
357
- npx rapidkit workspace archive verify team-workspace.rapidkit-archive.zip --strict
358
- npx rapidkit workspace archive doctor team-workspace.rapidkit-archive.zip
359
- npx rapidkit workspace hydrate team-workspace.rapidkit-archive.zip --output ./team-workspace
360
-
361
- # Preview a hydrate without writing files
362
- npx rapidkit workspace hydrate team-workspace.rapidkit-archive.zip --output ./team-workspace --dry-run
363
- ```
364
-
365
- Archives include a RapidKit/Workspai manifest with file sizes and SHA-256 checksums. `workspace hydrate`
366
- verifies the archive before writing files. Use `workspace archive verify --strict` as a handoff or CI gate,
367
- and `workspace archive doctor` when you want human-readable readiness/security guidance before a teammate
368
- imports the workspace. Use `--include-env` only for trusted internal handoffs when you intentionally need
369
- environment files inside the archive.
370
-
371
- ### Workspace infrastructure (sidecar)
372
-
373
- Use `infra` when a workspace needs local dev dependencies (PostgreSQL, Redis, Mailpit, MinIO, and
374
- related services) without replacing the workspace's own `docker-compose.yml`.
375
-
376
- Discovery is contract-first and runtime-agnostic:
377
-
378
- - Installed Core module slugs from each project's `registry.json`
379
- - Infra-related variables from each project's `.env.example`
380
- - Optional env declarations from `.rapidkit/workspace.contract.json`
381
- - Manual overrides in `.rapidkit/infra/overrides.json`
382
-
383
- ```bash
384
- cd my-workspace
385
- npx rapidkit infra plan
386
- npx rapidkit infra up
387
- npx rapidkit infra status --strict
388
- npx rapidkit infra down
389
- ```
390
-
391
- Artifacts are written beside the workspace (sidecar strategy):
392
-
393
- - `.rapidkit/infra/docker-compose.yml` — generated Docker Compose stack
394
- - `.rapidkit/reports/infra-plan.json` — machine-readable plan and discovery evidence
395
- - `.rapidkit/infra/.env.example` — connection env preview for local `.env` files
396
-
397
- `infra up` refreshes the plan by default. Use `--no-plan` to start from the last saved plan only.
398
- Connection defaults prefer project `.env.example` values (for example `RAPIDKIT_DB_POSTGRES_URL`).
399
-
400
- This command family is wrapper-owned, does not mutate Core modules, and works for polyglot workspaces
401
- (FastAPI, NestJS, Go, Spring Boot, .NET, and imported projects) as long as projects expose
402
- `.rapidkit/project.json` and env/override signals.
403
-
404
- ### Command ownership
405
-
406
- RapidKit keeps the wrapper boundary explicit so users know which layer owns each action.
407
-
408
- | Command family | Owner | Notes |
409
- | -------------------------------------------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
410
- | `create workspace`, `workspace`, `cache`, `mirror`, `infra` | RapidKit wrapper | Platform-level orchestration |
411
- | `init` | Wrapper orchestrated | Project init in project dirs; full-init alias at workspace root |
412
- | `dev`, `test`, `build`, `start` | Runtime aware | Delegates to the active project/runtime when available |
413
- | `readiness` | Wrapper release gate | Env + doctor + analyze + verify + dependency gates (`--json`, `--strict`, `--skip-verify`) |
414
- | `pipeline` | Wrapper orchestrator | End-to-end governance loop: sync → doctor → analyze → readiness → autopilot; writes `pipeline-last-run.json` |
415
- | `autopilot release` | Wrapper orchestrator | Runs doctor/analyze/readiness/remediation/workspace-run gates and emits release verdict evidence |
416
- | `import` | Workspace ingestion | Imports local folders or git backends with rollback-safe sync behavior |
417
- | `snapshot` | Workspace recovery | Creates/list/restores metadata or full workspace snapshots with destructive-operation guards |
418
- | `project archive/restore/delete` | Project lifecycle | Archives by default, restores archived projects, requires exact confirmation for permanent delete, and creates safety snapshots |
419
- | `doctor` | Wrapper system check | Checks host prerequisites by default |
420
- | `doctor workspace` | Workspace health | Full workspace scan with project-level details, CI exit codes (`--strict`, `--ci`), and fixes |
421
- | `doctor project` | Project health | Current project (or nearest parent) diagnostics with project evidence and scoped fixes |
422
- | `workspace run` | Workspace orchestrator | Stage execution across discovered projects with optional affected-only, blast-radius expansion, and policy-gated pre-checks |
423
- | `infra` | Workspace sidecar | Contract-driven local infra discovery, compose generation, and Docker lifecycle (`plan`, `up`, `down`, `status`) |
424
-
425
- Use `npx rapidkit doctor` for a quick host pre-flight, `npx rapidkit doctor project` for a service-level check, and `npx rapidkit doctor workspace` for the full workspace picture.
426
- Use `npx rapidkit pipeline --json --strict` to run the full governance loop and gate CI on a single exit code.
427
- Use `npx rapidkit analyze --json` to generate CI-friendly workspace health evidence and save it under `.rapidkit/reports/`.
428
- Use `npx rapidkit doctor workspace --ci` for CI-friendly exit codes (1 = errors, 2 = warnings).
429
- Use `npx rapidkit doctor workspace --plan` or `npx rapidkit doctor project --plan` to preview remediation safely.
430
- Use `npx rapidkit doctor workspace --apply` or `npx rapidkit doctor project --apply` for non-interactive remediation runs.
431
- Use `npx rapidkit readiness` when you need machine-readable release evidence or strict CI gating.
432
- Use `npx rapidkit readiness --skip-verify` when verify is handled by extension/CI separately.
433
- Use `npx rapidkit autopilot release` to run an end-to-end pre-merge release gate in one command.
434
-
435
- ### Doctor workspace CI exit codes
436
-
437
- - `npx rapidkit doctor workspace --strict` exits `1` when health score reports errors **or** warnings.
438
- - `npx rapidkit doctor workspace --ci` exits `1` on errors and `2` on warnings only (errors take precedence).
439
- - Without `--strict` or `--ci`, doctor reports findings but exits `0` (backward compatible).
440
-
441
- ### Doctor workspace fix behavior
442
-
443
- - `npx rapidkit doctor workspace` reuses cached project scans when valid and refreshes evidence under `.rapidkit/reports/doctor-last-run.json`.
444
- - `npx rapidkit doctor workspace --fix` runs interactive remediation (confirmation prompt).
445
- - `npx rapidkit doctor workspace --plan` prints remediation plan only (no mutations).
446
- - `npx rapidkit doctor workspace --apply` applies remediation plan non-interactively.
447
- - Advisory warnings (for example, detected vulnerabilities or optional env metadata gaps) are reported in workspace health, but they do not automatically become shell fix commands.
448
- - It is valid to see `No fixes needed` after `--fix`/`--apply` when only advisory warnings are present.
449
- - URL-based fixes are recorded as manual guidance (for example, install pages) and are not executed as shell commands.
450
- - Go project fixes that require `go mod tidy` are skipped when the Go toolchain is not available, with a clear install-and-rerun hint.
451
- - `--plan` cannot be combined with `--fix` or `--apply`.
452
-
453
- ### Doctor workspace JSON fields (AI/automation)
454
-
455
- `npx rapidkit doctor workspace --json` includes project-level runtime/profile metadata used by extension and AI tooling:
456
-
457
- - `framework`
458
- - `frameworkKey`
459
- - `importStack`
460
- - `runtimeFamily`
461
- - `projectKind`
462
- - `supportTier`
463
- - `frameworkConfidence`
464
-
465
- ### Doctor project behavior
466
-
467
- - `npx rapidkit doctor project` resolves the current project or the nearest parent project when run from nested directories.
468
- - Project mode supports RapidKit and non-RapidKit backend projects (generic runtime diagnostics still run when `.rapidkit` is missing).
469
- - JSON evidence is written to `.rapidkit/reports/doctor-project-last-run.json` (workspace-level when available).
470
- - `--fix` in project mode applies only project-scoped actionable fixes, with the same safe/guarded handling used by doctor fix flows.
471
- - `--plan` in project mode prints remediation plan only (no mutations).
472
- - `--apply` in project mode applies project-scoped remediation non-interactively.
473
- - `--plan` cannot be combined with `--fix` or `--apply`.
474
- - Project diagnostics include built-in probes (configuration surface, migration surface, runtime health surface) and optional custom probe/adapter contracts.
475
-
476
- ### Doctor project JSON fields (AI/automation)
477
-
478
- `npx rapidkit doctor project --json` includes project-scoped evidence fields for extension and automation consumers:
479
-
480
- - `scope` (`project`)
481
- - `contract` (doctor evidence contract + scoring policy version)
482
- - `project` (framework/runtime metadata, canonical `frameworkKey` and `importStack`, issues, fix commands, probes)
483
- - `summary.scopeProvenance`
484
- - `driftDelta`
485
- - `scoreBreakdown`
486
-
487
- ### Doctor evidence schema compatibility
488
-
489
- Doctor persisted evidence now carries explicit schema tags:
490
-
491
- - Workspace evidence: `schemaVersion = doctor-workspace-evidence-v1`, `evidenceType = workspace`
492
- - Project evidence: `schemaVersion = doctor-project-evidence-v1`, `evidenceType = project`
493
- - Workspace scan cache: `schemaVersion = doctor-workspace-cache-v1`
494
-
495
- Compatibility policy for automation consumers:
496
-
497
- - Legacy doctor evidence without `schemaVersion` is still accepted.
498
- - Unknown or incompatible doctor evidence schema versions are treated as invalid evidence (safe fallback, no crash).
499
- - `readiness` and `workspace share` use the same compatibility validation path, so behavior is consistent across CLI surfaces.
500
-
501
- ### Project lifecycle
502
-
503
- ```bash
504
- npx rapidkit create project <kit> <name> [--yes] [--skip-install]
505
- npx rapidkit project commands [--json]
506
- npx rapidkit commands --scope project [--json]
507
- npx rapidkit init
508
- npx rapidkit dev
509
- npx rapidkit test
510
- npx rapidkit build
511
- npx rapidkit start
512
- ```
513
-
514
- `project commands` shows the effective command contract for the current project. Core-backed
515
- FastAPI/NestJS projects can use module commands such as `add` and `modules`. npm-backed Go, Spring
516
- Boot, and ASP.NET Core projects use runtime lifecycle commands and workspace governance while Core
517
- module mutation remains disabled. Imported observed projects are safe to inspect, share, and govern;
518
- they expose help-level lifecycle support until a runtime adapter or project-local command mapping is
519
- available.
520
-
521
- ### Operations
154
+ Common workspace commands:
522
155
 
523
156
  ```bash
157
+ npx rapidkit doctor workspace
158
+ npx rapidkit setup <python|node|go|java|dotnet> [--warm-deps]
159
+ npx rapidkit workspace list
524
160
  npx rapidkit cache <status|clear|prune|repair>
525
161
  npx rapidkit mirror <status|sync|verify|rotate>
526
- npx rapidkit infra <plan|up|down|status>
527
- ```
528
-
529
- See [Workspace infrastructure (sidecar)](#workspace-infrastructure-sidecar) for discovery rules and generated artifacts.
530
-
531
- ## Profiles
532
-
533
- - `minimal` — baseline workspace scaffolding
534
- - `java-only` — Java-focused workspace
535
- - `python-only` — Python-focused workspace
536
- - `node-only` — Node.js-focused workspace
537
- - `go-only` — Go-focused workspace
538
- - `polyglot` — Python + Node.js + Go + Java
539
- - `enterprise` — polyglot + governance-oriented checks
540
-
541
- ## Policy Modes
542
-
543
- `mode` in `.rapidkit/policies.yml` controls enforcement:
544
-
545
- - `warn` (default): report violations, continue
546
- - `strict`: block incompatible operations
547
-
548
- ## Workspace Policy Management
549
-
550
- Manage `.rapidkit/policies.yml` via CLI (recommended, avoids manual YAML edits):
551
-
552
- ```bash
553
- npx rapidkit workspace policy show
554
- npx rapidkit workspace policy set mode strict
555
- npx rapidkit workspace policy set dependency_sharing_mode shared-runtime-caches
556
- npx rapidkit workspace policy set rules.enforce_toolchain_lock true
557
- ```
558
-
559
- Supported keys:
560
-
561
- - `mode`
562
- - `dependency_sharing_mode`
563
- - `rules.enforce_workspace_marker`
564
- - `rules.enforce_toolchain_lock`
565
- - `rules.disallow_untrusted_tool_sources`
566
- - `rules.enforce_compatibility_matrix`
567
- - `rules.require_mirror_lock_for_offline`
568
-
569
- ## Setup and Warm Dependencies
570
-
571
- `setup <runtime>` validates toolchain and updates `.rapidkit/toolchain.lock`.
572
-
573
- `--warm-deps` adds optional dependency warm-up:
574
-
575
- - Node: lock/dependency warm-up in Node project directories
576
- - Go: module warm-up in Go project directories
577
- - Python: accepted, currently reports node/go scope
578
-
579
- Warm-deps behavior is non-fatal by design and reports explicit outcome (`completed` / `failed` / `skipped`).
580
-
581
- ## VS Code Extension (Recommended)
582
-
583
- For the best RapidKit experience, use the **Workspai VS Code extension** — it wraps this CLI with a
584
- visual workspace explorer, AI-powered project creation, and context-aware coding assistance.
585
-
586
- ### Why use the extension?
587
-
588
- | Feature | CLI | Extension |
589
- | -------------------------------------- | --- | ---------------- |
590
- | Create workspace / project | ✅ | ✅ Visual wizard |
591
- | AI Create — describe → scaffold | ❌ | ✅ |
592
- | Project Assistant (context-aware Q&A) | ❌ | ✅ |
593
- | Workspace tree explorer | ❌ | ✅ |
594
- | Module catalog browser | ❌ | ✅ |
595
- | One-click `rapidkit init / dev / test` | ❌ | ✅ |
596
- | Inline AI on every workspace item | ❌ | ✅ |
597
-
598
- ### Install
599
-
600
- Search **Workspai** in the VS Code Extensions marketplace, or:
601
-
602
- ```bash
603
- ext install rapidkit.rapidkit-vscode
604
162
  ```
605
163
 
606
- > The extension calls this CLI under the hood both tools work together seamlessly.
607
- > You do **not** need to install the CLI separately when using the extension.
608
-
609
- - Extension repository: https://github.com/rapidkitlabs/rapidkit-vscode
164
+ Full syntax: [docs/commands-reference.md](docs/commands-reference.md). CI workflows: [docs/ci-workflows.md](docs/ci-workflows.md)includes `.github/workflows/ci.yml`, `.github/workflows/workspace-e2e-matrix.yml`, `.github/workflows/windows-bridge-e2e.yml`, `.github/workflows/e2e-smoke.yml`, `.github/workflows/security.yml`.
610
165
 
611
- ## CI Workflow Ownership Map
166
+ ## Workspai ecosystem
612
167
 
613
- Use this map to avoid overlap when editing CI:
168
+ | Component | Repository | Role |
169
+ | --- | --- | --- |
170
+ | CLI | [rapidkit-npm](https://github.com/rapidkitlabs/rapidkit-npm) | Commands, governance, adoption, CI evidence |
171
+ | VS Code | [rapidkit-vscode](https://github.com/rapidkitlabs/rapidkit-vscode) | Workspai dashboard, sidebar, AI studio |
172
+ | Core | [rapidkit-core](https://github.com/rapidkitlabs/rapidkit-core) | Python engine, modules, doctor |
173
+ | Examples | [rapidkit-examples](https://github.com/rapidkitlabs/rapidkit-examples) | Starter workspaces |
614
174
 
615
- - `.github/workflows/ci.yml`
616
- - Build/lint/typecheck/tests/coverage matrix
617
- - General quality and contract gates
618
- - `.github/workflows/workspace-e2e-matrix.yml`
619
- - Cross-OS workspace lifecycle smoke
620
- - Setup (`--warm-deps`) + cache/mirror ops
621
- - Chaos/non-fatal warm-deps behavior (Ubuntu job)
622
- - `.github/workflows/windows-bridge-e2e.yml`
623
- - Native Windows bridge/lifecycle checks
624
- - `.github/workflows/e2e-smoke.yml`
625
- - Focused bridge regression smoke (fast, narrow scope)
626
- - `.github/workflows/security.yml`
627
- - Security scanning and policy checks
175
+ ## VS Code extension
628
176
 
629
- ## Documentation Index
177
+ Search **Workspai** in the marketplace or `ext install rapidkit.rapidkit-vscode`.
630
178
 
631
- Primary docs live under `docs/`:
179
+ | Feature | CLI | Extension |
180
+ | --- | --- | --- |
181
+ | Create / adopt / import | Yes | Guided wizards |
182
+ | Workspace model / context | Yes | Dashboard + AI scope |
183
+ | Enterprise evidence loop | Partial | Full dashboard |
184
+ | Module catalog (FastAPI/NestJS) | Limited | Browser UI |
632
185
 
633
- - General docs index: [docs/README.md](docs/README.md)
634
- - Setup details: [docs/SETUP.md](docs/SETUP.md)
635
- - Doctor command: [docs/doctor-command.md](docs/doctor-command.md)
636
- - Workspace marker spec: [docs/WORKSPACE_MARKER_SPEC.md](docs/WORKSPACE_MARKER_SPEC.md)
637
- - Config file guide: [docs/config-file-guide.md](docs/config-file-guide.md)
638
- - Package manager policy: [docs/PACKAGE_MANAGER_POLICY.md](docs/PACKAGE_MANAGER_POLICY.md)
639
- - Security: [docs/SECURITY.md](docs/SECURITY.md)
640
- - Development: [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md)
186
+ The extension invokes this npm CLI. For the latest `adopt` and `create frontend` features, install matching CLI version: `npm install -g rapidkit@latest` or `npm link` from this repo ([Development](#development)).
641
187
 
642
- ## Workspace Run — Polyglot Fleet Orchestration
643
-
644
- `workspace run` is an enterprise-grade orchestrator for executing CI-safe stages (init, test, build, start) across polyglot monorepos. It supports 20+ frameworks across 9 runtimes with professional-grade features.
645
-
646
- ### Quick Start
647
-
648
- ```bash
649
- # Test all discovered projects in parallel
650
- npx rapidkit workspace run test --parallel
188
+ ## Documentation
651
189
 
652
- # Test only affected projects since last commit
653
- npx rapidkit workspace run test --affected --since HEAD~1
654
-
655
- # Test affected + downstream dependents from workspace.contract.json
656
- npx rapidkit workspace run test --affected --blast-radius
657
-
658
- # Build specific projects with custom stages (if defined in .rapidkit/context.json)
659
- npx rapidkit workspace run build --json --max-workers 8
660
- ```
661
-
662
- `--blast-radius` uses `.rapidkit/workspace.contract.json` when available. It expands direct
663
- `dependsOn` relationships and event relationships where one project `publishes` an event and another
664
- project `consumes` it. Legacy `.rapidkit/workspace-dependency-graph.json` remains supported as a fallback.
665
-
666
- ### Supported Runtimes & Frameworks
667
-
668
- | Runtime | Frameworks | Status |
669
- | ---------- | ------------------------------ | -------- |
670
- | **Node** | NestJS, Express, Next.js, Nuxt | Built-in |
671
- | **Go** | Fiber, Gin, Echo, Chi | Built-in |
672
- | **Java** | Spring Boot, Quarkus, Gradle | Built-in |
673
- | **Python** | FastAPI, Django, Flask, Poetry | Built-in |
674
- | **PHP** | Laravel, Symfony, Slim | Observed |
675
- | **Rust** | Actix, Axum, Rocket, Tokio | Observed |
676
- | **.NET** | ASP.NET Core, Entity Framework | Built-in |
677
- | **Elixir** | Phoenix, Umbrella Projects | Observed |
678
- | **Ruby** | Rails, Sinatra, RSpec | Observed |
679
-
680
- For the public scaffold/import/lifecycle/module support contract, see
681
- [docs/contracts/RUNTIME_SUPPORT_MATRIX.md](docs/contracts/RUNTIME_SUPPORT_MATRIX.md).
682
-
683
- ### Enterprise Features
684
-
685
- 1. **Command Overrides** — Customize stage commands per project via `.rapidkit/context.json`
686
- 2. **Multi-Framework Projects** — Support full-stack apps (e.g., Laravel + Vue in same directory)
687
- 3. **Error Diagnostics** — Categorize errors (setup vs test failure vs runtime) for better CI feedback
688
- 4. **Preflight Validation** — Validate command availability before execution
689
- 5. **Health Checks** — Verify services are ready (port listening, HTTP health, log grep)
690
- 6. **Custom Stages** — Define project-specific stages (lint, docs, bench, etc.)
691
- 7. **Stage Dependencies** — Define execution order and prerequisites
692
- 8. **Environment Variants** — dev/staging/prod command variants
693
- 9. **Caching** — Skip re-runs of completed stages
694
- 10. **Composite Steps** — Multi-step build logic
695
-
696
- For deeper enterprise deployment and governance details, see:
697
-
698
- - [docs/README.md](docs/README.md)
699
- - [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md)
700
- - [docs/SECURITY.md](docs/SECURITY.md)
701
-
702
- ### Configuration Example
703
-
704
- ```json
705
- {
706
- ".rapidkit/context.json": {
707
- "runtime": "php",
708
- "framework": "Laravel",
709
- "commands": {
710
- "test": "php artisan test --parallel=4",
711
- "build": "php artisan config:cache && php artisan route:cache",
712
- "lint": "php bin/phpstan analyse --level=8"
713
- },
714
- "environment": "dev"
715
- }
716
- }
717
- ```
718
-
719
- ### Output & Reporting
720
-
721
- ```bash
722
- # JSON report for CI integration
723
- npx rapidkit workspace run test --json > test-results.json
724
-
725
- cat test-results.json | jq '.projects[] | {path, status, errorCategory}'
726
- # Output:
727
- # {
728
- # "path": "services/api",
729
- # "status": "failed",
730
- # "errorCategory": "setup" # setup | test-failure | runtime | dependency | timeout
731
- # }
732
- ```
733
-
734
- ## Command Semantics
735
-
736
- RapidKit has two workspace-level execution surfaces, and three equivalent full-init aliases at workspace root:
737
-
738
- | Command | Intent | Scope |
739
- | ------------------------------------------------------------------ | --------------------------------------------------------------------------------- | ----------------------------------------- |
740
- | `init` (at workspace root), `workspace init`, `workspace run init` | Mirrored full-init orchestration (workspace-profile deps + selected project init) | Workspace root + discovered project fleet |
741
- | `workspace run <test\|build\|start>` | Fleet stage execution — run a CI-safe stage across discovered projects | Selected project fleet |
742
- | `init`, `test`, `build`, `start`, `dev` (inside project directory) | Project primitive — run one stage in the current project only | Single project |
743
-
744
- **Key design rule:** at workspace root, these are equivalent aliases: `npx rapidkit init`, `npx rapidkit workspace init`, `npx rapidkit workspace run init`.
745
- Inside a project directory, `npx rapidkit init` remains a project-scoped primitive.
746
-
747
- `dev` is intentionally excluded from `workspace run` — it is a long-running local process, not a CI batch stage.
748
-
749
- Detailed enterprise semantic specs and governance evidence contracts are intentionally excluded from OSS docs.
190
+ | Doc | Description |
191
+ | --- | --- |
192
+ | [docs/README.md](docs/README.md) | Documentation index |
193
+ | [docs/commands-reference.md](docs/commands-reference.md) | Full command syntax |
194
+ | [docs/workspace-operations.md](docs/workspace-operations.md) | Import, adopt, snapshots, archives, infra |
195
+ | [docs/workspace-run.md](docs/workspace-run.md) | Polyglot fleet orchestration |
196
+ | [docs/doctor-command.md](docs/doctor-command.md) | Doctor scopes, CI exit codes, JSON evidence |
197
+ | [docs/OPEN_SOURCE_USER_SCENARIOS.md](docs/OPEN_SOURCE_USER_SCENARIOS.md) | Role-based workflows |
198
+ | [docs/SETUP.md](docs/SETUP.md) | Maintainer setup |
199
+ | [docs/SECURITY.md](docs/SECURITY.md) | Security policy |
200
+ | [docs/config-file-guide.md](docs/config-file-guide.md) | User configuration |
201
+ | [docs/README.md](docs/README.md) | Full documentation index |
202
+ | [CHANGELOG.md](CHANGELOG.md) | Version history |
750
203
 
751
204
  ## Development
752
205
 
753
206
  ```bash
754
- npm ci
755
- npm run build
756
- npm run test
757
- npm run lint
758
- npm run typecheck
207
+ npm ci && npm run build && npm run test
208
+ npm run install:local # link CLI globally for manual testing
759
209
  ```
760
210
 
761
- Link local CLI globally for manual testing:
762
-
763
- ```bash
764
- npm run install:local
765
- npx rapidkit --version
766
- ```
211
+ Contributors: [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md), [docs/ci-workflows.md](docs/ci-workflows.md).
767
212
 
768
- > Packaging note: `npm run prepack` validates the committed `data/modules-embeddings.json`
769
- > artifact before `npm pack` / `npm publish`. This keeps packaging deterministic and avoids
770
- > registry or `npx` downloads during release.
771
- >
772
- > If you need to refresh the local test embeddings manually, run:
773
- >
774
- > ```bash
775
- > npm run generate-embeddings
776
- > ```
213
+ `npm run prepack` validates embeddings and CLI surfaces before `npm pack` / `npm publish`.
777
214
 
778
215
  ## Troubleshooting
779
216
 
780
- ### Quick fixes matrix
781
-
782
- | Problem | Quick check | Fix |
783
- | ------------------------------ | -------------------------------------------------- | ----------------------------------------------------------------------- |
784
- | `python3` not found | `python3 --version` | Install Python 3.10+ and re-run `npx rapidkit create workspace ...` |
785
- | `setup --warm-deps` skipped | Check for `package.json` / `go.mod` in current dir | Run from the target project directory |
786
- | strict policy blocks command | Review `.rapidkit/policies.yml` | Set policy intentionally via `npx rapidkit workspace policy set ...` |
787
- | `npm audit fix --force` downgrades tsup | Check `package.json` — tsup should stay `^8.5.1` | **Do not use `--force`**. Run `npm install` after restoring tsup; use `esbuild` override if audit still flags dev deps |
788
- | Security Audit CI fails on esbuild | Run `npm audit --audit-level=moderate` locally | Keep `tsup@^8.5.1` and `"overrides": { "esbuild": "^0.28.1" }` in `package.json` |
789
- | doctor output seems stale | Check report timestamp in `.rapidkit/reports/` | Re-run `npx rapidkit doctor workspace` or `npx rapidkit doctor project` |
790
- | affected run scope seems wrong | Verify git ref | Use `--since <ref>` explicitly |
791
-
792
- - If setup output looks stale, run `npx rapidkit setup <runtime>` again to refresh `.rapidkit/toolchain.lock`.
793
- - If dependency warm-up is skipped, verify you are inside the corresponding project directory (`package.json` for Node, `go.mod` for Go).
794
- - For strict-mode blocks, inspect `.rapidkit/policies.yml` and workspace profile in `.rapidkit/workspace.json`.
217
+ | Problem | Quick check | Fix |
218
+ | --- | --- | --- |
219
+ | `python3` not found | `python3 --version` | Install Python 3.10+ |
220
+ | `setup --warm-deps` skipped | Project markers in cwd | Run from target project directory |
221
+ | Strict policy blocks command | `.rapidkit/policies.yml` | `workspace policy set …` |
222
+ | `npm audit fix --force` downgrades tsup | `package.json` | Do not use `--force`; keep `tsup@^8.5.1` |
223
+ | Security audit fails on esbuild | `npm audit --audit-level=moderate` | Keep `esbuild` override in `package.json` |
224
+ | Doctor output stale | Report timestamps | Re-run `doctor workspace` or `doctor project` |
225
+ | Affected run scope wrong | Git ref | Use `--since <ref>` explicitly |
795
226
 
796
227
  ## License
797
228