rapidkit 0.40.1 → 0.41.1

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 (199) hide show
  1. package/README.md +48 -7
  2. package/contracts/agent-customization-pack.v1.json +52 -2
  3. package/contracts/extension-cli-compatibility.v1.json +14 -2
  4. package/contracts/runtime-command-surface.v1.json +7 -1
  5. package/contracts/workspace-intelligence/agent-action-outcome.v1.json +38 -0
  6. package/contracts/workspace-intelligence/blocker-resolution.v1.json +65 -0
  7. package/contracts/workspace-intelligence/doctor-fix-result.v1.json +34 -0
  8. package/contracts/workspace-intelligence/studio-blocker-handoff.v1.json +91 -0
  9. package/contracts/workspace-intelligence/workspace-contract-verify.v1.json +51 -0
  10. package/contracts/workspace-intelligence/workspace-dependency-graph.v1.json +61 -1
  11. package/contracts/workspace-intelligence/workspace-explain.v1.json +31 -0
  12. package/contracts/workspace-intelligence/workspace-intelligence-history.v1.json +36 -0
  13. package/contracts/workspace-intelligence/workspace-operational-skill.v1.json +37 -0
  14. package/contracts/workspace-intelligence/workspace-skills-index.v1.json +27 -0
  15. package/dist/analyze-QYHMGLSG.js +1 -0
  16. package/dist/autopilot-release-AHMQEUFH.js +1 -0
  17. package/dist/chunk-33LR2QEM.js +2 -0
  18. package/dist/chunk-3PTJID76.js +2 -0
  19. package/dist/chunk-46AGNYI7.js +50 -0
  20. package/dist/chunk-64RTZBHU.js +2 -0
  21. package/dist/chunk-AQ4XZZC6.js +1 -0
  22. package/dist/{chunk-RXWM5DSC.js → chunk-BFEBZABL.js} +3 -3
  23. package/dist/{chunk-3YLMCP3V.js → chunk-CDCYRBAY.js} +1 -1
  24. package/dist/chunk-CDPR2YKL.js +13 -0
  25. package/dist/chunk-CKXJR3YT.js +7 -0
  26. package/dist/chunk-E5ZVQL3C.js +13 -0
  27. package/dist/chunk-ELU3G6DQ.js +9 -0
  28. package/dist/chunk-EN6YCX36.js +1 -0
  29. package/dist/chunk-FMBSON6H.js +33 -0
  30. package/dist/chunk-GBJBQ43T.js +1 -0
  31. package/dist/chunk-ICGWHIMK.js +1 -0
  32. package/dist/{chunk-4FJQWL7P.js → chunk-ITJ6RKUW.js} +3 -3
  33. package/dist/{workspace-graph-ICB7OVAZ.js → chunk-JEI6BTZI.js} +1 -1
  34. package/dist/{chunk-G76C74EV.js → chunk-JU3VNLTY.js} +1 -1
  35. package/dist/chunk-JW2FSKT3.js +2 -0
  36. package/dist/chunk-KIUSCFHF.js +1 -0
  37. package/dist/chunk-LKX3L7TE.js +2 -0
  38. package/dist/chunk-MIWDCR6I.js +2 -0
  39. package/dist/{chunk-6G2KSHP6.js → chunk-OLDPVVSV.js} +1 -1
  40. package/dist/{chunk-4Q2ZZKGB.js → chunk-PCXSTKZ5.js} +1 -1
  41. package/dist/{chunk-6KD5F6LX.js → chunk-Q2KZIBV4.js} +1 -1
  42. package/dist/{chunk-ERCD6NFF.js → chunk-RSYUNEH7.js} +13 -13
  43. package/dist/chunk-TJN7G2MA.js +1 -0
  44. package/dist/chunk-UQR6G7KH.js +32 -0
  45. package/dist/chunk-VMJA36WD.js +1 -0
  46. package/dist/chunk-WRMCPKGA.js +1 -0
  47. package/dist/{create-XVDDQA42.js → create-RNP5ACQL.js} +1 -1
  48. package/dist/demo-kit-N5U3NGAE.js +149 -0
  49. package/dist/{doctor-UOLOGJ2Z.js → doctor-XM6QDTDC.js} +1 -1
  50. package/dist/{dotnet-webapi-clean-RTBRPDPL.js → dotnet-webapi-clean-K33C77EI.js} +1 -1
  51. package/dist/{gofiber-standard-UGIRKPKL.js → gofiber-standard-BQ4HCXL2.js} +1 -1
  52. package/dist/{gogin-standard-HJ7SPFNT.js → gogin-standard-PUBCYW3A.js} +1 -1
  53. package/dist/index.d.ts +45 -7
  54. package/dist/index.js +145 -127
  55. package/dist/{pipeline-XK62WL4D.js → pipeline-DH6Z47O4.js} +1 -1
  56. package/dist/platform-capabilities-TSLK667K.js +1 -0
  57. package/dist/{pythonRapidkitExec-MNWRC4F2.js → pythonRapidkitExec-SGKW76XM.js} +1 -1
  58. package/dist/{springboot-standard-IWJSVDLZ.js → springboot-standard-XFVQI37R.js} +1 -1
  59. package/dist/{workspace-L4ITCKMM.js → workspace-E554C5SM.js} +1 -1
  60. package/dist/workspace-agent-sync-2HRPM5ZD.js +1 -0
  61. package/dist/{workspace-context-NMMQMHNU.js → workspace-context-VJTXW3K4.js} +1 -1
  62. package/dist/workspace-contract-OO4GMENV.js +1 -0
  63. package/dist/workspace-explain-3WSJLIJ6.js +1 -0
  64. package/dist/workspace-explain-contract-24RQ7KIW.js +1 -0
  65. package/dist/workspace-feedback-65NR3EZH.js +1 -0
  66. package/dist/{workspace-foundation-HNIRAIBF.js → workspace-foundation-LISDH53T.js} +1 -1
  67. package/dist/workspace-graph-2A5THUCI.js +1 -0
  68. package/dist/workspace-history-VPDADQKG.js +1 -0
  69. package/dist/{workspace-intelligence-64IWAYHS.js → workspace-intelligence-E3KXEZCM.js} +1 -1
  70. package/dist/workspace-mcp-serve-RFYDCA2L.js +3 -0
  71. package/dist/workspace-model-YL7W3573.js +1 -0
  72. package/dist/workspace-registry-summary-X5WRUU3T.js +1 -0
  73. package/dist/workspace-run-GCIQD73R.js +1 -0
  74. package/dist/workspace-verify-NRYH7RNB.js +1 -0
  75. package/dist/workspace-watch-H2AETGFI.js +1 -0
  76. package/docs/DEVELOPMENT.md +1 -1
  77. package/docs/OPEN_SOURCE_USER_SCENARIOS.md +1 -1
  78. package/docs/README.md +1 -1
  79. package/docs/commands-reference.md +10 -2
  80. package/docs/contracts/ARTIFACT_CATALOG.md +3 -1
  81. package/docs/contracts/NAMING_AND_COEXISTENCE.md +58 -0
  82. package/docs/workspace-run.md +25 -1
  83. package/package.json +7 -3
  84. package/scripts/enterprise-package-smoke.mjs +427 -0
  85. package/scripts/prepack-enterprise.mjs +40 -0
  86. package/templates/generator.js +175 -0
  87. package/templates/kits/fastapi-ddd/README.md.j2 +122 -0
  88. package/templates/kits/fastapi-ddd/common/env.example.j2 +10 -0
  89. package/templates/kits/fastapi-ddd/env.example.j2 +1 -0
  90. package/templates/kits/fastapi-ddd/pyproject.toml.j2 +64 -0
  91. package/templates/kits/fastapi-ddd/src/__init__.py.j2 +3 -0
  92. package/templates/kits/fastapi-ddd/src/app/__init__.py.j2 +11 -0
  93. package/templates/kits/fastapi-ddd/src/app/application/__init__.py.j2 +5 -0
  94. package/templates/kits/fastapi-ddd/src/app/application/interfaces.py.j2 +43 -0
  95. package/templates/kits/fastapi-ddd/src/app/application/use_cases/__init__.py.j2 +6 -0
  96. package/templates/kits/fastapi-ddd/src/app/application/use_cases/health.py.j2 +14 -0
  97. package/templates/kits/fastapi-ddd/src/app/application/use_cases/notes.py.j2 +24 -0
  98. package/templates/kits/fastapi-ddd/src/app/config/__init__.py.j2 +16 -0
  99. package/templates/kits/fastapi-ddd/src/app/domain/__init__.py.j2 +3 -0
  100. package/templates/kits/fastapi-ddd/src/app/domain/models/__init__.py.j2 +6 -0
  101. package/templates/kits/fastapi-ddd/src/app/domain/models/health.py.j2 +16 -0
  102. package/templates/kits/fastapi-ddd/src/app/domain/models/note.py.j2 +27 -0
  103. package/templates/kits/fastapi-ddd/src/app/infrastructure/__init__.py.j2 +5 -0
  104. package/templates/kits/fastapi-ddd/src/app/infrastructure/repositories/__init__.py.j2 +6 -0
  105. package/templates/kits/fastapi-ddd/src/app/infrastructure/repositories/health.py.j2 +17 -0
  106. package/templates/kits/fastapi-ddd/src/app/infrastructure/repositories/notes.py.j2 +28 -0
  107. package/templates/kits/fastapi-ddd/src/app/main.py.j2 +61 -0
  108. package/templates/kits/fastapi-ddd/src/app/presentation/__init__.py.j2 +3 -0
  109. package/templates/kits/fastapi-ddd/src/app/presentation/api/__init__.py.j2 +5 -0
  110. package/templates/kits/fastapi-ddd/src/app/presentation/api/dependencies/__init__.py.j2 +19 -0
  111. package/templates/kits/fastapi-ddd/src/app/presentation/api/router.py.j2 +10 -0
  112. package/templates/kits/fastapi-ddd/src/app/presentation/api/routes/__init__.py.j2 +5 -0
  113. package/templates/kits/fastapi-ddd/src/app/presentation/api/routes/health.py.j2 +27 -0
  114. package/templates/kits/fastapi-ddd/src/app/presentation/api/routes/notes.py.j2 +50 -0
  115. package/templates/kits/fastapi-ddd/src/app/shared/__init__.py.j2 +5 -0
  116. package/templates/kits/fastapi-ddd/src/app/shared/result.py.j2 +28 -0
  117. package/templates/kits/fastapi-ddd/src/cli.py.j2 +167 -0
  118. package/templates/kits/fastapi-ddd/src/main.py.j2 +35 -0
  119. package/templates/kits/fastapi-ddd/src/modules/__init__.py.j2 +3 -0
  120. package/templates/kits/fastapi-ddd/src/routing/__init__.py.j2 +13 -0
  121. package/templates/kits/fastapi-ddd/src/routing/health.py.j2 +7 -0
  122. package/templates/kits/fastapi-ddd/src/routing/notes.py.j2 +7 -0
  123. package/templates/kits/fastapi-ddd/tests/__init__.py.j2 +1 -0
  124. package/templates/kits/fastapi-ddd/tests/test_app_factory.py.j2 +22 -0
  125. package/templates/kits/fastapi-ddd/tests/test_health.py.j2 +17 -0
  126. package/templates/kits/fastapi-ddd/tests/test_notes.py.j2 +27 -0
  127. package/templates/kits/fastapi-standard/README.md.j2 +145 -0
  128. package/templates/kits/fastapi-standard/common/env.example.j2 +10 -0
  129. package/templates/kits/fastapi-standard/env.example.j2 +1 -0
  130. package/templates/kits/fastapi-standard/pyproject.toml.j2 +64 -0
  131. package/templates/kits/fastapi-standard/src/__init__.py.j2 +3 -0
  132. package/templates/kits/fastapi-standard/src/cli.py.j2 +168 -0
  133. package/templates/kits/fastapi-standard/src/main.py.j2 +66 -0
  134. package/templates/kits/fastapi-standard/src/modules/__init__.py.j2 +3 -0
  135. package/templates/kits/fastapi-standard/src/routing/__init__.py.j2 +16 -0
  136. package/templates/kits/fastapi-standard/src/routing/examples.py.j2 +71 -0
  137. package/templates/kits/fastapi-standard/src/routing/health.py.j2 +22 -0
  138. package/templates/kits/fastapi-standard/tests/__init__.py.j2 +1 -0
  139. package/templates/kits/fastapi-standard/tests/test_examples.py.j2 +29 -0
  140. package/templates/kits/fastapi-standard/tests/test_health.py.j2 +17 -0
  141. package/templates/kits/nestjs-standard/Dockerfile.j2 +41 -0
  142. package/templates/kits/nestjs-standard/README.md.j2 +139 -0
  143. package/templates/kits/nestjs-standard/docker-compose.yml.j2 +94 -0
  144. package/templates/kits/nestjs-standard/docs/README.md.j2 +15 -0
  145. package/templates/kits/nestjs-standard/env.example.j2 +18 -0
  146. package/templates/kits/nestjs-standard/eslint.config.cjs.j2 +9 -0
  147. package/templates/kits/nestjs-standard/jest.config.ts.j2 +22 -0
  148. package/templates/kits/nestjs-standard/nest-cli.json.j2 +10 -0
  149. package/templates/kits/nestjs-standard/package.json.j2 +101 -0
  150. package/templates/kits/nestjs-standard/src/app.controller.ts.j2 +14 -0
  151. package/templates/kits/nestjs-standard/src/app.module.ts.j2 +26 -0
  152. package/templates/kits/nestjs-standard/src/app.service.ts.j2 +16 -0
  153. package/templates/kits/nestjs-standard/src/auth/auth.controller.ts.j2 +20 -0
  154. package/templates/kits/nestjs-standard/src/auth/auth.module.ts.j2 +13 -0
  155. package/templates/kits/nestjs-standard/src/auth/auth.service.ts.j2 +6 -0
  156. package/templates/kits/nestjs-standard/src/auth/entities/token.entity.ts.j2 +3 -0
  157. package/templates/kits/nestjs-standard/src/auth/entities/user.entity.ts.j2 +3 -0
  158. package/templates/kits/nestjs-standard/src/auth/entities/webauthn.entity.ts.j2 +3 -0
  159. package/templates/kits/nestjs-standard/src/config/configuration.ts.j2 +85 -0
  160. package/templates/kits/nestjs-standard/src/config/index.ts.j2 +2 -0
  161. package/templates/kits/nestjs-standard/src/config/validation.ts.j2 +21 -0
  162. package/templates/kits/nestjs-standard/src/examples/dto/create-note.dto.ts.j2 +11 -0
  163. package/templates/kits/nestjs-standard/src/examples/examples.controller.ts.j2 +24 -0
  164. package/templates/kits/nestjs-standard/src/examples/examples.module.ts.j2 +10 -0
  165. package/templates/kits/nestjs-standard/src/examples/examples.service.ts.j2 +33 -0
  166. package/templates/kits/nestjs-standard/src/main.ts.j2 +53 -0
  167. package/templates/kits/nestjs-standard/src/modules/index.ts.j2 +25 -0
  168. package/templates/kits/nestjs-standard/test/app.controller.spec.ts.j2 +24 -0
  169. package/templates/kits/nestjs-standard/test/app.e2e-spec.ts.j2 +60 -0
  170. package/templates/kits/nestjs-standard/test/examples.controller.spec.ts.j2 +28 -0
  171. package/templates/kits/nestjs-standard/test/jest-e2e.json.j2 +15 -0
  172. package/templates/kits/nestjs-standard/tsconfig.build.json.j2 +12 -0
  173. package/templates/kits/nestjs-standard/tsconfig.json.j2 +26 -0
  174. package/dist/analyze-RHQM4AB2.js +0 -1
  175. package/dist/autopilot-release-OJTLXPMX.js +0 -1
  176. package/dist/chunk-5VBRMLRU.js +0 -7
  177. package/dist/chunk-7VI4U7Q5.js +0 -2
  178. package/dist/chunk-FV5A3N3I.js +0 -2
  179. package/dist/chunk-GDGATWR5.js +0 -2
  180. package/dist/chunk-GOM3RFB3.js +0 -2
  181. package/dist/chunk-GX7UU7LL.js +0 -33
  182. package/dist/chunk-KYH364KQ.js +0 -1
  183. package/dist/chunk-OWNGSAO3.js +0 -2
  184. package/dist/chunk-QPEBI6AB.js +0 -2
  185. package/dist/chunk-TYZPPUBH.js +0 -1
  186. package/dist/chunk-VQMZC5TC.js +0 -9
  187. package/dist/chunk-WHCON2VN.js +0 -50
  188. package/dist/chunk-X7PWDIQW.js +0 -1
  189. package/dist/chunk-Z5LKRG57.js +0 -1
  190. package/dist/chunk-ZWKLRZE5.js +0 -13
  191. package/dist/demo-kit-RWGOEDW4.js +0 -141
  192. package/dist/workspace-agent-sync-G7JU77IK.js +0 -25
  193. package/dist/workspace-contract-D5O4OZD5.js +0 -1
  194. package/dist/workspace-history-LHUTLE3S.js +0 -1
  195. package/dist/workspace-model-SDHH5RBC.js +0 -1
  196. package/dist/workspace-registry-summary-MIPHVB56.js +0 -1
  197. package/dist/workspace-run-SPP32MPV.js +0 -1
  198. package/dist/workspace-verify-6Q6MGRG6.js +0 -1
  199. package/dist/workspace-watch-JDXVGW4H.js +0 -1
