Skip to content

canonical/workshop

Repository files navigation

Workshop

Secure, fast, and composable development environments that come agent-ready.

Workshop wraps complex, error-prone workspaces into reproducible definitions of languages, libraries, and tooling.

  • Composable: definitions are built from SDKs, independent units of functionality that publishers share on the SDK Store.
  • Transactional: environment updates apply as changes you can inspect and restore.
  • Sandboxed: experiment freely and tear down without leftover state.
  • System container: Unlike an app container, it behaves like a small Ubuntu system with users, packages, networking, and systemd services. Ideal for a devenv.

Installation

Workshop runs on Ubuntu or WSL and requires LXD 6.8+:

sudo snap install --channel=6/stable lxd  # skip if LXD is already installed
sudo snap install --classic workshop

Quick start

In your project directory, define a workshop from a comma-separated list of SDKs:

workshop init dev --sdks opencode,go/1.26/stable

This writes .workshop/dev.yaml, which you can extend with named actions:

# .workshop/dev.yaml
name: dev
base: ubuntu@24.04
sdks:
  - name: opencode
  - name: go
    channel: 1.26/stable
actions:                # add your own
  analyzer: |
    go vet ./...

Launch the workshop, then work inside it:

workshop launch       # download and install the SDKs
workshop shell        # open an interactive session
workshop run -- analyzer  # run a named action
workshop refresh      # apply edits to the definition, update SDKs

SDKs

The Workshop team maintains a collection of reference SDKs for languages, runtimes, AI agents, GPUs, and more, including go, node, rust, flutter, and uv.

Where an SDK follows an upstream release line, its channel tracks mirror it:

workshop init web --sdks node            # latest/stable, the default
workshop init web --sdks node/24/stable  # pinned to the Node.js 24 LTS line
workshop init api --sdks go/1.25/stable  # pinned to the Go 1.25 release line

Documentation

Community and support

Contributions and license

To join the development effort, see How to contribute.

Workshop is released under the GPL-3.0 license, and the documentation under CC-BY-SA 4.0.

About

Workshops are secure, fast, and composable development environments that come agent-ready.

Topics

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages