{"id":27612542,"url":"https://github.com/energy164/livingdocumentation","last_synced_at":"2025-09-10T04:34:08.851Z","repository":{"id":34916923,"uuid":"186174741","full_name":"eNeRGy164/LivingDocumentation","owner":"eNeRGy164","description":"Generate documentation based on your dotnet source code!","archived":false,"fork":false,"pushed_at":"2024-08-28T17:39:24.000Z","size":507,"stargazers_count":63,"open_issues_count":7,"forks_count":10,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-21T13:55:05.867Z","etag":null,"topics":["analyzer","diagrams","living-documentation","roslyn"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eNeRGy164.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-05-11T19:41:26.000Z","updated_at":"2025-03-18T22:37:12.000Z","dependencies_parsed_at":"2023-01-15T10:21:10.640Z","dependency_job_id":null,"html_url":"https://github.com/eNeRGy164/LivingDocumentation","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eNeRGy164%2FLivingDocumentation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eNeRGy164%2FLivingDocumentation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eNeRGy164%2FLivingDocumentation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eNeRGy164%2FLivingDocumentation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eNeRGy164","download_url":"https://codeload.github.com/eNeRGy164/LivingDocumentation/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250354292,"owners_count":21416749,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["analyzer","diagrams","living-documentation","roslyn"],"created_at":"2025-04-23T01:44:04.008Z","updated_at":"2025-04-23T01:44:04.508Z","avatar_url":"https://github.com/eNeRGy164.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Living Documentation\r\n\r\n![Azure DevOps builds](https://img.shields.io/azure-devops/build/hompus/dccc1034-d776-48ea-8a70-8822a02987f9/6?style=plastic) ![Azure DevOps tests](https://img.shields.io/azure-devops/tests/hompus/LivingDocumentation/6?style=plastic)\r\n\r\nLiving Documentation allows you to analyze your dotnet source code and generate comprehensive documentation for your stakeholders.\r\nIt's a powerful tool that bridges the gap between code and documentation, ensuring that your documentation is always up-to-date with your source code.\r\n\r\n## Features\r\n\r\n* **Analyzer**: A tool to analyze dotnet projects or solutions.\r\n* **Libraries**: Assists in generating applications that can create plain text files such as MarkDown, AsciiDoc, PlantUML, Mermaid, and more.\r\n\r\n## Packages\r\n\r\n| Package       | Type     | Status                                            |\r\n| ------------- | -------- | ------------------------------------------------- |\r\n| Analyzer Tool | Released | [![Nuget][NUGET_BADGE]][NUGET_FEED]               |\r\n| Analyzer Tool | Preview  | [![Azure Artifacts][PREVIEW_BADGE]][PREVIEW_FEED] |\r\n\r\n## Presentation\r\n\r\nWatch the session given at NDC London 2023 that covers examples using this tool:\r\n\r\n[![Use your source code to document your application - Michaël Hompus - NDC London 2023](https://img.youtube.com/vi/hf8hzGb2C6E/0.jpg)](https://www.youtube.com/watch?v=hf8hzGb2C6E)\r\n\r\n## Getting Started\r\n\r\n### Prerequisites\r\n\r\n* Dotnet 6.0 SDK or newer.\r\n\r\n## Installation\r\n\r\nInstall the analyzer as a dotnet global tool:\r\n\r\n```shell\r\ndotnet tool install --global LivingDocumentation.Analyzer\r\n```\r\n\r\n## Generating Documentation\r\n\r\nUsing LivingDocumentation to generate documentation involves a three-step process:\r\n\r\n1. **Analyze Source Code**: Run the LivingDocumentation.Analyzer with your Visual Studio solution file as input.\r\n   This will generate an intermediate JSON file containing detailed information about your source code.\r\n2. **Develop Renderers**: Create a custom \"render application\" to interpret the JSON file and generate various views on your source code, such as class diagrams or sequence diagrams.\r\n3. **Output Documentation**: Export your findings in text-based formats like Markdown, AsciiDoc, PlantUML, Mermaid, etc.\r\n\r\nBoth during local development, as during your CI\u0026CD pipeline, can follow the same flow.\r\n\r\n### Local Development\r\n\r\nThe analysis of a solution might take some time.\r\nTherefore, an intermediate JSON file is created to speed up the documentation generation process.\r\nThis ensures a fast feedback loop when developing your renderers.\r\n\r\n## Develop Your Own Renderers\r\n\r\nA renderer application can be as simple as a command line tool that takes in the generated JSON files, makes conclusions based on the type information and writes this to a plain text file format.\r\n\r\nTo get started quickly, you should make a dependency on 2 NuGet packages in your project:\r\n\r\n* **LivingDocumentation.RenderExtensions**: Contains extension methods and dependencies for serialized analysis.\r\n* **LivingDocumentation.Json**: Contains JSON serializers and contract resolvers.\r\n\r\n## More details\r\n\r\nMore details can be found in the [Guide](docs/guide.md).\r\n\r\n## Dive Deeper\r\n\r\nFor more detailed examples and advanced use cases, refer to the second chapter of the [LivingDocumentation.Workshop](https://github.com/eNeRGy164/LivingDocumentation.Workshop/).\r\n\r\n## Contributing\r\n\r\nYou are welcome to contribute! Feel free to create [issues](https://github.com/eNeRGy164/LivingDocumentation/issues) or [pull requests](https://github.com/eNeRGy164/LivingDocumentation/pulls).\r\n\r\n## License\r\n\r\nThis project is licensed under the [MIT License](LICENSE).\r\n\r\n[NUGET_BADGE]: https://img.shields.io/nuget/v/LivingDocumentation.Analyzer.svg?style=plastic\r\n[NUGET_FEED]: https://www.nuget.org/packages/LivingDocumentation.Analyzer/\r\n[PREVIEW_BADGE]: https://feeds.dev.azure.com/hompus/dccc1034-d776-48ea-8a70-8822a02987f9/_apis/public/Packaging/Feeds/030d64ca-8fad-4972-b7b7-8b1679c95e25/Packages/f3b0fbae-213f-412b-a98c-4d339e7a09e7/Badge\r\n[PREVIEW_FEED]: https://dev.azure.com/hompus/LivingDocumentation/_packaging?_a=package\u0026feed=030d64ca-8fad-4972-b7b7-8b1679c95e25\u0026package=f3b0fbae-213f-412b-a98c-4d339e7a09e7\u0026preferRelease=true\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenergy164%2Flivingdocumentation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fenergy164%2Flivingdocumentation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenergy164%2Flivingdocumentation/lists"}