SDK lifecycle¶
An SDK rarely springs into existence ready to publish. It usually starts as a quick local hack, hardens into a project-private artifact, and only then graduates into a fully packaged release on the SDK Store. The shape of the definition stays similar throughout; what changes is where it lives, who can see it, and how Workshop installs it.
The lifecycle has five stages:
Sketch an SDK. This is a throwaway local experiment in a single workshop.
Save it as an in-project SDK. The definition moves next to the project’s source code and is committed to version control.
Build an SDK project. This is a complete SDKcraft project with parts, hooks, platforms, and tests.
Publish the SDK. Register the name on the SDK Store, upload built artifacts, and release them to channels.
Consume the SDK. Add the SDK to a
workshop.yamldefinition and pick a channel.
Not every SDK travels the whole road, and the sequence may vary; for instance, you can create an in-project SDK manually without a sketch SDK to eject it from. However, the general sequence is common enough to be presented as a single flow:
flowchart TD
subgraph Sketch
SketchEdit[workshop sketch-sdk]
end
subgraph Project[In-project SDK]
SketchEject[workshop sketch-sdk --eject]
end
subgraph Build
BuildInit[sdkcraft init] --> BuildPack[sdkcraft pack] --> BuildTry[sdkcraft try] --> BuildTest[sdkcraft test]
end
subgraph Publish
PubLogin[sdkcraft login] --> PubRegister[sdkcraft register] --> PubTrack[sdkcraft create-track] --> PubUpload[sdkcraft upload] --> PubRelease[sdkcraft release]
end
subgraph Consume
UseFind[sdk find] --> UseLaunch[workshop launch] --> UseInfo[workshop info]
end
SketchEdit --> SketchEject
SketchEject -->|promote| BuildInit
BuildTest -->|publish| PubLogin
PubRelease -->|add to workshop.yaml| UseFind
Manual[Author by hand] -.-> Project
SDK lifecycle stages and their commands¶
Each stage trades immediacy for reach. A sketch is instant but lives and dies with one workshop; an in-project SDK is shared through the project repository; a published SDK is packaged once and consumed anywhere through the SDK Store. Each command above is documented in the SDK CLI reference, while the deeper mechanics of each stage, from hooks and parts to channels and guardrails, are covered in the SDK concepts and how-to guides.
See also¶
Explanation:
How-to guides:
Reference:
Tutorial: