com um clique
orchardcore-module-creator
// 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.
// 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.
Creates and updates OrchardCore admin edit views using the ocat-* CSS class conventions. Use when creating or modifying Edit view files (*.Edit.cshtml, *.Fields.Edit.cshtml) to ensure correct layout and styling.
Builds, watches, and manages frontend assets in OrchardCore. Use when modifying SCSS, JS, TS, or Vue files, adding new assets to a module/theme, or troubleshooting build failures. Covers all asset actions (vite, sass, min, copy, parcel, webpack, concat) and the three-tier package structure.
Tests OrchardCore CMS features through browser automation. Use when the user needs to build, run, setup, or test OrchardCore functionality including admin features, content management, media library, and module testing.
Creates new OrchardCore themes with proper structure, manifest, layouts, and assets. Use when the user needs to create a new theme, customize layouts, or set up frontend assets.
| name | orchardcore-module-creator |
| description | 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. |
This skill guides you through creating new OrchardCore modules following project conventions.
D:\orchardcoreWhat kind of module are you creating?
| Type | Description | Key Components |
|---|---|---|
| Content Part | Adds data/behavior to content items | Part, Driver, Views |
| Content Field | Custom field type | Field, Driver, Views |
| Settings | Site-wide configuration | SiteSettings, Driver |
| Admin Feature | Admin pages/tools | Controller, Views, Menu |
| API | REST endpoints | ApiController |
| Background Task | Scheduled jobs | IBackgroundTask |
# Create module folder
mkdir src/OrchardCore.Modules/OrchardCore.YourModule
cd src/OrchardCore.Modules/OrchardCore.YourModule
Every module needs these three files:
See references/module-structure.md for templates.
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.
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>();
}
# 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
| Item | Convention | Example |
|---|---|---|
| Module folder | OrchardCore.ModuleName | OrchardCore.Rating |
| Namespace | OrchardCore.ModuleName | OrchardCore.Rating |
| Feature ID | OrchardCore.ModuleName | OrchardCore.Rating |
| Content Part | NamePart | RatingPart |
| Driver | NamePartDisplayDriver | RatingPartDisplayDriver |
| View | PartName.cshtml | RatingPart.cshtml |
| Edit View | PartName_Edit.cshtml | RatingPart_Edit.cshtml |
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" />
Use in Manifest.cs:
Content ManagementContentNavigationSecurityInfrastructureThemingDeveloperreferences/module-structure.md - Directory layout and file templatesreferences/patterns.md - Code patterns (parts, drivers, handlers, etc.)references/examples.md - Complete module examplesAGENTS.md (repo root) - Coding conventions and build commands