scalar

Scalar replaces Swagger/Swashbuckle as the OpenAPI documentation UI in this codebase. All services use .NET 10's built-in AddOpenApi() with Scalar's MapScalarApiReference() for the UI. The project enforces Purple theme consistency across all microservices.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "scalar" with this command: npx skills add stuartf303/sorcha/stuartf303-sorcha-scalar

Scalar Skill

Scalar replaces Swagger/Swashbuckle as the OpenAPI documentation UI in this codebase. All services use .NET 10's built-in AddOpenApi() with Scalar's MapScalarApiReference() for the UI. The project enforces Purple theme consistency across all microservices.

Quick Start

Standard Service Configuration

// Program.cs - Service setup builder.Services.AddOpenApi();

var app = builder.Build(); app.MapOpenApi();

if (app.Environment.IsDevelopment()) { app.MapScalarApiReference(options => { options .WithTitle("Blueprint Service") .WithTheme(ScalarTheme.Purple) .WithDefaultHttpClient(ScalarTarget.CSharp, ScalarClient.HttpClient); }); }

API Gateway with Aggregated Documentation

// Aggregated OpenAPI from all services app.MapGet("/openapi/aggregated.json", async (OpenApiAggregationService service) => { var spec = await service.GetAggregatedOpenApiAsync(); return Results.Json(spec); }) .ExcludeFromDescription();

app.MapScalarApiReference(options => { options .WithTitle("Sorcha API Gateway - All Services") .WithTheme(ScalarTheme.Purple) .WithDefaultHttpClient(ScalarTarget.CSharp, ScalarClient.HttpClient) .WithOpenApiRoutePattern("/openapi/aggregated.json"); });

Key Concepts

Concept Usage Example

AddOpenApi()

Register OpenAPI services builder.Services.AddOpenApi()

MapOpenApi()

Expose /openapi/v1.json

app.MapOpenApi()

MapScalarApiReference()

Mount Scalar UI at /scalar

See examples above

ScalarTheme

Visual theme enum ScalarTheme.Purple

ScalarTarget

Code generation target ScalarTarget.CSharp

ScalarClient

HTTP client library ScalarClient.HttpClient

Common Patterns

Document Endpoints for Scalar

app.MapPost("/api/wallets", handler) .WithName("CreateWallet") .WithSummary("Create a new wallet") .WithDescription("Creates an HD wallet with the specified algorithm") .WithTags("Wallets");

Rich OpenAPI Descriptions with Markdown

builder.Services.AddOpenApi(options => { options.AddDocumentTransformer((document, context, ct) => { document.Info.Title = "Register Service API"; document.Info.Version = "1.0.0"; document.Info.Description = """ # Register Service

        ## Overview
        Provides a **distributed ledger** for immutable transactions.
        
        ## Key Features
        - Cryptographic signatures
        - Chain integrity verification
        """;
    return Task.CompletedTask;
});

});

See Also

  • patterns

  • workflows

Related Skills

  • See the minimal-apis skill for endpoint documentation patterns

  • See the aspire skill for service discovery integration

  • See the yarp skill for API Gateway configuration

Documentation Resources

Fetch latest Scalar documentation with Context7.

How to use Context7:

  • Use mcp__context7__resolve-library-id to search for "scalar"

  • Prefer website documentation (/websites/guides_scalar ) over source repositories

  • Query with mcp__context7__query-docs using the resolved library ID

Library ID: /websites/guides_scalar

Recommended Queries:

  • "Scalar .NET ASP.NET Core configuration options themes"

  • "Scalar themes available dark mode customization"

  • "Scalar API reference configuration fluent API"

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

sorcha-cli

No summary provided by upstream source.

Repository SourceNeeds Review
General

entity-framework

No summary provided by upstream source.

Repository SourceNeeds Review
General

signalr

No summary provided by upstream source.

Repository SourceNeeds Review