workspai 0.43.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/LICENSE +21 -0
- package/README.md +624 -0
- package/contracts/agent-customization-pack.v1.json +229 -0
- package/contracts/analyze-last-run.v1.json +106 -0
- package/contracts/artifact-remediation-plan.v1.json +163 -0
- package/contracts/backend-import-stack-parity.snapshot.json +37 -0
- package/contracts/cli-log-event.v1.json +51 -0
- package/contracts/create-planner-capabilities.v1.json +251 -0
- package/contracts/doctor-project-evidence.v1.json +304 -0
- package/contracts/doctor-remediation-plan.v1.json +496 -0
- package/contracts/doctor-workspace-evidence.v1.json +315 -0
- package/contracts/extension-cli-compatibility.v1.json +26 -0
- package/contracts/infra-stack.v1.json +305 -0
- package/contracts/module-layout.v1.json +34 -0
- package/contracts/module-support.v1.json +20 -0
- package/contracts/pipeline-last-run.v1.json +80 -0
- package/contracts/release-readiness.v1.json +60 -0
- package/contracts/runtime-command-surface.v1.json +364 -0
- package/contracts/workspace-intelligence/agent-action-outcome.v1.json +38 -0
- package/contracts/workspace-intelligence/blocker-resolution.v1.json +65 -0
- package/contracts/workspace-intelligence/doctor-fix-result.v1.json +44 -0
- package/contracts/workspace-intelligence/fact-freshness.v1.json +58 -0
- package/contracts/workspace-intelligence/studio-blocker-handoff.v1.json +115 -0
- package/contracts/workspace-intelligence/workspace-context.v1.json +142 -0
- package/contracts/workspace-intelligence/workspace-contract-verify.v1.json +51 -0
- package/contracts/workspace-intelligence/workspace-dependency-graph.v1.json +152 -0
- package/contracts/workspace-intelligence/workspace-explain.v1.json +31 -0
- package/contracts/workspace-intelligence/workspace-impact.v1.json +114 -0
- package/contracts/workspace-intelligence/workspace-intelligence-history.v1.json +40 -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 +135 -0
- package/contracts/workspace-intelligence/workspace-operational-skill.v1.json +37 -0
- package/contracts/workspace-intelligence/workspace-skills-index.v1.json +27 -0
- package/contracts/workspace-intelligence/workspace-verify.v1.json +213 -0
- package/contracts/workspace-registry.v1.json +83 -0
- package/contracts/workspace-run-last.v1.json +112 -0
- package/data/modules-embeddings.json +16953 -0
- package/dist/analyze-5BU4QIPK.js +1 -0
- package/dist/artifact-remediation-plan-5GJWPPRS.js +3 -0
- package/dist/autopilot-release-QYUOVB26.js +1 -0
- package/dist/chunk-22DT744Z.js +1 -0
- package/dist/chunk-2E6WGUN6.js +1 -0
- package/dist/chunk-2FIX2MDC.js +1 -0
- package/dist/chunk-3KXW53QI.js +1 -0
- package/dist/chunk-3ZK2GU7C.js +1 -0
- package/dist/chunk-4KUIFXHM.js +5 -0
- package/dist/chunk-54XJNLYC.js +13 -0
- package/dist/chunk-5SWNSJGW.js +1 -0
- package/dist/chunk-5XATWNME.js +1 -0
- package/dist/chunk-753LOKFZ.js +2 -0
- package/dist/chunk-7YHK5NM3.js +2 -0
- package/dist/chunk-A5FBGRJA.js +1 -0
- package/dist/chunk-AAKUNWPR.js +78 -0
- package/dist/chunk-AFSZHLQT.js +1 -0
- package/dist/chunk-AQ4XZZC6.js +1 -0
- package/dist/chunk-CVTCPPEF.js +1 -0
- package/dist/chunk-DNAY5ALC.js +1 -0
- package/dist/chunk-EWYYLJQY.js +2 -0
- package/dist/chunk-GSWPGELT.js +2 -0
- package/dist/chunk-GZTYAEWX.js +1 -0
- package/dist/chunk-HTYMXMQM.js +1 -0
- package/dist/chunk-IBJEQHJR.js +205 -0
- package/dist/chunk-ICGWHIMK.js +1 -0
- package/dist/chunk-JEI6BTZI.js +3 -0
- package/dist/chunk-JHC6SCJC.js +1 -0
- package/dist/chunk-LO4C4VXR.js +4 -0
- package/dist/chunk-LPZFK3Y6.js +920 -0
- package/dist/chunk-LUP4U6EE.js +1 -0
- package/dist/chunk-LYC6AIF2.js +2 -0
- package/dist/chunk-LZQNVH7D.js +1 -0
- package/dist/chunk-NAAQMSO3.js +1 -0
- package/dist/chunk-NFUXULIF.js +1 -0
- package/dist/chunk-OCGZNSOE.js +1 -0
- package/dist/chunk-OJEWQO3Z.js +33 -0
- package/dist/chunk-OL64GWQC.js +9 -0
- package/dist/chunk-PI5KUXDA.js +7 -0
- package/dist/chunk-PYCJWW4B.js +1 -0
- package/dist/chunk-RE773WOX.js +13 -0
- package/dist/chunk-RO73VVHW.js +2 -0
- package/dist/chunk-S5KTATOU.js +1 -0
- package/dist/chunk-SI3AQKIP.js +1 -0
- package/dist/chunk-T3GJ7YVG.js +1 -0
- package/dist/chunk-T6OR6YOI.js +2 -0
- package/dist/chunk-VRDF2J46.js +653 -0
- package/dist/chunk-VZKSNUEE.js +2 -0
- package/dist/chunk-WU4ZRRA5.js +4 -0
- package/dist/chunk-XEJD4KCV.js +33 -0
- package/dist/chunk-XZGVNGRB.js +1 -0
- package/dist/chunk-Y45WZR5N.js +5 -0
- package/dist/create-WRZO4HK2.js +1 -0
- package/dist/demo-kit-AJ5LIM5G.js +149 -0
- package/dist/doctor-MF3M3FS3.js +1 -0
- package/dist/dotnet-webapi-clean-IPY3MCGQ.js +425 -0
- package/dist/gofiber-standard-N5N3QGH3.js +1397 -0
- package/dist/gogin-standard-LAWQTBWL.js +1459 -0
- package/dist/imported-projects-registry-FOIE27WT.js +1 -0
- package/dist/index.d.ts +141 -0
- package/dist/index.js +454 -0
- package/dist/managed-agent-markers-AXUM75OE.js +8 -0
- package/dist/module-layout-NZ43RSC5.js +1 -0
- package/dist/pipeline-QCUHFWDY.js +5 -0
- package/dist/platform-capabilities-XAVU4HSM.js +1 -0
- package/dist/pythonRapidkitExec-3L3XJBSY.js +1 -0
- package/dist/springboot-standard-OZYF7ZM7.js +697 -0
- package/dist/workspace-PR6VZRBG.js +1 -0
- package/dist/workspace-agent-sync-KTYF3HQR.js +1 -0
- package/dist/workspace-archive-GCZNI44O.js +3 -0
- package/dist/workspace-context-QUTOP2XV.js +1 -0
- package/dist/workspace-contract-XUGMCUSQ.js +1 -0
- package/dist/workspace-explain-JEONEGZZ.js +1 -0
- package/dist/workspace-explain-contract-DNS2YEL7.js +1 -0
- package/dist/workspace-feedback-R6H4UFZB.js +1 -0
- package/dist/workspace-foundation-KGSV4E6D.js +1 -0
- package/dist/workspace-graph-2A5THUCI.js +1 -0
- package/dist/workspace-history-CGCK2DJI.js +1 -0
- package/dist/workspace-intelligence-QJGVL37U.js +1 -0
- package/dist/workspace-marker-SMBC3Z2Q.js +1 -0
- package/dist/workspace-mcp-serve-AK4MYEHQ.js +3 -0
- package/dist/workspace-model-PNXXOGPO.js +1 -0
- package/dist/workspace-python-engine-state-MTWIIZPY.js +2 -0
- package/dist/workspace-registry-summary-RUJE6RPH.js +1 -0
- package/dist/workspace-run-Y7YMUIHX.js +1 -0
- package/dist/workspace-verify-WSDUUTR5.js +1 -0
- package/dist/workspace-watch-AGPOJ74Q.js +1 -0
- package/docs/AI_DYNAMIC_INTEGRATION.md +440 -0
- package/docs/AI_EXAMPLES.md +419 -0
- package/docs/AI_FEATURES.md +460 -0
- package/docs/AI_QUICKSTART.md +245 -0
- package/docs/DEVELOPMENT.md +90 -0
- package/docs/From Code to Shared Understanding.png +0 -0
- package/docs/OPEN_SOURCE_USER_SCENARIOS.md +170 -0
- package/docs/OPTIMIZATION_GUIDE.md +504 -0
- package/docs/PACKAGE_MANAGER_POLICY.md +25 -0
- package/docs/README.md +125 -0
- package/docs/SECURITY.md +63 -0
- package/docs/SETUP.md +107 -0
- package/docs/UTILITIES.md +221 -0
- package/docs/WORKSPACE_MARKER_SPEC.md +276 -0
- package/docs/ci-workflows.md +59 -0
- package/docs/commands-reference.md +172 -0
- package/docs/config-file-guide.md +299 -0
- package/docs/contracts/ARTIFACT_CATALOG.md +333 -0
- package/docs/contracts/CLI_LOG_EVENT_STREAM.md +123 -0
- package/docs/contracts/COMMAND_OWNERSHIP_MATRIX.md +138 -0
- package/docs/contracts/NAMING_AND_COEXISTENCE.md +60 -0
- package/docs/contracts/README.md +86 -0
- package/docs/contracts/RUNTIME_ACCEPTANCE_MATRIX.md +98 -0
- package/docs/contracts/RUNTIME_SUPPORT_MATRIX.md +75 -0
- package/docs/contracts/rapidkit-cli-contracts.json +239 -0
- package/docs/create-planner-capabilities.md +81 -0
- package/docs/doctor-command.md +467 -0
- package/docs/examples/ci-agent-grounding.yml +65 -0
- package/docs/from-code-to-shared-understanding.md +45 -0
- package/docs/governance-policy.enterprise.example.json +40 -0
- package/docs/mirror-config.enterprise.example.json +60 -0
- package/docs/policies.workspace.example.yml +23 -0
- package/docs/workspace-operations.md +160 -0
- package/docs/workspace-run.md +104 -0
- package/package.json +179 -0
- package/rapidkit.config.example.cjs +62 -0
- package/scripts/check-agent-customization-drift.mjs +78 -0
- package/scripts/check-cli-resolution.cjs +72 -0
- package/scripts/enforce-package-manager.cjs +10 -0
- package/scripts/enterprise-package-smoke.mjs +463 -0
- package/scripts/prepack-enterprise.mjs +43 -0
- package/templates/generator.js +179 -0
- package/templates/kits/fastapi-ddd/README.md.j2 +117 -0
- package/templates/kits/fastapi-ddd/common/env.example.j2 +10 -0
- package/templates/kits/fastapi-ddd/env.example.j2 +1 -0
- package/templates/kits/fastapi-ddd/pyproject.toml.j2 +64 -0
- package/templates/kits/fastapi-ddd/src/__init__.py.j2 +3 -0
- package/templates/kits/fastapi-ddd/src/app/__init__.py.j2 +11 -0
- package/templates/kits/fastapi-ddd/src/app/application/__init__.py.j2 +5 -0
- package/templates/kits/fastapi-ddd/src/app/application/interfaces.py.j2 +43 -0
- package/templates/kits/fastapi-ddd/src/app/application/use_cases/__init__.py.j2 +6 -0
- package/templates/kits/fastapi-ddd/src/app/application/use_cases/health.py.j2 +14 -0
- package/templates/kits/fastapi-ddd/src/app/application/use_cases/notes.py.j2 +24 -0
- package/templates/kits/fastapi-ddd/src/app/config/__init__.py.j2 +16 -0
- package/templates/kits/fastapi-ddd/src/app/domain/__init__.py.j2 +3 -0
- package/templates/kits/fastapi-ddd/src/app/domain/models/__init__.py.j2 +6 -0
- package/templates/kits/fastapi-ddd/src/app/domain/models/health.py.j2 +16 -0
- package/templates/kits/fastapi-ddd/src/app/domain/models/note.py.j2 +27 -0
- package/templates/kits/fastapi-ddd/src/app/infrastructure/__init__.py.j2 +5 -0
- package/templates/kits/fastapi-ddd/src/app/infrastructure/repositories/__init__.py.j2 +6 -0
- package/templates/kits/fastapi-ddd/src/app/infrastructure/repositories/health.py.j2 +17 -0
- package/templates/kits/fastapi-ddd/src/app/infrastructure/repositories/notes.py.j2 +28 -0
- package/templates/kits/fastapi-ddd/src/app/main.py.j2 +61 -0
- package/templates/kits/fastapi-ddd/src/app/presentation/__init__.py.j2 +3 -0
- package/templates/kits/fastapi-ddd/src/app/presentation/api/__init__.py.j2 +5 -0
- package/templates/kits/fastapi-ddd/src/app/presentation/api/dependencies/__init__.py.j2 +19 -0
- package/templates/kits/fastapi-ddd/src/app/presentation/api/router.py.j2 +10 -0
- package/templates/kits/fastapi-ddd/src/app/presentation/api/routes/__init__.py.j2 +5 -0
- package/templates/kits/fastapi-ddd/src/app/presentation/api/routes/health.py.j2 +27 -0
- package/templates/kits/fastapi-ddd/src/app/presentation/api/routes/notes.py.j2 +50 -0
- package/templates/kits/fastapi-ddd/src/app/shared/__init__.py.j2 +5 -0
- package/templates/kits/fastapi-ddd/src/app/shared/result.py.j2 +28 -0
- package/templates/kits/fastapi-ddd/src/cli.py.j2 +170 -0
- package/templates/kits/fastapi-ddd/src/main.py.j2 +35 -0
- package/templates/kits/fastapi-ddd/src/modules/__init__.py.j2 +3 -0
- package/templates/kits/fastapi-ddd/src/routing/__init__.py.j2 +13 -0
- package/templates/kits/fastapi-ddd/src/routing/health.py.j2 +7 -0
- package/templates/kits/fastapi-ddd/src/routing/notes.py.j2 +7 -0
- package/templates/kits/fastapi-ddd/tests/__init__.py.j2 +1 -0
- package/templates/kits/fastapi-ddd/tests/test_app_factory.py.j2 +22 -0
- package/templates/kits/fastapi-ddd/tests/test_health.py.j2 +17 -0
- package/templates/kits/fastapi-ddd/tests/test_notes.py.j2 +27 -0
- package/templates/kits/fastapi-standard/README.md.j2 +140 -0
- package/templates/kits/fastapi-standard/common/env.example.j2 +10 -0
- package/templates/kits/fastapi-standard/env.example.j2 +1 -0
- package/templates/kits/fastapi-standard/pyproject.toml.j2 +64 -0
- package/templates/kits/fastapi-standard/src/__init__.py.j2 +3 -0
- package/templates/kits/fastapi-standard/src/cli.py.j2 +171 -0
- package/templates/kits/fastapi-standard/src/main.py.j2 +66 -0
- package/templates/kits/fastapi-standard/src/modules/__init__.py.j2 +3 -0
- package/templates/kits/fastapi-standard/src/routing/__init__.py.j2 +16 -0
- package/templates/kits/fastapi-standard/src/routing/examples.py.j2 +71 -0
- package/templates/kits/fastapi-standard/src/routing/health.py.j2 +22 -0
- package/templates/kits/fastapi-standard/tests/__init__.py.j2 +1 -0
- package/templates/kits/fastapi-standard/tests/test_examples.py.j2 +29 -0
- package/templates/kits/fastapi-standard/tests/test_health.py.j2 +17 -0
- package/templates/kits/nestjs-standard/Dockerfile.j2 +41 -0
- package/templates/kits/nestjs-standard/README.md.j2 +134 -0
- package/templates/kits/nestjs-standard/docker-compose.yml.j2 +94 -0
- package/templates/kits/nestjs-standard/docs/README.md.j2 +15 -0
- package/templates/kits/nestjs-standard/env.example.j2 +18 -0
- package/templates/kits/nestjs-standard/eslint.config.cjs.j2 +9 -0
- package/templates/kits/nestjs-standard/jest.config.ts.j2 +28 -0
- package/templates/kits/nestjs-standard/nest-cli.json.j2 +10 -0
- package/templates/kits/nestjs-standard/package.json.j2 +101 -0
- package/templates/kits/nestjs-standard/src/app.controller.ts.j2 +14 -0
- package/templates/kits/nestjs-standard/src/app.module.ts.j2 +26 -0
- package/templates/kits/nestjs-standard/src/app.service.ts.j2 +16 -0
- package/templates/kits/nestjs-standard/src/auth/auth.controller.ts.j2 +20 -0
- package/templates/kits/nestjs-standard/src/auth/auth.module.ts.j2 +13 -0
- package/templates/kits/nestjs-standard/src/auth/auth.service.ts.j2 +6 -0
- package/templates/kits/nestjs-standard/src/auth/entities/token.entity.ts.j2 +3 -0
- package/templates/kits/nestjs-standard/src/auth/entities/user.entity.ts.j2 +3 -0
- package/templates/kits/nestjs-standard/src/auth/entities/webauthn.entity.ts.j2 +3 -0
- package/templates/kits/nestjs-standard/src/config/configuration.ts.j2 +85 -0
- package/templates/kits/nestjs-standard/src/config/index.ts.j2 +2 -0
- package/templates/kits/nestjs-standard/src/config/validation.ts.j2 +21 -0
- package/templates/kits/nestjs-standard/src/examples/dto/create-note.dto.ts.j2 +11 -0
- package/templates/kits/nestjs-standard/src/examples/examples.controller.ts.j2 +24 -0
- package/templates/kits/nestjs-standard/src/examples/examples.module.ts.j2 +10 -0
- package/templates/kits/nestjs-standard/src/examples/examples.service.ts.j2 +33 -0
- package/templates/kits/nestjs-standard/src/main.ts.j2 +53 -0
- package/templates/kits/nestjs-standard/src/modules/index.ts.j2 +25 -0
- package/templates/kits/nestjs-standard/test/app.controller.spec.ts.j2 +24 -0
- package/templates/kits/nestjs-standard/test/app.e2e-spec.ts.j2 +60 -0
- package/templates/kits/nestjs-standard/test/examples.controller.spec.ts.j2 +28 -0
- package/templates/kits/nestjs-standard/test/jest-e2e.json.j2 +15 -0
- package/templates/kits/nestjs-standard/tsconfig.build.json.j2 +12 -0
- package/templates/kits/nestjs-standard/tsconfig.json.j2 +26 -0
- package/workspai.config.example.cjs +62 -0
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# Development Guide
|
|
2
|
+
|
|
3
|
+
Maintainer reference for the Workspai CLI (Node/TypeScript bridge to Python Core).
|
|
4
|
+
|
|
5
|
+
**End users:** [../README.md](../README.md) · [README.md](./README.md) · [OPEN_SOURCE_USER_SCENARIOS.md](./OPEN_SOURCE_USER_SCENARIOS.md)
|
|
6
|
+
|
|
7
|
+
## Prerequisites
|
|
8
|
+
|
|
9
|
+
- Node.js `>= 20`
|
|
10
|
+
- npm — see [PACKAGE_MANAGER_POLICY.md](./PACKAGE_MANAGER_POLICY.md)
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npm ci
|
|
14
|
+
npm run build
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Quality checks
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npm run validate
|
|
21
|
+
npm run validate:contracts
|
|
22
|
+
npm run test:drift
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Focused suites: [ci-workflows.md](./ci-workflows.md) · [SETUP.md](./SETUP.md)
|
|
26
|
+
|
|
27
|
+
## Configuration
|
|
28
|
+
|
|
29
|
+
User defaults: [config-file-guide.md](./config-file-guide.md) (`$HOME/.workspairc.json`, `workspai.config.*`, with legacy fallbacks).
|
|
30
|
+
|
|
31
|
+
Priority: CLI flags > environment variables > config file > defaults.
|
|
32
|
+
|
|
33
|
+
### Test mode (local Core)
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
export WORKSPAI_DEV_PATH=/path/to/local/rapidkit-core
|
|
37
|
+
npx workspai my-workspace --test-mode
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
`RAPIDKIT_DEV_PATH` remains supported as a legacy fallback.
|
|
41
|
+
|
|
42
|
+
## CLI workflows
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# Direct project creation
|
|
46
|
+
npx workspai create project fastapi.standard my-api --output .
|
|
47
|
+
npx workspai create project nextjs my-web --yes
|
|
48
|
+
|
|
49
|
+
# Workspace mode
|
|
50
|
+
npx workspai create workspace my-workspace --yes --profile polyglot
|
|
51
|
+
cd my-workspace
|
|
52
|
+
npx workspai bootstrap --profile polyglot
|
|
53
|
+
npx workspai create project
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Full syntax: [commands-reference.md](./commands-reference.md)
|
|
57
|
+
|
|
58
|
+
## Testing
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
npm test
|
|
62
|
+
npm run test:e2e
|
|
63
|
+
npm run test:scenarios:full
|
|
64
|
+
npm run test:runtime-matrix:full
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Manual smoke
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
npm run build
|
|
71
|
+
node dist/index.js --help
|
|
72
|
+
node dist/index.js create project fastapi.standard test-fastapi --output . --yes --skip-install
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Debugging
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
npx workspai my-workspace --debug
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Environment variables
|
|
82
|
+
|
|
83
|
+
See [SETUP.md](./SETUP.md#environment-variables) for bridge, scenario, and cache variables.
|
|
84
|
+
|
|
85
|
+
## See also
|
|
86
|
+
|
|
87
|
+
- [Documentation index](./README.md)
|
|
88
|
+
- [contracts/README.md](./contracts/README.md)
|
|
89
|
+
- [OPTIMIZATION_GUIDE.md](./OPTIMIZATION_GUIDE.md)
|
|
90
|
+
- [UTILITIES.md](./UTILITIES.md)
|
|
Binary file
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
# Workspai Practical User Scenarios (Open Source Edition)
|
|
2
|
+
|
|
3
|
+
Practical workflows for OSS teams using the npm CLI. Command syntax: [commands-reference.md](./commands-reference.md). Import/adopt details: [workspace-operations.md](./workspace-operations.md).
|
|
4
|
+
|
|
5
|
+
## Scenario 0 — Existing project (adopt or import)
|
|
6
|
+
|
|
7
|
+
Goal: connect code you already have without reshuffling repositories.
|
|
8
|
+
|
|
9
|
+
### Adopt in place (keep source where it is)
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npx workspai adopt /path/to/existing-app --workspace /path/to/workspace --json
|
|
13
|
+
npx workspai workspace model --json
|
|
14
|
+
npx workspai doctor project --json
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Works for Next.js, Vite, NestJS, FastAPI, Go, Spring Boot, and other detected stacks. See [workspace-operations.md#import-and-adoption](./workspace-operations.md#import-and-adoption).
|
|
18
|
+
|
|
19
|
+
### Import (copy or clone into workspace)
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npx workspai import ../orders-api --workspace ./platform
|
|
23
|
+
npx workspai import https://github.com/acme/orders-api.git --git --workspace ./platform
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### New frontend in workspace
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
cd my-workspace
|
|
30
|
+
npx workspai create project nextjs marketing-web --yes
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## What changed from the old flow?
|
|
34
|
+
|
|
35
|
+
Old flow (typical):
|
|
36
|
+
- Create workspace/project
|
|
37
|
+
- Run `init` / `dev`
|
|
38
|
+
- Minimal governance and supply-chain controls
|
|
39
|
+
|
|
40
|
+
Current flow (new baseline):
|
|
41
|
+
- Same developer-friendly start
|
|
42
|
+
- Plus optional mirror/offline controls, checksum/attestation verification, Sigstore governance, and auditable reports
|
|
43
|
+
- Works for both small teams and enterprise adoption paths
|
|
44
|
+
|
|
45
|
+
## Scenario 1 — Junior Developer
|
|
46
|
+
|
|
47
|
+
Goal: get productive quickly with minimal complexity.
|
|
48
|
+
|
|
49
|
+
### Steps
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
npx workspai my-workspace
|
|
53
|
+
cd my-workspace
|
|
54
|
+
npx workspai bootstrap --profile polyglot
|
|
55
|
+
npx workspai setup python
|
|
56
|
+
npx workspai setup node --warm-deps
|
|
57
|
+
npx workspai create project fastapi.standard api --output .
|
|
58
|
+
cd api
|
|
59
|
+
npx workspai init
|
|
60
|
+
npx workspai dev
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### When manual vs automatic?
|
|
64
|
+
|
|
65
|
+
- Manual: run commands directly in local dev.
|
|
66
|
+
- Automatic: not required at this level.
|
|
67
|
+
|
|
68
|
+
## Scenario 2 — Mid-level Developer / Team
|
|
69
|
+
|
|
70
|
+
Goal: improve stability and repeatability using mirror artifacts.
|
|
71
|
+
|
|
72
|
+
### Steps
|
|
73
|
+
|
|
74
|
+
1) Define minimal mirror config (`.workspai/mirror-config.json`) with artifact sources and checksums.
|
|
75
|
+
2) Run:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
cd my-workspace
|
|
79
|
+
npx workspai doctor workspace
|
|
80
|
+
npx workspai workspace list
|
|
81
|
+
npx workspai mirror status
|
|
82
|
+
npx workspai cache status
|
|
83
|
+
npx workspai mirror sync
|
|
84
|
+
npx workspai mirror verify
|
|
85
|
+
npx workspai init
|
|
86
|
+
npx workspai dev
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### When manual vs automatic?
|
|
90
|
+
|
|
91
|
+
- Manual: initial mirror setup and local validation.
|
|
92
|
+
- Automatic: in CI pipelines, run `mirror sync/verify` before build/test.
|
|
93
|
+
|
|
94
|
+
## Scenario 3 — Senior Developer / Platform Engineer
|
|
95
|
+
|
|
96
|
+
Goal: enforce stronger security controls (attestation + Sigstore governance) in stage/prod-like environments.
|
|
97
|
+
|
|
98
|
+
### Steps
|
|
99
|
+
|
|
100
|
+
1) Configure `mirror-config.json` with:
|
|
101
|
+
- `security.requireAttestation: true`
|
|
102
|
+
- `security.requireSigstore: true`
|
|
103
|
+
- `security.requireTransparencyLog: true`
|
|
104
|
+
- environment policy allowlists (`identity`, `issuer`, `rekorUrl`)
|
|
105
|
+
|
|
106
|
+
2) Run:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
RAPIDKIT_ENV=stage npx workspai mirror sync --json
|
|
110
|
+
RAPIDKIT_ENV=stage npx workspai mirror verify --json
|
|
111
|
+
npx workspai bootstrap --profile=enterprise --ci --offline --json
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### When manual vs automatic?
|
|
115
|
+
|
|
116
|
+
- Manual: initial policy authoring and first dry run.
|
|
117
|
+
- Automatic: fully automated in CI/CD after policy is validated.
|
|
118
|
+
|
|
119
|
+
## Scenario 4 — Enterprise Operator / SecOps
|
|
120
|
+
|
|
121
|
+
Goal: enforce signed governance policy bundle, generate and export audit evidence.
|
|
122
|
+
|
|
123
|
+
### Steps
|
|
124
|
+
|
|
125
|
+
1) Add signed governance bundle:
|
|
126
|
+
- `.workspai/governance-policy.json`
|
|
127
|
+
- `.workspai/governance-policy.sig`
|
|
128
|
+
- `.workspai/governance-public.pem`
|
|
129
|
+
|
|
130
|
+
2) Configure in `mirror-config.json`:
|
|
131
|
+
- `security.requireSignedGovernance: true`
|
|
132
|
+
- `security.governanceBundle: { ... }`
|
|
133
|
+
- `security.evidenceExport: { target: "file" | "http", ... }`
|
|
134
|
+
|
|
135
|
+
3) Run:
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
RAPIDKIT_ENV=prod npx workspai mirror sync --json
|
|
139
|
+
RAPIDKIT_ENV=prod npx workspai mirror verify --json
|
|
140
|
+
RAPIDKIT_ENV=prod npx workspai bootstrap --profile=enterprise --ci --offline --json
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### When manual vs automatic?
|
|
144
|
+
|
|
145
|
+
- Manual: key management, policy signing, endpoint provisioning.
|
|
146
|
+
- Automatic: all command execution in CI/CD and release pipelines.
|
|
147
|
+
|
|
148
|
+
## Operational outputs (for automation and auditing)
|
|
149
|
+
|
|
150
|
+
Generated reports:
|
|
151
|
+
- `.workspai/reports/bootstrap-compliance.latest.json`
|
|
152
|
+
- `.workspai/reports/mirror-ops.latest.json`
|
|
153
|
+
- `.workspai/reports/transparency-evidence.latest.json`
|
|
154
|
+
|
|
155
|
+
Optional exported evidence sinks:
|
|
156
|
+
- file sink (NDJSON/JSON append strategy)
|
|
157
|
+
- HTTP webhook sink (SIEM/GRC intake)
|
|
158
|
+
|
|
159
|
+
## Practical recommendation
|
|
160
|
+
|
|
161
|
+
- Individuals/small teams: start with Scenario 0 → 1 → 2.
|
|
162
|
+
- Product teams/platform teams: adopt Scenario 3.
|
|
163
|
+
- Regulated/high-compliance environments: run Scenario 4 by default.
|
|
164
|
+
|
|
165
|
+
## See also
|
|
166
|
+
|
|
167
|
+
- [Documentation index](./README.md)
|
|
168
|
+
- [workspace-operations.md](./workspace-operations.md)
|
|
169
|
+
- [doctor-command.md](./doctor-command.md)
|
|
170
|
+
- [ci-workflows.md](./ci-workflows.md) (`pipeline --json --strict`)
|