Skip to content

dendrodocs/dotnet-shared-lib

Repository files navigation

DendroDocs.Shared

Nuget Coverage Status

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.

Features

  • 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.

Prerequisites

.NET 8.0 SDK or newer.

Installation

To use DendroDocs.Shared in your project, install it as a NuGet package:

dotnet add package DendroDocs.Shared

Security & Build Attestation

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.

Example usage

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);

The DendroDocs Ecosystem

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.

LivingDocumentation

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.

Contributing

Contributions are welcome! Please feel free to create issues or pull requests.

License

This project is licensed under the MIT License.

About

Shared .NET library for DendroDocs.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Contributors 5