
SilverSHELL SDK
Build modular Blazor WebAssembly applications with ease
🚀 Quick Start
Get started with SilverSHELL in just a few minutes. Follow these simple steps:
- Install the templates from NuGet
dotnet new install SilverLabs.SilverSHELL.Templates - Create your first project
dotnet new silvershell-starter -n MyApp --pwa true --module-repository true cd MyApp dotnet run - Access your application at
https://localhost:5001
📦 Templates Package
Install the SilverSHELL templates package from NuGet:
SilverSHELL Templates
Complete package with both Starter and Module templates
Package ID: SilverLabs.SilverSHELL.Templates
Includes: Blazor WebAssembly starter template, module template with CI/CD, PWA support, module repository integration
dotnet new install SilverLabs.SilverSHELL.Templates🏗️ Creating Applications
Using the Starter Template
# Create a new application
dotnet new silvershell-starter -n MyAwesomeApp
# With PWA support
dotnet new silvershell-starter -n MyAwesomeApp --pwa true
# With Module Repository integration
dotnet new silvershell-starter -n MyAwesomeApp --module-repository trueAdding Modules
SilverSHELL supports multiple ways to add modules to your application:
Option 1: Configuration File
Edit wwwroot/appsettings.json:
{
"AMS": {
"Deployment": {
"PreloadModules": [
"SilverLabs.SilverSHELL.Auth.Login",
"SilverSHELL.Modules.ModuleBrowser"
]
}
}
}Option 2: Module Browser UI
- Navigate to
/modules/browsein your application - Search for modules from library.silverlabs.uk
- Click "Install" on any module
- Modules are downloaded and installed automatically
Option 3: Manual Installation
# Copy module DLLs to the modules directory
cp SomeModule.dll wwwroot/modules/
dotnet run
# Module is automatically discovered and loaded!🔧 Creating Modules
Using the Module Template
# Create a basic module
dotnet new silvershell-module -n MyModule
# Create a module with widgets
dotnet new silvershell-module -n MyModule --includeWidgets true
# Create a module with search provider
dotnet new silvershell-module -n MyModule --includeSearchProvider true
# Create a module with everything
dotnet new silvershell-module -n MyModule \
--includeWidgets true \
--includeSearchProvider true \
--includeTests trueModule Structure
The template creates an organized structure:
MyModule/
├── Configuration/
│ ├── ModuleMetadata.cs # Module identity and version
│ ├── EndpointConfiguration.cs # Navigation routes
│ └── WidgetConfiguration.cs # Dashboard widgets
├── Pages/
│ └── Index.razor # Razor pages
├── Components/
│ └── ... # Razor components
├── .gitlab-ci.yml # GitLab CI/CD
├── .github/workflows/
│ └── publish.yml # GitHub Actions
└── MyModuleMain.cs # Module entry point🚀 Publishing Modules
CI/CD Included! The module template includes ready-to-use CI/CD pipelines for both GitLab and GitHub.
Automated Publishing (Recommended)
The templates include CI/CD pipelines for automatic publishing:
- Configure CI/CD variables
# In GitLab: Settings > CI/CD > Variables # In GitHub: Settings > Secrets > Actions # Add variable: MODULE_REPO_TOKEN: [your token from library.silverlabs.uk] - Commit and push your code
git add . git commit -m "feat: Initial module implementation" git push - Create a release tag
git tag v1.0.0 git push --tags - Trigger publish from your CI/CD pipeline UI
Manual Publishing
# Build and package
dotnet pack --configuration Release -o dist/
# Upload to repository
curl -X POST "https://library.silverlabs.uk/api/modules/publish" \
-F "id=MyModule" \
-F "name=My Awesome Module" \
-F "version=1.0.0" \
-F "description=A great module" \
-F "author=Your Name" \
-F "package=@dist/MyModule.1.0.0.nupkg"📚 Available Modules
Browse and install modules from the SilverSHELL module repository:
Module Repository: library.silverlabs.uk
Featured Modules:
- Auth.Login - User authentication and login UI
- Auth.Registration - User registration system
- Auth.UserManagement - User administration
- Auth.MyAccount - User profile management
- ModuleBrowser - Browse and install modules from the UI
Explore All Modules
# List all available modules via API
curl https://library.silverlabs.uk/api/modules
# Search for specific modules
curl https://library.silverlabs.uk/api/modules/search?q=auth📖 Resources
- Module Repository API: https://library.silverlabs.uk/api/modules
- Demo Application: https://demo.silverlabs.uk
- GitLab Repository: GitLab