Skip to content
Beskid Platform specification

Beskid

Jump to a Beskid service

Beskid

Jump to a Beskid service

Examples

Spec standingStandard

Owner
Piotr Mikstacki
Submitter
Piotr Mikstacki
project {
name = "serialization-mod"
version = "0.1.0"
root = "Src"
type = Mod
mod {
maxGeneratorRounds = 6
capabilities = [read_project_sources, emit_syntax]
}
}
dependency "compiler-sdk" {
source = registry
version = "..."
}

Mod projects must not declare host target blocks. Discovery is contract-based; scope narrowing is implemented in Collector contracts, not manifest attach fields.

project {
name = "demo-app"
version = "0.1.0"
}
target "main" {
kind = App
entry = "Main.bd"
}
dependency "serialization" {
source = registry
version = "..."
}

The compiler auto-loads transitive Mod dependencies (for example serialization-mod referenced by serialization) and runs their contracts during host compilation.

  • beskid mod rebuild — clean and rebuild mod artifacts for the active workspace slice.
  • beskid mod clean — remove cached mod artifacts under the object store.

See Compiler Mod SDK and Compiler Mods for contract and host execution details.

project {
name = "beskid-templates-console"
version = "0.0.0"
type = Template
template {
shortName = "console"
identity = "beskid.templates.console"
}
}

Pack publishes packageKind: template and .beskid/template.json. See Project templates.

Instantiated console app (template output)

Section titled “Instantiated console app (template output)”

Template-generated host project (no corelib opt-out; corelib resolved on beskid lock):

project {
name = "MyApp"
version = "0.1.0"
root = "Src"
}
target "app" {
kind = App
entry = "Main.bd"
}