docs/content/en/guides/configuration-management/creating-a-meshery-design/index.md
A Meshery Design is the primary unit of configuration management in Meshery. It is a declarative document that describes the desired state of your infrastructure and applications — the components you want, their configuration, and their relationships. Designs can be deployed, shared, versioned, exported, and imported.
See Meshery Designs for a full description of design capabilities.
You can create a Meshery Design in two ways:
| Method | When to use |
|---|---|
| Meshery UI — Design Configurator | Visual, form-driven authoring with live component discovery |
| mesheryctl | Scripted or file-based workflows |
The Design Configurator is a built-in tool in Meshery UI. It lets you browse infrastructure categories and models, add components to a design, configure each component through guided forms, and save the resulting design — all without writing YAML by hand.
Give your design a meaningful name in the Design Name field at the top of the configurator. This name is used when saving, sharing, or deploying the design.
Repeat this process to add as many components as your design requires.
Click any component in the design panel to open its configuration form. The form is generated from the component's schema and includes:
Fill in the fields for your environment. Changes are applied to the design document in real time.
Click Save (floppy disk icon) to save your design. Meshery stores the design in your account. Use Save As to create a copy under a new name.
Your saved design appears on the Designs page, where you can deploy, export, share, or further edit it.
The Design Configurator also exposes a code editor panel alongside the form view. If you prefer to write or paste YAML directly:
Changes made in the code editor are reflected immediately in the form view, and vice versa.
You can also create and manage designs from the command line using mesheryctl.
mesheryctl design import -f your-design.yaml
mesheryctl design apply -f your-design.yaml
mesheryctl design apply MyDesignName
mesheryctl design list
See the mesheryctl design reference for the full subcommand reference.
When you start Meshery for the first time, a set of seed designs is available. These cover common Kubernetes patterns and serve as a starting point for exploration.
You can also import community designs from the Meshery Catalog or from a Git repository.