drawio-skill is a comprehensive toolkit for generating, manipulating, validating, and publishing draw.io architecture diagrams from natural language, codebases, infrastructure-as-code, API specifications, and other structured sources. It provides a unified CLI (`diagramctl.py`) and an optional MCP server (`diagramctl_mcp.py`) that expose workflows for building, syncing, viewing, testing, reviewing, querying, what-if analysis, story generation, and publishing diagrams. The system uses a formal Diagram Intermediate Representation (IR) to separate semantic meaning from geometry, enabling incremental reconciliation, multi-view projection, architecture contract enforcement, and accessible HTML story output. It includes 15+ importers for languages (Python, JS, Go, Rust), IaC (Terraform, Kubernetes, Docker Compose), schemas (SQL, OpenAPI, AsyncAPI, Protobuf, GraphQL), and live infrastructure (Docker, Terraform state). The project is packaged as an AI agent skill compatible with Claude Code, Cursor, Copilot, and other Agent Skills hosts, and ships with GitHub Actions for CI integration. While primarily an application, it also bundles curated icon indices and style presets that could be considered data assets.
This repository is an educational resource focused on teaching low-level design (LLD) and object-oriented design (OOD) principles through runnable code examples. It contains implementations of the Gang of Four design patterns (creational, structural, behavioral) across multiple programming languages including C++, Java, C#, Python, Go, and JavaScript/TypeScript. Additionally, it provides problem statements and solutions for common LLD interview questions such as parking lot systems, ATM implementations, vending machines, and social networking platforms. The repository serves as both a reference guide and a practical learning tool. Each design pattern is demonstrated with minimal, focused examples that isolate the pattern's core mechanics. The problem/solution sections show how these patterns can be applied in real-world scenarios, complete with class diagrams and explanations. While the code is functional and demonstrative, it prioritizes clarity of concept over production robustness, making it ideal for learning but requiring adaptation for actual deployment. Although primarily educational, the repository contains executable code that could be considered a collection of mini-applications. Each pattern implementation and problem solution can be run independently to observe the behavior. The multi-language approach allows developers to compare how the same pattern is expressed in different ecosystems, highlighting both universal principles and language-specific idioms.