Sitecore Helix Solution Setup Guide - ysolution-it/sitecore-wiki GitHub Wiki
This guide outlines the steps to create a new Sitecore solution using the Helix architecture pattern, focusing on structure, naming conventions, and configuration tips.
✅ Prerequisites
- Visual Studio (any version supporting .NET Framework as per your Sitecore version)
- Sitecore installed (locally or on a shared dev instance)
- Git or preferred source control (optional)
🛠 Steps to Create the Solution
1. Create the Blank Solution
-
Open Visual Studio.
-
Select Create a new project → choose Blank Solution.
-
Name the solution using your company's naming convention:
YSolution.Portal.sln
💡 Use
YSolution
as the company prefix to maintain consistency across all projects.
2. Create a New Project
- Add a new project to the solution:
- Type: Empty ASP.NET Web Application (not MVC).
- Name it according to Helix conventions:
YSolution.Portal └── src └── Project └── Website
🧱 Project Structure (Helix-Based)
Follow the standard Helix folder hierarchy:
Root
│
└── src
├── Foundation
│ └── (Modules here)
├── Feature
│ └── (Modules here)
└── Project
└── Website
📌 Tip: The layers (
Foundation
,Feature
,Project
) should reflect business concerns and technical boundaries.
📝 Naming Conventions
- ✅ Prefix all solutions and projects with your company name or abbreviation:
YSolution.
- ✅ Use PascalCase for all solution, project, and folder names.
- ✅ Do not include technology references (like "SiteCore") in naming.
- ✅ Follow a logical structure:
YSolution.Portal.[Layer].[Module] Example: YSolution.Portal.Feature.Navigation
⚙️ Configuration
Web.config Setting
After adding the web.config
file:
- Set Build Action to
None
:- Right-click
web.config
→ Properties →Build Action
→ None
- Right-click
This prevents unnecessary compilation or deployment issues.
📂 Example Project Path
ysolution-portal-backend\
└── YSolution.Portal\
└── src\
└── Project\
└── Website\
📚 Next Steps
- Add
Feature
,Foundation
, and additionalProject
layer modules. - Implement Sitecore serialization (e.g., using Sitecore CLI).
- Define roles for templates, item structure, and deployment.
- Maintain clear boundaries and decoupling between modules.