
Umbraco Extension Template
- 306 installs
- 26 repo stars
- Updated August 1, 2026
- umbraco/umbraco-cms-backoffice-skills
umbraco-extension-template is an Umbraco CMS skill that scaffolds official .NET backoffice extensions with TypeScript, Vite tooling, and the prescribed folder structure so developers start every extension from the suppor
About
umbraco-extension-template is version 1.0.0 in umbraco-cms-backoffice-skills and scaffolds Umbraco backoffice extensions using the official dotnet template. The skill fetches current Umbraco docs, generates a pre-configured project with TypeScript and Vite, and lays out essential extension files so teams skip manual boilerplate. Developers reach for umbraco-extension-template when adding custom backoffice UI to Umbraco CMS—dashboards, property editors, or workspace plugins—rather than hand-rolling webpack or folder conventions. Allowed tools include Read, Write, Edit, WebFetch, and Bash, enabling end-to-end template installation and project wiring in Claude Code sessions.
- umbraco-extension-template
- AI & Agent Building
- AI-coding skill
Umbraco Extension Template by the numbers
- 306 all-time installs (skills.sh)
- +13 installs in the week ending Aug 5, 2026 (Skillselion tracking)
- Ranked #2,272 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/umbraco/umbraco-cms-backoffice-skills --skill umbraco-extension-templateAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 306 |
|---|---|
| repo stars | ★ 26 |
| Last updated | August 1, 2026 |
| Repository | umbraco/umbraco-cms-backoffice-skills ↗ |
How do you scaffold an Umbraco backoffice extension?
Helps with ai & agent building tasks.
Who is it for?
.NET and TypeScript developers extending Umbraco CMS backoffice UI who want the official template instead of custom scaffolding.
Skip if: Teams building headless frontends only or greenfield apps without Umbraco CMS backoffice integration requirements.
When should I use this skill?
A developer asks to create a new Umbraco backoffice extension, property editor, or dashboard using the official template.
What you get
dotnet template project, TypeScript/Vite extension sources, Umbraco folder layout, and wired backoffice entry files.
- extension project scaffold
- vite config
- backoffice entry files
By the numbers
- Ships as version 1.0.0 in umbraco-cms-backoffice-skills
- Allows five agent tools: Read, Write, Edit, WebFetch, and Bash
Files
Umbraco Extension Template
What is it?
The Umbraco Extension Template is the official .NET template for creating backoffice extensions. It provides a pre-configured project structure with TypeScript/Vite tooling, proper folder structure, and all essential files needed for extension development. Every Umbraco backoffice extension should start with this template.
Documentation
Always fetch the latest docs before implementing:
- Main docs: https://docs.umbraco.com/umbraco-cms/customizing/development-flow/umbraco-extension-template
- Development Flow: https://docs.umbraco.com/umbraco-cms/customizing/development-flow
- Foundation: https://docs.umbraco.com/umbraco-cms/customizing/foundation
Prerequisites
- .NET SDK 9.0 or later
- Node.js 22 or later
Workflow
1. Install template (one-time): dotnet new install Umbraco.Templates 2. Create extension: dotnet new umbraco-extension -n MyExtension 3. Install dependencies: cd MyExtension/Client && npm install 4. Start development: npm run watch 5. Build for production: npm run build
Commands
Install the Template
dotnet new install Umbraco.TemplatesCreate New Extension (Basic)
dotnet new umbraco-extension -n MyExtensionCreate New Extension (With Examples)
dotnet new umbraco-extension -n MyExtension -exThe -ex flag adds example code including:
- Sample API controller
- Swagger API registration
- Example dashboard component
- Generated API client
Project Structure
Basic Template
MyExtension/
├── MyExtension.csproj # .NET project file
├── Constants.cs # Extension constants
├── README.md # Setup instructions
└── Client/ # TypeScript source
├── package.json
├── tsconfig.json
├── vite.config.ts
└── src/
└── ... # Your extension codeWith Examples (-ex flag)
MyExtension/
├── MyExtension.csproj
├── Constants.cs
├── README.md
├── Composers/ # C# composers
│ └── SwaggerComposer.cs # API documentation setup
├── Controllers/ # C# API controllers
│ └── MyExtensionController.cs
└── Client/
├── package.json
├── tsconfig.json
├── vite.config.ts
└── src/
├── api/ # Generated API client
├── dashboards/ # Example dashboard
└── entrypoints/ # Extension entry pointDevelopment Commands
# Navigate to Client folder
cd MyExtension/Client
# Install dependencies
npm install
# Development with hot reload
npm run watch
# Production build
npm run build
# Type checking
npm run checkBuild and Deploy
Publish the Extension
dotnet publish --configuration ReleaseCreate NuGet Package
dotnet pack --configuration ReleaseMinimal Example
After running the template, add your first manifest in Client/src/:
manifest.ts
export const manifests: Array<UmbExtensionManifest> = [
{
name: "My Extension Entrypoint",
alias: "MyExtension.Entrypoint",
type: "backofficeEntryPoint",
js: () => import("./entrypoint.js"),
},
];entrypoint.ts
import type { UmbEntryPointOnInit } from "@umbraco-cms/backoffice/extension-api";
export const onInit: UmbEntryPointOnInit = (_host, _extensionRegistry) => {
console.log("Extension loaded!");
};IMPORTANT: Add Extension to Umbraco Instance
After creating a new extension, you MUST add it as a project reference to the main Umbraco instance. Without this step, the extension will not load.
Reference skill: `umbraco-add-extension-reference`
This skill explains how to add the new extension's .csproj file as a <ProjectReference> in the main Umbraco project (e.g., Umbraco-CMS.Skills.csproj).
Related Skills
After creating your extension, use these skills to add functionality:
- Sections: Reference skill:
umbraco-sections - Dashboards: Reference skill:
umbraco-dashboard - Menus: Reference skill:
umbraco-menu - Workspaces: Reference skill:
umbraco-workspace - Trees: Reference skill:
umbraco-tree
For complete extension blueprints with working examples:
- Reference skill:
umbraco-backoffice
That's it! Always fetch fresh docs, use the template to scaffold, add the project reference, then add extension types as needed.
Related skills
FAQ
What does umbraco-extension-template generate?
umbraco-extension-template generates a new Umbraco backoffice extension using the official .NET template with TypeScript, Vite tooling, and the required folder structure. Version 1.0.0 targets managed Umbraco CMS extension projects.
Which tools does umbraco-extension-template use?
umbraco-extension-template allows Read, Write, Edit, WebFetch, and Bash so agents can fetch Umbraco docs, run dotnet template commands, and edit generated extension files in one workflow.