{"repo":"krzysztofreczek/go-structurizr","free":true,"listed":false,"github":"https://github.com/krzysztofreczek/go-structurizr","clone":"git clone https://github.com/krzysztofreczek/go-structurizr.git","description":"A library for auto-generating C4 diagrams from Go applications","language":"Go","stars":366,"topics":["go","architecture","c4","golang"],"license":"MIT","category":"scrapers-browser-automation","readme_excerpt":"go-structurizr This library allows you to auto-generate C4 component diagrams from Go code. Usage and Examples To quickly learn how to use the library, check out my blog post for a step-by-step implementation guide. You can also find several examples in the cmd directory. To run any of these examples, use the provided shell script. How It Works The library provides tools (Scraper and View) to scrape and render Go structures into a C4 component diagram in PlantUML format. - Scraper reflects a given structure according to interfaces, predefined rules, and configurations. - You can pass the scraped structure into a View definition, which can then be rendered into PlantUML diagram code. Scraper identifies components to scrape under the following conditions: - The type being examined implements the model.HasInfo interface. - The type being examined matches one of the rules registered with the scraper. Components Component Info The model.Info structure defines a component in the scraped structure of your code: Scraper You can instantiate the scraper in one of two ways: - From the code - From a YAML file To instantiate the scraper, provide a configuration that includes the prefixes of packages you want to reflect. Types that do not match any of the specified prefixes will not be processed. After creating a scraper instance, you can register rules that will allow it to identify components to include in the output structure. Each rule consists of: - A set of package regular expression","default_branch":null,"files":null,"tree":[],"storefront":"/r/krzysztofreczek","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/krzysztofreczek/go-structurizr/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}