From c1fbd1e9fed6f59e5838b43ff45d1471600eef9b Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Fri, 24 Jul 2026 16:06:51 +1200 Subject: [PATCH] docs(readme): badges + diagram; embed README on nuget.org; bump 0.1.1 Co-Authored-By: Claude Opus 4.8 (1M context) --- Directory.Build.props | 7 +++++++ README.md | 23 ++++++++++++++++++++++- src/SynoSharp/SynoSharp.csproj | 2 +- 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index 78e9842..0d3c4ce 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -11,9 +11,16 @@ https://github.com/chrison-dev/SynoSharp git MIT + + README.md true embedded + + + + + diff --git a/README.md b/README.md index c295925..fda63ad 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,31 @@ # SynoSharp +[![NuGet](https://img.shields.io/nuget/v/Chrison.SynoSharp.svg)](https://www.nuget.org/packages/Chrison.SynoSharp/) +[![Downloads](https://img.shields.io/nuget/dt/Chrison.SynoSharp.svg)](https://www.nuget.org/packages/Chrison.SynoSharp/) +[![ci](https://github.com/Chrison-dev/SynoSharp/actions/workflows/ci.yml/badge.svg)](https://github.com/Chrison-dev/SynoSharp/actions/workflows/ci.yml) +[![Built with Fallout](https://img.shields.io/badge/built%20with-Fallout-8A2BE2)](https://github.com/Fallout-build/Fallout) +[![License: MIT](https://img.shields.io/github/license/Chrison-dev/SynoSharp.svg)](LICENSE) + A C# client for **Synology DSM** IaC. Sibling to ProxmoxSharp/UnifiSharp โ€” but **not code-generated**: Synology publishes no settings/deploy API schema, so per -[ADR-0002](https://github.com/chrison-dev/Homelab/blob/main/docs/adr/ADR-0002-synosharp.md) +[ADR-0002](https://github.com/Chrison-Homelab/Homelab/blob/main/docs/adr/ADR-0002-synosharp.md) this is a hand-written **read-API client** (now) + an **SSH-runner** for mutations (later). +```sh +dotnet add package Chrison.SynoSharp +``` + +```mermaid +flowchart LR + APP["๐Ÿงฉ homelab engine / CLI"] -->|"read / discover"| WEB["๐ŸŒ DSM Web API
SYNO.API.Auth โ†’ entry.cgi โ†’ SYNO.Core.*"] + APP -. "mutations (write phase)" .-> SSH["๐Ÿ” SSH-runner
syno* CLI + synowebapi"] + WEB --> SNAP["๐Ÿ“Š SynologySnapshot"] + SSH --> NAS["๐Ÿ—„๏ธ DSM 7.1 ยท DS1813+"] + WEB --- NAS + classDef future fill:#f3f4f6,stroke:#9ca3af,color:#6b7280; + class SSH future; +``` + ## Approach - **Read / discover** โ†’ the DSM **Web API** (`SYNO.API.Auth` โ†’ `entry.cgi` โ†’ diff --git a/src/SynoSharp/SynoSharp.csproj b/src/SynoSharp/SynoSharp.csproj index bbbaed0..9ef269a 100644 --- a/src/SynoSharp/SynoSharp.csproj +++ b/src/SynoSharp/SynoSharp.csproj @@ -6,7 +6,7 @@ enable - 0.1.0 + 0.1.1