Skip to content
Public template

About

Reference template and best-practice guide for creating new SDKs.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

[Software Name] SDK for Workshop

[Brief description of what this SDK provides. Should closely match the sdkcraft.yaml description. Focus on how the SDK affects the development environment: what toolchain/runtime it provides, what it persists on the host, and any notable features. Example: "A development environment for Go projects. It provides the official Go toolchain, manages module caches via persistent mounts, and preserves Go environment settings across workshop updates."]


Reference workshop

A minimal workshop:

# workshop.yaml
name: [workshop-name]
base: ubuntu@[version]  # e.g., [email protected]
sdks:
  - name: [sdk-name]
    channel: [channel]  # e.g., 1.24/stable

actions:
  [action-name]: |
    [command]

[One sentence explaining what this demonstrates, e.g., "This demonstrates a basic Go build workflow with persistent module caching."]


Using the SDK

Prerequisites, project layout

  1. [List prerequisites, e.g., "This relies on the uv SDK for venv."]

  2. [Suggest expected project directory structure, including source code layout and setup steps needed:]

    [command to clone or prepare sources]
  3. [Describe what side effects may happen during launch and refresh.]

[Primary workflow task, e.g., "Build the project"]

Once the workshop is ready:

[workshop run]
[commands to perform the primary task]

[Explain where outputs go and how they persist across workshop updates.]

[Secondary workflow task, e.g., "Test and run"]

From within the workshop shell:

workshop shell
[test or run commands]

[Brief explanation of what this achieves.]


Plugs (resources this SDK consumes)

[plug-name]

  • Interface: mount
  • Workshop target: [/path/inside/workshop]
  • Purpose: [What this persists between workshop updates.]

[plug-name]

  • Interface: gpu
  • Purpose: Grants access to [AMD/NVIDIA] GPU hardware on the host.

-- OR --

This SDK doesn't define any plugs.

Slots (resources this SDK provides)

[slot-name]

  • Interface: mount
  • Workshop source: [/path/inside/workshop]
  • Purpose: [What resource this exposes to other SDKs]

-- OR --

This SDK doesn't define any slots.


Documentation and guidance


Community and support

  • [XYZ] community forum: [Link to upstream forum/community]
  • Please review our Code of Conduct before participating.

Contributions

All contributions, including code, documentation updates, and issue reports, are welcome!


License and copyright

Copyright [START YEAR] [COPYRIGHT HOLDER].

[Include any required claims, information, and disclaimers for your license.]

About

Reference template and best-practice guide for creating new SDKs.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors