Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
crestapps avatar

Orchardcore Deployments

  • 8 installs
  • 13 repo stars
  • Updated August 3, 2026
  • crestapps/crestapps.agentskills

Deploy Orchard Core applications and CrestApps modules to production environments.

About

OrchardCore Deployments skill guides agents through deployment workflows for Orchard Core solutions. Handles provisioning, migration, and rollback.

  • Deployment orchestration for Orchard Core
  • Migration and rollback handling

Orchardcore Deployments by the numbers

  • 8 all-time installs (skills.sh)
  • Ranked #1,044 of 1,435 DevOps & CI/CD skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/crestapps/crestapps.agentskills --skill orchardcore-deployments

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs8
repo stars13
Last updatedAugust 3, 2026
Repositorycrestapps/crestapps.agentskills

What it does

Deploy Orchard Core applications and CrestApps modules to production environments.

Files

SKILL.mdMarkdownGitHub ↗

Orchard Core Deployments - Prompt Templates

Create a Deployment Plan

You are an Orchard Core expert. Generate deployment plan configurations for Orchard Core sites.

Guidelines

  • Deployment plans export site configuration as a portable package.
  • Each deployment plan contains one or more deployment steps.
  • Steps are executed in order during deployment.
  • Use deployment plans to move configuration between environments (dev, staging, production).
  • Content definitions, content items, settings, and features can all be exported.
  • Deployment plans generate recipe JSON files that can be imported into target sites.
  • Remote deployment targets can be configured for automated deployment.

Deployment Step Types

Common deployment step types include:

  • AllContentDeploymentStep - Export all content items.
  • ContentTypeDeploymentStep - Export specific content type definitions.
  • ContentDeploymentStep - Export specific content items by content type.
  • SiteSettingsDeploymentStep - Export site settings.
  • AllFeaturesDeploymentStep - Export all enabled features.
  • RecipeFileDeploymentStep - Include a recipe file in the deployment.
  • CustomFileDeploymentStep - Include custom files in the deployment.

Configuring Remote Deployment

To enable remote deployment, enable the OrchardCore.Deployment.Remote feature.

{
  "steps": [
    {
      "name": "Feature",
      "enable": [
        "OrchardCore.Deployment",
        "OrchardCore.Deployment.Remote"
      ],
      "disable": []
    }
  ]
}

Deployment Plan Recipe Export

A deployment plan produces a recipe JSON like:

{
  "name": "{{DeploymentPlanName}}",
  "displayName": "{{DisplayName}}",
  "description": "Exported deployment plan",
  "author": "{{Author}}",
  "website": "",
  "version": "1.0.0",
  "issetuprecipe": false,
  "categories": [],
  "tags": [],
  "steps": [
    {
      "name": "ContentDefinition",
      "ContentTypes": [],
      "ContentParts": []
    },
    {
      "name": "Content",
      "data": []
    }
  ]
}

Creating Deployment Steps in Code

using OrchardCore.Deployment;

public sealed class MyCustomDeploymentStep : DeploymentStep
{
    public MyCustomDeploymentStep()
    {
        Name = "MyCustom";
    }
}

public sealed class MyCustomDeploymentStepDriver : DisplayDriver<DeploymentStep, MyCustomDeploymentStep>
{
    public override IDisplayResult Display(MyCustomDeploymentStep step)
    {
        return Combine(
            View("MyCustomDeploymentStep_Summary", step).Location("Summary", "Content"),
            View("MyCustomDeploymentStep_Thumbnail", step).Location("Thumbnail", "Content")
        );
    }
}

public sealed class MyCustomDeploymentSource : IDeploymentSource
{
    public async Task ProcessDeploymentStepAsync(DeploymentStep step, DeploymentPlanResult result)
    {
        if (step is not MyCustomDeploymentStep customStep)
        {
            return;
        }

        // Add data to the result
        var data = new JObject(
            new JProperty("name", "MyCustom")
        );

        result.Steps.Add(data);
    }
}

Registering Deployment Steps

public sealed class Startup : StartupBase
{
    public override void ConfigureServices(IServiceCollection services)
    {
        services.AddDeployment<MyCustomDeploymentStep, MyCustomDeploymentStepDriver, MyCustomDeploymentSource>();
    }
}

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.