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.jsonat the plugin root contains the portable manifest.skills/contains portable Agent Skills.mcp.jsoncontains 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.
Team Setup (Recommended)
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:
{
"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
}
}
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
| Name | Description |
|---|---|
terraform-best-practices | Generates 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
| Name | Description |
|---|---|
generate-terraform-module-diagram | Generates 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-module | Guides 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
| Name | Description |
|---|---|
azure-keyvault-secret | Creates 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
| Name | Description |
|---|---|
create-jira-issue | Quickly captures a bug, feature, or improvement as a Jira issue without interrupting the development flow. |
github-conventions | Provides guidelines for pull request titles/descriptions, commit messages, and branch naming to ensure consistency and readability in the repository history. |
jira-cli | A concise reference for using the Atlassian CLI (acli) to search, edit, and create Jira work items across projects or boards. |
Agents
| Name | Description |
|---|---|
backlog-refinement | Interactively 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
| Name | Description |
|---|---|
technology-radar | Aligns 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
| Name | Description |
|---|---|
generate-backend-tests | Builds 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
| Name | Description |
|---|---|
typescript-mcp-expert | Expert assistant for developing Model Context Protocol (MCP) servers in TypeScript. |