@init-spark/umbraco
| Install | |
|---|---|
npm install @init-spark/umbraco |
|
| Latest Version: | 0.0.14 |
| License: | MIT |
| Last Updated: | Jan 12, 2026 |
| Links: | npm |
Init-Spark Umbraco
A powerful CLI tool for scaffolding Umbraco CMS projects with modern frontend frameworks
📋 Description
Init-Spark Umbraco is a comprehensive CLI tool that streamlines the setup of Umbraco CMS projects with integrated modern frontend technologies. It automates the entire project initialization process, including:
- ✅ .NET SDK installation and configuration
- ✅ Umbraco CMS installation
- ✅ Frontend framework setup (Vue/Nuxt, React/Next, or Gulp)
- ✅ Git repository initialization
- ✅ Solution file creation
- ✅ Pre-configured project structure with best practices
🚀 Quick Start
Create a new Umbraco project with a single command:
npx @init-spark/umbraco
Follow the interactive prompts to configure your project:
- Choose your project name
- Select Umbraco version
- Pick your frontend technology (Vue, React, or Gulp)
- Configure additional options
✨ Features
- 🔧 Zero Configuration: Get started immediately without manual setup
- 🎨 Multiple Frontend Options: Choose between Vue/Nuxt, React/Next, or Gulp
- ⚡ Fast Setup: Automated installation and configuration
- 📦 Pre-configured Structure: Industry-standard project organization
- 🔄 Git Integration: Automatic repository initialization with proper .gitignore
- 💼 Solution File: Visual Studio solution file created automatically
- 🎯 Template System: Pre-built templates for components and modules
📖 Getting Started
Prerequisites
Before starting, ensure you have:
- Node.js (v14 or higher)
- npm or yarn package manager
- .NET SDK (will be installed automatically if not present)
Installation & Setup
After the initial setup is complete, follow these steps to get your Umbraco project running:
1. Run the Umbraco Project
Navigate to your project directory and start the application:
cd YourProjectName
dotnet run
Or specify the project explicitly:
dotnet run --project YourProjectName
The application will start and the accessible URL will be displayed in the terminal/console.
2. Complete Umbraco Installation
On the first run, complete the Umbraco installation wizard:
- Open your browser and navigate to the URL displayed in the terminal
- Follow the setup wizard:
- Select your database provider (SQL Server, SQLite, etc.)
- Configure database connection
- Create your admin account (username, email, and password)
- Configure basic settings
- Complete setup and log in to the Umbraco backoffice at
/umbraco
3. Start Developing
Your project is now ready for development:
- Frontend Development:
- For Gulp: Run
gulpin the frontend directory - For React/Next: Run
npm run devin the frontend directory - For Vue/Nuxt: Run
npm run devin the frontend directory
- For Gulp: Run
- Umbraco Backoffice: Access at
https://localhost:XXXX/umbracoto manage content - Template Customization: Edit Razor views in the
Views/folder
Development Workflow
# Terminal 1: Run Umbraco backend
cd YourProjectName
dotnet run
# Terminal 2: Run frontend build process (in another terminal)
cd YourProjectName/Frontend
npm run dev # or gulp watch for Gulp projects
📁 Project Structure
After running the tool, your Umbraco project will have the following structure:
Root Level
YourProjectName/
├── 📄 YourProjectName.sln # Visual Studio solution file
├── 📁 YourProjectName/ # Main Umbraco project
│ ├── 📁 Frontend/ # Frontend code (Gulp/React/Vue)
│ ├── 📁 Views/ # Umbraco Razor views
│ ├── 📁 wwwroot/ # Static files (CSS, JS, images)
│ ├── ⚙️ appsettings.json # Umbraco configuration
│ └── 📄 Program.cs # Application entry point
├── 📄 package.json # Frontend dependencies
└── 📄 .gitignore # Git ignore rules
Frontend Directory Structure
The structure of the Frontend/ directory varies depending on your chosen technology:
🔧 Gulp Structure
Frontend/
├── 📄 gulpfile.js # Gulp task configuration
├── 📄 main.js # Main JavaScript entry point
├── 📁 components/ # Reusable UI components
│ └── componentA/
│ ├── componentA.js
│ └── componentA.scss
├── 📁 modules/ # Feature modules
│ └── moduleA/
│ ├── moduleA.js
│ └── moduleA.scss
├── 📁 scss/ # Sass stylesheets
│ ├── main.scss
│ └── core/
│ ├── _colors.scss
│ ├── _reset.scss
│ ├── _skeleton.scss
│ ├── _typography.scss
│ └── _variables.scss
├── 📁 tasks/ # Custom Gulp tasks
└── 📁 utils/
└── utils.js # JavaScript utilities
Gulp Commands:
gulp- Build frontend assetsgulp watch- Watch for changes and rebuild automaticallygulp build- Production build with minification
⚛️ React/Next.js Structure
Frontend/
├── 📄 package.json
├── 📄 next.config.js # Next.js configuration (if using Next)
├── 📁 src/
│ ├── 📁 components/ # React components
│ ├── 📁 pages/ # Next.js pages (if using Next.js)
│ ├── 📁 styles/ # CSS/SCSS files
│ └── 📁 utils/ # Utility functions
└── 📁 public/ # Static assets
React Commands:
npm run dev- Start development servernpm run build- Create production buildnpm start- Start production server
🎨 Vue/Nuxt.js Structure
Frontend/
├── 📄 package.json
├── 📄 nuxt.config.js # Nuxt.js configuration (if using Nuxt)
├── 📁 src/
│ ├── 📁 components/ # Vue components
│ ├── 📁 pages/ # Nuxt.js pages (if using Nuxt.js)
│ ├── 📁 assets/ # CSS/SCSS files
│ └── 📁 composables/ # Vue composables
└── 📁 public/ # Static assets
Vue Commands:
npm run dev- Start development servernpm run build- Create production buildnpm run preview- Preview production build
Umbraco Views Structure
The Umbraco template structure for rendering content:
Views/
├── 📁 Partials/
│ ├── 📁 Renderization/
│ │ └── Render_Modules.cshtml # Helper for rendering modules
│ ├── 📁 WebsiteBase/ # Base website templates
│ └── 📁 WebsiteContent/
│ ├── 📁 Components/ # Umbraco component views
│ └── 📁 Modules/
│ └── Content/
│ └── ModuleA/
│ └── Render_ModuleA.cshtml
└── [Your custom views]
Key Directories Explained
| Directory | Purpose |
|---|---|
| Frontend/ | All frontend code (JavaScript, CSS, components). Build outputs go to wwwroot/ |
| Views/ | Umbraco Razor templates for rendering content from the CMS |
| wwwroot/ | Static files served directly by the web server (compiled CSS/JS, images, fonts) |
| Views/Partials/WebsiteContent/ | Organize your Umbraco components and modules here |
🛠️ Technology Stack
Backend
- Umbraco CMS - Modern .NET CMS platform
- .NET SDK - Cross-platform .NET runtime
- C# - Primary backend language
Frontend Options
- Vue.js / Nuxt.js - Progressive JavaScript framework
- React / Next.js - Popular component-based library
- Gulp - Task runner for build automation
Additional Tools
- Git - Version control
- TypeScript - Type-safe JavaScript (optional)
- Sass/SCSS - CSS preprocessor
💡 Best Practices
Recommended Workflow
- Start with Umbraco: Set up your content types and document structure first
- Create Templates: Build Razor views for your content types
- Develop Frontend: Build components and styles for your templates
- Test Locally: Always test changes before deployment
- Use Version Control: Commit frequently with descriptive messages
Tips
- 💾 Backup regularly: Especially before major updates
- 📝 Document your content types: Keep documentation for custom properties
- 🎯 Use partial views: Create reusable Razor components
- ⚡ Optimize assets: Minify CSS/JS for production
- 🔒 Secure your installation: Follow Umbraco security best practices
⚠️ Important Notes
Git Repository
⚠️ Important: When adding Init-Spark Umbraco to an existing Git repository, it is recommended to use an empty repository to avoid conflicts with existing files.
Database Configuration
On first run, you'll need to configure your database. For development:
- SQLite: Simplest option, no additional setup required (automatically configured if using automatic installation)
- SQL Server: Requires SQL Server installation (only available with manual database configuration)
- MySQL/PostgreSQL: Requires additional provider installation (only available with manual database configuration)
Note: If you chose automatic installation during setup, SQLite will be pre-configured. Manual database configuration is only required if you opted out of automatic setup.
📝 License
This project is licensed under the MIT License. See the LICENSE file for full details.
What this means
- ✅ Commercial use allowed
- ✅ Modification allowed
- ✅ Distribution allowed
- ✅ Private use allowed
💖 Support the Project
If you find this tool helpful, consider supporting its development:
Your support helps maintain and improve the tool for everyone!
📚 Additional Resources
👤 Author
João Borges
Related Packages
A powerful CLI tool to extract, manage, and translate text strings in your codeb...
Scaffold a production-grade, opinionated full-stack starter in seconds — Vue, Nu...
This is a library to build platform (win, linux, mac) executables for a bundled...
A lightweight CLI tool that quickly generates a modern frontend project setup wi...
Version History
| Version | Released | License |
|---|---|---|
| 0.0.14 | MIT | |
| 0.0.13 | MIT | |
| 0.0.12 | MIT | |
| 0.0.11 | MIT | |
| 0.0.10 | MIT | |
| 0.0.9 | MIT | |
| 0.0.8 | MIT | |
| 0.0.7 | MIT | |
| 0.0.6 | MIT | |
| 0.0.5 | MIT | |
| 0.0.4 | MIT | |
| 0.0.3 | MIT | |
| 0.0.2 | MIT | |
| 0.0.1 | MIT |