Перейти к содержимому
FRGEPLAN

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.png

JSON для пользовательского интерфейса:

Окно терминала
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 → неразрешённые зависимости (планирование)