OrchardCore Module Creator

SkillDev tools

Lets your agent create new OrchardCore modules with proper structure, manifests, and startup code.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the OrchardCore Module Creator skill

About this capability

Creates new OrchardCore modules with proper structure, manifest, startup, and patterns. Use when the user needs to create a new module, add content parts, fields, drivers, handlers, or admin functionality.

What this skill tells your AI

The instructions your AI receives, as published by orchardcms/orchardcore in .agents/skills/orchardcore-module-creator/SKILL.md and read by ahel’s review.

This skill guides you through creating new OrchardCore modules following project conventions.

Prerequisites

  • OrchardCore repository at D:\orchardcore
  • .NET SDK 10.0+ installed

Module Creation Workflow

Step 1: Determine Module Type

What kind of module are you creating?

TypeDescriptionKey Components
Content PartAdds data/behavior to content itemsPart, Driver, Views
Content FieldCustom field typeField, Driver, Views
SettingsSite-wide configurationSiteSettings, Driver
Admin FeatureAdmin pages/toolsController, Views, Menu
APIREST endpointsApiController
Background TaskScheduled jobsIBackgroundTask

Step 2: Create Module Directory

# Create module folder
mkdir src/OrchardCore.Modules/OrchardCore.YourModule
cd src/OrchardCore.Modules/OrchardCore.YourModule

Step 3: Create Required Files

Every module needs these three files:

  1. Manifest.cs - Module metadata
  2. Startup.cs - Service registration
  3. OrchardCore.YourModule.csproj - Project file

See references/module-structure.md for templates.

Step 4: Add Components Based on Type

For Content Part modules:

Models/YourPart.cs
ViewModels/YourPartViewModel.cs
Drivers/YourPartDisplayDriver.cs
Views/YourPart.cshtml
Views/YourPart_Edit.cshtml

For Admin modules:

Controllers/AdminController.cs
Views/Admin/Index.cshtml
AdminMenu.cs
PermissionProvider.cs

For Data-storing modules:

Migrations.cs
Indexes/YourIndex.cs

See references/patterns.md for code templates.

Step 5: Register in Startup.cs

public override void ConfigureServices(IServiceCollection services)
{
    // Content part
    services.AddContentPart<YourPart>()
        .UseDisplayDriver<YourPartDisplayDriver>();

    // Services
    services.AddScoped<IYourService, YourService>();

    // Migrations (if storing data)
    services.AddDataMigration<Migrations>();

    // Permissions (if securing features)
    services.AddPermissionProvider<PermissionProvider>();

    // Navigation (if adding admin menu)
    services.AddNavigationProvider<AdminMenu>();
}

Step 6: Build and Test

# Build the module
cd D:\orchardcore
dotnet build src/OrchardCore.Modules/OrchardCore.YourModule

# Run the application
cd src/OrchardCore.Cms.Web
dotnet run -f net10.0

# Enable the feature in Admin → Features

Quick Reference

Naming Conventions

ItemConventionExample
Module folderOrchardCore.ModuleNameOrchardCore.Rating
NamespaceOrchardCore.ModuleNameOrchardCore.Rating
Feature IDOrchardCore.ModuleNameOrchardCore.Rating
Content PartNamePartRatingPart
DriverNamePartDisplayDriverRatingPartDisplayDriver
ViewPartName.cshtmlRatingPart.cshtml
Edit ViewPartName_Edit.cshtmlRatingPart_Edit.cshtml

Common Dependencies

Add to .csproj as needed:

<!-- Core module support -->
<ProjectReference Include="..\..\OrchardCore\OrchardCore.Module.Targets\OrchardCore.Module.Targets.csproj" />

<!-- Content management -->
<ProjectReference Include="..\..\OrchardCore\OrchardCore.ContentManagement\OrchardCore.ContentManagement.csproj" />

<!-- Admin UI -->
<ProjectReference Include="..\..\OrchardCore\OrchardCore.Admin\OrchardCore.Admin.csproj" />

Feature Categories

Use in Manifest.cs:

  • Content Management
  • Content
  • Navigation
  • Security
  • Infrastructure
  • Theming
  • Developer

References

  • references/module-structure.md - Directory layout and file templates
  • references/patterns.md - Code patterns (parts, drivers, handlers, etc.)
  • references/examples.md - Complete module examples
  • AGENTS.md (repo root) - Coding conventions and build commands

Signals

GitHub stars
8k
Forks
3k
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
orchardcore-module-creator
Source
github.com/orchardcms/orchardcore