• Logo
    Snapcraft
  • snapcraft.io
  • More resources
    • Discourse
    • Matrix
    • GitHub
Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Skip to content
Snapcraft 8.9.1 documentation
Snapcraft 8.9.1 documentation
  • Tutorials
    • Craft a snap
  • How-to guides
    • Setup
      • Set up Snapcraft
      • Select a build provider
    • Crafting
      • Configure package information
      • Specify a base
      • Select architectures
      • Manage dependencies
      • Add a snap configuration
      • Use layouts
      • Manage data compatibility
      • Including local files and remote resources
      • Overriding the default build
      • Create a component
      • Enable classic confinement
    • Integrations
      • Craft a pre-built app
      • Craft a cross-compiled app
      • Craft a Python app
      • Craft a C or C++ app
      • Craft a Java app
      • Craft a Go app
      • Craft a Rust app
      • Craft a Node app
      • Craft a Ruby app
      • Craft a GTK4 app
      • Craft a GTK3 app
      • Craft a GTK2 app
      • Craft a Qt5 KDE app
      • Craft a Flutter app
      • Craft an Electron app
      • Craft a .NET app
      • Craft a MOOS app
      • Craft an ROS 2 app
      • Craft an ROS 1 app
    • Extensions
      • Use an extension
      • List extensions
      • Expand extensions
      • Enable experimental extensions
      • Use the env-injector extension
      • Use the GNOME extension
    • Publishing
      • Authenticate
      • Register a snap
      • Check a snap’s status
      • Manage revisions and releases
      • Get snap metrics
    • Debugging
      • Debug a snap
      • Use the classic linter
      • Use the library linter
      • Disable a linter
      • Debug with GDB
      • Classic confinement
    • Change bases
      • Change from core18 to core20
      • Change from core20 to core22
      • Change from core22 to core24
  • Reference
    • Commands
      • build
      • clean
      • close
      • create-key
      • edit-confdb-schema
      • edit-validation-sets
      • expand-extensions
      • export-login
      • extensions
      • gated
      • init
      • lint
      • list
      • list-confdb-schemas
      • list-extensions
      • list-keys
      • list-plugins
      • list-registered
      • list-revisions
      • list-tracks
      • list-validation-sets
      • login
      • logout
      • metrics
      • names
      • pack
      • plugins
      • prime
      • promote
      • pull
      • push
      • register
      • register-key
      • release
      • remote-build
      • revisions
      • set-default-track
      • sign-build
      • snap
      • stage
      • status
      • test
      • tracks
      • try
      • upload
      • upload-metadata
      • validate
      • version
      • whoami
    • Build environment options
    • Project file
      • snapcraft.yaml
      • Anatomy of snapcraft.yaml
    • Bases
    • Architectures
    • Parts
      • Parts and Steps
      • Part environment variables
    • Plugins
      • .NET plugin
      • Ant plugin
      • Autotools plugin
      • Cargo Use plugin
      • CMake plugin
      • Colcon plugin
      • Dump plugin
      • Go plugin
      • Go Use plugin
      • Gradle plugin
      • JLink plugin
      • Make plugin
      • Matter SDK plugin
      • Maven plugin
      • Meson plugin
      • Nil plugin
      • NPM Plugin
      • Poetry plugin
      • Python plugin
      • Qmake plugin
      • Rust plugin
      • SCons plugin
      • uv plugin
    • Package repositories
    • Extensions
      • env-injector extension
      • GNOME extension
      • KDE neon extensions
      • Flutter extension
      • ROS 1 extension
      • ROS 1 Content extensions
      • ROS 2 extensions
      • ROS 2 Content extensions
    • External package information
    • Components
    • Linters
    • Layouts
    • Advanced grammar
    • Hooks
    • Channels
    • Snapshots
    • Metrics
    • Processes
      • Snap build process
      • Snap publishing process
    • System requirements
  • Explanation
    • Architectures
    • Bases
    • Parts
    • Parts lifecycle
    • Interfaces
    • Extensions
    • Components
    • Snap configurations
    • Remote build
    • Filesets
    • Classic confinement
  • Release notes
    • Snapcraft 8.9
    • Snapcraft 8.8
    • Snapcraft 8.7
    • Changelog
Back to top
Contribute to this page

Crafting¶

  • Configure package information
  • Specify a base
  • Select architectures
  • Manage dependencies
  • Add a snap configuration
  • Use layouts
  • Manage data compatibility
  • Including local files and remote resources
  • Overriding the default build
  • Create a component
  • Enable classic confinement
Copyright © 2025, Canonical Group Ltd
Last updated on May 06, 2025
Contents
  • Crafting