Workshop¶
Workshops are secure, fast, and composable development environments that come agent-ready.
Wrap complex, error-prone workspaces into reliable and reproducible definitions of languages, libraries, and tooling. The key pieces of a definition are SDKs: independent, connectable units of functionality that publishers package and share on the SDK Store, and teams can define in their repositories.
Workshops enable sandboxed experimentation, turn environment updates into manageable transactions, and ensure consistent, reproducible environments. With Workshop, you can launch a setup that previously took hours to configure in a few commands and be sure it will work the same way every time, or tear it down and start from the last step without worrying about leftover state.
Agentic engineering, AI/ML, robotics, IoT, EdTech, and similar domains typically use less-than-trivial project layouts that rely on many Ubuntu versions or container images, a plethora of diverse tools and frameworks, and a wide range of libraries and languages. That’s where Workshop thrives.
Built for AI workflows. Workshop publishes LLM-readable docs, and ships agentic skills for operating workshops and scaffolding SDKs.
In this documentation¶
Tutorial |
Get started • Work with interfaces • Sketch SDKs • Craft SDKs |
Workshops |
Concepts • Launch • Refresh • Connect • Shell access • Add actions • Multi-workshop patterns • Use multiple workshops • Forward ports • Status diagrams • Definition file |
SDKs |
Concepts • Sketch SDKs in-place • Craft full SDKs • Parts • Design best practices • SDKs vs Dockerfiles • Definition file |
Interfaces |
Concepts • Camera • Desktop • GPU • Mounts • SSH agent • Networking |
Projects |
Concepts • Move projects • Update projects • Changes and tasks |
Development |
Connect VS Code • JetBrains Gateway • JupyterLab in browser • Use with Git • Run GitHub Actions locally • AI agents |
Troubleshooting |
Debug workshops • Fix installation • Resolve plug conflicts • Purge workshops |
Architecture |
Components • Runtime behavior • Workshop internals • SDK internals |
CLI |
How this documentation is organized¶
This documentation follows the Diátaxis documentation framework, organizing content by the type of information users need. The four sections serve different purposes:
Tutorial: Hands-on learning path for new Workshop users, progressing from basic operations through interface usage to SDK development.
How-to guides: Step-by-step instructions for specific tasks like connecting IDEs, managing projects, and troubleshooting issues.
Reference: Technical specifications for CLI commands, definition file formats, and internal behavior.
Explanation: In-depth discussion of Workshop architecture, concepts, and design principles.
Project and community¶
Workshop is an emergent project within the DevEx department here at Canonical; SDKcraft is its sibling project, aimed at publishers who create and distribute SDKs for Workshop.
At its core, Workshop builds upon Canonical’s mature tech. It uses LXD as the underlying container technology; it also follows the tooling paradigm exemplified by Snap, and implemented with Craft CLI.
Get involved
Releases and roadmap
Governance and policies
Feedback and support