Haya 0.0.3
dotnet add package Haya --version 0.0.3
NuGet\Install-Package Haya -Version 0.0.3
<PackageReference Include="Haya" Version="0.0.3" />
paket add Haya --version 0.0.3
#r "nuget: Haya, 0.0.3"
// Install Haya as a Cake Addin #addin nuget:?package=Haya&version=0.0.3 // Install Haya as a Cake Tool #tool nuget:?package=Haya&version=0.0.3
haya-net
Haya automates the generating of documentation and diagrams for a .NET codebase. It uses attributes to define concepts like Responsibilities and Collaborators. The tool uses these concepts to generate CRC descriptions and C4 Level 1 diagrams.
See the examples folder of the attribute annotations and the generated CRC.
Note: This currently only works for C# codebases.
This is not meant to be a replacement for good documentation practices, but rather a tool to help you get started, or at the least have a minimum level for a new joiner to start exploring the codebase.
Getting Started
- Install the Haya CLI tool
dotnet tool install --global Haya.Tool
- Add the Haya attributes package to your project.
dotnet add package Haya
- Run the Haya CLI tool
haya --help
Usage
- Add the Haya attributes to your codebase. See Attributes docs for more information.
using Haya;
[assembly:Meta(AppName = "CheckoutApi", Description = "Handles processing payment for a shopping cart", System = "HayaEcomm")]
namespace Example;
[Responsibility(Description = "Handles order processing")]
public class CreditCardPaymentUsecase
{ }
[Collaborator(AppName = "Checkout",
Relationship = Relationship.Internal,
Direction = Direction.Upstream,
System = "WebShop",
Description = "Handles cart checkout for a customer",
DataDescription = "Request payment")]
public class PaymentsController
{ }
Running the Haya CLI tool will generate a CRC document and a C4 Level 1 diagram.
haya crc --format md --c4 ./Example.sln
USAGE: haya crc [--help] [--outputpath <output path>] [--format <md|json>] [--c4] <path to sln>
PATHTOSLN:
<path to sln> Path to solution file
OPTIONS:
--outputpath, -o <output path>
Path to output folder or file (default: ./CRC.md)
--format, -f <md|json>
Output format: md | json (default: md)
--c4, -c Include diagram (markdown only). -c for C4 Level 1, -cc for C4 Level 2
--help display this list of options.
USAGE: haya [--help] [<subcommand> [<options>]]
SUBCOMMANDS:
crc <options> Generate Components, Responsibilities, and Collaborator data
Use 'haya <subcommand> --help' for additional information.
OPTIONS:
--help display this list of options.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- FSharp.Core (>= 8.0.400)
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 |
---|---|---|
0.0.3 | 96 | 9/21/2024 |