Snapcraft documentation

Snapcraft builds, packages and publishes snaps. It’s available for Ubuntu, many other Linux distributions, and macOS, and runs from the command line.

With Snapcraft, developers can use platform-specific plugins and extensions to streamline and simplify the build process. Snaps can then be tested and shared locally before being published to the global Snap Store within channels, tracks and branches to finely control releases.

Snapcraft does all of this within a self-launched LXD or Multipass container, or natively from your own environment, and includes linting, debug and staging functions to help solve problems. You can also incorporate Snapcraft package building into your CI systems, and build snaps remotely from either GitHub or our Launchpad build farm.

From desktop applications, servers and cloud deployments, to embedded devices and IoT. From a single user to hundreds of thousands of users, Snapcraft can help.


In this documentation

Tutorials
Get started - a hands-on introduction to building snaps with Snapcraft
How-to guides
Step-by-step guides covering key operations and common tasks
Reference
Technical information - plugins, extensions and architecture
Explanation
Concepts - discussion and clarification of key topics

Project and community

Snap and Snapcraft are members of the Ubuntu family. They’re both open source projects that welcome community involvement, contributions, suggestions, fixes and constructive feedback.

Thinking about using snap for your next project? Get in touch!