Об этом проекте

Diagram & Inventory Rule Engine — это переиспользуемый, облачно-агностичный проект Kiro, который кодифицирует то, как AI-агенты детерминированно создают архитектурные диаграммы и инвентарные документы для пяти профилей провайдеров: aws, azure, gcp, oci и вендор-нейтрального generic-фолбэка. Его ключевая ценность — детерминизм: при одинаковых входных данных любой соответствующий требованиям агент создаёт сопоставимые диаграммы и инвентарные документы, проходящие один и тот же набор правил линтинга. Движок отделяет провайдер-нейтральное ядро (Linter, Icon Resolver, Inventory Collector, Normalizer, Delta Engine) от профилей отдельных провайдеров. Терминология, иконки, брендовые цвета, конвенции контейнеров и read-only глаголы инвентаризации берутся из выбранного профиля, а не из жёстко закодированной логики ядра. Добавление нового провайдера выполняется данными (строка профиля, маппинг иконок, глаголы и эталонный пример), а не изменением кода ядра. Начиная с версии 1.3.0 движок поддерживает два масштаба диаграмм через класс диаграммы: flow summary (нарративное представление ≤12 узлов о том, как запрос проходит end-to-end) и landscape as-built (полное инвентарное представление на одном холсте с ослабленным лимитом узлов, но более строгими правилами геометрически принудительной компоновки). Большая система поставляется как санкционированная пара: один flow summary, перекрёстно связанный с одним landscape as-built той же системы. Иконки стандартизированы на официальных вендорских наборах и разрешаются через закоммиченный индекс (mappings/icon-index.json), собираемый во время установки. Содержимое включает: - .kiro/steering/ — всегда включённые стандарты, управляющие каждым ходом агента: diagram-standards.md (порядок дорожек, лимит 12 узлов, квотирование узлов, метки рёбер, ячейка заголовка, легенда, матрица PlantUML/Mermaid и тройка артефактов .drawio / .drawio.png / .diagram.md), inventory-standards.md (read-only глаголы, правило нулевой мутации, структура папки snapshot, поля манифеста, безопасность секретов), provider-profiles.md (таблица нормализации терминологии из девяти концептов, конвенции контейнеров, брендовая палитра, списки глаголов), kb-frontmatter.md (обязательные ключи frontmatter, границы длины документа и разделов), diagram-lint.md (авторитетный набор правил линтинга с уровнями CRITICAL / ERROR / WARNING) и asset-packs.md (источники официальных наборов иконок провайдеров, компоновки и порядок фолбэка). - .kiro/hooks/ — автоматизация lint-on-save и validate-on-task - .kiro/agents/ — три специально созданных кастомных агента (diagram-author, inventory-collector, rule-engine-reviewer) с областями инструментов и разрешений по принципу наименьших привилегий - .kiro/skills/rule-engine-artifacts/ — навык генерации артефактов по требованию - powers/rule-engine-artifacts/ — навык плюс AWS-docs MCP, упакованные как Kiro power - .kiro/specs/ — спецификация движка плюс переиспользуемый шаблон спецификации - mappings/ — файлы маппинга иконок/фигур по провайдерам, таблица ролей диаграмм и закоммиченный индекс иконок - schemas/ — JSON Schema для Normalized Resource - examples/ — эталонные примеры по провайдерам: диаграмма application-flow плюс перекрёстно связанная пара HA multi-region flow summary + landscape as-built - scripts/ — генераторы диаграмм, сборщик наборов иконок, загрузчик ассетов, экспортёр растровых изображений - src/rule_engine/ — провайдер-нейтральные компоненты ядра и точки входа CLI Каждый пример поставляется как полная тройка артефактов (исходник .drawio, экспортированный .drawio.png и сопутствующий .diagram.md) и следует одному стандарту компоновки: единообразные иконки 78×78, фиксированный порядок дорожек, пунктирные внешние/внутренние границы в брендовом цвете профиля, нумерованные маркеры потока с легендой Flow справа, стандартный блок Legend и геометрически принудительная маршрутизация. Каждое облако поставляет три диаграммы: представление application-flow (01) и санкционированную пару HA multi-region — flow summary (≤12 узлов), перекрёстно связанный с landscape as-built (~34 узла) той же active-passive системы. Application-flow и summary экспортируются при ≤1600px; landscape экспортируется широко (≤3600px). Иконки — официальные глифы провайдера, разрешаемые через mappings/icon-index.json. Механизмы иконок по облакам: встроенные стенсилы AWS mxgraph.aws4.*; image-фигуры Azure azure2 по файловому пути; официальные иконки GCP 2025 по файловому пути (сначала продукт, фолбэк на категорию); встроенные стенсилы OCI из официального набора draw.io; базовые фигуры generic в оттенках серого. Быстрый старт: установка через pip install -e ., что предоставляет консольные скрипты: rule-engine-lint (запуск набора правил линтинга по диаграммам и Markdown-документам), rule-engine-validate-schema (валидация нормализованных ресурсов по схеме), rule-engine-build-icon-sets (загрузка официальных наборов иконок и сборка закоммиченного icon-index.json), rule-engine-verify-icon (разрешение каждой ссылки на иконку в .drawio по авторитетному источнику), rule-engine-check-rasters (контроль бюджета экспортированных PNG с учётом класса), rule-engine-check-snapshot (контроль структуры папки inventory Snapshot), rule-engine-index-assets / rule-engine-check-asset-paths (индексация ассетов / защита путей). Примеры вызовов линтинга: rule-engine-lint --all --fail-on error,critical и rule-engine-lint --file examples/aws/01-aws-agent-platform.drawio --fail-on error,critical. Валидация примеров нормализованных ресурсов: rule-engine-validate-schema --schema schemas/inventory.schema.json --targets 'examples/**/*.json'. Шесть steering-документов всегда включены, поэтому как только проект открыт в рабочем пространстве Kiro, каждый ход агента автоматически наследует правила диаграмм, инвентаризации, профилей, frontmatter, линтинга и наборов ассетов. Помимо всегда включённого steering, рабочее пространство поставляет специально созданные конфигурации Kiro: три кастомных агента (diagram-author для создания/перегенерации диаграмм и запуска gate; inventory-collector для строго read-only сбора с контрактом нулевой мутации, закодированным как разрешения; rule-engine-reviewer для read-only проверочного gate), навык по требованию с рабочим процессом генерации артефактов и точными командами gate, а также распространяемый Kiro power, упаковывающий навык плюс read-only AWS-docs MCP-сервер. Вклад приветствуется. Проект включает Contributing Guide, Code of Conduct (Contributor Covenant), Security Policy и лицензию MIT. Отчёты об ошибках и запросы функций можно открывать через GitHub issues, а изменения отправлять как pull requests с использованием шаблона PR. Ссылки включают Installation Guide, Kiro University compliance mapping, Add a New Provider Runbook, Diagram Design Notes, документацию Architecture и Changelog.