À propos du projet

drawio-skill est un package Agent Skills open source (sous licence MIT) qui permet aux agents de codage IA — Claude Code, Cursor, Copilot, OpenClaw, Codex, Autohand Code, Hermes, ou tout hôte compatible Agent Skills — de générer, maintenir et réutiliser des diagrammes draw.io professionnels à partir d'invites en langage naturel et de sources système réelles. Flux de génération principal : la compétence planifie la disposition, écrit le XML .drawio, exporte un PNG brouillon, auto-vérifie le rendu et corrige automatiquement les chevauchements, les libellés tronqués et les arêtes empilées (jusqu'à 2 tours), puis exécute une boucle de retour utilisateur en 5 tours avant l'export final. Onze préréglages de types de diagrammes sont intégrés : ERD, UML Class, Sequence, C4, Architecture, ML/Deep Learning, Flowchart, SysML, BPMN, Network Topology et Cross-Functional Swimlane. Le texte Mermaid (28 types standard incluant mindmap, gantt, timeline, journey, pie, sankey, kanban) se convertit en .drawio natif modifiable sur draw.io ≥ 30, et un outil raster2drawio.py reconstruit les photos de tableau blanc ou les PNG hérités en diagrammes modifiables. Les importateurs source-vers-diagramme couvrent les graphes d'import Python, JS/TS, Go et Rust ainsi que les hiérarchies de classes Python ; les configurations Terraform, Kubernetes et docker-compose avec les icônes officielles AWS/Azure/GCP/K8s ; les instantanés d'infrastructure en direct depuis `terraform show -json`, `docker inspect` et `kubectl get -o json` ; le DDL SQL vers ERD ; OpenAPI/Swagger vers des diagrammes d'API colorés par méthode HTTP ; AsyncAPI vers des diagrammes d'architecture événementielle ; Protocol Buffers vers des diagrammes de messages/services ; GraphQL SDL vers des diagrammes de types d'entités ; et GitHub Actions / GitLab CI vers des DAG de pipelines. Les diagrammes de séquence utilisent des lignes de vie et des barres d'activation calculées ; les modèles C4 sont multi-pages avec exploration par clic. La maintenance à long terme est assurée via un Diagram IR qui sépare le sens, la provenance et la géométrie, de sorte que les vues exécutive, système, déploiement, flux de données et sécurité peuvent être projetées à partir d'un seul modèle. `diagramctl sync` effectue des mises à jour incrémentales qui préservent les coordonnées, styles et annotations ajustés manuellement, les suppressions restant révisables. Les règles Diagram-as-Test en YAML/JSON (accès internet-vers-base de données, cycles, orphelins, frontières de confiance, contraste) sont appliquées par une GitHub Action officielle à chaque PR, aux côtés d'une action PR qui génère des diffs visuels. Des outils supplémentaires interrogent les composants, propriétaires et chemins ; repèrent les points d'articulation et le couplage élevé ; simulent la propagation des pannes ; et publient des parcours Story accessibles. La dérive est visualisée sous forme de diffs à code couleur entre deux diagrammes ou deux instantanés en direct, et un lecteur time-lapse rejoue la croissance de l'architecture d'une base de code à travers l'historique git. Le partage et le restylage sont des opérations en une commande : visionneuse HTML interactive avec pan/zoom/recherche, présentation PowerPoint, SVG animé de flux de données, export Mermaid ou Markdown, runbook cliquable et compression en résumé exécutif. Les préréglages de style (default, corporate, handdrawn, Okabe-Ito adapté aux daltoniens, dark) peuvent être appris à partir du propre fichier .drawio de l'utilisateur ; les variantes de libellés bilingues préservent la disposition ; les cartes thermiques pilotées par les données ombrent les nœuds depuis CSV/JSON ; et un mode tube-map restyle les pipelines en plans de métro à la London Underground. Un outil shapesearch.py résout les chaînes de style exactes parmi plus de 10 000 formes draw.io officielles (AWS, Azure, GCP, Cisco, Kubernetes, UML, BPMN, ER, électrique, P&ID), tandis que aiicons.py résout 321 logos de marques IA/LLM (OpenAI, Claude, Gemini, Mistral, Llama, Cohere, DeepSeek, Qwen, Ollama, LangChain, HuggingFace, etc.) plus 18 marques de stockage de données (Redis, Postgres, MongoDB, Qdrant, Milvus, Supabase) que draw.io lui-même ne possède pas. Tout est piloté par une seule CLI `diagramctl` (doctor/build/sync/views/query/test/review/whatif/story/publish/transform) avec des workflows principaux en stdlib uniquement et hors ligne ; un serveur MCP optionnel expose les mêmes commandes à Claude Desktop, Cursor, VS Code, Codex et tout hôte MCP. La disposition utilise Graphviz (optionnel) pour le placement, le routage orthogonal, la réduction transitive et les conteneurs de modules imbriqués ; un linter validate.py déterministe fournit des portes `--score` et `--strict` pour la CI. L'installation nécessite la CLI desktop draw.io (≥ 30 recommandé) et `npx skills add Agents365-ai/drawio-skill -g`, ou un clone manuel dans le répertoire skills de l'agent. Le projet fait partie de la famille diagram-skill d'Agents365-ai aux côtés de excalidraw-skill, mermaid-skill, plantuml-skill et tldraw-skill, chacun ciblant un style de diagramme différent.