Workspace operations / JSON Schema
Workspai Workspace Registry Summary
Defines the versioned workspace registry v1 boundary used by Workspai and its consumers.
- Schema version
workspace-registry.v1- Contract path
contracts/workspace-registry.v1.json- Publication
- synced-supporting-contract
- Defined fields
- 23
- Artifact bindings
- 1
Why this contract exists
Architecture role
Keeps workspace identity and discovery consistent across tools and machines.
Consumption boundary
- • Workspai CLI
- • Workspace Intelligence consumers
- • IDEs and agents
Related commands
Commands are linked only when the runtime contract identifies a direct production relationship. Supporting contracts may be consumed without having a single producer command.
Produced artifacts
These durable files are emitted by registered commands and validated against this contract.
| Artifact path | Schema | Producer |
|---|---|---|
| .workspai/workspace-registry.v1.json | workspace-registry.v1 | workspai workspace sync |
Field reference
Every declared schema property or published capability path is listed here. Required means the contract declares or publishes that field at the shown boundary.
| Field path | Type | Required | Meaning | Constraints |
|---|---|---|---|---|
| $defs.registrySourceSnapshot.exists | boolean | Yes | Defines the exists value at this contract boundary. | — |
| $defs.registrySourceSnapshot.path | string | No | Defines the path value at this contract boundary. | — |
| $defs.registrySourceSnapshot.projectCount | integer | Yes | Defines the projectcount value at this contract boundary. | minimum: 0 |
| authority | enum | Yes | Defines the authority value at this contract boundary. | enum: workspace.contract.json, global-registry, legacy-workspace.json, none |
| contractPath | string | Yes | Defines the contractpath value at this contract boundary. | minLength: 1 |
| generatedAt | string | Yes | Defines the generatedat value at this contract boundary. | format: date-time |
| kind | string | Yes | Defines the kind value at this contract boundary. | const: "rapidkit.workspace.registry" |
| profile | string | No | Defines the profile value at this contract boundary. | — |
| projectCount | integer | Yes | Defines the projectcount value at this contract boundary. | minimum: 0 |
| projects | array | Yes | Defines the projects value at this contract boundary. | — |
| projects[].framework | string | No | Defines the framework value at this contract boundary. | — |
| projects[].kit | string | No | Defines the kit value at this contract boundary. | — |
| projects[].relativePath | string | Yes | Defines the relativepath value at this contract boundary. | minLength: 1 |
| projects[].slug | string | Yes | Defines the slug value at this contract boundary. | minLength: 1 |
| projects[].source | string | No | Defines the source value at this contract boundary. | — |
| registrySummaryPath | string | Yes | Defines the registrysummarypath value at this contract boundary. | minLength: 1 |
| schemaVersion | string | Yes | Defines the schemaversion value at this contract boundary. | const: "workspace-registry.v1" |
| sources | object | Yes | Defines the sources value at this contract boundary. | additionalProperties: false |
| sources.contract | reference | Yes | Defines the contract value at this contract boundary. | ref: #/$defs/registrySourceSnapshot |
| sources.globalRegistry | reference | Yes | Defines the globalregistry value at this contract boundary. | ref: #/$defs/registrySourceSnapshot |
| sources.legacyWorkspaceJson | reference | Yes | Defines the legacyworkspacejson value at this contract boundary. | ref: #/$defs/registrySourceSnapshot |
| workspaceName | string | Yes | Defines the workspacename value at this contract boundary. | minLength: 1 |
| workspacePath | string | Yes | Defines the workspacepath value at this contract boundary. | minLength: 1 |
Canonical machine-readable definition
The raw synchronized contract remains authoritative. The educational sections above are projections of this definition.
Show raw JSON
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://getrapidkit.com/schemas/workspace-registry.v1.json",
"title": "Workspai Workspace Registry Summary",
"type": "object",
"required": [
"schemaVersion",
"kind",
"generatedAt",
"workspacePath",
"workspaceName",
"projectCount",
"authority",
"contractPath",
"registrySummaryPath",
"projects",
"sources"
],
"properties": {
"schemaVersion": {
"const": "workspace-registry.v1"
},
"kind": {
"const": "rapidkit.workspace.registry"
},
"generatedAt": {
"type": "string",
"format": "date-time"
},
"workspacePath": {
"type": "string",
"minLength": 1
},
"workspaceName": {
"type": "string",
"minLength": 1
},
"profile": {
"type": "string"
},
"projectCount": {
"type": "integer",
"minimum": 0
},
"authority": {
"enum": [
"workspace.contract.json",
"global-registry",
"legacy-workspace.json",
"none"
]
},
"contractPath": {
"type": "string",
"minLength": 1
},
"registrySummaryPath": {
"type": "string",
"minLength": 1
},
"projects": {
"type": "array",
"items": {
"type": "object",
"required": [
"slug",
"relativePath"
],
"properties": {
"slug": {
"type": "string",
"minLength": 1
},
"relativePath": {
"type": "string",
"minLength": 1
},
"framework": {
"type": "string"
},
"kit": {
"type": "string"
},
"source": {
"type": "string"
}
},
"additionalProperties": true
}
},
"sources": {
"type": "object",
"required": [
"contract",
"globalRegistry",
"legacyWorkspaceJson"
],
"properties": {
"contract": {
"$ref": "#/$defs/registrySourceSnapshot"
},
"globalRegistry": {
"$ref": "#/$defs/registrySourceSnapshot"
},
"legacyWorkspaceJson": {
"$ref": "#/$defs/registrySourceSnapshot"
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"$defs": {
"registrySourceSnapshot": {
"type": "object",
"required": [
"exists",
"projectCount"
],
"properties": {
"exists": {
"type": "boolean"
},
"projectCount": {
"type": "integer",
"minimum": 0
},
"path": {
"type": "string"
}
},
"additionalProperties": false
}
}
}