Quick setup for Umbraco extension development - creates instance, extension, and registers it
Sets up everything needed for Umbraco extension development in one command.
# Full setup with custom credentials
/umbraco-quickstart MyUmbracoSite MyExtension --email [email protected] --password Admin123456
# With default credentials ([email protected] / SecurePass1234)
/umbraco-quickstart MyUmbracoSite MyExtension
# Just Umbraco instance name (will prompt for extension name)
/umbraco-quickstart MyUmbracoSite
# No arguments (will detect existing or prompt for names)
/umbraco-quickstart
--email (optional): Admin email (default: [email protected])--password (optional): Admin password (default: )SecurePass1234If arguments not provided, check what exists and prompt for missing names.
Check for Umbraco instance:
find . -name "*.csproj" -exec grep -l "Umbraco.Cms" {} \; 2>/dev/null | head -5
Check for extension projects:
find . -name "umbraco-package.json" 2>/dev/null | head -10
If no Umbraco instance:
/package-script-writer [ProjectName]If no extension:
/umbraco-extension-template [ExtensionName]If extension not registered:
/umbraco-add-extension-reference [ExtensionName]Check extended workspace (including /add-dir directories) and warn if missing:
If CMS source not found:
⚠ Umbraco CMS source not found in extended workspace.
For better code generation, add it:
git clone https://github.com/umbraco/Umbraco-CMS.git
/add-dir /path/to/Umbraco-CMS/src/Umbraco.Web.UI.Client
If UUI source not found:
⚠ UUI library source not found in extended workspace.
For UI component reference, add it:
git clone https://github.com/umbraco/Umbraco.UI.git
/add-dir /path/to/Umbraco.UI/packages/uui
If testing skills not installed:
⚠ Testing skills not installed.
To add testing capabilities:
/plugin install umbraco-cms-backoffice-testing-skills@umbraco-backoffice-marketplace
Do NOT proceed to building until this step is complete.
PRE-BUILD-PLANNING.md from the umbraco-backoffice skill✅ Setup complete! Your extension is ready.
Login: [email protected] / SecurePass1234
What would you like to build? Describe your idea and I'll help you plan the implementation.
Examples:
- "A dashboard that shows recent content changes"
- "A property editor for picking colours"
- "A tree in Settings for managing custom data"
When the user describes what they want:
/plan## Pre-Build Setup
- [ ] Load `/umbraco-backoffice` skill for best practices and examples
## Implementation
[Your implementation steps here - skills to invoke, files to create]
## Post-Build Validation (REQUIRED - DO NOT SKIP)
### Step 1: Initial Build
- [ ] Run `npm run build` in extension directory
- [ ] Verify build completes without errors
### Step 2: Code Review
- [ ] Spawn `umbraco-extension-reviewer` agent
- [ ] Fix all Critical/High severity issues
### Step 3: Rebuild (if fixes were made)
- [ ] Run `npm run build` again
- [ ] Verify build still succeeds
### Step 4: Restart Umbraco
- [ ] Stop the running Umbraco instance
- [ ] Run `dotnet run` to restart
- [ ] Wait for startup to complete
### Step 5: Browser Validation
Check if browser automation is available (any of: `dev-browser` skill, Playwright MCP, Claude computer use).
If browser automation IS available:
- [ ] Navigate to backoffice login (http://localhost:5000/umbraco)
- [ ] Login with credentials
- [ ] Navigate to extension location
- [ ] Verify: no console errors, UI renders, interactions work
- [ ] Take screenshot of working extension
If NO browser automation available, output manual testing steps for user.
⚠️ Do NOT generate code until planning is complete and approved by the user.
Get the user to a working, validated extension. Follow the workflow: PLAN → BUILD → VALIDATE. Don't just report - take action.
When creating an Umbraco instance, these defaults are used:
[email protected]SecurePass1234These are safe for local development and don't contain special characters that cause escaping issues.
/umbraco-quickstart MyUmbracoSite MyDashboard
This will:
npm run buildumbraco-extension-reviewer and fix issuesLogin with: [email protected] / SecurePass1234