Skip to content

Commit 0af68a5

Browse files
feat(boost): scaffold AI Catalog frontend plugin and dev app
Implements Story 1 (RHIDP-15165) — Plugin Scaffold and Dev App for the AI Catalog frontend feature. Plugin (plugins/boost/): - NFS-only frontend plugin with createFrontendPlugin, no legacy entry point - PageBlueprint at /ai-catalog for the browse page - EntityCardBlueprint stubs (summary, download, version) with isAiAsset filter - EntityContentBlueprint stub (usage tab) with isAiAsset filter - isAiAsset() condition filter for all 7 AI asset kind/type combinations - useAiAssets() hook wrapping catalogApiRef with client-side filtering - Placeholder AiCatalogPage component - i18n scaffold with TranslationBlueprint and translation resource - Translation module auto-discovery entry point for app.packages: all - Unit tests for isAiAsset and AiCatalogPage Dev app (packages/app/): - NFS app with createApp, RHDH theme, sign-in module, nav module - Sidebar with AI Catalog and Catalog entries, app-visualizer, user settings Dev backend (packages/backend/): - Minimal backend with auth (guest), catalog, techdocs, permission, search Fixtures and config: - Sample catalog-info.yaml for all AI asset types - app-config.yaml with app.packages: all and route redirect Also adds @red-hat-developer-hub/backstage-plugin-boost to pluginPackages in all boost-family backend/common/node packages. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent ed664a8 commit 0af68a5

50 files changed

Lines changed: 17423 additions & 9556 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
'@red-hat-developer-hub/backstage-plugin-boost': minor
3+
'@red-hat-developer-hub/backstage-plugin-boost-backend': patch
4+
'@red-hat-developer-hub/backstage-plugin-boost-common': patch
5+
'@red-hat-developer-hub/backstage-plugin-boost-node': patch
6+
'@red-hat-developer-hub/backstage-plugin-boost-backend-module-kagenti': patch
7+
'@red-hat-developer-hub/backstage-plugin-boost-backend-module-llamastack': patch
8+
'@red-hat-developer-hub/backstage-plugin-boost-responses-api-toolkit': patch
9+
'@red-hat-developer-hub/backstage-plugin-boost-toolscope': patch
10+
---
11+
12+
Scaffold AI Catalog frontend plugin, dev app, and dev backend. Adds NFS-only frontend plugin with PageBlueprint, EntityCardBlueprint/EntityContentBlueprint stubs, isAiAsset filter, useAiAssets hook, i18n scaffold, and sample catalog fixtures. Adds boost frontend package to pluginPackages in all boost-family packages.

workspaces/boost/README.md

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ workspaces/boost/
2828
│ ├── design.md # Architecture decisions
2929
│ ├── tasks.md # Implementation task breakdown
3030
│ └── specs/ # Behavioral specs (Given/When/Then scenarios)
31-
└── plugins/ # Plugin packages (not yet created)
31+
└── plugins/ # Plugin packages
3232
```
3333

3434
**`specifications/`** contains the product-level requirements — what Boost must do and why. The PRDs are organized by capability area: AI chat, agent discovery, platform architecture, security, and operations.
@@ -39,22 +39,33 @@ All specs are currently in **draft** status (pre-implementation). They will be m
3939

4040
## Plugins
4141

42-
| Plugin | Description |
43-
| ------------- | ----------- |
44-
| _coming soon_ | |
42+
| Plugin | Package | Description |
43+
| ------------------------------- | ------------------------------------------------------------------------- | -------------------------------------------------------------- |
44+
| boost | `@red-hat-developer-hub/backstage-plugin-boost` | Frontend plugin — AI Catalog browse page and entity extensions |
45+
| boost-backend | `@red-hat-developer-hub/backstage-plugin-boost-backend` | Backend plugin — chat, agent lifecycle, MCP, admin APIs |
46+
| boost-common | `@red-hat-developer-hub/backstage-plugin-boost-common` | Shared types and permissions |
47+
| boost-node | `@red-hat-developer-hub/backstage-plugin-boost-node` | Node library — service refs and extension points |
48+
| boost-backend-module-llamastack | `@red-hat-developer-hub/backstage-plugin-boost-backend-module-llamastack` | Llama Stack provider module |
49+
| boost-backend-module-kagenti | `@red-hat-developer-hub/backstage-plugin-boost-backend-module-kagenti` | Kagenti provider module |
50+
| llamastack-entity-provider | `@red-hat-developer-hub/backstage-plugin-llamastack-entity-provider` | Llama Stack catalog entity provider |
51+
| kagenti-entity-provider | `@red-hat-developer-hub/backstage-plugin-kagenti-entity-provider` | Kagenti catalog entity provider |
4552

4653
## Compatibility
4754

4855
This workspace is aligned with **Backstage 1.52.0** (see [`backstage.json`](backstage.json)).
4956

5057
## Development
5158

59+
The workspace includes a dev app (`packages/app`) and dev backend (`packages/backend`) for local development.
60+
5261
```bash
5362
# Install dependencies
5463
yarn install
5564

