package recipe

import (
	"github.com/urfave/cli/v3"
)

// RecipeCommand defines all recipe related sub-commands.
var RecipeCommand = cli.Command{
	Name:      "recipe",
	Aliases:   []string{"r"},
	Usage:     "Manage recipes",
	UsageText: "abra recipe [command] [arguments] [options]",
	Description: `A recipe is a blueprint for an app.

It is a bunch of config files which describe how to deploy and maintain an app.
Recipes are maintained by the Co-op Cloud community and you can use Abra to
read them, deploy them and create apps for you.

Anyone who uses a recipe can become a maintainer. Maintainers typically make
sure the recipe is in good working order and the config upgraded in a timely
manner.`,
	Commands: []*cli.Command{
		&recipeFetchCommand,
		&recipeLintCommand,
		&recipeListCommand,
		&recipeNewCommand,
		&recipeReleaseCommand,
		&recipeSyncCommand,
		&recipeUpgradeCommand,
		&recipeVersionCommand,
		&recipeResetCommand,
		&recipeDiffCommand,
	},
}
