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