Skip to main content

Plugins Overview

The DevEx Platform includes 13 custom plugins that extend Backstage functionality for GCP, GitHub, Vault, and development workflows.

Plugin Categories

Frontend Plugins

Package: @internal/plugin-homepage-links

The main dashboard plugin providing customizable sections:

SectionPurpose
OnboardingSectionGroup-specific onboarding links
TeamLinksSectionTeam documentation and resources
GitRepoSectionGitHub repositories (saved + auto-detected)
GcpProjectsSectionGCP projects with billing data
PullRequestsSectionOpen PRs with diff viewer

Key Components:

  • GithubTeamsBar - Team/user filter chips
  • CollapsibleSection - Drag-and-drop card wrapper
  • DiffViewer - PR diff display using react-diff-view
  • ReviewerSelector - Interactive reviewer selection

Claude Flow

Package: @internal/plugin-claude-flow

AI-assisted development environment integration:

ComponentPurpose
SessionListList AI development sessions
CreateSessionFormCreate new AI sessions
SessionDetailSession details and interaction

Gemini Agent

Package: @internal/plugin-gemini-agent

AI coding agent powered by Gemini CLI with A2A protocol:

ComponentPurpose
SessionListTable of agent sessions with status chips
LaunchFormSession creation with credential selection
AgentConsoleChat panel, activity bar, logs drawer

Features:

  • Shareable launch URLs with auto-launch
  • Interactive mode with configurable TTL
  • Real-time chat with message queueing
  • Credential injection (GitHub, Google, Vault, API keys)

Vault Secrets

Package: @internal/backstage-plugin-vault-secrets

Secret management interface:

ComponentPurpose
VaultSecretsPageMain secrets page
SecretsListDisplay stored secrets
CreateSecretEditorCreate new secrets
EditSecretEditorModify existing secrets

Terraform Cloud

Package: @internal/plugin-terraform-cloud

Terraform Cloud workspace visualization:

ComponentPurpose
TerraformCloudPageMain TFC page
TerraformCloudComponentWorkspace status

Mockup

Package: @internal/plugin-mockup

UI mockup and prototyping canvas:

ComponentPurpose
MockupCanvasDraggable component canvas
MockupPageMockup management
MockupPaletteComponent palette
PropertiesPanelComponent properties

Backend Plugins

Package: @internal/plugin-homepage-links-backend

Persists user homepage preferences:

  • Database: Knex migrations for link storage
  • Services: LinksStore, UrlNormalizer
  • API: CRUD operations for links and preferences

Homepage Repos Backend

Package: @internal/plugin-homepage-repos-backend

GitHub repository operations:

  • Integration: GitHub API via @octokit/rest
  • Features: Repository search, saved repos

Homepage GCP Projects Backend

Package: @internal/plugin-homepage-gcp-projects-backend

GCP project enumeration:

  • Integration: GCP Resource Manager, BigQuery
  • Features: Project listing, billing data

Claude Flow Backend

Package: @internal/plugin-claude-flow-backend

AI session management:

ServicePurpose
SessionServiceSession lifecycle
DockerServiceContainer management
VaultSecretsServiceSecret injection
TemplateServiceSession templates
DatabaseServicePersistence
AuthorizationServiceAccess control

Features:

  • Docker container management
  • Node PTY integration
  • Git operations
  • Database migrations

Vault Secrets Backend

Package: @internal/backstage-plugin-vault-secrets-backend

HashiCorp Vault integration:

  • Client: Vault API client
  • Auth: Google Auth Library support
  • Operations: Secret read/write/list

Terraform Cloud Backend

Package: @internal/plugin-terraform-cloud-backend

Terraform Cloud operations:

  • Features: Workspace management, run status
  • Services: TFC API integration

Terraform State Backend

Package: @internal/plugin-terraform-state-backend

Terraform state file management (largest plugin):

DirectorySizePurpose
/services244KBState operations
/providers72KBMultiple cloud providers
/models52KBData models
/__tests__60KBTest fixtures

Features:

  • GCP Cloud Storage integration
  • Multi-tenant architecture
  • Comprehensive validation

Gemini Agent Backend

Package: @internal/plugin-gemini-agent-backend

AI coding agent container orchestration:

ServicePurpose
GeminiAgentServiceCloud Run backend (production)
LocalContainerServicePodman backend (local dev)
QueueProcessorAsync message delivery
ChatLogStoreSession + message persistence
CredentialServiceCredential collection

Features:

  • Dual backend: Cloud Run (prod) and Podman (local)
  • Background message queue with retry logic
  • A2A JSON-RPC protocol integration
  • Credential injection from OAuth, Vault, and config

Mockup Backend

Package: @internal/plugin-mockup-backend

Mockup persistence:

  • Database: Knex migrations
  • Services: Mockup storage and retrieval

Plugin Development

Creating a New Plugin

# Frontend plugin
cd backstage
yarn new --select plugin

# Backend plugin
yarn new --select backend-plugin

Plugin Structure

plugins/my-plugin/
├── src/
│ ├── plugin.ts # Plugin definition
│ ├── routes.ts # Route references
│ ├── api.ts # API client
│ └── components/ # UI components
├── package.json
└── README.md

Backend Plugin Structure

plugins/my-plugin-backend/
├── src/
│ ├── plugin.ts # Plugin definition
│ ├── router.ts # Express routes
│ ├── services/ # Business logic
│ └── models.ts # Data models
├── package.json
└── README.md

Frontend Plugins

Backend Plugins

Other