Workspace Monorepo Setup
Configure a multi-project Beskid repository with shared dependency policy.
Workspace Monorepo Setup
Layout example
Section titled “Layout example”Workspace.projcompiler/Project.projcompiler/corelib/beskid_corelib/Project.projtools/Project.projDefine workspace
Section titled “Define workspace”workspace { name = "BeskidRoot" resolver = "v1"}
member "compiler" { path = "compiler" }member "corelib" { path = "compiler/corelib/beskid_corelib" }member "tools" { path = "tools" }
registry "default" { url = "https://pckg.beskid-lang.org"}Apply shared overrides
Section titled “Apply shared overrides”Use override blocks to pin critical dependency versions across all members.
Operate in CI
Section titled “Operate in CI”- run installs in
--lockedmode for safety - run release pipelines in
--frozenmode - fail on lock drift to keep reproducibility
Recommended policy
Section titled “Recommended policy”- avoid parent-relative member paths
- keep registry aliases centralized in workspace root
- commit lockfiles for all release branches