workspai 0.63.0 → 0.65.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 +37 -44
- package/contracts/cli-runtime-command-inventory.v1.snapshot.json +4 -0
- package/contracts/create-planner-capabilities.v1.json +251 -8
- package/contracts/runtime-command-surface.v1.json +12 -1
- package/contracts/workspace-contract.v1.json +51 -6
- package/contracts/workspace-intelligence/project-context-agent.v1.json +29 -0
- package/contracts/workspace-intelligence/workspace-knowledge-graph.v1.json +11 -1
- package/contracts/workspace-intelligence/workspace-model.v1.json +28 -1
- package/contracts/workspace-model-cache.v1.json +4 -0
- package/contracts/workspace-repair-capabilities.v1.json +66 -0
- package/dist/analyze-5PDVWECJ.js +1 -0
- package/dist/autopilot-release-JVIJCTKX.js +1 -0
- package/dist/capabilities-command-LHM3XIS6.js +1 -0
- package/dist/chunk-2C5ZBVBI.js +2 -0
- package/dist/{chunk-QQU536KA.js → chunk-2RL6RRT2.js} +3 -3
- package/dist/{chunk-QB3BLYUR.js → chunk-6JWNDWOA.js} +1 -1
- package/dist/{chunk-HS3DJMU5.js → chunk-6TBTMWNA.js} +1 -1
- package/dist/chunk-D5YJOQYK.js +1 -0
- package/dist/chunk-DFG33SBR.js +2 -0
- package/dist/chunk-FY4IIAIF.js +1 -0
- package/dist/chunk-GQSRNUCU.js +105 -0
- package/dist/{chunk-2LLMKTMO.js → chunk-HDNATYW7.js} +1 -1
- package/dist/chunk-HEZZ72V4.js +94 -0
- package/dist/chunk-HN7P4T3B.js +681 -0
- package/dist/chunk-J7QYANXK.js +8 -0
- package/dist/{chunk-Z5L2IK54.js → chunk-JD3A5QM6.js} +1 -1
- package/dist/{chunk-DIJGQUEV.js → chunk-JQLJBK5N.js} +1 -1
- package/dist/chunk-KLSSPJTV.js +1 -0
- package/dist/{chunk-GPOZILMY.js → chunk-L22EABIC.js} +1 -1
- package/dist/{chunk-J5OMC4RZ.js → chunk-MDTI3UEB.js} +1 -1
- package/dist/chunk-MYJQGGIU.js +5 -0
- package/dist/chunk-NOV6723U.js +1 -0
- package/dist/chunk-NYEAMMUL.js +1 -0
- package/dist/chunk-O5B2L3R2.js +1 -0
- package/dist/chunk-OWB5KWSS.js +13 -0
- package/dist/chunk-P5PSZQPB.js +2 -0
- package/dist/chunk-QI3HG6IG.js +144 -0
- package/dist/chunk-RGNCL5OB.js +1 -0
- package/dist/chunk-SWGSFLTC.js +1 -0
- package/dist/chunk-U5FCQTVL.js +4 -0
- package/dist/{chunk-W3HXTCSY.js → chunk-UXEO5QCF.js} +1 -1
- package/dist/{chunk-QJCCZLOF.js → chunk-VRGEPPUB.js} +1 -1
- package/dist/chunk-VVJK5NFY.js +2 -0
- package/dist/chunk-VXKWWX7S.js +8 -0
- package/dist/chunk-W322YDHS.js +49 -0
- package/dist/chunk-WCJU3CFG.js +1 -0
- package/dist/chunk-WPRLXKWC.js +8 -0
- package/dist/{chunk-E4LJ3PQD.js → chunk-XGE2FDI4.js} +1 -1
- package/dist/{chunk-5SFCBZOH.js → chunk-YN5X2FTP.js} +1 -1
- package/dist/chunk-YOCN7GF4.js +1 -0
- package/dist/chunk-YYQEWAES.js +1 -0
- package/dist/chunk-ZEEV5J4I.js +1 -0
- package/dist/create-ALT2ME6H.js +1 -0
- package/dist/{doctor-LDZ7BIU3.js → doctor-RW4R3O5C.js} +1 -1
- package/dist/{goal-lifecycle-HAWBRYDF.js → goal-lifecycle-VYOKS6E6.js} +1 -1
- package/dist/goal-pack-YWPI43QL.js +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +199 -195
- package/dist/{pipeline-TWHWU6GP.js → pipeline-U4N2DVD7.js} +1 -1
- package/dist/{platform-capabilities-PR6YL4KC.js → platform-capabilities-DB4BZPTD.js} +1 -1
- package/dist/{project-agent-entry-YFRLKNOB.js → project-agent-entry-YAQCHIMP.js} +1 -1
- package/dist/project-intelligence-lens-MRQR2LQW.js +1 -0
- package/dist/{project-test-coverage-E2Q4QL44.js → project-test-coverage-4S7MEQ6T.js} +1 -1
- package/dist/{pythonRapidkitExec-4YTAMLBD.js → pythonRapidkitExec-VAW5XE4Z.js} +1 -1
- package/dist/verified-goal-WM34TTGE.js +1 -0
- package/dist/{workspace-XWKEBPS3.js → workspace-HGUZWNAB.js} +1 -1
- package/dist/{workspace-agent-sync-FQU6VIEU.js → workspace-agent-sync-GEN3KBAX.js} +1 -1
- package/dist/{workspace-context-DPDGFTWJ.js → workspace-context-4WIWFW26.js} +1 -1
- package/dist/workspace-contract-7DXK4GF5.js +1 -0
- package/dist/{workspace-explain-OU2PEVYO.js → workspace-explain-TE2LGOAV.js} +1 -1
- package/dist/workspace-foundation-J3NNRMI3.js +1 -0
- package/dist/workspace-graph-stream-PQI7OGCE.js +1 -0
- package/dist/workspace-graph-token-efficiency-2I4X374C.js +1 -0
- package/dist/{workspace-intelligence-625UN27X.js → workspace-intelligence-6FS26JOQ.js} +1 -1
- package/dist/{workspace-intelligence-runner-YQWX5VAM.js → workspace-intelligence-runner-XYUPCSLN.js} +1 -1
- package/dist/workspace-knowledge-graph-SWCKDTPF.js +1 -0
- package/dist/workspace-knowledge-graph-contract-L3CLAM2M.js +1 -0
- package/dist/{workspace-knowledge-graph-query-ON45H6Y7.js → workspace-knowledge-graph-query-FZXSPWGK.js} +1 -1
- package/dist/workspace-knowledge-graph-snapshot-M572JRB4.js +1 -0
- package/dist/workspace-mcp-serve-IBMTFQDY.js +3 -0
- package/dist/workspace-model-ZL6WCICX.js +1 -0
- package/dist/{workspace-onboarding-DRFJWRLH.js → workspace-onboarding-X3PWRIIS.js} +1 -1
- package/dist/{workspace-registry-summary-VSOBKAJG.js → workspace-registry-summary-LJN4WHIZ.js} +1 -1
- package/dist/workspace-repair-engine-NX7I632M.js +3 -0
- package/dist/workspace-run-6GT5OBQ5.js +1 -0
- package/dist/{workspace-verify-7ENGIY4S.js → workspace-verify-USRRIM2F.js} +1 -1
- package/dist/workspace-watch-43YZPLF7.js +1 -0
- package/docs/ci-workflows.md +1 -1
- package/docs/commands-reference.md +3 -1
- package/docs/creating-workspaces-and-projects.md +49 -8
- package/docs/real-world-qualification.md +7 -0
- package/docs/workspace-knowledge-graph.md +36 -0
- package/docs/workspace-operations.md +22 -0
- package/docs/workspace-repair-engine.md +17 -0
- package/package.json +1 -1
- package/dist/analyze-K6JDMF5C.js +0 -1
- package/dist/autopilot-release-NUQKFKKK.js +0 -1
- package/dist/capabilities-command-VBLZXP2T.js +0 -1
- package/dist/chunk-4PUJVYRM.js +0 -1
- package/dist/chunk-A4BK7C7M.js +0 -1
- package/dist/chunk-GPGEJVVO.js +0 -4
- package/dist/chunk-GXPOT3A7.js +0 -144
- package/dist/chunk-KCJ3VS6R.js +0 -1
- package/dist/chunk-KG3TUTXU.js +0 -2
- package/dist/chunk-NA2NXX5P.js +0 -1
- package/dist/chunk-NBJ6AP7K.js +0 -2
- package/dist/chunk-NVQUBUTY.js +0 -2
- package/dist/chunk-O6R7SE6Y.js +0 -1
- package/dist/chunk-ODJAKGQF.js +0 -49
- package/dist/chunk-PPQL5UTI.js +0 -13
- package/dist/chunk-PTNLVI62.js +0 -16
- package/dist/chunk-QA62UOE4.js +0 -5
- package/dist/chunk-RJIYCDVC.js +0 -1
- package/dist/chunk-SCP5LJNO.js +0 -2
- package/dist/chunk-T5YRFRJV.js +0 -1
- package/dist/chunk-TFOOSYGO.js +0 -8
- package/dist/chunk-TTQVOCG6.js +0 -1
- package/dist/chunk-TVCJKE2U.js +0 -2
- package/dist/chunk-U5WVR74V.js +0 -1
- package/dist/chunk-UDXFUASA.js +0 -691
- package/dist/chunk-UIBBSKJ3.js +0 -94
- package/dist/chunk-VRQLHCE2.js +0 -8
- package/dist/chunk-ZCPT6KC3.js +0 -6
- package/dist/create-2VELRQAX.js +0 -1
- package/dist/goal-pack-HNQHQFRW.js +0 -1
- package/dist/project-intelligence-lens-VWBLAGQ7.js +0 -1
- package/dist/verified-goal-Y4NTKSWH.js +0 -1
- package/dist/workspace-contract-3BWIRSVQ.js +0 -1
- package/dist/workspace-foundation-MHKSQDKT.js +0 -1
- package/dist/workspace-graph-stream-XTSDKRLM.js +0 -1
- package/dist/workspace-graph-token-efficiency-D7CUT6NX.js +0 -1
- package/dist/workspace-knowledge-graph-3ZBPSAS7.js +0 -1
- package/dist/workspace-knowledge-graph-snapshot-ZI4W735H.js +0 -1
- package/dist/workspace-mcp-serve-PYKYJIE6.js +0 -3
- package/dist/workspace-model-ETCLINRB.js +0 -1
- package/dist/workspace-repair-engine-XZLHR27V.js +0 -3
- package/dist/workspace-run-YXI5L466.js +0 -1
- package/dist/workspace-watch-2YFSB2WL.js +0 -1
package/README.md
CHANGED
|
@@ -18,28 +18,28 @@ npx workspai adopt .
|
|
|
18
18
|
npx workspai workspace intelligence run --for-agent generic
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
-
Two commands. Your project
|
|
21
|
+
Two commands. Your project gains a bounded, evidence-backed system view:
|
|
22
22
|
|
|
23
23
|
### Before vs After
|
|
24
24
|
|
|
25
25
|
| Before Workspai | After Workspai |
|
|
26
26
|
| --- | --- |
|
|
27
|
-
| Agent scans thousands of files for context | Agent
|
|
27
|
+
| Agent scans thousands of files for context | Agent starts from bounded entry and context artifacts |
|
|
28
28
|
| No dependency map between services | Searchable graph with source-level proof |
|
|
29
|
-
| Broken test blocks release, no one knows why | Doctor
|
|
29
|
+
| Broken test blocks release, no one knows why | Doctor localizes the blocker and next target |
|
|
30
30
|
| Every AI session starts from scratch | Sessions resume from durable evidence |
|
|
31
31
|
|
|
32
32
|
Here is what you get:
|
|
33
33
|
|
|
34
34
|
| What it produces | Why it matters |
|
|
35
35
|
| --- | --- |
|
|
36
|
-
| **Workspace Model** | A canonical inventory of
|
|
36
|
+
| **Workspace Model** | A canonical inventory of registered projects, detected runtimes, frameworks, and proven dependencies |
|
|
37
37
|
| **Knowledge Graph** | Searchable relationships between projects, backed by source-level proof |
|
|
38
38
|
| **Health & Readiness** | Doctor checks, verification gates, and release posture based on evidence, not guesses |
|
|
39
39
|
| **Agent Context** | Bounded, focused instructions so AI tools read what they need, not the entire repo |
|
|
40
40
|
| **Agent Rules** | Ready-to-use grounding for Cursor, Copilot, Claude, Codex, Gemini, and more |
|
|
41
41
|
| **Agent Skills** | Runtime-, polyglot-, test-, and delivery-aware operational playbooks, with portable `SKILL.md` projections where the host supports Agent Skills |
|
|
42
|
-
| **MCP Server** |
|
|
42
|
+
| **MCP Server** | Versioned read-oriented tools for querying evidence, graph, blockers, and context live |
|
|
43
43
|
|
|
44
44
|
`generic` is the safe default when you do not yet know which agent will use the
|
|
45
45
|
project: Workspai builds one portable context and prepares discovery adapters
|
|
@@ -47,46 +47,28 @@ for every supported host, without duplicating the Model or Graph.
|
|
|
47
47
|
|
|
48
48
|
### What the output looks like
|
|
49
49
|
|
|
50
|
-
After a single run,
|
|
50
|
+
After a single run, the canonical workspace stores governed artifacts under
|
|
51
|
+
`.workspai/`. Each linked project keeps only its local entry contract, scoped
|
|
52
|
+
lens, and workspace binding under its own `.workspai/` directory:
|
|
51
53
|
|
|
52
54
|
```text
|
|
53
|
-
your-workspace/
|
|
55
|
+
your-workspace/ # canonical system boundary
|
|
54
56
|
├── .workspai/
|
|
55
|
-
│ ├── workspace.json
|
|
56
|
-
│ ├──
|
|
57
|
-
│ ├──
|
|
58
|
-
│ │ ├── workspace-
|
|
59
|
-
│ │ ├── workspace-
|
|
60
|
-
│ │
|
|
61
|
-
│
|
|
62
|
-
│ │ ├── workspace-verify-last-run.json # pass/fail with evidence
|
|
63
|
-
│ │ ├── INDEX.json # evidence inventory & read order
|
|
64
|
-
│ │ └── ... # impact, doctor, analyze, explain, etc.
|
|
65
|
-
│ └── skills/ # generated operational skills
|
|
66
|
-
│ ├── workspai-release-readiness.md # always available
|
|
67
|
-
│ ├── workspai-node-runtime-validation.md # only when Node is detected
|
|
68
|
-
│ └── workspai-polyglot-change-validation.md # only for multi-runtime workspaces
|
|
69
|
-
│
|
|
70
|
-
│ # Workspace-level agent grounding (per host):
|
|
57
|
+
│ ├── workspace.contract.json # registered projects and declarations
|
|
58
|
+
│ ├── reports/
|
|
59
|
+
│ │ ├── workspace-model.json # canonical system model
|
|
60
|
+
│ │ ├── workspace-knowledge-graph.json # derived proof-backed graph
|
|
61
|
+
│ │ ├── workspace-context-agent.json # bounded consumer context
|
|
62
|
+
│ │ └── INDEX.json # evidence inventory and read order
|
|
63
|
+
│ └── skills/ # detected operational playbooks
|
|
71
64
|
├── AGENTS.md · CLAUDE.md · GEMINI.md · QWEN.md
|
|
72
|
-
├── .cursor/
|
|
73
|
-
├── .claude/rules/workspai-*.md # workspace + evidence
|
|
74
|
-
├── .grok/rules/ · .windsurf/rules/ # grounding + evidence
|
|
75
|
-
├── .amazonq/rules/ · .github/ # Copilot, prompts, agents, skills
|
|
76
|
-
│
|
|
77
|
-
│ # ── Project level (repeated per project) ──
|
|
65
|
+
├── .cursor/ · .claude/ · .github/ · .agents/ # host-native projections
|
|
78
66
|
├── nova-api/
|
|
79
|
-
│
|
|
80
|
-
│
|
|
81
|
-
│
|
|
82
|
-
│
|
|
83
|
-
|
|
84
|
-
│ │ └── reports/
|
|
85
|
-
│ │ └── project-context-agent.json # scoped project context
|
|
86
|
-
│ ├── AGENTS.md · CLAUDE.md · GEMINI.md · QWEN.md
|
|
87
|
-
│ └── .amazonq/rules/workspai-agent-entry.md
|
|
88
|
-
│
|
|
89
|
-
└── summit-web/ # (same structure per project)
|
|
67
|
+
│ └── .workspai/
|
|
68
|
+
│ ├── agent-entry.v1.json # canonical project entry
|
|
69
|
+
│ ├── workspace-link.local.json # machine-local binding
|
|
70
|
+
│ └── reports/project-context-agent.json
|
|
71
|
+
└── summit-web/ # same project-level boundary
|
|
90
72
|
```
|
|
91
73
|
|
|
92
74
|
Your agent starts with `agent-entry.v1.json`, compact workspace context, and the Skills
|
|
@@ -105,8 +87,8 @@ scan or complete Graph load is needed for ordinary work.
|
|
|
105
87
|
Workspai is an open-source CLI that brings related software projects together,
|
|
106
88
|
so people and AI tools can understand and work with the same system.
|
|
107
89
|
|
|
108
|
-
- **See the whole system:**
|
|
109
|
-
- **Ask with proof:** trace
|
|
90
|
+
- **See the whole system:** registered projects and proven relationships in one model.
|
|
91
|
+
- **Ask with proof:** trace answers back to their evidence record and source location.
|
|
110
92
|
- **Change safely:** know impact before you commit, verify after, and give AI agents
|
|
111
93
|
only the context they need.
|
|
112
94
|
|
|
@@ -202,7 +184,7 @@ generated in one run. The key files for each audience:
|
|
|
202
184
|
| **AI agent** | `agent-entry.v1.json` (project) → `workspace-context-agent.json` (workspace) |
|
|
203
185
|
| **Developer** | Terminal summary, or `workspace-explain-last-run.json` for diagnosis |
|
|
204
186
|
| **CI / automation** | `workspace-verify-last-run.json` (exit code 0 = pass, 2 = blocked) |
|
|
205
|
-
| **MCP client** | `workspace mcp serve` (
|
|
187
|
+
| **MCP client** | `workspace mcp serve` (versioned read-oriented tools over JSON-RPC) |
|
|
206
188
|
| **IDE extension** | Same artifacts + watch events |
|
|
207
189
|
|
|
208
190
|
An agent can prove that it entered through governed evidence before scanning
|
|
@@ -264,6 +246,17 @@ complements this chain; it does not replace it.
|
|
|
264
246
|
|
|
265
247
|
The deterministic model, graph, and checks do not require an AI API key.
|
|
266
248
|
|
|
249
|
+
### See the evidence-backed graph
|
|
250
|
+
|
|
251
|
+
The graph connects projects, APIs, packages, tests, infrastructure, ownership,
|
|
252
|
+
and runtime topology only when current evidence supports the relationship.
|
|
253
|
+
Every visible relationship can retain proof, while missing relationships stay
|
|
254
|
+
explicitly unproven.
|
|
255
|
+
|
|
256
|
+

|
|
257
|
+
|
|
258
|
+
[Query, explain, and export the graph](docs/workspace-knowledge-graph.md)
|
|
259
|
+
|
|
267
260
|
## Everyday workflows
|
|
268
261
|
|
|
269
262
|
| Goal | Command |
|
|
@@ -294,7 +287,7 @@ Workspai exposes the same governed data through several stable surfaces:
|
|
|
294
287
|
- JSON output for scripts and CI;
|
|
295
288
|
- versioned artifacts under `.workspai/reports/`;
|
|
296
289
|
- focused context and instructions for AI agents;
|
|
297
|
-
- MCP server with
|
|
290
|
+
- MCP server with versioned read-oriented workspace tools (`workspace mcp serve`);
|
|
298
291
|
- watch events and reports for IDEs and dashboards;
|
|
299
292
|
- JSON, JSON-LD, Mermaid, DOT, GraphML, and GEXF graph exports.
|
|
300
293
|
|
|
@@ -19,81 +19,97 @@
|
|
|
19
19
|
"id": "fastapi.standard",
|
|
20
20
|
"runtime": "python",
|
|
21
21
|
"framework": "fastapi",
|
|
22
|
+
"plannerFramework": "fastapi",
|
|
22
23
|
"category": "backend",
|
|
23
24
|
"owner": "core",
|
|
24
25
|
"stability": "stable",
|
|
25
26
|
"versionPolicy": "tested-baseline",
|
|
26
|
-
"moduleSupport": true
|
|
27
|
+
"moduleSupport": true,
|
|
28
|
+
"workspacePythonEngine": "required"
|
|
27
29
|
},
|
|
28
30
|
{
|
|
29
31
|
"id": "fastapi.ddd",
|
|
30
32
|
"runtime": "python",
|
|
31
33
|
"framework": "fastapi",
|
|
34
|
+
"plannerFramework": "fastapi",
|
|
32
35
|
"category": "backend",
|
|
33
36
|
"owner": "core",
|
|
34
37
|
"stability": "stable",
|
|
35
38
|
"versionPolicy": "tested-baseline",
|
|
36
|
-
"moduleSupport": true
|
|
39
|
+
"moduleSupport": true,
|
|
40
|
+
"workspacePythonEngine": "required"
|
|
37
41
|
},
|
|
38
42
|
{
|
|
39
43
|
"id": "nestjs.standard",
|
|
40
44
|
"runtime": "node",
|
|
41
45
|
"framework": "nestjs",
|
|
46
|
+
"plannerFramework": "nestjs",
|
|
42
47
|
"category": "backend",
|
|
43
48
|
"owner": "core",
|
|
44
49
|
"stability": "stable",
|
|
45
50
|
"versionPolicy": "tested-baseline",
|
|
46
|
-
"moduleSupport": true
|
|
51
|
+
"moduleSupport": true,
|
|
52
|
+
"workspacePythonEngine": "optional"
|
|
47
53
|
},
|
|
48
54
|
{
|
|
49
55
|
"id": "springboot.standard",
|
|
50
56
|
"runtime": "java",
|
|
51
57
|
"framework": "springboot",
|
|
58
|
+
"plannerFramework": "springboot",
|
|
52
59
|
"category": "backend",
|
|
53
60
|
"owner": "npm",
|
|
54
61
|
"stability": "stable",
|
|
55
62
|
"versionPolicy": "tested-baseline",
|
|
56
|
-
"moduleSupport": false
|
|
63
|
+
"moduleSupport": false,
|
|
64
|
+
"workspacePythonEngine": "none"
|
|
57
65
|
},
|
|
58
66
|
{
|
|
59
67
|
"id": "gofiber.standard",
|
|
60
68
|
"runtime": "go",
|
|
61
69
|
"framework": "gofiber",
|
|
70
|
+
"plannerFramework": "go",
|
|
62
71
|
"category": "backend",
|
|
63
72
|
"owner": "npm",
|
|
64
73
|
"stability": "stable",
|
|
65
74
|
"versionPolicy": "tested-baseline",
|
|
66
|
-
"moduleSupport": false
|
|
75
|
+
"moduleSupport": false,
|
|
76
|
+
"workspacePythonEngine": "none"
|
|
67
77
|
},
|
|
68
78
|
{
|
|
69
79
|
"id": "gogin.standard",
|
|
70
80
|
"runtime": "go",
|
|
71
81
|
"framework": "gogin",
|
|
82
|
+
"plannerFramework": "go",
|
|
72
83
|
"category": "backend",
|
|
73
84
|
"owner": "npm",
|
|
74
85
|
"stability": "stable",
|
|
75
86
|
"versionPolicy": "tested-baseline",
|
|
76
|
-
"moduleSupport": false
|
|
87
|
+
"moduleSupport": false,
|
|
88
|
+
"workspacePythonEngine": "none"
|
|
77
89
|
},
|
|
78
90
|
{
|
|
79
91
|
"id": "dotnet.webapi.clean",
|
|
80
92
|
"runtime": "dotnet",
|
|
81
93
|
"framework": "dotnet",
|
|
94
|
+
"plannerFramework": "dotnet",
|
|
82
95
|
"category": "backend",
|
|
83
96
|
"owner": "npm",
|
|
84
97
|
"stability": "preview",
|
|
85
98
|
"versionPolicy": "tested-baseline",
|
|
86
|
-
"moduleSupport": false
|
|
99
|
+
"moduleSupport": false,
|
|
100
|
+
"workspacePythonEngine": "none"
|
|
87
101
|
},
|
|
88
102
|
{
|
|
89
103
|
"id": "rust.axum",
|
|
90
104
|
"runtime": "rust",
|
|
91
105
|
"framework": "axum",
|
|
106
|
+
"plannerFramework": "rust",
|
|
92
107
|
"category": "backend",
|
|
93
108
|
"owner": "npm",
|
|
94
109
|
"stability": "preview",
|
|
95
110
|
"versionPolicy": "tested-baseline",
|
|
96
|
-
"moduleSupport": false
|
|
111
|
+
"moduleSupport": false,
|
|
112
|
+
"workspacePythonEngine": "none"
|
|
97
113
|
}
|
|
98
114
|
],
|
|
99
115
|
"officialCreate": [
|
|
@@ -106,6 +122,12 @@
|
|
|
106
122
|
"next.js"
|
|
107
123
|
],
|
|
108
124
|
"ecosystem": "nextjs",
|
|
125
|
+
"plannerFramework": "nextjs",
|
|
126
|
+
"runtime": "node",
|
|
127
|
+
"runtimeCandidates": [
|
|
128
|
+
"node"
|
|
129
|
+
],
|
|
130
|
+
"workspacePythonEngine": "none",
|
|
109
131
|
"status": "available",
|
|
110
132
|
"canExecuteCreate": true,
|
|
111
133
|
"versionPolicy": "latest-stable",
|
|
@@ -124,6 +146,12 @@
|
|
|
124
146
|
"react-router"
|
|
125
147
|
],
|
|
126
148
|
"ecosystem": "remix",
|
|
149
|
+
"plannerFramework": "remix",
|
|
150
|
+
"runtime": "node",
|
|
151
|
+
"runtimeCandidates": [
|
|
152
|
+
"node"
|
|
153
|
+
],
|
|
154
|
+
"workspacePythonEngine": "none",
|
|
127
155
|
"status": "available",
|
|
128
156
|
"canExecuteCreate": true,
|
|
129
157
|
"versionPolicy": "latest-stable",
|
|
@@ -145,6 +173,12 @@
|
|
|
145
173
|
"vite.react"
|
|
146
174
|
],
|
|
147
175
|
"ecosystem": "react",
|
|
176
|
+
"plannerFramework": "vite-react",
|
|
177
|
+
"runtime": "node",
|
|
178
|
+
"runtimeCandidates": [
|
|
179
|
+
"node"
|
|
180
|
+
],
|
|
181
|
+
"workspacePythonEngine": "none",
|
|
148
182
|
"status": "available",
|
|
149
183
|
"canExecuteCreate": true,
|
|
150
184
|
"versionPolicy": "latest-stable",
|
|
@@ -163,6 +197,12 @@
|
|
|
163
197
|
"vite.vue"
|
|
164
198
|
],
|
|
165
199
|
"ecosystem": "vue",
|
|
200
|
+
"plannerFramework": "vite-vue",
|
|
201
|
+
"runtime": "node",
|
|
202
|
+
"runtimeCandidates": [
|
|
203
|
+
"node"
|
|
204
|
+
],
|
|
205
|
+
"workspacePythonEngine": "none",
|
|
166
206
|
"status": "available",
|
|
167
207
|
"canExecuteCreate": true,
|
|
168
208
|
"versionPolicy": "latest-stable",
|
|
@@ -181,6 +221,12 @@
|
|
|
181
221
|
"vite.svelte"
|
|
182
222
|
],
|
|
183
223
|
"ecosystem": "svelte",
|
|
224
|
+
"plannerFramework": "vite-svelte",
|
|
225
|
+
"runtime": "node",
|
|
226
|
+
"runtimeCandidates": [
|
|
227
|
+
"node"
|
|
228
|
+
],
|
|
229
|
+
"workspacePythonEngine": "none",
|
|
184
230
|
"status": "available",
|
|
185
231
|
"canExecuteCreate": true,
|
|
186
232
|
"versionPolicy": "latest-stable",
|
|
@@ -200,6 +246,12 @@
|
|
|
200
246
|
"vite.solid"
|
|
201
247
|
],
|
|
202
248
|
"ecosystem": "solid",
|
|
249
|
+
"plannerFramework": "vite-solid",
|
|
250
|
+
"runtime": "node",
|
|
251
|
+
"runtimeCandidates": [
|
|
252
|
+
"node"
|
|
253
|
+
],
|
|
254
|
+
"workspacePythonEngine": "none",
|
|
203
255
|
"status": "available",
|
|
204
256
|
"canExecuteCreate": true,
|
|
205
257
|
"versionPolicy": "latest-stable",
|
|
@@ -218,6 +270,12 @@
|
|
|
218
270
|
"vite-vanilla"
|
|
219
271
|
],
|
|
220
272
|
"ecosystem": "vite",
|
|
273
|
+
"plannerFramework": "vite-vanilla",
|
|
274
|
+
"runtime": "node",
|
|
275
|
+
"runtimeCandidates": [
|
|
276
|
+
"node"
|
|
277
|
+
],
|
|
278
|
+
"workspacePythonEngine": "none",
|
|
221
279
|
"status": "available",
|
|
222
280
|
"canExecuteCreate": true,
|
|
223
281
|
"versionPolicy": "latest-stable",
|
|
@@ -236,6 +294,12 @@
|
|
|
236
294
|
"nuxt.js"
|
|
237
295
|
],
|
|
238
296
|
"ecosystem": "nuxt",
|
|
297
|
+
"plannerFramework": "nuxt",
|
|
298
|
+
"runtime": "node",
|
|
299
|
+
"runtimeCandidates": [
|
|
300
|
+
"node"
|
|
301
|
+
],
|
|
302
|
+
"workspacePythonEngine": "none",
|
|
239
303
|
"status": "available",
|
|
240
304
|
"canExecuteCreate": true,
|
|
241
305
|
"versionPolicy": "latest-stable",
|
|
@@ -253,6 +317,12 @@
|
|
|
253
317
|
"ng"
|
|
254
318
|
],
|
|
255
319
|
"ecosystem": "angular",
|
|
320
|
+
"plannerFramework": "angular",
|
|
321
|
+
"runtime": "node",
|
|
322
|
+
"runtimeCandidates": [
|
|
323
|
+
"node"
|
|
324
|
+
],
|
|
325
|
+
"workspacePythonEngine": "none",
|
|
256
326
|
"status": "available",
|
|
257
327
|
"canExecuteCreate": true,
|
|
258
328
|
"versionPolicy": "latest-stable",
|
|
@@ -272,6 +342,12 @@
|
|
|
272
342
|
"astro"
|
|
273
343
|
],
|
|
274
344
|
"ecosystem": "astro",
|
|
345
|
+
"plannerFramework": "astro",
|
|
346
|
+
"runtime": "node",
|
|
347
|
+
"runtimeCandidates": [
|
|
348
|
+
"node"
|
|
349
|
+
],
|
|
350
|
+
"workspacePythonEngine": "none",
|
|
275
351
|
"status": "available",
|
|
276
352
|
"canExecuteCreate": true,
|
|
277
353
|
"versionPolicy": "latest-stable",
|
|
@@ -289,6 +365,12 @@
|
|
|
289
365
|
"svelte-kit"
|
|
290
366
|
],
|
|
291
367
|
"ecosystem": "sveltekit",
|
|
368
|
+
"plannerFramework": "sveltekit",
|
|
369
|
+
"runtime": "node",
|
|
370
|
+
"runtimeCandidates": [
|
|
371
|
+
"node"
|
|
372
|
+
],
|
|
373
|
+
"workspacePythonEngine": "none",
|
|
292
374
|
"status": "available",
|
|
293
375
|
"canExecuteCreate": true,
|
|
294
376
|
"versionPolicy": "latest-stable",
|
|
@@ -306,6 +388,13 @@
|
|
|
306
388
|
"tauri-app"
|
|
307
389
|
],
|
|
308
390
|
"ecosystem": "tauri",
|
|
391
|
+
"plannerFramework": "tauri",
|
|
392
|
+
"runtime": "node",
|
|
393
|
+
"runtimeCandidates": [
|
|
394
|
+
"node",
|
|
395
|
+
"rust"
|
|
396
|
+
],
|
|
397
|
+
"workspacePythonEngine": "none",
|
|
309
398
|
"status": "available",
|
|
310
399
|
"canExecuteCreate": true,
|
|
311
400
|
"versionPolicy": "latest-stable",
|
|
@@ -323,6 +412,12 @@
|
|
|
323
412
|
"electron-forge"
|
|
324
413
|
],
|
|
325
414
|
"ecosystem": "electron",
|
|
415
|
+
"plannerFramework": "electron",
|
|
416
|
+
"runtime": "node",
|
|
417
|
+
"runtimeCandidates": [
|
|
418
|
+
"node"
|
|
419
|
+
],
|
|
420
|
+
"workspacePythonEngine": "none",
|
|
326
421
|
"status": "available",
|
|
327
422
|
"canExecuteCreate": true,
|
|
328
423
|
"versionPolicy": "latest-stable",
|
|
@@ -341,6 +436,12 @@
|
|
|
341
436
|
"visual-studio-code-extension"
|
|
342
437
|
],
|
|
343
438
|
"ecosystem": "vscode-extension",
|
|
439
|
+
"plannerFramework": "vscode-extension",
|
|
440
|
+
"runtime": "node",
|
|
441
|
+
"runtimeCandidates": [
|
|
442
|
+
"node"
|
|
443
|
+
],
|
|
444
|
+
"workspacePythonEngine": "none",
|
|
344
445
|
"status": "available",
|
|
345
446
|
"canExecuteCreate": true,
|
|
346
447
|
"versionPolicy": "latest-stable",
|
|
@@ -361,6 +462,13 @@
|
|
|
361
462
|
"php-laravel"
|
|
362
463
|
],
|
|
363
464
|
"ecosystem": "laravel",
|
|
465
|
+
"plannerFramework": "laravel",
|
|
466
|
+
"runtime": "php",
|
|
467
|
+
"runtimeCandidates": [
|
|
468
|
+
"php",
|
|
469
|
+
"node"
|
|
470
|
+
],
|
|
471
|
+
"workspacePythonEngine": "none",
|
|
364
472
|
"status": "available",
|
|
365
473
|
"canExecuteCreate": true,
|
|
366
474
|
"versionPolicy": "latest-stable",
|
|
@@ -379,6 +487,12 @@
|
|
|
379
487
|
"wp-site"
|
|
380
488
|
],
|
|
381
489
|
"ecosystem": "wordpress",
|
|
490
|
+
"plannerFramework": "wordpress",
|
|
491
|
+
"runtime": "php",
|
|
492
|
+
"runtimeCandidates": [
|
|
493
|
+
"php"
|
|
494
|
+
],
|
|
495
|
+
"workspacePythonEngine": "none",
|
|
382
496
|
"status": "planned",
|
|
383
497
|
"canExecuteCreate": false,
|
|
384
498
|
"versionPolicy": "planned",
|
|
@@ -399,6 +513,13 @@
|
|
|
399
513
|
"gutenberg-block"
|
|
400
514
|
],
|
|
401
515
|
"ecosystem": "wordpress",
|
|
516
|
+
"plannerFramework": "wordpress",
|
|
517
|
+
"runtime": "node",
|
|
518
|
+
"runtimeCandidates": [
|
|
519
|
+
"node",
|
|
520
|
+
"php"
|
|
521
|
+
],
|
|
522
|
+
"workspacePythonEngine": "none",
|
|
402
523
|
"status": "planned",
|
|
403
524
|
"canExecuteCreate": false,
|
|
404
525
|
"versionPolicy": "planned",
|
|
@@ -415,6 +536,12 @@
|
|
|
415
536
|
"php-symfony"
|
|
416
537
|
],
|
|
417
538
|
"ecosystem": "php",
|
|
539
|
+
"plannerFramework": "symfony",
|
|
540
|
+
"runtime": "php",
|
|
541
|
+
"runtimeCandidates": [
|
|
542
|
+
"php"
|
|
543
|
+
],
|
|
544
|
+
"workspacePythonEngine": "none",
|
|
418
545
|
"status": "planned",
|
|
419
546
|
"canExecuteCreate": false,
|
|
420
547
|
"versionPolicy": "planned",
|
|
@@ -432,6 +559,12 @@
|
|
|
432
559
|
"ruby-rails"
|
|
433
560
|
],
|
|
434
561
|
"ecosystem": "ruby",
|
|
562
|
+
"plannerFramework": "rails",
|
|
563
|
+
"runtime": "ruby",
|
|
564
|
+
"runtimeCandidates": [
|
|
565
|
+
"ruby"
|
|
566
|
+
],
|
|
567
|
+
"workspacePythonEngine": "none",
|
|
435
568
|
"status": "planned",
|
|
436
569
|
"canExecuteCreate": false,
|
|
437
570
|
"versionPolicy": "planned",
|
|
@@ -451,6 +584,116 @@
|
|
|
451
584
|
"scala",
|
|
452
585
|
"kotlin"
|
|
453
586
|
],
|
|
587
|
+
"workspaceProfiles": [
|
|
588
|
+
{
|
|
589
|
+
"id": "minimal",
|
|
590
|
+
"runtimePolicy": "single-detected",
|
|
591
|
+
"runtimeFamilies": [],
|
|
592
|
+
"setupRuntimeFamilies": [],
|
|
593
|
+
"pythonEngineAtCreate": "skipped",
|
|
594
|
+
"pythonEngineAtBootstrap": "on-demand"
|
|
595
|
+
},
|
|
596
|
+
{
|
|
597
|
+
"id": "python-only",
|
|
598
|
+
"runtimePolicy": "bounded",
|
|
599
|
+
"runtimeFamilies": [
|
|
600
|
+
"python"
|
|
601
|
+
],
|
|
602
|
+
"setupRuntimeFamilies": [
|
|
603
|
+
"python"
|
|
604
|
+
],
|
|
605
|
+
"pythonEngineAtCreate": "optional-default-install",
|
|
606
|
+
"pythonEngineAtBootstrap": "on-demand"
|
|
607
|
+
},
|
|
608
|
+
{
|
|
609
|
+
"id": "node-only",
|
|
610
|
+
"runtimePolicy": "bounded",
|
|
611
|
+
"runtimeFamilies": [
|
|
612
|
+
"node"
|
|
613
|
+
],
|
|
614
|
+
"setupRuntimeFamilies": [
|
|
615
|
+
"node"
|
|
616
|
+
],
|
|
617
|
+
"pythonEngineAtCreate": "skipped",
|
|
618
|
+
"pythonEngineAtBootstrap": "disabled"
|
|
619
|
+
},
|
|
620
|
+
{
|
|
621
|
+
"id": "go-only",
|
|
622
|
+
"runtimePolicy": "bounded",
|
|
623
|
+
"runtimeFamilies": [
|
|
624
|
+
"go"
|
|
625
|
+
],
|
|
626
|
+
"setupRuntimeFamilies": [
|
|
627
|
+
"go"
|
|
628
|
+
],
|
|
629
|
+
"pythonEngineAtCreate": "skipped",
|
|
630
|
+
"pythonEngineAtBootstrap": "disabled"
|
|
631
|
+
},
|
|
632
|
+
{
|
|
633
|
+
"id": "java-only",
|
|
634
|
+
"runtimePolicy": "bounded",
|
|
635
|
+
"runtimeFamilies": [
|
|
636
|
+
"java"
|
|
637
|
+
],
|
|
638
|
+
"setupRuntimeFamilies": [
|
|
639
|
+
"java"
|
|
640
|
+
],
|
|
641
|
+
"pythonEngineAtCreate": "skipped",
|
|
642
|
+
"pythonEngineAtBootstrap": "disabled"
|
|
643
|
+
},
|
|
644
|
+
{
|
|
645
|
+
"id": "dotnet-only",
|
|
646
|
+
"runtimePolicy": "bounded",
|
|
647
|
+
"runtimeFamilies": [
|
|
648
|
+
"dotnet"
|
|
649
|
+
],
|
|
650
|
+
"setupRuntimeFamilies": [
|
|
651
|
+
"dotnet"
|
|
652
|
+
],
|
|
653
|
+
"pythonEngineAtCreate": "skipped",
|
|
654
|
+
"pythonEngineAtBootstrap": "disabled"
|
|
655
|
+
},
|
|
656
|
+
{
|
|
657
|
+
"id": "polyglot",
|
|
658
|
+
"runtimePolicy": "multi-runtime",
|
|
659
|
+
"runtimeFamilies": [],
|
|
660
|
+
"setupRuntimeFamilies": [
|
|
661
|
+
"python",
|
|
662
|
+
"node",
|
|
663
|
+
"go",
|
|
664
|
+
"java",
|
|
665
|
+
"dotnet"
|
|
666
|
+
],
|
|
667
|
+
"pythonEngineAtCreate": "optional-default-install",
|
|
668
|
+
"pythonEngineAtBootstrap": "on-demand"
|
|
669
|
+
},
|
|
670
|
+
{
|
|
671
|
+
"id": "enterprise",
|
|
672
|
+
"runtimePolicy": "multi-runtime",
|
|
673
|
+
"runtimeFamilies": [],
|
|
674
|
+
"setupRuntimeFamilies": [
|
|
675
|
+
"python",
|
|
676
|
+
"node",
|
|
677
|
+
"go",
|
|
678
|
+
"java",
|
|
679
|
+
"dotnet"
|
|
680
|
+
],
|
|
681
|
+
"pythonEngineAtCreate": "optional-default-install",
|
|
682
|
+
"pythonEngineAtBootstrap": "on-demand"
|
|
683
|
+
}
|
|
684
|
+
],
|
|
685
|
+
"lifecycle": {
|
|
686
|
+
"automatic": [
|
|
687
|
+
"Create the workspace foundation without installing an optional workspace Python engine unless the user explicitly selected that engine in CLI workspace creation.",
|
|
688
|
+
"Run the selected native or official project generator and let that generator own project dependency installation unless --skip-install is set.",
|
|
689
|
+
"Register every created project and refresh the canonical contract, model, proof-backed graph, diff, impact, agent context, grounding, and evidence index."
|
|
690
|
+
],
|
|
691
|
+
"explicit": [
|
|
692
|
+
"Run workspai bootstrap only when the user requests profile and project dependency initialization or a required kit reports a missing workspace engine.",
|
|
693
|
+
"Run workspai workspace intelligence run --for-agent <agent> --strict for a complete evidence and verification loop.",
|
|
694
|
+
"Run doctor, analyze, readiness, verify, run, Goal, and repair operations when requested by the user or the governed workflow; Create does not silently claim those gates passed."
|
|
695
|
+
]
|
|
696
|
+
},
|
|
454
697
|
"productRules": [
|
|
455
698
|
"Do not translate unsupported stack requests into unrelated native kits.",
|
|
456
699
|
"If native create is unavailable, explain the lane and guide to adopt/import.",
|
|
@@ -2694,6 +2694,10 @@
|
|
|
2694
2694
|
"flag": "--limit",
|
|
2695
2695
|
"description": "Bound graph query results (1–100)."
|
|
2696
2696
|
},
|
|
2697
|
+
{
|
|
2698
|
+
"flag": "--kind",
|
|
2699
|
+
"description": "Limit graph entity search to one canonical entity kind."
|
|
2700
|
+
},
|
|
2697
2701
|
{
|
|
2698
2702
|
"flag": "--refresh-graph",
|
|
2699
2703
|
"description": "Bypass the compatible persisted graph and rebuild from live sources."
|
|
@@ -2732,7 +2736,7 @@
|
|
|
2732
2736
|
],
|
|
2733
2737
|
"artifact": null,
|
|
2734
2738
|
"examples": [
|
|
2735
|
-
"workspai workspace graph search \"authentication endpoint\" --limit 12 --json",
|
|
2739
|
+
"workspai workspace graph search \"authentication endpoint\" --kind endpoint --limit 12 --json",
|
|
2736
2740
|
"workspai workspace graph evidence \"GET /users\" --json",
|
|
2737
2741
|
"workspai workspace graph mermaid"
|
|
2738
2742
|
]
|
|
@@ -4133,6 +4137,13 @@
|
|
|
4133
4137
|
"moduleCommands": false,
|
|
4134
4138
|
"doctor": "observed",
|
|
4135
4139
|
"lifecycleCommands": [
|
|
4140
|
+
"init",
|
|
4141
|
+
"dev",
|
|
4142
|
+
"start",
|
|
4143
|
+
"build",
|
|
4144
|
+
"test",
|
|
4145
|
+
"lint",
|
|
4146
|
+
"format",
|
|
4136
4147
|
"help"
|
|
4137
4148
|
]
|
|
4138
4149
|
},
|