SilverSHELL SDK

Build modular Blazor WebAssembly applications with ease

🚀 Quick Start

Get started with SilverSHELL in just a few minutes. Follow these simple steps:

  1. Install the templates from NuGet
    dotnet new install SilverLabs.SilverSHELL.Templates
  2. Create your first project
    dotnet new silvershell-starter -n MyApp --pwa true --module-repository true cd MyApp dotnet run
  3. 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
View on NuGet

🏗️ 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 true

Adding 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

  1. Navigate to /modules/browse in your application
  2. Search for modules from library.silverlabs.uk
  3. Click "Install" on any module
  4. 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 true

Module 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:

  1. 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]
  2. Commit and push your code
    git add . git commit -m "feat: Initial module implementation" git push
  3. Create a release tag
    git tag v1.0.0 git push --tags
  4. 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

💬 Support

Need help? We're here for you:

← Back to SilverLabs Home