Skip to content
Beskid The Beskid Book

Beskid

Jump to a Beskid service

Beskid

Jump to a Beskid service

06.1 Workspace manifest

.bws structure—identity, members, overrides, registries.

Workspace manifest

.bws workspace manifests coordinate multi-project repos. They do not replace per-member .bproj files—they declare members and shared resolver policy.

Legacy Workspace.proj is rejected (E1895); rename to a .bws file (for example CoreLib.bws).

  • workspace { ... } — workspace identity and resolver policy; extras such as defaultTestMember select the member when you pass the workspace path without --workspace-member
  • member "<label>" { path = "..." } — adds a project at path; optional extras (package, description, category, tags) are publish/editor metadata merged from the workspace manifest
  • override "<dep>" { version = "..." } — shared version policy (forward-looking as registry deps mature)
  • registry "<name>" { url = "..." } — centralized registry endpoints
Without workspaceWith workspace
Each project owns conflicting dep policyShared overrides
CI scripts special-case every folderOne lock/resolution story
”Which .bproj?” rouletteExplicit members
flowchart TD
  W[CoreLib.bws] --> M1[member app]
  W --> M2[member lib]
  M1 --> P1[app.bproj]
  M2 --> P2[lib.bproj]

Member projects