Workspaces

Workspaces let you manage multiple capsules in a single repository with shared configuration.

workspace.toml

[workspace]
members = [
    "core",
    "http-server",
    "cli",
]

[workspace.policies]
max-effects = ["io", "net", "model"]
require-tests = true

[workspace.profiles.release]
optimization = "aggressive"
strip = true

Structure

my-project/
├── workspace.toml
├── core/
│   ├── capsule.toml
│   └── src/
├── http-server/
│   ├── capsule.toml
│   └── src/
└── cli/
    ├── capsule.toml
    └── src/

Shared Policies

Workspaces enforce policies across all members:

  • Effect limits: Restrict which effects any capsule can use
  • Test requirements: Enforce test coverage
  • Provenance: Require generation cards for model calls
  • Dependency constraints: Shared version pinning

Workspace support is specified but not yet fully implemented in the CLI. See the package management proposal.