DendroDocs.Shared is a shared library used across multiple components of the DendroDocs ecosystem. It provides common utilities, abstractions, and extensions that are essential for the functionality of tools like DendroDocs.Tool and other .NET-based projects using DendroDocs.
- Provides common code that can be leveraged by other tools in the DendroDocs ecosystem to ensure consistency and reduce duplication.
- Includes helper methods and extensions that simplify common tasks like parsing, JSON handling, and model transformations.
- Contains shared data models used by the DendroDocs analyzers and documentation generators.
.NET 8.0 SDK or newer.
To use DendroDocs.Shared in your project, install it as a NuGet package:
dotnet add package DendroDocs.Shared
This library includes build attestation through GitHub's attest-build-provenance action, providing cryptographic proof of the build process and artifact integrity. Each published package includes verifiable provenance information that demonstrates:
- The exact repository and commit that built the artifacts
- The GitHub Actions workflow that produced the packages
- Cryptographic signatures ensuring artifact authenticity
This ensures that the packages you install have not been tampered with and came from the official DendroDocs build pipeline.
using DendroDocs.Extensions;
using DendroDocs.Json;
using Newtonsoft.Json;
var types = new List<TypeDescription>();
// more code
var serializerSettings = JsonDefaults.SerializerSettings();
var result = JsonConvert.SerializeObject(types.OrderBy(t => t.FullName), serializerSettings);
DendroDocs.Shared is a crucial part of the broader DendroDocs ecosystem. Explore DendroDocs to find more tools, libraries, and documentation resources that help you bridge the gap between your code and its documentation.
This shared library consolidates the following libraries previously part of Living Documentation:
- LivingDocumentation.Descriptions
- LivingDocumentation.Extensions
- LivingDocumentation.Abstractions
- LivingDocumentation.Statements
These libraries have been combined and restructured for better modularity and ease of use in the DendroDocs ecosystem.
Contributions are welcome! Please feel free to create issues or pull requests.
This project is licensed under the MIT License.