workspai 0.45.0 → 0.47.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 +307 -532
- package/contracts/agent-customization-pack.v1.json +6 -1
- package/contracts/bootstrap-compliance.v1.json +14 -0
- package/contracts/cli-runtime-command-inventory.v1.snapshot.json +8 -0
- package/contracts/extension-cli-compatibility.v1.json +9 -2
- package/contracts/mirror-ops.v1.json +16 -0
- package/contracts/published-contract-catalog.v1.json +38 -1
- package/contracts/runtime-command-surface.v1.json +190 -7
- package/contracts/transparency-evidence.v1.json +13 -0
- package/contracts/workspace-archive-capabilities.v1.json +17 -6
- package/contracts/workspace-contract.v1.json +78 -0
- package/contracts/workspace-intelligence/studio-blocker-handoff.v1.json +4 -0
- package/contracts/workspace-intelligence/workspace-context.v1.json +20 -0
- package/contracts/workspace-intelligence/workspace-graph-token-efficiency.v1.json +72 -0
- package/contracts/workspace-intelligence/workspace-intelligence-run.v1.json +212 -0
- package/contracts/workspace-intelligence/workspace-knowledge-graph-change-overlay.v1.json +200 -0
- package/contracts/workspace-intelligence/workspace-knowledge-graph.v1.json +260 -0
- package/contracts/workspace-intelligence/workspace-knowledge-search.v1.json +60 -0
- package/contracts/workspace-intelligence-architecture.v1.json +7 -4
- package/contracts/workspace-intelligence-chain.v1.json +51 -4
- package/contracts/workspace-share-bundle.v1.json +16 -0
- package/dist/analyze-UVXPRGYZ.js +1 -0
- package/dist/artifact-remediation-plan-EPALZ2LC.js +3 -0
- package/dist/autopilot-release-5BQ6F5L2.js +1 -0
- package/dist/chunk-22NJ2ZMG.js +2 -0
- package/dist/{chunk-XIVFLY6G.js → chunk-2GHUZDYA.js} +1 -1
- package/dist/chunk-2TEDAKP6.js +2 -0
- package/dist/chunk-52PBRX7F.js +1 -0
- package/dist/chunk-6SWRNA47.js +4 -0
- package/dist/chunk-76YOPAOT.js +1 -0
- package/dist/chunk-7VLCK5JW.js +1 -0
- package/dist/{chunk-DXPU4DDV.js → chunk-BSRVO52Y.js} +92 -78
- package/dist/chunk-COARSXRC.js +1 -0
- package/dist/chunk-CV5HKU4P.js +1 -0
- package/dist/chunk-CW7PGBIQ.js +13 -0
- package/dist/{chunk-KU4S7RCM.js → chunk-DV6GJD4K.js} +1 -1
- package/dist/chunk-EYJ2CQSK.js +1 -0
- package/dist/chunk-FB7SCXAZ.js +1 -0
- package/dist/chunk-FPJNWPKU.js +1 -0
- package/dist/{chunk-JP25YL3J.js → chunk-FTY7GGXJ.js} +2 -2
- package/dist/chunk-FXQJX34Z.js +1 -0
- package/dist/{chunk-J4AICQFB.js → chunk-HSGFUKCN.js} +1 -1
- package/dist/{chunk-OOOPYUL2.js → chunk-ITCAMC2E.js} +1 -1
- package/dist/chunk-KB44JP4M.js +2 -0
- package/dist/{chunk-WANW4QA4.js → chunk-KZZ36CK5.js} +1 -1
- package/dist/chunk-LNRAB7UY.js +1 -0
- package/dist/chunk-MEMHNE7Y.js +80 -0
- package/dist/chunk-MER6ZBN2.js +13 -0
- package/dist/chunk-NOFM7MNA.js +2 -0
- package/dist/chunk-NRYS4CLR.js +2 -0
- package/dist/chunk-OA537ZQ5.js +1 -0
- package/dist/chunk-PBHP6JNY.js +8 -0
- package/dist/chunk-QDWYIRHR.js +8 -0
- package/dist/chunk-RWRLFSKW.js +2 -0
- package/dist/chunk-SK6XRKGG.js +1 -0
- package/dist/chunk-THIOE2PB.js +2 -0
- package/dist/chunk-TNQI5VCW.js +36 -0
- package/dist/chunk-TWNFECMN.js +2 -0
- package/dist/{chunk-2QOWRBQD.js → chunk-U5EZHZBX.js} +1 -1
- package/dist/{chunk-K63BSU56.js → chunk-VBSQ7MF6.js} +62 -51
- package/dist/chunk-WDKNMTJQ.js +1 -0
- package/dist/chunk-YCL3I2JO.js +2 -0
- package/dist/chunk-ZDN7RHXJ.js +1 -0
- package/dist/chunk-ZM5NQ5Z2.js +1 -0
- package/dist/{create-KFR6FLRT.js → create-7JKJDAQV.js} +1 -1
- package/dist/doctor-PGPNIS76.js +1 -0
- package/dist/{dotnet-webapi-clean-BYUUHX5Y.js → dotnet-webapi-clean-6TVFBTVI.js} +20 -20
- package/dist/{gofiber-standard-B6UK5GR7.js → gofiber-standard-2BL7GWZB.js} +1 -1
- package/dist/{gogin-standard-BXU44VEM.js → gogin-standard-XGP3KBXA.js} +1 -1
- package/dist/index.d.ts +112 -16
- package/dist/index.js +198 -195
- package/dist/pipeline-IB6ILJSV.js +5 -0
- package/dist/{platform-capabilities-YICBF4FA.js → platform-capabilities-2B4QMZXE.js} +1 -1
- package/dist/{pythonRapidkitExec-UJYIB6FL.js → pythonRapidkitExec-CVCIK225.js} +1 -1
- package/dist/{springboot-standard-PEHDKH2L.js → springboot-standard-JJNUID6M.js} +6 -6
- package/dist/workspace-H3QXBFGB.js +1 -0
- package/dist/{workspace-agent-sync-G5YVI3BJ.js → workspace-agent-sync-C7SG2Z5W.js} +1 -1
- package/dist/workspace-archive-P76EDIUG.js +10 -0
- package/dist/{workspace-context-E3UFWL5X.js → workspace-context-BKQBKA4C.js} +1 -1
- package/dist/workspace-contract-RPQQBQXR.js +1 -0
- package/dist/workspace-dependency-graph-23BI2HG7.js +1 -0
- package/dist/workspace-explain-WVN7JH3U.js +1 -0
- package/dist/workspace-explain-contract-SEFTVF6J.js +1 -0
- package/dist/{workspace-feedback-YY6WQPWQ.js → workspace-feedback-WAID3IOE.js} +1 -1
- package/dist/{workspace-foundation-3C2DLCVI.js → workspace-foundation-5OOJEO2D.js} +1 -1
- package/dist/workspace-graph-token-efficiency-CFGFCJ5V.js +1 -0
- package/dist/{workspace-history-VF3CHDYQ.js → workspace-history-C6OP3IAQ.js} +1 -1
- package/dist/workspace-intelligence-VKDL3H2J.js +1 -0
- package/dist/workspace-intelligence-runner-LVALAZY7.js +1 -0
- package/dist/workspace-knowledge-graph-FE2NTZKV.js +1 -0
- package/dist/workspace-knowledge-graph-change-overlay-XG6FC4IX.js +1 -0
- package/dist/workspace-knowledge-graph-query-VOSPPH4W.js +1 -0
- package/dist/workspace-mcp-serve-KT2I676Z.js +3 -0
- package/dist/workspace-model-S33CIB2R.js +1 -0
- package/dist/workspace-model-hash-MHXK5MEI.js +1 -0
- package/dist/workspace-python-engine-state-2MLKJYQG.js +2 -0
- package/dist/workspace-registry-summary-A3YDL63D.js +1 -0
- package/dist/workspace-run-M4LNJILC.js +1 -0
- package/dist/{workspace-verify-ZNT6JX7D.js → workspace-verify-ZGH3NXAH.js} +1 -1
- package/dist/workspace-watch-EVBJTMV7.js +1 -0
- package/docs/AI_DYNAMIC_INTEGRATION.md +73 -432
- package/docs/AI_EXAMPLES.md +37 -395
- package/docs/AI_FEATURES.md +76 -465
- package/docs/AI_QUICKSTART.md +49 -209
- package/docs/DEVELOPMENT.md +5 -5
- package/docs/From Code to Shared Understanding.png +0 -0
- package/docs/GLOSSARY.md +60 -0
- package/docs/OPEN_SOURCE_USER_SCENARIOS.md +91 -9
- package/docs/OPTIMIZATION_GUIDE.md +19 -51
- package/docs/PACKAGE_MANAGER_POLICY.md +4 -1
- package/docs/README.md +91 -42
- package/docs/SECURITY.md +13 -6
- package/docs/SETUP.md +6 -3
- package/docs/UTILITIES.md +8 -20
- package/docs/WORKSPACE_MARKER_SPEC.md +27 -20
- package/docs/ci-workflows.md +19 -5
- package/docs/commands-reference.md +88 -13
- package/docs/config-file-guide.md +67 -246
- package/docs/contracts/ARTIFACT_CATALOG.md +78 -36
- package/docs/contracts/CLI_LOG_EVENT_STREAM.md +1 -1
- package/docs/contracts/README.md +48 -9
- package/docs/contracts/RUNTIME_ACCEPTANCE_MATRIX.md +4 -4
- package/docs/contracts/RUNTIME_SUPPORT_MATRIX.md +14 -10
- package/docs/creating-workspaces-and-projects.md +649 -0
- package/docs/doctor-command.md +5 -4
- package/docs/examples/ci-agent-grounding.yml +16 -10
- package/docs/from-code-to-shared-understanding.md +69 -38
- package/docs/graph-benchmark-methodology.md +121 -0
- package/docs/workspace-intelligence-runner.md +186 -0
- package/docs/workspace-knowledge-graph.md +295 -0
- package/docs/workspace-operations.md +78 -11
- package/docs/workspace-run.md +4 -1
- package/package.json +10 -8
- package/rapidkit.config.example.cjs +5 -5
- package/scripts/enforce-package-manager.cjs +1 -1
- package/scripts/prepack-enterprise.mjs +4 -0
- package/workspai.config.example.cjs +12 -47
- package/dist/analyze-YLV7NVLF.js +0 -1
- package/dist/artifact-remediation-plan-WLZGROUU.js +0 -3
- package/dist/autopilot-release-YBN3SWAA.js +0 -1
- package/dist/chunk-2K3GYCPS.js +0 -1
- package/dist/chunk-42G2OK64.js +0 -1
- package/dist/chunk-5AKYMAIL.js +0 -1
- package/dist/chunk-5GNT4RJI.js +0 -8
- package/dist/chunk-5PVEQ6CZ.js +0 -13
- package/dist/chunk-6AA3WWQZ.js +0 -2
- package/dist/chunk-6ZENXBMG.js +0 -33
- package/dist/chunk-7RIWU5TZ.js +0 -1
- package/dist/chunk-7UZVOYF5.js +0 -2
- package/dist/chunk-BJLE5CH7.js +0 -4
- package/dist/chunk-G3H5R3RR.js +0 -1
- package/dist/chunk-HYJK7W3B.js +0 -1
- package/dist/chunk-IMUU5Q2V.js +0 -13
- package/dist/chunk-KPPGZCUW.js +0 -78
- package/dist/chunk-LCRROMRR.js +0 -2
- package/dist/chunk-LG6RFLPZ.js +0 -1
- package/dist/chunk-P424XYHP.js +0 -1
- package/dist/chunk-P7SCWJFG.js +0 -8
- package/dist/chunk-QWU2CZBG.js +0 -2
- package/dist/chunk-V2H2KRMZ.js +0 -1
- package/dist/chunk-XZGVNGRB.js +0 -1
- package/dist/chunk-ZWO6K24C.js +0 -2
- package/dist/doctor-YJDM5XBH.js +0 -1
- package/dist/imported-projects-registry-FOIE27WT.js +0 -1
- package/dist/pipeline-FEDYO3IA.js +0 -5
- package/dist/workspace-PLXOO6ST.js +0 -1
- package/dist/workspace-archive-EEGLHZDW.js +0 -10
- package/dist/workspace-contract-LQJDZV36.js +0 -1
- package/dist/workspace-explain-G74ZIF23.js +0 -1
- package/dist/workspace-explain-contract-KT757JGQ.js +0 -1
- package/dist/workspace-intelligence-3GG7GEDQ.js +0 -1
- package/dist/workspace-mcp-serve-MJMUV4RY.js +0 -3
- package/dist/workspace-model-NG45SRM5.js +0 -1
- package/dist/workspace-python-engine-state-MTWIIZPY.js +0 -2
- package/dist/workspace-registry-summary-JM2XY52C.js +0 -1
- package/dist/workspace-run-WEQYIERE.js +0 -1
- package/dist/workspace-watch-W47T4RX2.js +0 -1
|
@@ -6,7 +6,7 @@ Complete CLI syntax for the Workspai CLI. For behavior and workflows, see [works
|
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
8
|
npx workspai create # Prompts: workspace | project
|
|
9
|
-
npx workspai create workspace <name> [--profile <profile>] [--
|
|
9
|
+
npx workspai create workspace <name> [--profile <profile>] [--yes] [--here|--output <parent-dir>] [--skip-python-engine] [--skip-git] [--dry-run] [--install-method <poetry|venv|pipx>]
|
|
10
10
|
npx workspai bootstrap [--profile <profile>] [--ci] [--json] [--compliance-only]
|
|
11
11
|
npx workspai setup <python|node|go|java|dotnet> [--warm-deps]
|
|
12
12
|
npx workspai pipeline [--json] [--strict] [--skip-verify] [--skip-analyze] [--skip-autopilot] [--autopilot-mode <audit|safe-fix|enforce>] [--agent-sync|--no-agent-sync]
|
|
@@ -17,6 +17,13 @@ npx workspai autopilot release [--mode <audit|safe-fix|enforce>] [--json] [--out
|
|
|
17
17
|
|
|
18
18
|
Recommended CI:
|
|
19
19
|
|
|
20
|
+
```bash
|
|
21
|
+
npx workspai workspace intelligence run --for-agent codex --strict --json
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Run the broader governance and release orchestrators as separate gates; they
|
|
25
|
+
do not extend or redefine the canonical Workspace Intelligence chain:
|
|
26
|
+
|
|
20
27
|
```bash
|
|
21
28
|
npx workspai pipeline --json --strict
|
|
22
29
|
npx workspai autopilot release --mode enforce --json --output .workspai/reports/autopilot-release.json
|
|
@@ -49,6 +56,7 @@ npx workspai workspace contract init [--force] [--json]
|
|
|
49
56
|
npx workspai workspace contract inspect [--json]
|
|
50
57
|
npx workspai workspace contract verify [--strict] [--json]
|
|
51
58
|
npx workspai workspace contract graph [--json]
|
|
59
|
+
npx workspai workspace intelligence run [--workspace <path>] [--for-agent <agent>] [--strict] [--json]
|
|
52
60
|
npx workspai workspace model [--workspace <path>] [--json] [--write] [--strict] [--cache] [--incremental] [--include-paths] [--include-evidence] [--scan-depth <count>]
|
|
53
61
|
npx workspai workspace context --for-agent [codex|claude|cursor|orca] [--workspace <path>] [--json] [--write] [--agent-sync|--no-agent-sync] [--target <targets>] [--preset minimal|enterprise] [--include-evidence] [--scan-depth <count>]
|
|
54
62
|
npx workspai workspace agent-sync [--workspace <path>] [--write] [--refresh-context] [--strict] [--json] [--preset minimal|enterprise] [--target all|vscode|agents,copilot,cursor,claude,codex,orca] [--experimental-hooks] [--hydrate-prompts]
|
|
@@ -57,19 +65,19 @@ npx workspai workspace snapshot [--workspace <path>] [--json] [--include-paths]
|
|
|
57
65
|
npx workspai workspace diff --from <snapshot-or-report|git[:ref]> [--workspace <path>] [--json] [--include-paths] [--include-evidence] [--scan-depth <count>] [--strict]
|
|
58
66
|
npx workspai workspace impact --from <workspace-diff-report> [--workspace <path>] [--scope project:<name>] [--json] [--include-paths] [--include-evidence] [--scan-depth <count>] [--strict]
|
|
59
67
|
npx workspai workspace verify [--from-impact <file>] [--workspace <path>] [--scope project:<name>] [--strict] [--json] [--include-paths] [--include-evidence] [--scan-depth <count>]
|
|
60
|
-
npx workspai workspace graph [emit|explain|dot|mermaid] [key] [--workspace <path>] [--scope project:<name>] [--json] [--include-paths] [--include-evidence] [--scan-depth <count>]
|
|
68
|
+
npx workspai workspace graph [emit|explain|search|benchmark|entities|evidence|path|overlay|dot|mermaid] [key] [value] [--from <graph.json>] [--limit <1..100>] [--workspace <path>] [--scope project:<name>] [--json] [--include-paths] [--include-evidence] [--scan-depth <count>]
|
|
61
69
|
npx workspai workspace watch [--workspace <path>] [--json] [--once] [--scan-depth <count>]
|
|
62
70
|
npx workspai workspace explain|why <target> [--workspace <path>] [--json] [--write]
|
|
63
71
|
npx workspai workspace trace --from <workspace-diff-report> [--workspace <path>] [--json] [--write]
|
|
64
72
|
printf '%s\n' '{"actionId":"fix-api","summary":"API tests passed","outcome":"ok"}' | npx workspai workspace feedback record [--workspace <path>] --json
|
|
65
73
|
npx workspai workspace mcp serve [--workspace <path>] [--json]
|
|
66
74
|
npx workspai workspace export --output team-workspace.workspai-archive.zip [--archive-compression store|deflate]
|
|
67
|
-
npx workspai workspace archive inspect team-workspace.workspai-archive.zip [--max-download-size <size>] [--max-expanded-size <size>] [--download-timeout-ms <ms>] [--json]
|
|
68
|
-
npx workspai workspace archive verify team-workspace.workspai-archive.zip [--max-download-size <size>] [--max-expanded-size <size>] [--download-timeout-ms <ms>] [--strict] [--json]
|
|
69
|
-
npx workspai workspace archive doctor team-workspace.workspai-archive.zip [--max-download-size <size>] [--max-expanded-size <size>] [--download-timeout-ms <ms>] [--strict] [--json]
|
|
70
|
-
npx workspai workspace hydrate team-workspace.workspai-archive.zip --output ./team-workspace [--max-download-size <size>] [--max-expanded-size <size>] [--download-timeout-ms <ms>]
|
|
71
|
-
npx workspai import <path|git-url> [--workspace <path>] [--name <project-name>] [--git] [--json]
|
|
72
|
-
npx workspai adopt [path] [--workspace <path>] [--name <project-name>] [--dry-run] [--json]
|
|
75
|
+
npx workspai workspace archive inspect team-workspace.workspai-archive.zip [--max-download-size <size>] [--max-expanded-size <size>] [--download-timeout-ms <ms>] [--allow-private-network] [--json]
|
|
76
|
+
npx workspai workspace archive verify team-workspace.workspai-archive.zip [--max-download-size <size>] [--max-expanded-size <size>] [--download-timeout-ms <ms>] [--allow-private-network] [--strict] [--json]
|
|
77
|
+
npx workspai workspace archive doctor team-workspace.workspai-archive.zip [--max-download-size <size>] [--max-expanded-size <size>] [--download-timeout-ms <ms>] [--allow-private-network] [--strict] [--json]
|
|
78
|
+
npx workspai workspace hydrate team-workspace.workspai-archive.zip --output ./team-workspace [--max-download-size <size>] [--max-expanded-size <size>] [--download-timeout-ms <ms>] [--allow-private-network]
|
|
79
|
+
npx workspai import <path|git-url> [--workspace <path>] [--name <project-name>] [--git] [--enable-modules] [--json]
|
|
80
|
+
npx workspai adopt [path] [--workspace <path>] [--name <project-name>] [--enable-modules] [--dry-run] [--json]
|
|
73
81
|
npx workspai snapshot create [name] [--include-projects] [--reason <text>] [--json]
|
|
74
82
|
npx workspai snapshot list [--json]
|
|
75
83
|
npx workspai snapshot inspect <name> [--json]
|
|
@@ -86,6 +94,28 @@ npx workspai infra down [--workspace <path>] [--volumes]
|
|
|
86
94
|
npx workspai infra status [--workspace <path>] [--json] [--strict]
|
|
87
95
|
```
|
|
88
96
|
|
|
97
|
+
The contract graph includes its backward-compatible service projection, the
|
|
98
|
+
canonical `workspace-dependency-graph.v1` project topology, and the portable
|
|
99
|
+
`workspace-knowledge-graph.v1` evidence graph. The knowledge projection covers
|
|
100
|
+
workspace/project structure, packages and dependencies, source files, modules,
|
|
101
|
+
symbols, HTTP endpoints, OpenAPI/GraphQL/Protocol Buffers/AsyncAPI contracts,
|
|
102
|
+
Compose/Kubernetes/Dockerfile/Terraform/Helm infrastructure, CI workflows,
|
|
103
|
+
documentation, ADRs, tests, owners, environments, databases, and queues.
|
|
104
|
+
Every entity and relation has stable identity and portable proof paths; proof
|
|
105
|
+
taxonomy separates authored, extracted, and inferred facts and records trust,
|
|
106
|
+
confidence, and freshness. Environment and secret values are never emitted.
|
|
107
|
+
|
|
108
|
+
`workspace intelligence run` writes
|
|
109
|
+
`.workspai/reports/workspace-intelligence-run-last-run.json`. Its `preflight`
|
|
110
|
+
contains exactly `sync` and `baseline`, while `stages` contains exactly the 11
|
|
111
|
+
ordered canonical chain steps. Exit `0` is passed, `1` is a hard execution
|
|
112
|
+
failure, and `2` is a completed but evidence-blocked run. With `--strict`,
|
|
113
|
+
warning-grade Analyze and Readiness verdicts can block the run without becoming
|
|
114
|
+
execution failures. See
|
|
115
|
+
[Unified Workspace Intelligence Runner](./workspace-intelligence-runner.md) for
|
|
116
|
+
baseline creation/reuse, JSON fields, artifact invariants, skip propagation, and
|
|
117
|
+
CI handling.
|
|
118
|
+
|
|
89
119
|
`workspace feedback record` is a non-interactive machine interface. It requires
|
|
90
120
|
exactly one JSON object on stdin and `--json`; an empty stdin or interactive TTY
|
|
91
121
|
is rejected. Required fields are `actionId`, `summary`, and `outcome`. The
|
|
@@ -95,9 +125,45 @@ records are appended to
|
|
|
95
125
|
`.workspai/reports/workspace-intelligence-history.json`; no separate feedback
|
|
96
126
|
artifact is created.
|
|
97
127
|
|
|
98
|
-
`workspace graph
|
|
99
|
-
|
|
100
|
-
|
|
128
|
+
`workspace graph emit --json` returns both the compatibility project graph and
|
|
129
|
+
the knowledge graph. Use `workspace graph entities [kind]`, `workspace graph
|
|
130
|
+
evidence <id-or-unique-label>`, and `workspace graph path <from> <to>` for
|
|
131
|
+
indexed queries. `workspace graph overlay --from <prior-graph.json>` produces a
|
|
132
|
+
portable change/PR overlay with additions, removals, changed fields, proof
|
|
133
|
+
artifacts, proof additions/removals/content changes, bounded one-hop impact,
|
|
134
|
+
and a risk summary. Observation timestamps and freshness alone do not create
|
|
135
|
+
false change noise. Query indexes are cached
|
|
136
|
+
per immutable graph object and invalidated automatically when a new graph is
|
|
137
|
+
built. `dot` and `mermaid` intentionally remain project-topology renderers and
|
|
138
|
+
emit raw text for direct piping.
|
|
139
|
+
|
|
140
|
+
`workspace graph search <query> --limit <n> --json` returns bounded entities,
|
|
141
|
+
one-hop relations, related entity summaries, and portable proofs instead of the
|
|
142
|
+
complete graph. `workspace graph benchmark <query> --limit <n> --json` compares
|
|
143
|
+
that retrieval payload with the readable proof-indexed corpus using a labelled
|
|
144
|
+
`characters / 4` estimate. It measures payload reduction only; it does not
|
|
145
|
+
assert equivalent answer quality or model-specific billing savings.
|
|
146
|
+
|
|
147
|
+
`workspace model --write` also materializes the derived, contract-validated
|
|
148
|
+
knowledge graph at `.workspai/reports/workspace-knowledge-graph.json`. The
|
|
149
|
+
unified intelligence runner treats that artifact as a required output of the
|
|
150
|
+
Model step, so CI, IDE adapters, agent grounding, and MCP all observe the same
|
|
151
|
+
revision. Agent contexts carry its reference, quality counts, and bounded query
|
|
152
|
+
commands instead of copying the entire graph into every prompt. MCP exposes
|
|
153
|
+
`getWorkspaceKnowledgeGraph`, `searchWorkspaceGraph`, `queryWorkspaceEntities`,
|
|
154
|
+
`getWorkspaceGraphEvidence`, and `findWorkspaceGraphPath`.
|
|
155
|
+
|
|
156
|
+
Source extraction is bounded and language-neutral by contract. It recognizes
|
|
157
|
+
the primary source formats for TypeScript/JavaScript, Python, Go, Java/Kotlin,
|
|
158
|
+
.NET/F#, Rust, Ruby, PHP, Swift, Dart, Elixir, Scala, Clojure, Lua, R, C/C++,
|
|
159
|
+
Vue, and Svelte. Package baselines also recognize npm/Deno, Python, Go, Cargo,
|
|
160
|
+
Maven/Gradle, NuGet, Composer, Ruby, Elixir, Dart, SwiftPM, CMake, Bazel, and SBT.
|
|
161
|
+
Regex-backed
|
|
162
|
+
source facts are marked `observed` with medium confidence; authored manifests
|
|
163
|
+
and interface/infrastructure specifications remain authoritative. This avoids
|
|
164
|
+
presenting heuristic symbol discovery as compiler-grade truth while keeping the
|
|
165
|
+
current CLI useful until deeper language providers move into the standalone
|
|
166
|
+
graph package.
|
|
101
167
|
|
|
102
168
|
See [workspace-run.md](./workspace-run.md) for fleet orchestration semantics.
|
|
103
169
|
|
|
@@ -122,11 +188,14 @@ for every project that happens to use a first-class framework. For example, an
|
|
|
122
188
|
arbitrary existing FastAPI application can be adopted and modeled as a
|
|
123
189
|
Python/FastAPI project, but module mutation remains disabled unless its RapidKit
|
|
124
190
|
project metadata identifies one of those module-enabled kits.
|
|
191
|
+
`--enable-modules` preserves module commands only when existing RapidKit
|
|
192
|
+
metadata already identifies a module-enabled kit; it does not enable Core module
|
|
193
|
+
mutation for an arbitrary detected framework.
|
|
125
194
|
|
|
126
195
|
## Project lifecycle
|
|
127
196
|
|
|
128
197
|
```bash
|
|
129
|
-
npx workspai create project <kit> <name> [--yes] [--skip-install] [--skip-git] [--output <dir>]
|
|
198
|
+
npx workspai create project <kit> <name> [--yes] [--skip-install] [--skip-git] [--dry-run] [--output <dir>] [--create-workspace|--no-workspace]
|
|
130
199
|
npx workspai project commands [--json]
|
|
131
200
|
npx workspai commands --scope project [--json]
|
|
132
201
|
npx workspai init
|
|
@@ -143,6 +212,11 @@ npx workspai create project fastapi.standard my-api --yes
|
|
|
143
212
|
npx workspai create project nextjs my-web --yes
|
|
144
213
|
```
|
|
145
214
|
|
|
215
|
+
Generator-specific options include `--port`, Spring Boot
|
|
216
|
+
`--java-version`/`--spring-version`/`--package-name`/`--group-id`/`--artifact-id`,
|
|
217
|
+
and .NET `--dotnet-version`/`--target-framework`/`--nullable`. Use
|
|
218
|
+
`npx workspai create project --help` for the live option inventory.
|
|
219
|
+
|
|
146
220
|
`create frontend <id> <name>` is still accepted and routes to the same generators.
|
|
147
221
|
|
|
148
222
|
`project commands` shows the effective command contract for the current project. Core-backed FastAPI/NestJS projects can use module commands such as `add` and `modules`. Frontend apps, Go, Spring Boot, .NET, and adopted/imported repositories use runtime lifecycle commands and workspace governance while Core module mutation remains disabled.
|
|
@@ -164,7 +238,8 @@ See [workspace-operations.md](./workspace-operations.md#workspace-infrastructure
|
|
|
164
238
|
- `python-only` — Python-focused workspace
|
|
165
239
|
- `node-only` — Node.js-focused workspace
|
|
166
240
|
- `go-only` — Go-focused workspace
|
|
167
|
-
- `
|
|
241
|
+
- `dotnet-only` — .NET-focused workspace
|
|
242
|
+
- `polyglot` — Python + Node.js + Go + Java + .NET
|
|
168
243
|
- `enterprise` — polyglot + governance-oriented checks
|
|
169
244
|
|
|
170
245
|
## Policy modes
|
|
@@ -1,299 +1,120 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Workspai Configuration Guide
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Workspai has two configuration surfaces with different scopes. Command-line
|
|
4
|
+
flags remain authoritative when a command supports the corresponding option.
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
## User configuration
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
`~/.workspairc.json` stores user-level settings. The legacy
|
|
9
|
+
`~/.rapidkitrc.json` path is read only when the canonical file is absent.
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
Supported fields include:
|
|
10
12
|
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
## 🔍 When to Use
|
|
23
|
-
|
|
24
|
-
### 1️⃣ **Team Development**
|
|
25
|
-
|
|
26
|
-
```javascript
|
|
27
|
-
// workspai.config.cjs
|
|
28
|
-
module.exports = {
|
|
29
|
-
workspace: {
|
|
30
|
-
defaultAuthor: 'Your Team Name',
|
|
31
|
-
pythonVersion: '3.10',
|
|
32
|
-
installMethod: 'poetry'
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
**Result**: All team members create workspaces with identical settings.
|
|
38
|
-
|
|
39
|
-
---
|
|
40
|
-
|
|
41
|
-
### 2️⃣ **CI/CD Automation**
|
|
42
|
-
|
|
43
|
-
```javascript
|
|
44
|
-
// workspai.config.cjs for CI/CD
|
|
45
|
-
module.exports = {
|
|
46
|
-
workspace: {
|
|
47
|
-
defaultAuthor: 'CI Bot',
|
|
48
|
-
pythonVersion: '3.11',
|
|
49
|
-
installMethod: 'venv'
|
|
50
|
-
},
|
|
51
|
-
projects: {
|
|
52
|
-
skipGit: true, // No git init needed in CI
|
|
53
|
-
skipInstall: false
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
**Usage**:
|
|
59
|
-
```bash
|
|
60
|
-
# In CI/CD pipeline
|
|
61
|
-
npx workspai my-workspace --yes
|
|
62
|
-
# Uses config without prompts
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
---
|
|
66
|
-
|
|
67
|
-
### 3️⃣ **Personal Projects**
|
|
68
|
-
|
|
69
|
-
```javascript
|
|
70
|
-
// workspai.config.cjs
|
|
71
|
-
module.exports = {
|
|
72
|
-
workspace: {
|
|
73
|
-
defaultAuthor: 'John Doe',
|
|
74
|
-
pythonVersion: '3.12'
|
|
75
|
-
},
|
|
76
|
-
projects: {
|
|
77
|
-
defaultKit: 'fastapi.standard', // Always use FastAPI standard template
|
|
78
|
-
addDefaultModules: [
|
|
79
|
-
'prisma',
|
|
80
|
-
'redis',
|
|
81
|
-
'auth-jwt',
|
|
82
|
-
'monitoring'
|
|
83
|
-
]
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
**Result**: Every new project comes with these modules pre-configured.
|
|
89
|
-
|
|
90
|
-
---
|
|
91
|
-
|
|
92
|
-
## 📝 Supported File Formats
|
|
93
|
-
|
|
94
|
-
| File | Description |
|
|
95
|
-
|------|-------------|
|
|
96
|
-
| `workspai.config.cjs` | CommonJS explicit, safest across package types |
|
|
97
|
-
| `workspai.config.js` | CommonJS unless the project package uses `"type": "module"` |
|
|
98
|
-
| `workspai.config.mjs` | Explicit ES Module |
|
|
99
|
-
| `rapidkit.config.*` | Legacy fallback, still read during migration |
|
|
100
|
-
|
|
101
|
-
Use `workspai.config.mjs` when you prefer `export default`.
|
|
102
|
-
|
|
103
|
-
---
|
|
104
|
-
|
|
105
|
-
## ⚙️ Available Configuration Options
|
|
106
|
-
|
|
107
|
-
### **workspace** (Workspace Settings)
|
|
108
|
-
|
|
109
|
-
```typescript
|
|
110
|
-
workspace: {
|
|
111
|
-
defaultAuthor?: string; // Author/team name
|
|
112
|
-
pythonVersion?: '3.10' | '3.11' | '3.12'; // Python version
|
|
113
|
-
installMethod?: 'poetry' | 'venv' | 'pipx'; // Core installation method
|
|
13
|
+
```json
|
|
14
|
+
{
|
|
15
|
+
"defaultKit": "fastapi.standard",
|
|
16
|
+
"defaultInstallMethod": "poetry",
|
|
17
|
+
"pythonVersion": "3.10",
|
|
18
|
+
"author": "Platform Team",
|
|
19
|
+
"license": "MIT",
|
|
20
|
+
"skipGit": false,
|
|
21
|
+
"aiEnabled": true,
|
|
22
|
+
"telemetry": false
|
|
114
23
|
}
|
|
115
24
|
```
|
|
116
25
|
|
|
117
|
-
|
|
26
|
+
The `workspai config` command owns persisted AI settings such as the OpenAI API
|
|
27
|
+
key and `aiEnabled`. Do not commit user configuration or API keys.
|
|
118
28
|
|
|
119
|
-
|
|
120
|
-
projects: {
|
|
121
|
-
defaultKit?: string; // Default template
|
|
122
|
-
addDefaultModules?: string[]; // Default modules to install
|
|
123
|
-
skipGit?: boolean; // Skip git initialization
|
|
124
|
-
skipInstall?: boolean; // Skip npm install
|
|
125
|
-
}
|
|
126
|
-
```
|
|
29
|
+
## Directory configuration
|
|
127
30
|
|
|
128
|
-
|
|
31
|
+
The CLI can discover the nearest configuration file while walking from the
|
|
32
|
+
current directory toward the filesystem root:
|
|
129
33
|
|
|
130
|
-
|
|
34
|
+
- `workspai.config.json` (recommended; data-only and safe by default)
|
|
35
|
+
- `workspai.config.cjs`
|
|
36
|
+
- `workspai.config.mjs`
|
|
37
|
+
- `workspai.config.js`, when its syntax matches the containing package type
|
|
38
|
+
- `rapidkit.config.*`, as a legacy fallback
|
|
131
39
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
```
|
|
40
|
+
JavaScript configuration is executable code. The CLI refuses to import it
|
|
41
|
+
unless trust is explicit:
|
|
135
42
|
|
|
136
|
-
**Example**:
|
|
137
43
|
```bash
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
44
|
+
npx workspai my-workspace --trust-config
|
|
45
|
+
# Non-interactive equivalent for controlled CI:
|
|
46
|
+
WORKSPAI_TRUST_CONFIG=1 npx workspai my-workspace
|
|
141
47
|
```
|
|
142
48
|
|
|
143
|
-
|
|
49
|
+
Do not trust executable configuration from an unreviewed repository. Prefer
|
|
50
|
+
`workspai.config.json` whenever computed values are not required.
|
|
144
51
|
|
|
145
|
-
|
|
52
|
+
Example:
|
|
146
53
|
|
|
147
54
|
```javascript
|
|
148
|
-
|
|
149
|
-
* Workspai Configuration
|
|
150
|
-
* Place in project root before running `npx workspai`
|
|
151
|
-
*/
|
|
55
|
+
// workspai.config.cjs
|
|
152
56
|
module.exports = {
|
|
153
|
-
// Workspace settings
|
|
154
57
|
workspace: {
|
|
155
|
-
defaultAuthor: '
|
|
58
|
+
defaultAuthor: 'Platform Team',
|
|
156
59
|
pythonVersion: '3.10',
|
|
157
60
|
installMethod: 'poetry',
|
|
158
61
|
},
|
|
159
|
-
|
|
160
|
-
// Project settings
|
|
161
62
|
projects: {
|
|
162
63
|
defaultKit: 'fastapi.standard',
|
|
163
|
-
|
|
164
|
-
// Auto-add these modules to new projects
|
|
165
|
-
addDefaultModules: [
|
|
166
|
-
'prisma', // Database ORM
|
|
167
|
-
'redis', // Caching
|
|
168
|
-
'auth-jwt', // Authentication
|
|
169
|
-
'monitoring', // Observability
|
|
170
|
-
],
|
|
171
|
-
|
|
172
64
|
skipGit: false,
|
|
173
|
-
skipInstall: false,
|
|
174
65
|
},
|
|
175
66
|
};
|
|
176
67
|
```
|
|
177
68
|
|
|
178
|
-
|
|
69
|
+
Python-backed workflows require Python 3.10 or newer. `pythonVersion` selects a
|
|
70
|
+
project target; it does not make Python a dependency for Node-only or other
|
|
71
|
+
Python-free Workspai workflows.
|
|
179
72
|
|
|
180
|
-
##
|
|
181
|
-
|
|
182
|
-
### Without Config File (Interactive):
|
|
183
|
-
```bash
|
|
184
|
-
npx workspai my-workspace
|
|
185
|
-
# ❓ Prompts:
|
|
186
|
-
# - Author name?
|
|
187
|
-
# - Python version?
|
|
188
|
-
# - Install method?
|
|
189
|
-
```
|
|
73
|
+
## Command coverage
|
|
190
74
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
# 1. Create config
|
|
194
|
-
cat > workspai.config.cjs << 'EOF'
|
|
195
|
-
module.exports = {
|
|
196
|
-
workspace: {
|
|
197
|
-
defaultAuthor: 'My Team',
|
|
198
|
-
pythonVersion: '3.10',
|
|
199
|
-
installMethod: 'poetry'
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
EOF
|
|
75
|
+
Directory configuration is currently consumed by the legacy top-level creation
|
|
76
|
+
shorthand, for example `npx workspai my-workspace`. Its effective precedence is:
|
|
203
77
|
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
# ✅ No prompts, uses config defaults
|
|
78
|
+
```text
|
|
79
|
+
CLI flags > workspai.config.* > ~/.workspairc.json > legacy config > defaults
|
|
207
80
|
```
|
|
208
81
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
82
|
+
Canonical `create workspace` and `create project` flows do not currently apply
|
|
83
|
+
all directory-config project defaults. In particular, `addDefaultModules` and
|
|
84
|
+
`skipInstall` are reserved fields and are not automatically executed. Use
|
|
85
|
+
explicit canonical command flags instead:
|
|
212
86
|
|
|
213
87
|
```bash
|
|
214
|
-
|
|
215
|
-
npx workspai
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
Output:
|
|
219
|
-
```
|
|
220
|
-
[DEBUG] User config loaded {}
|
|
221
|
-
[DEBUG] Workspai config loaded { workspace: { defaultAuthor: 'Team' } }
|
|
222
|
-
[DEBUG] Merged config { author: 'Team', pythonVersion: '3.10' }
|
|
88
|
+
npx workspai create workspace platform --profile polyglot --yes
|
|
89
|
+
npx workspai create project fastapi.standard api --skip-install --yes
|
|
223
90
|
```
|
|
224
91
|
|
|
225
|
-
|
|
92
|
+
Config discovery means a file can be loaded by a supported flow; it does not
|
|
93
|
+
mean every command consumes every field. The
|
|
94
|
+
[Command Reference](./commands-reference.md) is authoritative for command flags.
|
|
226
95
|
|
|
227
|
-
##
|
|
96
|
+
## Debugging
|
|
228
97
|
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
1. **Large Teams**: Standardize settings across developers
|
|
232
|
-
2. **CI/CD**: Automate workspace creation
|
|
233
|
-
3. **Personal Templates**: Always start with specific modules
|
|
234
|
-
4. **Training/Workshops**: Ensure all participants have identical settings
|
|
235
|
-
|
|
236
|
-
### ❌ Not Recommended:
|
|
237
|
-
|
|
238
|
-
1. **One-time Use**: If you're only creating one workspace
|
|
239
|
-
2. **Variable Settings**: If you need different settings each time
|
|
240
|
-
3. **Quick Development**: For rapid testing, interactive prompts are faster
|
|
241
|
-
|
|
242
|
-
---
|
|
243
|
-
|
|
244
|
-
## Additional resources
|
|
245
|
-
|
|
246
|
-
- [Example config](../workspai.config.example.cjs)
|
|
247
|
-
- [commands-reference.md](./commands-reference.md) — CLI syntax
|
|
248
|
-
- [Documentation](https://workspai.dev/docs/config) (external)
|
|
249
|
-
|
|
250
|
-
---
|
|
251
|
-
|
|
252
|
-
## 💡 Tips
|
|
253
|
-
|
|
254
|
-
1. **Config is Optional**: You don't need to create this file
|
|
255
|
-
2. **CLI Overrides**: You can always override config with command-line flags
|
|
256
|
-
3. **Auto-detection**: CLI automatically discovers config files
|
|
257
|
-
4. **Type Safety**: Use TypeScript types for IntelliSense support
|
|
258
|
-
|
|
259
|
-
---
|
|
260
|
-
|
|
261
|
-
## 🔗 Related Commands
|
|
98
|
+
Use `--debug` on the legacy shorthand to inspect loaded and merged configuration:
|
|
262
99
|
|
|
263
100
|
```bash
|
|
264
|
-
|
|
265
|
-
npx workspai my-workspace --yes
|
|
266
|
-
|
|
267
|
-
# Override config author
|
|
268
|
-
npx workspai my-workspace --author "Different Author"
|
|
269
|
-
|
|
270
|
-
# Check environment
|
|
271
|
-
npx workspai doctor
|
|
272
|
-
|
|
273
|
-
# Inspect/set workspace policy (recommended over manual YAML edits)
|
|
274
|
-
npx workspai workspace policy show
|
|
275
|
-
npx workspai workspace policy set mode strict
|
|
276
|
-
npx workspai workspace policy set dependency_sharing_mode shared-runtime-caches
|
|
277
|
-
npx workspai workspace policy set rules.enforce_toolchain_lock true
|
|
278
|
-
|
|
279
|
-
# List available kits
|
|
280
|
-
npx workspai list
|
|
101
|
+
npx workspai my-workspace --debug
|
|
281
102
|
```
|
|
282
103
|
|
|
283
|
-
|
|
104
|
+
A malformed or untrusted executable config fails closed with its path and an
|
|
105
|
+
actionable error.
|
|
284
106
|
|
|
285
|
-
##
|
|
107
|
+
## Workspace policy is separate
|
|
286
108
|
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
- `.workspai/policies.yml` defines runtime governance and enforcement behavior after workspace creation.
|
|
290
|
-
- Preferred policy management path:
|
|
109
|
+
Configuration files supply creation defaults. Runtime governance belongs to
|
|
110
|
+
`.workspai/policies.yml` and should normally be managed through:
|
|
291
111
|
|
|
292
112
|
```bash
|
|
293
113
|
npx workspai workspace policy show
|
|
294
|
-
npx workspai workspace policy set
|
|
114
|
+
npx workspai workspace policy set mode strict
|
|
115
|
+
npx workspai workspace policy set dependency_sharing_mode shared-runtime-caches
|
|
295
116
|
```
|
|
296
117
|
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
118
|
+
See the [example config](../workspai.config.example.cjs),
|
|
119
|
+
[Creating Workspaces and Projects](./creating-workspaces-and-projects.md), and
|
|
120
|
+
[Command Reference](./commands-reference.md).
|