25 open-source projects similar to plantuml-stdlib/c4-plantuml, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best C4 PlantUML alternative.
This project is a library for generating visual architecture diagrams and network topologies directly from infrastructure-as-code templates and configuration specifications. It functions as a programmatic interface that transforms infrastructure definitions into visual documentation, allowing users to maintain system diagrams as version-controlled text files. The tool distinguishes itself through an automated layout engine that uses graph algorithms to calculate spatial positioning, connection routing, and link paths without manual coordinate configuration. It supports complex visual hierarch
likec4 is an architecture-as-code framework that transforms text-based architecture definitions into interactive diagrams, static websites, and image files. It serves as a system architecture visualizer and C4 model diagram generator, allowing users to define software components, boundaries, and deployment infrastructure using a domain-specific language. The tool distinguishes itself by providing a modeling environment with Language Server Protocol integration for real-time validation and autocomplete. It enables interactive architecture documentation where users can navigate through hierarch
PlantUML is a text-to-diagram generator that translates human-readable markup into structured graphical representations. It functions as a diagram-as-code tool, allowing users to create and maintain technical documentation, architectural models, and flowcharts by decoupling diagram content from visual layout. The project distinguishes itself through a comprehensive rendering pipeline that processes domain-specific markup into various output formats, including vector and raster graphics. It utilizes a graph-based layout engine to calculate spatial positioning, while a declarative styling layer
Joint is a JavaScript library for building interactive visual diagrams and flowcharts using Scalable Vector Graphics. It provides a programmable environment for creating an interactive SVG canvas with integrated support for zooming, panning, and touch gesture controls. The framework includes a component system for defining custom shapes and programmatic elements within a vector-based coordinate system. It features a JSON-based diagram serializer for saving and loading diagram states, as well as automated layout algorithms and relationship mapping to render nodes and edges. The library covers
GoJS is a JavaScript diagramming library and canvas-based visualization engine used to build interactive flowcharts, organizational charts, and network diagrams. It functions as a data-driven framework that binds JavaScript data models to visual elements, enabling bidirectional synchronization between the underlying data and the graphical representation. The library features a comprehensive graph layout engine capable of automatically arranging nodes into trees, grids, circles, or force-directed layouts. It distinguishes itself through a template-based system for generating visual parts and a
This project is a client-side rendering engine that transforms declarative, text-based syntax into visual diagrams directly within the browser. By utilizing a domain-specific language, it allows users to define complex structures—such as software architectures, process flows, and system behaviors—without the need for manual layout configuration. The library functions as a browser-based runtime that parses these definitions into intermediate abstract syntax trees, which are then processed by specialized engines to generate high-fidelity, resolution-independent graphics. The system distinguishe
Wired Elements is a hand-drawn web component library and custom element UI kit. It provides a set of low-fidelity visual building blocks designed to produce a rough, non-polished aesthetic for early-stage design iterations. The framework enables the creation of rapid UI prototypes, low-fidelity wireframes, and conceptual UX mappings. It uses a sketched appearance to help focus iterations on layout and functionality rather than final visual polish. The library utilizes SVG-based path rendering and web component encapsulation to deliver its hand-drawn style. Visual states are managed through e
go-diagrams is a Go visualization library and DOT language generator used to create system architecture diagrams. It implements a diagrams-as-code approach, allowing users to define system components, infrastructure dependencies, and data flows using Go source code. The library translates these code-based definitions into Graphviz DOT syntax, which is then processed by the Graphviz toolset to render final visual image assets. It supports mapping directional edges to illustrate dependencies and organizing related components into named clusters or subgraphs to represent architectural boundaries
Publication-ready NN-architecture schematics.
This project is a comprehensive educational resource and operational handbook for Kubernetes. It serves as a technical reference for installing, managing, and scaling container orchestration clusters across diverse environments, covering the core architectural principles and system components required to maintain containerized applications. The resource provides structured guides for cluster administration, including high availability setups, resource control, and data backup operations. It also functions as a security audit and troubleshooting manual, offering instructions for identifying no
Click is a Python framework for building command-line interfaces. It provides a declarative approach to defining command structures, allowing developers to map functions to command-line arguments, options, and nested groups using decorators. The framework handles the complexities of parameter parsing, type validation, and help documentation generation automatically. The project distinguishes itself through its hierarchical context system, which propagates configuration and state across nested commands, and its environment-aware parameter resolution that prioritizes command-line inputs, enviro
Railroad-diagrams is a utility for generating visual representations of formal grammars and language structures. It functions as a library that transforms dense notation systems, such as Backus-Naur Form or regular expressions, into readable flowcharts. The tool utilizes a coordinate-based layout engine and recursive component composition to construct diagrams as hierarchical trees. By separating geometric calculation logic from the output layer, it supports rendering through Scalable Vector Graphics or Unicode text, ensuring diagrams remain clear and scalable across different environments.
bpmn-js is a browser-based BPMN 2.0 web modeler and rendering engine used for creating, editing, and visualizing business process models. It functions as an XML process modeler that parses BPMN 2.0 XML data into interactive visual diagrams within a web application. The project distinguishes itself as a business process visualizer with capabilities for process flow simulation, which tracks token movement to mimic real-time execution. It also supports diagram version comparison to identify changes between model iterations and provides a layered overlay interface for binding metadata and custom
This project is a diagram-as-code tool that transforms declarative text scripts into professional visual representations. It functions as a technical documentation generator, allowing users to define nodes, connections, and hierarchical relationships through a domain-specific modeling language that integrates directly into version-controlled developer workflows. The tool distinguishes itself through a highly modular architecture that decouples diagram definitions from spatial positioning. It features a pluggable layout engine that supports multiple arrangement algorithms, alongside a styling
x-cmd is an AI agent orchestrator, cloud infrastructure CLI, and cross-platform package manager that provides an enhanced POSIX shell toolkit. It integrates large language models directly into the terminal for chatting, code generation, and the execution of agentic workflows, while offering a framework for building interactive terminal user interface components. The project distinguishes itself by deploying containerized AI agents within isolated sandboxes, provisioning them with specialized skills and headless browser automation capabilities. It further streamlines development through a unif
Bundler is a Ruby dependency manager that resolves gem versions and locks them in a lockfile so every machine installs the same set of dependencies. It manages package sources, provides environment diagnostics, and wraps commands and consoles to run inside a consistent gem context, preventing version mismatches across development, testing, and production. Unlike a simple package installer, Bundler uses a SAT solver to find a consistent set of gem versions satisfying all constraints, segregates authentication secrets from source URLs, and enforces platform-specific dependency filtering. Its lo
Cargo is the official build system and package manager for the Rust programming language. It provides a unified command-line interface that orchestrates the entire development lifecycle, including compiling source code, managing complex dependency graphs, running tests, and distributing packages through a centralized registry. By utilizing declarative manifest files, it ensures that builds remain reproducible and consistent across different environments. The tool distinguishes itself through its deep integration with the Rust compiler and its sophisticated approach to project management. It f
pwndbg is a GDB plugin and binary analysis framework designed for reverse engineering, exploit development, and low-level program analysis. It extends the core functionality of the debugger to provide advanced memory inspection and automation tools. The project distinguishes itself with specialized capabilities for heap analysis across glibc, jemalloc, and musl, as well as a comprehensive kernel debugging toolkit for inspecting Linux kernel tasks and slab allocators. It includes an integrated ROP gadget searcher for constructing exploit chains and an LLM-powered debugging assistant that provi
Linkerd is a Kubernetes service mesh that manages network traffic between microservices. It functions as a transparent networking proxy, layer 7 traffic manager, and mutual TLS security layer, providing observability and reliability for service-to-service communication without requiring changes to application code. The project distinguishes itself through a sidecar-proxy architecture that intercepts TCP and application-level traffic to provide automatic mutual TLS encryption and identity verification. It enables cross-cluster service networking to link multiple clusters and implements cloud-n
CRI-O is an open-source container runtime that implements the Kubernetes Container Runtime Interface (CRI) to manage container images, pods, and containers on cluster nodes using OCI-compatible runtimes. It serves as a node-level container manager that handles image pulling, container lifecycle, and resource monitoring for Kubernetes clusters, running containers according to the Open Container Initiative specifications. The runtime distinguishes itself through live configuration reloading that applies changes to runtime definitions, registry mirrors, and TLS certificates without restarting th
This project is a Go process supervisor designed to start and monitor multiple background programs with automatic restarts and lifecycle management. It functions as a system for coordinating daemon execution, ensuring continuous operation through a central configuration. The supervisor distinguishes itself with multiple remote administration interfaces, including a process management REST API, an XML-RPC controller, and a built-in web dashboard for monitoring and controlling processes. It features a Prometheus monitoring exporter that serves real-time performance metrics via a dedicated HTTP
OpenTSDB is a distributed time series database and metrics engine designed for storing and managing massive volumes of high-cardinality system metrics. It functions as a data store and analytics platform that enables large-scale metric ingestion and infrastructure performance monitoring across a distributed cluster. The system distinguishes itself through a distributed storage abstraction that supports multiple backends such as HBase, Cassandra, and Google Bigtable. It utilizes a hierarchical metric tree to organize time series and employs numeric identifier indexing to reduce storage footpri
Casdoor is a centralized identity and access management platform that functions as an OAuth 2.0 authorization server. It provides a comprehensive suite of services for managing user identities, authentication sessions, and access policies across both web and machine-to-machine applications. Built with a decoupled frontend-backend architecture in Go, the platform supports high-concurrency environments and offers a web-based management interface for administrative tasks. The platform distinguishes itself through its extensive support for federated identity management, allowing integration with
attrs is a Python library that automatically generates initialization, representation, equality, hashing, and ordering methods from declarative class attribute definitions. At its core, it provides a class decorator metaprogramming framework that intercepts class creation to rewrite the class body, producing dunder methods without manual boilerplate. The library includes a comprehensive attribute validation toolkit with built-in validators for type checks, range constraints, regex matching, length limits, and logical composition of validation rules. The library distinguishes itself through it
File Browser is a self-hosted application that provides a web-based interface for managing files and directories on a server. It functions as a virtual file system abstraction, allowing users to browse, organize, and edit text-based files directly within their browser without requiring local access to the server. The platform distinguishes itself through a comprehensive command-line interface that enables full administrative control over system configurations, user accounts, and automation hooks. It supports a flexible, event-driven architecture where custom shell scripts can be triggered aut