From 5e3161bee2e0ad0e1419078d4ed0234bc8a477e2 Mon Sep 17 00:00:00 2001 From: John Collier Date: Thu, 21 May 2026 18:07:55 -0400 Subject: [PATCH] RHIDP-13413: Bootstrap basic AGENTS.md for RHDH AI workspaces Assisted-by: Claude Sonnet 4.6 Signed-off-by: John Collier --- workspaces/ai-integrations/AGENTS.md | 26 +++++++++++++++++++++ workspaces/ai-integrations/CLAUDE.md | 1 + workspaces/lightspeed/AGENTS.md | 28 +++++++++++++++++++++++ workspaces/lightspeed/CLAUDE.md | 1 + workspaces/mcp-integrations/AGENTS.md | 33 +++++++++++++++++++++++++++ workspaces/mcp-integrations/CLAUDE.md | 1 + 6 files changed, 90 insertions(+) create mode 100644 workspaces/ai-integrations/AGENTS.md create mode 100644 workspaces/ai-integrations/CLAUDE.md create mode 100644 workspaces/lightspeed/AGENTS.md create mode 100644 workspaces/lightspeed/CLAUDE.md create mode 100644 workspaces/mcp-integrations/AGENTS.md create mode 100644 workspaces/mcp-integrations/CLAUDE.md diff --git a/workspaces/ai-integrations/AGENTS.md b/workspaces/ai-integrations/AGENTS.md new file mode 100644 index 0000000000..9683af76ab --- /dev/null +++ b/workspaces/ai-integrations/AGENTS.md @@ -0,0 +1,26 @@ +# AI Integration Plugins for RHDH + +## Build & Test Commands + +- Install: `yarn install` +- Build: `yarn build:all` +- Test all: `yarn test:all` +- Test single file: `yarn test -- path/to/test.ts` +- Lint: `yarn lint:all` +- Lint single file: `yarn lint --fix path/to/file.ts` +- Type check: `yarn tsc` +- Dev environment: `yarn dev` + +## Key Conventions + +- Follows standard Backstage plugin structure: frontend plugin, backend plugin, and common shared library +- Backend module (e.g. `catalog-backend-module-model-catalog`) extend Backstage catalog plugin + +## Architecture (only non-obvious parts) + +- `packages/` in each plugin is strictly for the dev environment; do not add application code there +- `ai-experience-common` holds shared types and API definitions used by both frontend and backend + +## PR Conventions + +- All commits must have an `Assisted-by: ` footer below the sign offs diff --git a/workspaces/ai-integrations/CLAUDE.md b/workspaces/ai-integrations/CLAUDE.md new file mode 100644 index 0000000000..43c994c2d3 --- /dev/null +++ b/workspaces/ai-integrations/CLAUDE.md @@ -0,0 +1 @@ +@AGENTS.md diff --git a/workspaces/lightspeed/AGENTS.md b/workspaces/lightspeed/AGENTS.md new file mode 100644 index 0000000000..55abc9f42b --- /dev/null +++ b/workspaces/lightspeed/AGENTS.md @@ -0,0 +1,28 @@ +# Lightspeed Plugin for RHDH + +## Build & Test Commands + +- Install: `yarn install` +- Build: `yarn build:all` +- Test all: `yarn test:all` +- Test single file: `yarn test -- path/to/test.ts` +- E2E tests: `yarn test:e2e` +- Lint: `yarn lint` +- Lint single file: `yarn lint --fix path/to/file.ts` +- Type check: `yarn tsc` +- Dev (modern): `yarn start` + +## Key Conventions + +- UI uses PatternFly components for the chat interface, not MUI +- The frontend has two variants: modern (new Backstage plugin API) and legacy (old API) + +## Architecture (only non-obvious parts) + +- `packages/app` uses the new Backstage frontend plugin API; `packages/app-legacy` uses the old API for backwards compatibility +- Backend uses Knex for database access; migrations live in `plugins/lightspeed-backend/migrations/` +- `packages/` is strictly for the dev environment; do not add application code there + +## PR Conventions + +- All commits must have an `Assisted-by: ` footer below the sign offs diff --git a/workspaces/lightspeed/CLAUDE.md b/workspaces/lightspeed/CLAUDE.md new file mode 100644 index 0000000000..43c994c2d3 --- /dev/null +++ b/workspaces/lightspeed/CLAUDE.md @@ -0,0 +1 @@ +@AGENTS.md diff --git a/workspaces/mcp-integrations/AGENTS.md b/workspaces/mcp-integrations/AGENTS.md new file mode 100644 index 0000000000..737eca9dfa --- /dev/null +++ b/workspaces/mcp-integrations/AGENTS.md @@ -0,0 +1,33 @@ +# MCP Plugins for RHDH + +## Build & Test Commands + +- Install: `yarn install` +- Build: `yarn build:all` +- Test all: `yarn test:all` +- Test single file: `yarn test -- path/to/test.ts` +- Lint: `yarn lint` +- Lint single file: `yarn lint --fix path/to/file.ts` +- Type check: `yarn tsc` +- Dev environment (no frontend): `yarn start-backend` + +## Key Conventions + +- MCP tools are stored in separate files (one tool per file) +- MCP tools are organized based on the Backstage component/plugin they are associated with (e.g. src/scaffolder for scaffolder tools) +- MCP actions should inherit the authentication/credentials passed into the tool by the MCP framework, rather than acquiring new credentials +- MCP action descriptions should be kept short + +## Porting from Upstream + +- Use https://github.com/redhat-ai-dev/rhdh-ai-skills/blob/main/skills/port-mcp-tool/SKILL.md when porting changes from upstream (github.com/backstage) to downstream (here) + +## Architecture (only non-obvious parts) + +- When running the workspace dev environment (), the `MCP_TOKEN` environment variable `MCP_TOKENS` must be set to an 8+ character value +- packages/ is strictly a frontend for dev environment and autogenerated. Do not put changes under there unless it is to add new plugins to the dev environment + +## PR Conventions + +- All commits must have an `Assisted-by: ` footer below the sign offs +- When porting upstream MCP PRs, link to the original branch in the PR text diff --git a/workspaces/mcp-integrations/CLAUDE.md b/workspaces/mcp-integrations/CLAUDE.md new file mode 100644 index 0000000000..43c994c2d3 --- /dev/null +++ b/workspaces/mcp-integrations/CLAUDE.md @@ -0,0 +1 @@ +@AGENTS.md