56-
# Start the dev server
65+
# Start the dev app + backend
5766
yarn start
67+
# Frontend: http://localhost:3000 (AI Catalog at /ai-catalog)
68+
# Backend: http://localhost:7007
5869

5970
# Run tests
6071
yarn test:all

workspaces/boost/app-config.yaml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
app:
2+
title: Boost Dev
3+
baseUrl: http://localhost:3000
4+
packages: all
5+
extensions:
6+
- app/routes:
7+
config:
8+
redirects:
9+
- from: /
10+
to: /ai-catalog
11+
12+
organization:
13+
name: Red Hat
14+
15+
backend:
16+
baseUrl: http://localhost:7007
17+
listen:
18+
port: 7007
19+
cors:
20+
origin: http://localhost:3000
21+
methods: [GET, HEAD, PATCH, POST, PUT, DELETE]
22+
credentials: true
23+
database:
24+
client: better-sqlite3
25+
connection: ':memory:'
26+
cache:
27+
store: memory
28+
29+
auth:
30+
environment: development
31+
providers:
32+
guest: {}
33+
34+
techdocs:
35+
builder: 'local'
36+
generator:
37+
runIn: 'local'
38+
publisher:
39+
type: 'local'
40+
41+
catalog:
42+
import:
43+
entityFilename: catalog-info.yaml
44+
pullRequestBranchName: backstage-integration
45+
rules:
46+
- allow:
47+
- Component
48+
- System
49+
- Group
50+
- Resource
51+
- Location
52+
- Template
53+
- API
54+
- AiResource
55+
locations:
56+
- type: file
57+
target: ../../fixtures/ai-catalog-fixtures.yaml
58+
rules:
59+
- allow: [AiResource, API, Component, Resource]
Lines changed: 183 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,183 @@
1+
---
2+
# AI Catalog sample fixtures — one entity per AI asset category.
3+
# Used by the dev app for local development and testing.
4+
5+
# ---------------------------------------------------------------------------
6+
# AiResource / skill
7+
# ---------------------------------------------------------------------------
8+
apiVersion: backstage.io/v1alpha1
9+
kind: AiResource
10+
metadata:
11+
name: code-review-skill
12+
title: Code Review Skill
13+
description: Automated code review that checks for common issues, security vulnerabilities, and style violations.
14+
tags:
15+
- code-review
16+
- security
17+
- quality
18+
annotations:
19+
rhdh.io/ai-asset-category: skill
20+
rhdh.io/ai-asset-version: '1.2.0'
21+
rhdh.io/ai-asset-source: github
22+
backstage.io/techdocs-ref: dir:.
23+
links:
24+
- url: https://github.com/example/code-review-skill
25+
title: Source Repository
26+
spec:
27+
type: skill
28+
lifecycle: production
29+
owner: team-ai-platform
30+
disciplines:
31+
- software-engineering
32+
categories:
33+
- code-quality
34+
agents:
35+
- component:default/developer-assistant
36+
37+
---
38+
# ---------------------------------------------------------------------------
39+
# AiResource / rule
40+
# ---------------------------------------------------------------------------
41+
apiVersion: backstage.io/v1alpha1
42+
kind: AiResource
43+
metadata:
44+
name: no-hardcoded-secrets-rule
45+
title: No Hardcoded Secrets
46+
description: Ensures that secrets, API keys, and credentials are never committed to source code repositories.
47+
tags:
48+
- security
49+
- compliance
50+
- secrets
51+
annotations:
52+
rhdh.io/ai-asset-category: rule
53+
rhdh.io/ai-asset-version: '2.0.1'
54+
rhdh.io/ai-asset-source: internal
55+
spec:
56+
type: rule
57+
lifecycle: production
58+
owner: team-security
59+
category: security
60+
rationale: Hardcoded secrets in source code can be extracted by attackers, leading to credential compromise and unauthorized access to systems.
61+
62+
---
63+
# ---------------------------------------------------------------------------
64+
# API / mcp-server
65+
# ---------------------------------------------------------------------------
66+
apiVersion: backstage.io/v1alpha1
67+
kind: API
68+
metadata:
69+
name: github-mcp-server
70+
title: GitHub MCP Server
71+
description: Model Context Protocol server providing GitHub repository context, pull request data, and issue tracking integration.
72+
tags:
73+
- github
74+
- mcp
75+
- context
76+
annotations:
77+
rhdh.io/ai-asset-category: mcp-server
78+
rhdh.io/ai-asset-version: '0.9.0'
79+
rhdh.io/ai-asset-source: registry
80+
spec:
81+
type: mcp-server
82+
lifecycle: experimental
83+
owner: team-integrations
84+
definition: |
85+
openapi: 3.0.0
86+
info:
87+
title: GitHub MCP Server
88+
version: 0.9.0
89+
remotes:
90+
- url: https://mcp.example.com/github
91+
transport: streamable-http
92+
93+
---
94+
# ---------------------------------------------------------------------------
95+
# Component / ai-agent
96+
# ---------------------------------------------------------------------------
97+
apiVersion: backstage.io/v1alpha1
98+
kind: Component
99+
metadata:
100+
name: developer-assistant
101+
title: Developer Assistant Agent
102+
description: An AI agent that helps developers with code generation, debugging, architecture decisions, and documentation.
103+
tags:
104+
- agent
105+
- developer
106+
- assistant
107+
annotations:
108+
rhdh.io/ai-asset-category: agent
109+
rhdh.io/ai-asset-version: '3.1.0'
110+
rhdh.io/ai-asset-source: internal
111+
spec:
112+
type: ai-agent
113+
lifecycle: production
114+
owner: team-ai-platform
115+
116+
---
117+
# ---------------------------------------------------------------------------
118+
# Resource / ai-model
119+
# ---------------------------------------------------------------------------
120+
apiVersion: backstage.io/v1alpha1
121+
kind: Resource
122+
metadata:
123+
name: granite-3-code
124+
title: Granite 3 Code
125+
description: IBM Granite 3 code model optimized for code generation, completion, and explanation tasks.
126+
tags:
127+
- model
128+
- code-generation
129+
- ibm
130+
annotations:
131+
rhdh.io/ai-asset-category: model
132+
rhdh.io/ai-asset-version: '3.0.0'
133+
rhdh.io/ai-asset-source: model-registry
134+
spec:
135+
type: ai-model
136+
lifecycle: production
137+
owner: team-ml-ops
138+
139+
---
140+
# ---------------------------------------------------------------------------
141+
# Resource / ai-tool
142+
# ---------------------------------------------------------------------------
143+
apiVersion: backstage.io/v1alpha1
144+
kind: Resource
145+
metadata:
146+
name: web-search-tool
147+
title: Web Search Tool
148+
description: A tool that performs web searches and returns structured results for AI agent consumption.
149+
tags:
150+
- tool
151+
- search
152+
- web
153+
annotations:
154+
rhdh.io/ai-asset-category: tool
155+
rhdh.io/ai-asset-version: '1.0.0'
156+
rhdh.io/ai-asset-source: kagenti
157+
spec:
158+
type: ai-tool
159+
lifecycle: experimental
160+
owner: team-integrations
161+
162+
---
163+
# ---------------------------------------------------------------------------
164+
# Resource / vector-store
165+
# ---------------------------------------------------------------------------
166+
apiVersion: backstage.io/v1alpha1
167+
kind: Resource
168+
metadata:
169+
name: docs-vector-store
170+
title: Documentation Vector Store
171+
description: Vector store containing embeddings of internal documentation, runbooks, and knowledge base articles.
172+
tags:
173+
- vector-store
174+
- documentation
175+
- rag
176+
annotations:
177+
rhdh.io/ai-asset-category: vector-store
178+
rhdh.io/ai-asset-version: '1.1.0'
179+
rhdh.io/ai-asset-source: internal
180+
spec:
181+
type: vector-store
182+
lifecycle: production
183+
owner: team-ai-platform

0 commit comments

Comments
 (0)