Garden is a specification for modeling an ecosystem (e.g. of products, services) as a directed graph with unlimited recursion and composability. This repository holds a CLI for generating the JSON schema in apps/cli, and a library published to @omnidotdev/garden in apps/library. The repository for the website, containing a garden visualizer demo, is here.
For a reference implementation, check out the Omniverse.
Garden layouting is currently powered by ELK, more layouting engines will be supported in the future.
Cultivation. A garden is a place where plants are grown and cultivated, and digital ecosystems thrive on this same approach.
- A visual representation of an ecosystem of projects and their relationships
- Composable: each garden is independently processable as its own garden, and gardens can be nested inside of each other ("supergardens" and "subgardens").
cd apps/cli, then cargo run -- $OUTPUT_FILE. For example, cargo run -- ../../garden.schema.json.
cd apps/library && bun generate
The app is a landing page and visualizer for Garden schemas. From the root directory, run the following:
bun installbun turbo buildbun turbo devGarden is inspired by the CNCF Landscape project, which is a collection of projects that are part of the CNCF. The CNCF Landscape is a visual representation of the projects and their relationships, making it easier to understand the relationships between projects and the larger ecosystem.
The code in this repository is licensed under Apache 2.0, © Omni LLC. See LICENSE.md for more information.
