|
2 | 2 | _layout: landing |
3 | 3 | --- |
4 | 4 |
|
5 | | -<p align="center"> |
6 | | - <img src="images/logo.png" alt="SquidStd" width="140" height="140" /> |
7 | | -</p> |
| 5 | +<div class="sqd-hero"> |
| 6 | + <img src="images/logo.png" alt="SquidStd" width="120" height="120" /> |
| 7 | + <h1>SquidStd</h1> |
| 8 | + <p class="sqd-tagline">A batteries-included, modular standard library for .NET 10 - distilled from years |
| 9 | + of building real-world server software. Each capability ships behind a small contract with an in-memory |
| 10 | + implementation for tests and a production backend.</p> |
| 11 | + <p class="sqd-badges"> |
| 12 | + <a href="https://www.nuget.org/packages/SquidStd.Core"><img src="https://img.shields.io/nuget/v/SquidStd.Core?label=nuget&color=1390A3" alt="NuGet" /></a> |
| 13 | + <a href="https://github.com/tgiachi/squid-std/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/tgiachi/squid-std/ci.yml?branch=main&label=CI" alt="CI" /></a> |
| 14 | + <a href="https://github.com/tgiachi/squid-std/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-4BB4BD" alt="MIT" /></a> |
| 15 | + </p> |
| 16 | + <pre class="sqd-install"><code>dotnet add package SquidStd.Services.Core</code></pre> |
| 17 | + <p class="sqd-cta"> |
| 18 | + <a class="btn btn-primary" href="tutorials/getting-started.md">Get started</a> |
| 19 | + <a class="btn btn-outline-primary" href="api/index.md">API reference</a> |
| 20 | + </p> |
| 21 | +</div> |
8 | 22 |
|
9 | | -# SquidStd |
| 23 | +## Capabilities |
10 | 24 |
|
11 | | -A batteries-included, modular standard library for .NET 10 - distilled from years of building |
12 | | -real-world server software. Each capability ships behind a small contract with an in-memory |
13 | | -implementation for tests and a production backend, published as a focused NuGet package. |
| 25 | +<div class="sqd-cards"> |
| 26 | + <a class="sqd-card" href="articles/messaging-abstractions.md"><b>Messaging</b><span>Queues & pub/sub - in-memory, RabbitMQ, SQS</span></a> |
| 27 | + <a class="sqd-card" href="articles/caching-abstractions.md"><b>Caching</b><span>In-memory or Redis behind one contract</span></a> |
| 28 | + <a class="sqd-card" href="articles/storage-abstractions.md"><b>Storage</b><span>Files & objects - local or S3/MinIO</span></a> |
| 29 | + <a class="sqd-card" href="articles/vfs-abstractions.md"><b>Virtual FS</b><span>Composable filesystems with decorators</span></a> |
| 30 | + <a class="sqd-card" href="articles/database-abstractions.md"><b>Database</b><span>FreeSql data access with migrations</span></a> |
| 31 | + <a class="sqd-card" href="articles/crypto.md"><b>Crypto</b><span>PGP, password ciphers, encrypted vaults</span></a> |
| 32 | + <a class="sqd-card" href="articles/mail-abstractions.md"><b>Mail</b><span>Send, receive and queue email</span></a> |
| 33 | + <a class="sqd-card" href="articles/workers-abstractions.md"><b>Workers</b><span>Job handlers, heartbeats, a manager API</span></a> |
| 34 | + <a class="sqd-card" href="articles/actors.md"><b>Actors</b><span>Mailbox-based concurrency primitives</span></a> |
| 35 | + <a class="sqd-card" href="articles/network.md"><b>Network</b><span>TCP/UDP servers with framing pipelines</span></a> |
| 36 | + <a class="sqd-card" href="articles/templating.md"><b>Templating</b><span>Scriban templates with includes</span></a> |
| 37 | + <a class="sqd-card" href="articles/telemetry-abstractions.md"><b>Telemetry</b><span>OpenTelemetry tracing & metrics</span></a> |
| 38 | +</div> |
14 | 39 |
|
15 | | -Security & crypto, configuration, persistence, messaging, caching, storage, a virtual filesystem, |
16 | | -search, mail, workers, actors, telemetry, scripting - take only what you need. |
| 40 | +## Quick start |
17 | 41 |
|
18 | | -## Start here |
| 42 | +```csharp |
| 43 | +var container = new Container(); |
| 44 | +container.AddInMemoryMessaging(); |
19 | 45 |
|
20 | | -- **[Tutorials](tutorials/index.md)** - learn by building: bootstrap, caching, messaging, workers, |
21 | | - crypto, persistence, and more. |
| 46 | +var bootstrap = SquidStdBootstrap.Create(new SquidStdOptions { ConfigName = "myapp" }, container); |
| 47 | +await bootstrap.StartAsync(); |
| 48 | +``` |
| 49 | + |
| 50 | +Continue with the [getting started tutorial](tutorials/getting-started.md). |
| 51 | + |
| 52 | +## Explore |
| 53 | + |
| 54 | +- **[Tutorials](tutorials/index.md)** - learn by building: bootstrap, caching, messaging, workers, crypto, persistence, and more. |
22 | 55 | - **[Guides](articles/guides/configuration.md)** - task-focused how-to and "which provider" decision guides. |
23 | 56 | - **[Concepts](articles/concepts/architecture.md)** - the architecture and the ideas behind it. |
24 | 57 | - **[Packages](articles/getting-started.md)** - per-package reference. |
25 | | -- **[API reference](api/index.md)** - full type/member documentation. |
26 | 58 | - **[Felix Network](articles/felix.md)** - companion secure binary mesh-networking library (.NET + C/ESP32). |
0 commit comments