Skip to content
Beskid Beskid

Beskid

Jump to a Beskid service

Beskid

Jump to a Beskid service

Projects

A project manifest has the .bproj extension. A workspace manifest has the .bws extension. Project commands resolve one project before they resolve its targets and dependencies.

Run beskid --version. Keep exactly one .bproj file in each project directory.

  1. Create one project and verify its manifest and source tree.
  2. Group projects in a workspace when one checkout contains related projects.
  3. Resolve dependencies and control Project.lock.
  4. Pass --project when automatic discovery could select the wrong manifest.
  5. In VS Code, select the matching project focus before you use Projects or Graph Explorer.
flowchart LR
  accTitle: Workspace project dependency graph
  accDescr: A workspace selects an application project. The project resolves path and registry dependencies into its lockfile and materialized dependency tree.
  W[Workspace.bws] --> A[App.bproj]
  W --> C[Core.bproj]
  A -->|path dependency| C
  A -->|requested registry version| R[registry package]
  A --> L[Project.lock]
  C --> L
  R --> L
  L --> M[obj/beskid/deps/src/materialized-id]

The workspace manifest lists the application and library members. The application project manifest declares a path dependency on the library project manifest. It can also request a registry version. Resolution records both dependency kinds in Project.lock. Registry resolution can select a different active version, so you must inspect the lockfile. The resolver copies each materialized dependency under obj/beskid/deps/src/<materialized-id>.

Each command has one selected project and, when needed, one selected target. A reviewed and committed Project.lock records the dependency graph that later locked commands preserve.

If a directory contains multiple .bproj files, automatic discovery reports an error. Remove the duplicate or pass the exact manifest with --project. If a workspace member is wrong, pass --workspace-member.

Create a project, open dependencies and locks, or use the VS Code project workflow.