forgeplan graph
Выводит граф зависимостей всех связанных артефактов в формате Mermaid. В отличие от
tree, который показывает только иерархию родитель/потомок, graph
отображает каждую типизированную связь (informs, supersedes, blocks, relates_to
и т.д.) как ребро - полный DAG решений.
Когда использовать
Заголовок раздела «Когда использовать»- Вставить в задачу/PR на GitHub для визуализации влияния предложения
- Встроить в RFC или Epic для демонстрации области охвата
- Передать в
mmdc(mermaid-cli) для рендеринга PNG/SVG - Обнаружить неожиданные циклы или кластеры сирот (артефактов без связей)
Когда не использовать
Заголовок раздела «Когда не использовать»- Вам нужна только декомпозиция родитель/потомок → используйте
forgeplan tree - Вам нужен порядок выполнения → используйте
forgeplan order - Вам нужен плоский список → используйте
forgeplan list
Использование
Заголовок раздела «Использование»forgeplan graph [OPTIONS] --json Вывод в формате JSON для машинной обработки -h, --help Вывести справку -V, --version Вывести версиюПримеры
Заголовок раздела «Примеры»Вывести исходный код Mermaid:
forgeplan graphПеренаправить в файл и вставить в GitHub:
forgeplan graph > deps.mmdРендеринг в PNG с помощью mermaid-cli:
forgeplan graph > deps.mmd && mmdc -i deps.mmd -o deps.pngJSON для пользовательского интерфейса:
forgeplan graph --json | jq '.edges | length'Интерпретация вывода
Заголовок раздела «Интерпретация вывода»Стандартный вывод - это синтаксис Mermaid graph TD:
graph TD EPIC_003[EPIC-003<br/>Search, Discovery] PRD_039[PRD-039<br/>BM25 production] RFC_004[RFC-004<br/>Layered search] EVID_018[EVID-018<br/>Benchmark] EPIC_003 --> PRD_039 PRD_039 --> RFC_004 EVID_018 -.informs.-> PRD_039Соглашения:
| Синтаксис | Значение |
|---|---|
A --> B | Родитель/потомок (структурная связь) |
A -.informs.-> B | Типизированное ребро из фронтматтера ссылки |
A -.supersedes.-> B | Ребро жизненного цикла, новое замещает старое |
| Метка узла | <ID><br/><title> |
Активные артефакты получают сплошную обводку; замещённые/устаревшие - пунктирную (если ваш рендерер поддерживает определения классов, выводимые в начале графа).
С опцией --json оболочка имеет вид { nodes: [...], edges: [...] } - готово для
Cytoscape, D3 или любой другой библиотеки графов.
Пример отрисованной диаграммы
Заголовок раздела «Пример отрисованной диаграммы»Как это работает
Заголовок раздела «Как это работает»graph представляет собой полное реляционное представление. Для разных вопросов:
graph → все рёбра (реляционная картина)tree → только родитель/потомок (иерархия)order → топологический обход (выполнение)blocked → неразрешённые зависимости (планирование)См. также
Заголовок раздела «См. также»forgeplan tree- иерархическое представлениеforgeplan order- топологический порядокforgeplan blocked- блокирующие зависимостиforgeplan link- создание типизированных рёбер