buf.work.yaml file is used to define a workspace, where one or more modules can coexist
and interoperate within a common directory. Workspaces make it possible for local modules
to import Protobuf files from other local modules, and unlock other powerful use cases that
operate on multiple modules at the same time.
The following represents a complete example of a
buf.work.yaml configuration file, as well as an
example file tree layout containing the
.├── buf.work.yaml├── paymentapis│ ├── acme│ │ └── payment│ │ └── v2│ │ └── payment.proto│ └── buf.yaml└── petapis ├── acme │ └── pet │ └── v1 │ └── pet.proto └── buf.yaml
version: v1directories: - paymentapis - petapis
buf.work.yaml file currently supports two options:
version key is required, and defines the current configuration version. The only accepted
directories key is required, and lists the directories that define modules
to be included in the workspace. The directory paths must be relative to the
and cannot point to a location outside of your
buf.work.yaml. For example,
../external is invalid.