Skip to content

Commit 89ce6cd

Browse files
committed
feat: add composition graph view for cookbook patterns
Interactive node graph using @xyflow/react showing all patterns and their relationships (registryDependencies, composes_with, extends, conflicts_with). Nodes sized by complexity, colored by category, with elkjs auto-layout. Includes category/industry filters and hover highlighting.
1 parent 2a0829f commit 89ce6cd

7 files changed

Lines changed: 693 additions & 1 deletion

File tree

frontend/package-lock.json

Lines changed: 228 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

frontend/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,13 @@
3131
"@tanstack/react-query": "^5.90.21",
3232
"@tanstack/react-query-devtools": "^5.91.3",
3333
"@tanstack/react-table": "^8.21.3",
34+
"@xyflow/react": "^12.10.1",
3435
"class-variance-authority": "^0.7.1",
3536
"clsx": "^2.1.1",
3637
"cmdk": "^1.1.1",
3738
"codemirror": "^6.0.2",
3839
"date-fns": "^4.1.0",
40+
"elkjs": "^0.11.1",
3941
"lucide-react": "^0.575.0",
4042
"radix-ui": "^1.4.3",
4143
"react": "^19.2.0",

frontend/src/App.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ import { DashboardPage } from '@/features/dashboard'
3030
import { ManifestsPage } from '@/features/manifests'
3131
import { McpConfigPage } from '@/features/mcp-config'
3232
import { TransactionsPage } from '@/features/transactions'
33-
import { CookbookPage, CookbookDetailPage } from '@/features/cookbook'
33+
import { CookbookPage, CookbookDetailPage, CookbookGraphPage } from '@/features/cookbook'
3434
import { ThemePreviewPanel } from '@/components/dev/theme-preview-panel'
3535

3636
// Placeholder page components - replaced as each page task is implemented
@@ -258,6 +258,7 @@ function AppShellLayout() {
258258
<Route path="/manifests" element={<FeatureGuard feature="manifests">{guarded(<ManifestsPage />)}</FeatureGuard>} />
259259
<Route path="/mcp-config" element={<FeatureGuard feature="mcp-config">{guarded(<McpConfigPage />)}</FeatureGuard>} />
260260
<Route path="/cookbook" element={guarded(<CookbookPage />)} />
261+
<Route path="/cookbook/graph" element={guarded(<CookbookGraphPage />)} />
261262
<Route path="/cookbook/:name" element={guarded(<CookbookDetailPage />)} />
262263
<Route path="/audit-log" element={<FeatureGuard feature="audit">{guarded(<AuditLogPage />)}</FeatureGuard>} />
263264

0 commit comments

Comments
 (0)