Skip to main content

Plugin Marketplace

The PagoPA DX Plugin Marketplace is a curated collection of Agent Plugins tailored for the PagoPA development ecosystem. Each plugin bundles domain-specific skills and MCP server configurations, with Copilot-specific agents, commands, and hooks where needed.

The marketplace manifest lists all available plugins, including those not enabled by default. Browse their sources in the plugins/ directory on GitHub.

All DX plugins follow the Agent Plugins 1.0 layout:

  • plugin.json at the plugin root contains the portable manifest.
  • skills/ contains portable Agent Skills.
  • mcp.json contains portable MCP server configurations.
  • com.github.copilot/ contains Copilot-specific agents, commands, and hooks.

Other compatible agent clients can ignore the com.github.copilot/ directory while still loading the portable skills and MCP servers.

To avoid asking every developer to manually add the marketplace, commit a .github/copilot/settings.json file to your repository with the following content. This matches the default configuration generated by dx init:

.github/copilot/settings.json
{
"extraKnownMarketplaces": {
"pagopa-dx": {
"source": {
"source": "github",
"repo": "pagopa/dx"
}
}
},
"enabledPlugins": {
"terraform@pagopa-dx": true,
"azure@pagopa-dx": true,
"project-management@pagopa-dx": true,
"standards@pagopa-dx": true,
"tests@pagopa-dx": true,
"typescript@pagopa-dx": true
}
}
This configuration format is specific to GitHub Copilot

If you use a different agent, follow its own plugin/marketplace documentation.

When a developer opens the project in VS Code with Copilot enabled, the marketplace is automatically registered. The enabled plugins appear with a recommendation badge in the Extensions view.

The DX repository's own .github/copilot/settings.json is for local plugin development rather than a generated repository. It uses source: "directory" and path: "./" instead of GitHub, enables aiepdf@pagopa-dx instead of standards@pagopa-dx, and includes a local announcement. These differences do not change the dx init defaults above.

DX Knowledge Base Hook (Coding Agent)​

Some plugin skills (e.g., terraform-best-practices) need local access to the full DX repository for documentation and module source code. When using GitHub Copilot CLI the plugin's sessionStart hook handles this automatically.

For the Copilot coding agent (cloud) you need to set up a local clone of the DX repository. By default, clone it into $HOME/.dx; if you need to use a different location, set DX_KB_PATH to point to that clone.

Default Plugins​

dx init enables the following plugins by default. Other marketplace plugins can be enabled separately.

terraform@pagopa-dx​

Brings Terraform code generation and module management capabilities aligned with PagoPA DX standards.

Skills

NameDescription
terraform-best-practicesGenerates Terraform code following PagoPA DX best practices. Enforces module-first usage from the pagopa-dx registry, discovers module capabilities dynamically, and validates all generated code before presenting it to the user.

Commands

NameDescription
generate-terraform-module-diagramGenerates a Mermaid flowchart diagram for a Terraform module, analyzing its resources and dependencies. Creates a diagram.mmd file and adds a reference to the SVG in the module's README.md.
migrate-terraform-moduleGuides migration of Terraform modules from one version to another. Analyzes changelogs, identifies breaking changes, and applies the necessary configuration updates.

azure@pagopa-dx​

Provides skills and guidance for Azure-specific infrastructure patterns.

Skills

NameDescription
azure-keyvault-secretCreates secure azurerm_key_vault_secret resources using the write-only value_wo pattern, keeping secret values out of Terraform state. Requires Terraform ≥ 1.11.0 and azurerm provider ≥ 4.23.

project-management@pagopa-dx​

Streamlines project management workflows through Jira integration and GitHub collaboration conventions.

Skills

NameDescription
create-jira-issueQuickly captures a bug, feature, or improvement as a Jira issue without interrupting the development flow.
github-conventionsProvides guidelines for pull request titles/descriptions, commit messages, and branch naming to ensure consistency and readability in the repository history.
jira-cliA concise reference for using the Atlassian CLI (acli) to search, edit, and create Jira work items across projects or boards.

Agents

NameDescription
backlog-refinementInteractively refines and updates Jira backlog items, collecting user input before applying changes. Analyzes the codebase to provide context-aware descriptions and metadata.

standards@pagopa-dx​

Provides guidance to keep technology choices aligned with PagoPA DX standards.

Skills

NameDescription
technology-radarAligns chosen technologies with the PagoPA DX Technology Radar. Checks the radar status of cloud services, languages, frameworks, and other technologies before recommending them in code or documentation, and warns on deprecated or discouraged options.

tests@pagopa-dx​

Adds backend testing workflows for Node.js and TypeScript services at real runtime boundaries.

Skills

NameDescription
generate-backend-testsBuilds or extends backend tests for Node.js/TypeScript services using real runtimes, Testcontainers dependencies, optional .env.test cloud services, and integration and/or record-replay workflows. Useful for freeze-before-refactor coverage, cassette record/verify flows, Azure Functions harnesses, replacing mock-heavy tests, and deciding between integration and record-replay approaches.

typescript@pagopa-dx​

Expert assistance for TypeScript development within the PagoPA DX ecosystem.

Agents

NameDescription
typescript-mcp-expertExpert assistant for developing Model Context Protocol (MCP) servers in TypeScript.