package/README.md CHANGED
@@ -38,8 +38,8 @@ npx rapidkit my-workspace --yes --profile polyglot
38
38
  cd ~/rapidkit/workspaces/my-workspace
39
39
 
40
40
  npx rapidkit bootstrap --profile polyglot
41
- npx rapidkit create project
42
- npx rapidkit create frontend nextjs my-web --yes
41
+ npx rapidkit create project nextjs my-web --yes
42
+ npx rapidkit create project fastapi.standard my-api --yes
43
43
 
44
44
  npx rapidkit workspace model --json
45
45
  npx rapidkit workspace context --for-agent --json --write
@@ -162,8 +162,11 @@ For the visual experience, install the [Workspai VS Code extension](https://mark
162
162
  | What projects exist in this workspace? | `workspace model --json` |
163
163
  | What context should AI agents receive? | `workspace context --for-agent --json --write` |
164
164
  | What breaks if I change this? | `workspace impact --from <snapshot>` |
165
+ | Why is release blocked? | `workspace explain release-blocked --json --write` |
166
+ | Trace a diff through blast radius and gates? | `workspace trace --from .rapidkit/reports/workspace-model-diff-last-run.json --json --write` |
165
167
  | Can I safely release? | `pipeline --json --strict` |
166
168
  | How do I align AI tools and CI? | `workspace agent-sync --write` |
169
+ | Expose workspace evidence to MCP clients? | `workspace mcp serve` |
167
170
  | How do I onboard an existing project? | `adopt` |
168
171
  | How do I bring repositories into a workspace? | `import` |
169
172
 
@@ -242,11 +245,39 @@ Workspace Intelligence provides a shared understanding of projects, dependencies
242
245
  | `workspace snapshot --json` | Persist model snapshot |
243
246
  | `workspace diff --from <file\|git[:ref]> --json` | Diff against snapshot or git |
244
247
  | `workspace impact --from <file> --json` | Graph-aware transitive blast-radius evidence |
245
- | `workspace verify [--strict] --json` | Definitive verification gate (subgraph + freshness + policy) |
248
+ | `workspace verify [--strict] --json` | Definitive verification gate (subgraph + freshness + policy + fleet evidence) |
249
+ | `workspace explain <target> [--write] --json` | Human narrative for release blockers, projects, or trace slices |
250
+ | `workspace why <target>` | Alias of `workspace explain` |
251
+ | `workspace trace --from <diff> [--write] --json` | Diff → impact → gates narrative for agents and IDE handoff |
252
+ | `workspace feedback record --json` | Append structured agent action outcomes to intelligence history |
253
+ | `workspace mcp serve` | Read-mostly stdio MCP bridge over workspace evidence |
246
254
  | `workspace graph <emit\|explain\|dot\|mermaid>` | Inspect and visualize the dependency graph |
247
255
  | `workspace watch [--json] [--once]` | Daemon mode: keep model + graph in memory, stream change events |
256
+ | `workspace run <stage> [--scope project:X] [--reuse-passed]` | Fleet init/test/build/start or custom stages from `.rapidkit/context.json` |
248
257
 
249
- JSON schemas: `contracts/workspace-intelligence/`. Details: [commands-reference.md](docs/commands-reference.md).
258
+ JSON schemas: `contracts/workspace-intelligence/`. Command coexistence and naming:
259
+ [docs/contracts/NAMING_AND_COEXISTENCE.md](docs/contracts/NAMING_AND_COEXISTENCE.md).
260
+ Details: [commands-reference.md](docs/commands-reference.md).
261
+
262
+ ### Operational intelligence (Phase 4)
263
+
264
+ After model → diff → impact → verify, use **explain** and **trace** for
265
+ human/agent narratives, **feedback** to record outcomes, and **MCP serve** for
266
+ read-only tool access:
267
+
268
+ ```bash
269
+ npx rapidkit workspace explain release-blocked --json --write
270
+ npx rapidkit workspace trace --from .rapidkit/reports/workspace-model-diff-last-run.json --json --write
271
+ npx rapidkit workspace feedback record --json
272
+ npx rapidkit workspace mcp serve
273
+ ```
274
+
275
+ Fleet runs support scoped execution and result reuse:
276
+
277
+ ```bash
278
+ npx rapidkit workspace run test --scope project:api --reuse-passed --json
279
+ npx rapidkit workspace run lint --scope project:api # custom stage from context.json
280
+ ```
250
281
 
251
282
  ### Graph-aware intelligence engine
252
283
 
@@ -303,6 +334,9 @@ npm run check:agent-customization-drift -- --workspace <workspace-root>
303
334
  | Artifact / file | Purpose |
304
335
  | ----------------------------------------------------------------------- | -------------------------------------------------------- |
305
336
  | `.rapidkit/reports/agent-customization-pack.json` | Versioned output inventory, target matrix, drift state |
337
+ | `.rapidkit/reports/workspace-explain-last-run.json` | Unified explain / trace narrative for blockers and projects |
338
+ | `.rapidkit/reports/workspace-skills-index.json` | Index of operational playbooks (`.rapidkit/skills/*.md`) |
339
+ | `.rapidkit/skills/rapidkit-*.md` | Operational playbooks (generated by agent-sync) |
306
340
  | `.rapidkit/reports/rapidkit-mcp-design.json` | Read-mostly MCP-ready tool design manifest |
307
341
  | `.rapidkit/reports/INDEX.json` | Read order, blockers, report timestamps |
308
342
  | `.rapidkit/reports/workspace-context-agent.json` | Canonical agent context pack |
@@ -379,13 +413,20 @@ cd ~/rapidkit/workspaces/my-workspace
379
413
 
380
414
  npx rapidkit bootstrap --profile polyglot
381
415
  npx rapidkit create project # interactive kit picker
382
- npx rapidkit create frontend nextjs my-web --yes
416
+ npx rapidkit create project nextjs my-web --yes
417
+ npx rapidkit create project fastapi.standard my-api --yes
383
418
  cd <project-name> && npx rapidkit init && npx rapidkit dev
384
419
  ```
385
420
 
386
421
  Backend kits: `fastapi.standard`, `nestjs.standard`, `springboot.standard`, `gofiber.standard`, `dotnet.webapi.clean`, and more.
387
422
 
388
- Frontend: `create frontend nextjs|remix|vite-react|angular|astro|…` or `create project frontend.nextjs <name>`.
423
+ Frontend kits: `nextjs`, `remix`, `vite-react`, `nuxt`, `angular`, `astro`, `sveltekit`, and more — same command shape:
424
+
425
+ ```bash
426
+ npx rapidkit create project <kit> <name>
427
+ ```
428
+
429
+ (`create frontend <id>` remains supported as an alias.)
389
430
 
390
431
  Shortcut: `npx rapidkit platform` (interactive workspace wizard).
391
432
 
@@ -450,7 +491,7 @@ Search **Workspai** in the marketplace or install via:
450
491
  | Enterprise evidence loop | Partial | Full dashboard |
451
492
  | Module catalog (FastAPI/NestJS) | Limited | Browser UI |
452
493
 
453
- 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)).
494
+ The extension invokes this npm CLI. For the latest `adopt` and frontend generator features, install matching CLI version: `npm install -g rapidkit@latest` or `npm link` from this repo ([Development](#development)).
454
495
 
455
496
  ## Documentation
456
497
 
@@ -19,7 +19,8 @@
19
19
  ".github/prompts/rapidkit-diagnose.prompt.md",
20
20
  ".github/skills/rapidkit-workspace-intelligence/SKILL.md",
21
21
  ".github/agents/workspai-advisor.agent.md",
22
- ".rapidkit/reports/rapidkit-mcp-design.json"
22
+ ".rapidkit/reports/rapidkit-mcp-design.json",
23
+ ".rapidkit/reports/workspace-skills-index.json"
23
24
  ]
24
25
  }
25
26
  },
@@ -99,6 +100,11 @@
99
100
  "label": "Agent context pack",
100
101
  "required": true
101
102
  },
103
+ {
104
+ "path": ".rapidkit/reports/workspace-skills-index.json",
105
+ "label": "Operational skills index",
106
+ "required": true
107
+ },
102
108
  {
103
109
  "path": ".rapidkit/reports/workspace-model.json",
104
110
  "label": "Workspace model graph",
@@ -133,6 +139,31 @@
133
139
  "path": ".rapidkit/reports/workspace-verify-last-run.json",
134
140
  "label": "Workspace verify",
135
141
  "required": false
142
+ },
143
+ {
144
+ "path": ".rapidkit/reports/workspace-model-snapshot.json",
145
+ "label": "Workspace model snapshot",
146
+ "required": false
147
+ },
148
+ {
149
+ "path": ".rapidkit/reports/workspace-model-diff-last-run.json",
150
+ "label": "Workspace model diff",
151
+ "required": false
152
+ },
153
+ {
154
+ "path": ".rapidkit/reports/workspace-explain-last-run.json",
155
+ "label": "Workspace explain",
156
+ "required": false
157
+ },
158
+ {
159
+ "path": ".rapidkit/reports/workspace-contract-verify-last-run.json",
160
+ "label": "Workspace contract verify",
161
+ "required": false
162
+ },
163
+ {
164
+ "path": ".rapidkit/reports/workspace-intelligence-history.json",
165
+ "label": "Workspace intelligence history",
166
+ "required": false
136
167
  }
137
168
  ],
138
169
  "strictRules": [
@@ -151,9 +182,28 @@
151
182
  "prompt",
152
183
  "skill",
153
184
  "skill-resource",
185
+ "operational-skill",
186
+ "skills-index",
187
+ "explain-report",
154
188
  "agent",
155
189
  "rule",
156
190
  "hook",
157
191
  "mcp-design"
158
- ]
192
+ ],
193
+ "pathLayers": {
194
+ "l1CanonicalRoots": [
195
+ ".rapidkit/reports/",
196
+ ".rapidkit/skills/"
197
+ ],
198
+ "l2PrefixedMirrorRoots": [
199
+ ".github/",
200
+ ".cursor/",
201
+ ".claude/"
202
+ ],
203
+ "l3SharedIndustryFiles": [
204
+ "AGENTS.md",
205
+ ".github/copilot-instructions.md",
206
+ "CLAUDE.md"
207
+ ]
208
+ }
159
209
  }
@@ -1,10 +1,22 @@
1
1
  {
2
2
  "schemaVersion": "rapidkit-extension-cli-compatibility.v1",
3
3
  "cli": "rapidkit-npm",
4
- "minimumVerifiedCliVersion": "0.40.1",
4
+ "minimumVerifiedCliVersion": "0.41.1",
5
5
  "publishedContractSchemas": {
6
6
  "runtimeCommandSurface": "rapidkit-runtime-command-surface-v1",
7
7
  "cliLogEvent": "cli-log-event-v1",
8
- "freshnessMetadata": "rapidkit-freshness-metadata-v1"
8
+ "freshnessMetadata": "rapidkit-freshness-metadata-v1",
9
+ "blockerResolution": "rapidkit-blocker-resolution-v1",
10
+ "workspaceModel": "workspace-model.v1",
11
+ "workspaceImpact": "workspace-impact.v1",
12
+ "workspaceVerify": "workspace-verify.v1",
13
+ "workspaceContext": "workspace-context.v1",
14
+ "workspaceDependencyGraph": "workspace-dependency-graph.v1",
15
+ "workspaceIntelligenceHistory": "workspace-intelligence-history.v1",
16
+ "agentCustomizationPack": "rapidkit-agent-customization-pack.v1",
17
+ "workspaceOperationalSkill": "workspace-operational-skill.v1",
18
+ "workspaceSkillsIndex": "workspace-skills-index.v1",
19
+ "workspaceExplain": "workspace-explain.v1",
20
+ "agentActionOutcome": "agent-action-outcome.v1"
9
21
  }
10
22
  }
@@ -53,6 +53,11 @@
53
53
  "watch",
54
54
  "context",
55
55
  "agent-sync",
56
+ "explain",
57
+ "why",
58
+ "trace",
59
+ "feedback",
60
+ "mcp",
56
61
  "policy",
57
62
  "contract",
58
63
  "share",
@@ -70,7 +75,8 @@
70
75
  "impact",
71
76
  "verify",
72
77
  "context",
73
- "agent-sync"
78
+ "agent-sync",
79
+ "explain"
74
80
  ],
75
81
  "moduleSuggestionFrameworks": [
76
82
  "fastapi",
@@ -0,0 +1,38 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://getrapidkit.com/schemas/agent-action-outcome.v1.json",
4
+ "title": "RapidKit Agent Action Outcome",
5
+ "type": "object",
6
+ "required": ["schemaVersion", "generatedAt", "actionId", "scope", "summary", "outcome"],
7
+ "properties": {
8
+ "schemaVersion": { "const": "agent-action-outcome.v1" },
9
+ "generatedAt": { "type": "string", "format": "date-time" },
10
+ "actionId": { "type": "string", "minLength": 1 },
11
+ "scope": { "type": "string" },
12
+ "summary": { "type": "string" },
13
+ "outcome": { "enum": ["ok", "failed"] },
14
+ "affectedFiles": { "type": "array", "items": { "type": "string" } },
15
+ "commandsRun": { "type": "array", "items": { "type": "string" } },
16
+ "verifyBefore": { "type": "string" },
17
+ "verifyAfter": { "type": "string" },
18
+ "evidenceSha256": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
19
+ "evidencePath": { "type": "string" },
20
+ "patchMetadata": {
21
+ "type": "object",
22
+ "required": ["appliedCount", "rejectedCount", "failedCount", "affectedFiles"],
23
+ "properties": {
24
+ "patchId": { "type": "string" },
25
+ "sourceAction": { "enum": ["auto-fix", "apply-patch"] },
26
+ "reviewRequired": { "type": "boolean" },
27
+ "branchCreated": { "type": "string" },
28
+ "appliedCount": { "type": "integer", "minimum": 0 },
29
+ "rejectedCount": { "type": "integer", "minimum": 0 },
30
+ "failedCount": { "type": "integer", "minimum": 0 },
31
+ "affectedFiles": { "type": "array", "items": { "type": "string" } },
32
+ "rollbackCommand": { "type": "string" }
33
+ },
34
+ "additionalProperties": false
35
+ }
36
+ },
37
+ "additionalProperties": false
38
+ }
@@ -0,0 +1,65 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://getrapidkit.com/schemas/blocker-resolution.v1.json",
4
+ "title": "RapidKit Blocker Resolution Hint",
5
+ "type": "object",
6
+ "required": [
7
+ "schemaVersion",
8
+ "blockerId",
9
+ "resolutionClass",
10
+ "blockerSignature",
11
+ "fixHints"
12
+ ],
13
+ "properties": {
14
+ "schemaVersion": {
15
+ "const": "rapidkit-blocker-resolution-v1"
16
+ },
17
+ "blockerId": {
18
+ "type": "string",
19
+ "minLength": 1
20
+ },
21
+ "sourceCommand": {
22
+ "type": "string"
23
+ },
24
+ "sourceArtifact": {
25
+ "type": "string"
26
+ },
27
+ "resolutionClass": {
28
+ "enum": [
29
+ "artifact-missing",
30
+ "command-failed-repeat",
31
+ "config-fixable",
32
+ "semantic-attention",
33
+ "unresolvable-without-human"
34
+ ]
35
+ },
36
+ "blockerSignature": {
37
+ "type": "string",
38
+ "minLength": 8
39
+ },
40
+ "commandRetryHint": {
41
+ "type": "string"
42
+ },
43
+ "fixHints": {
44
+ "type": "array",
45
+ "items": {
46
+ "type": "object",
47
+ "required": ["actionKind", "detail"],
48
+ "properties": {
49
+ "actionKind": {
50
+ "enum": ["edit-file", "run-once", "commit-files", "refresh-baseline"]
51
+ },
52
+ "targetPath": { "type": "string" },
53
+ "detail": { "type": "string" },
54
+ "studioActionId": {
55
+ "enum": ["fix-lens", "verify-gates", "run-analyze", "doctor-fix"]
56
+ }
57
+ },
58
+ "additionalProperties": false
59
+ }
60
+ },
61
+ "verifyCommand": { "type": "string" },
62
+ "verifyArtifact": { "type": "string" }
63
+ },
64
+ "additionalProperties": false
65
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "rapidkit-doctor-fix-result-v1",
4
+ "title": "Doctor fix execution result",
5
+ "type": "object",
6
+ "additionalProperties": true,
7
+ "required": ["schemaVersion", "appliedFixes", "remainingBlockers", "verifyRecommended"],
8
+ "properties": {
9
+ "schemaVersion": {
10
+ "const": "rapidkit-doctor-fix-result-v1"
11
+ },
12
+ "appliedFixes": {
13
+ "type": "array",
14
+ "items": {
15
+ "type": "object",
16
+ "required": ["path", "action", "outcome"],
17
+ "properties": {
18
+ "path": { "type": "string" },
19
+ "action": { "type": "string" },
20
+ "outcome": {
21
+ "enum": ["applied", "failed", "skipped", "guidance"]
22
+ }
23
+ }
24
+ }
25
+ },
26
+ "remainingBlockers": {
27
+ "type": "array",
28
+ "items": { "type": "string" }
29
+ },
30
+ "verifyRecommended": {
31
+ "type": "string"
32
+ }
33
+ }
34
+ }
@@ -0,0 +1,91 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://getrapidkit.com/schemas/studio-blocker-handoff.v1.json",
4
+ "title": "Workspai Studio Blocker Handoff",
5
+ "type": "object",
6
+ "required": [
7
+ "schemaVersion",
8
+ "cardId",
9
+ "cardStatus",
10
+ "blockers",
11
+ "artifactPath",
12
+ "sourceCommand",
13
+ "scope"
14
+ ],
15
+ "properties": {
16
+ "schemaVersion": {
17
+ "const": "rapidkit-studio-blocker-handoff-v1"
18
+ },
19
+ "cardId": {
20
+ "type": "string",
21
+ "minLength": 1
22
+ },
23
+ "cardLabel": {
24
+ "type": "string"
25
+ },
26
+ "cardStatus": {
27
+ "enum": ["pass", "warn", "fail", "missing"]
28
+ },
29
+ "blockers": {
30
+ "type": "array",
31
+ "items": { "type": "string" }
32
+ },
33
+ "artifactPath": {
34
+ "type": "string"
35
+ },
36
+ "sourceCommand": {
37
+ "type": "string"
38
+ },
39
+ "scope": {
40
+ "enum": ["workspace", "project"]
41
+ },
42
+ "stderrTail": {
43
+ "type": "string"
44
+ },
45
+ "exitCode": {
46
+ "type": ["integer", "null"]
47
+ },
48
+ "blockerSignature": {
49
+ "type": "string",
50
+ "minLength": 8
51
+ },
52
+ "commandRunCount": {
53
+ "type": "integer",
54
+ "minimum": 0
55
+ },
56
+ "resolutionClass": {
57
+ "enum": [
58
+ "artifact-missing",
59
+ "command-failed-repeat",
60
+ "config-fixable",
61
+ "semantic-attention",
62
+ "unresolvable-without-human"
63
+ ]
64
+ },
65
+ "studioMode": {
66
+ "enum": ["FIX", "RUN_ONCE", "VERIFY_ONLY", "EXPLAIN"]
67
+ },
68
+ "resolutionHints": {
69
+ "type": "array",
70
+ "items": {
71
+ "$ref": "blocker-resolution.v1.json"
72
+ }
73
+ },
74
+ "verifyCommand": {
75
+ "type": "string"
76
+ },
77
+ "verifyArtifact": {
78
+ "type": "string"
79
+ },
80
+ "handoffSource": {
81
+ "enum": ["repair", "artifacts", "advisor", "tree", "dashboard"]
82
+ },
83
+ "workspacePath": {
84
+ "type": "string"
85
+ },
86
+ "projectPath": {
87
+ "type": "string"
88
+ }
89
+ },
90
+ "additionalProperties": false
91
+ }
@@ -0,0 +1,51 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "workspace-contract-verify.v1",
4
+ "title": "Workspace contract verify evidence",
5
+ "type": "object",
6
+ "additionalProperties": true,
7
+ "required": [
8
+ "schemaVersion",
9
+ "generatedAt",
10
+ "status",
11
+ "contractPath",
12
+ "projectCount",
13
+ "checks",
14
+ "violations"
15
+ ],
16
+ "properties": {
17
+ "schemaVersion": {
18
+ "const": "workspace-contract-verify.v1"
19
+ },
20
+ "generatedAt": {
21
+ "type": "string",
22
+ "format": "date-time"
23
+ },
24
+ "status": {
25
+ "enum": ["passed", "failed"]
26
+ },
27
+ "contractPath": {
28
+ "type": "string"
29
+ },
30
+ "projectCount": {
31
+ "type": "integer",
32
+ "minimum": 0
33
+ },
34
+ "checks": {
35
+ "type": "array",
36
+ "items": {
37
+ "type": "object",
38
+ "required": ["id", "status", "message"],
39
+ "properties": {
40
+ "id": { "type": "string" },
41
+ "status": { "enum": ["passed", "failed"] },
42
+ "message": { "type": "string" }
43
+ }
44
+ }
45
+ },
46
+ "violations": {
47
+ "type": "array",
48
+ "items": { "type": "string" }
49
+ }
50
+ }
51
+ }
@@ -23,7 +23,33 @@
23
23
  "path": { "type": "string", "minLength": 1 },
24
24
  "runtime": { "type": "string" },
25
25
  "framework": { "type": "string" },
26
- "kind": { "type": "string" }
26
+ "kind": { "type": "string" },
27
+ "operationalProfile": {
28
+ "type": "object",
29
+ "required": ["weight", "score", "verificationPriority", "reasons", "centrality"],
30
+ "properties": {
31
+ "weight": { "enum": ["low", "medium", "high", "critical"] },
32
+ "score": { "type": "integer", "minimum": 0, "maximum": 100 },
33
+ "verificationPriority": { "enum": ["normal", "elevated", "strict"] },
34
+ "reasons": {
35
+ "type": "array",
36
+ "items": { "type": "string" }
37
+ },
38
+ "centrality": {
39
+ "type": "object",
40
+ "required": ["fanIn", "fanOut", "reach", "betweenness", "isHotspot"],
41
+ "properties": {
42
+ "fanIn": { "type": "integer", "minimum": 0 },
43
+ "fanOut": { "type": "integer", "minimum": 0 },
44
+ "reach": { "type": "integer", "minimum": 0 },
45
+ "betweenness": { "type": "number", "minimum": 0 },
46
+ "isHotspot": { "type": "boolean" }
47
+ },
48
+ "additionalProperties": true
49
+ }
50
+ },
51
+ "additionalProperties": true
52
+ }
27
53
  },
28
54
  "additionalProperties": true
29
55
  }
@@ -75,6 +101,14 @@
75
101
  "inferredEdges",
76
102
  "contractEdges",
77
103
  "manualEdges",
104
+ "authoritativeEdges",
105
+ "lowConfidenceEdges",
106
+ "orphanCount",
107
+ "connectedNodeCount",
108
+ "density",
109
+ "edgeCoverageRatio",
110
+ "evidenceCoverageRatio",
111
+ "hotspotCount",
78
112
  "hasCycle"
79
113
  ],
80
114
  "properties": {
@@ -83,9 +117,35 @@
83
117
  "inferredEdges": { "type": "integer", "minimum": 0 },
84
118
  "contractEdges": { "type": "integer", "minimum": 0 },
85
119
  "manualEdges": { "type": "integer", "minimum": 0 },
120
+ "authoritativeEdges": { "type": "integer", "minimum": 0 },
121
+ "lowConfidenceEdges": { "type": "integer", "minimum": 0 },
122
+ "orphanCount": { "type": "integer", "minimum": 0 },
123
+ "connectedNodeCount": { "type": "integer", "minimum": 0 },
124
+ "density": { "type": "number", "minimum": 0 },
125
+ "edgeCoverageRatio": { "type": "number", "minimum": 0, "maximum": 1 },
126
+ "evidenceCoverageRatio": { "type": "number", "minimum": 0, "maximum": 1 },
127
+ "hotspotCount": { "type": "integer", "minimum": 0 },
86
128
  "hasCycle": { "type": "boolean" }
87
129
  },
88
130
  "additionalProperties": true
131
+ },
132
+ "diagnostics": {
133
+ "type": "array",
134
+ "items": {
135
+ "type": "object",
136
+ "required": ["code", "severity", "message"],
137
+ "properties": {
138
+ "code": { "type": "string", "minLength": 1 },
139
+ "severity": { "enum": ["info", "warning", "error"] },
140
+ "message": { "type": "string", "minLength": 1 },
141
+ "recommendation": { "type": "string" },
142
+ "nodeIds": {
143
+ "type": "array",
144
+ "items": { "type": "string", "minLength": 1 }
145
+ }
146
+ },
147
+ "additionalProperties": true
148
+ }
89
149
  }
90
150
  },
91
151
  "additionalProperties": true
@@ -0,0 +1,31 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://getrapidkit.com/schemas/workspace-explain.v1.json",
4
+ "title": "RapidKit Workspace Explain Report",
5
+ "type": "object",
6
+ "required": ["schemaVersion", "generatedAt", "workspacePath", "target", "summary", "sections"],
7
+ "properties": {
8
+ "schemaVersion": { "const": "workspace-explain.v1" },
9
+ "generatedAt": { "type": "string", "format": "date-time" },
10
+ "workspacePath": { "type": "string" },
11
+ "target": { "type": "object", "additionalProperties": true },
12
+ "summary": { "type": "string" },
13
+ "sections": {
14
+ "type": "array",
15
+ "items": {
16
+ "type": "object",
17
+ "required": ["id", "title", "body"],
18
+ "properties": {
19
+ "id": { "type": "string" },
20
+ "title": { "type": "string" },
21
+ "body": { "type": "string" }
22
+ },
23
+ "additionalProperties": false
24
+ }
25
+ },
26
+ "releaseRisk": { "type": "string" },
27
+ "blockingReasons": { "type": "array", "items": { "type": "string" } },
28
+ "resolutionHints": { "type": "array", "items": { "type": "object" } }
29
+ },
30
+ "additionalProperties": false
31
+ }