Andy.Settings.Client.TestSupport
2026.9.8-rc.71
This is a prerelease version of Andy.Settings.Client.TestSupport.
dotnet add package Andy.Settings.Client.TestSupport --version 2026.9.8-rc.71
NuGet\Install-Package Andy.Settings.Client.TestSupport -Version 2026.9.8-rc.71
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Andy.Settings.Client.TestSupport" Version="2026.9.8-rc.71" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Andy.Settings.Client.TestSupport" Version="2026.9.8-rc.71" />
<PackageReference Include="Andy.Settings.Client.TestSupport" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Andy.Settings.Client.TestSupport --version 2026.9.8-rc.71
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Andy.Settings.Client.TestSupport, 2026.9.8-rc.71"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Andy.Settings.Client.TestSupport@2026.9.8-rc.71
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Andy.Settings.Client.TestSupport&version=2026.9.8-rc.71&prerelease
#tool nuget:?package=Andy.Settings.Client.TestSupport&version=2026.9.8-rc.71&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Andy Settings
Centralized configuration and settings management for the Andy ecosystem.
Architecture
andy-settings/
├── src/
│ ├── Andy.Settings.Domain/ # Entities, enums (no dependencies)
│ ├── Andy.Settings.Application/ # Interfaces, DTOs, options (-> Domain)
│ ├── Andy.Settings.Infrastructure/ # EF Core, repositories, services (-> Domain, Application)
│ ├── Andy.Settings.Api/ # ASP.NET Core REST + MCP + Swagger (-> all)
│ ├── Andy.Settings.Client/ # Consumer HTTP client + OBO/M2M token providers
│ ├── Andy.Settings.Client.TestSupport/ # In-memory fakes for client consumers
│ └── Andy.Settings.Shared/ # Shared types
├── tools/
│ └── Andy.Settings.Cli/ # CLI tool (System.CommandLine + Spectre.Console)
├── tests/
│ ├── Andy.Settings.Tests.Unit/ # Unit tests (xUnit, Moq, FluentAssertions)
│ ├── Andy.Settings.Tests.Integration/ # Integration tests (WebApplicationFactory)
│ ├── Andy.Settings.Api.Tests/ # API tests
│ └── Andy.Settings.Client.Tests/ # Client library tests
├── client/ # Angular 18 SPA
├── examples/ # Multi-language API/MCP examples (C#, Python, JS, Go, Rust, PowerShell)
├── docs/ # MkDocs Material documentation
├── certs/ # Corporate CA certificates (gitignored)
├── Dockerfile # Multi-stage: Node + .NET + runtime
└── docker-compose.yml # PostgreSQL + API
Key Features
- Typed Definitions -- strongly typed setting schemas with validation and UI metadata
- Scoped Resolution -- 7-level scope precedence with deterministic resolution and explanation
- Encrypted Secrets -- AES-256-CBC + HMAC-SHA256 via Data Protection API, RBAC-gated access
- Conductor Integration -- embedded as 8th service in Conductor macOS app (port 9107, SQLite)
- Auth & RBAC -- Andy Auth (OIDC) + Andy RBAC with scope-aware permissions
- REST + Swagger + MCP -- full API with OpenAPI docs and Model Context Protocol tools
- CLI -- command-line tool with table/JSON output (auth via
ANDY_SETTINGS_TOKEN; OAuth device flow is not implemented) - Angular Web UI -- definitions browser, scope editor, secret management, audit views
- Dual Database -- PostgreSQL (shared) or SQLite (embedded/Conductor)
Quick Start
# Docker Compose (PostgreSQL mode)
docker compose up --build
# API: https://localhost:5300 | Swagger: https://localhost:5300/swagger
# Native development (SQLite mode)
dotnet run --project src/Andy.Settings.Api
cd client && npm install && npm start
Default Ports
| Service | Port |
|---|---|
| API HTTPS | 5300 |
| API HTTP | 5301 |
| PostgreSQL | 5438 |
| Angular dev | 4200 |
| Conductor proxy | 9100 |
| Conductor settings | 9107 |
| Andy Auth | 5001 |
| Andy RBAC | 5003 |
Commands and events
andy-settings follows the command / event split codified in ADR 0001 — Messaging:
- Commands stay on HTTP. Every imperative — set a value, create a definition, fetch a resolved setting — is a synchronous REST call against the API.
- Events go on NATS. Each successful write enqueues a
config.*.changedevent on the JetStreamANDY_DOMAINstream. Consumers (e.g.mcp-gateway) subscribe to the slice that names them; andy-settings never subscribes to itself.
The full event catalog and consumer onboarding guide is in docs/messaging.md.
Documentation
Full documentation: rivoli-ai.github.io/andy-settings
- Architecture -- system design, domain model, scope resolution
- Features -- complete feature catalog
- Security -- auth, RBAC, secret encryption
- Scope authorization -- ownership, trusted claims, administrator/workload configuration and rollout
- Messaging -- NATS event catalog, subscriber onboarding, burst handling
- Stories -- implementation backlog (11 epics, ~45 stories)
- Examples -- multi-language API/MCP examples
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- Andy.Settings.Client (>= 2026.9.8-rc.71)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.9.8-rc.71 | 75 | 9/8/2026 |
| 2026.9.7-rc.69 | 72 | 9/7/2026 |
| 2026.9.7-rc.67 | 74 | 9/7/2026 |
| 2026.8.6-rc.65 | 81 | 8/6/2026 |
| 2026.8.6-rc.63 | 78 | 8/6/2026 |
| 2026.7.25-rc.61 | 74 | 7/25/2026 |
| 2026.7.25-rc.59 | 75 | 7/25/2026 |
| 2026.7.25-rc.56 | 81 | 7/25/2026 |
| 2026.7.25-rc.55 | 69 | 7/25/2026 |
| 2026.7.25-rc.54 | 68 | 7/25/2026 |
| 2026.7.25-rc.53 | 80 | 7/25/2026 |
| 2026.7.25-rc.52 | 70 | 7/25/2026 |
| 2026.7.25-rc.51 | 65 | 7/25/2026 |
| 2026.7.25-rc.50 | 68 | 7/25/2026 |
| 2026.7.25-rc.49 | 69 | 7/25/2026 |
| 2026.7.21-rc.47 | 74 | 7/21/2026 |
| 2026.6.11-rc.45 | 85 | 6/11/2026 |
| 2026.5.29-rc.39 | 88 | 5/29/2026 |
| 2026.5.22-rc.36 | 85 | 5/22/2026 |
| 2026.5.18-rc.35 | 78 | 5/18/2026 |
Loading failed