diff --git a/.github/plugin/marketplace.json b/.github/plugin/marketplace.json index 89b12fcb..99413598 100644 --- a/.github/plugin/marketplace.json +++ b/.github/plugin/marketplace.json @@ -178,6 +178,12 @@ "description": "Comprehensive resources for building Model Context Protocol servers using the official PHP SDK with attribute-based discovery, including best practices, project generation, and expert assistance", "version": "1.0.0" }, + { + "name": "polyglot-test-agent", + "source": "./plugins/polyglot-test-agent", + "description": "Multi-agent pipeline for generating comprehensive unit tests across any programming language. Orchestrates research, planning, and implementation phases using specialized agents to produce tests that compile, pass, and follow project conventions.", + "version": "1.0.0" + }, { "name": "power-apps-code-apps", "source": "./plugins/power-apps-code-apps", diff --git a/docs/README.plugins.md b/docs/README.plugins.md index 0b558723..d39032b3 100644 --- a/docs/README.plugins.md +++ b/docs/README.plugins.md @@ -44,6 +44,7 @@ Curated plugins of related prompts, agents, and skills organized around specific | [ospo-sponsorship](../plugins/ospo-sponsorship/README.md) | Tools and resources for Open Source Program Offices (OSPOs) to identify, evaluate, and manage sponsorship of open source dependencies through GitHub Sponsors, Open Collective, and other funding platforms. | 0 items | | | [pcf-development](../plugins/pcf-development/README.md) | Complete toolkit for developing custom code components using Power Apps Component Framework for model-driven and canvas apps | 17 items | power-apps, pcf, component-framework, typescript, power-platform | | [php-mcp-development](../plugins/php-mcp-development/README.md) | Comprehensive resources for building Model Context Protocol servers using the official PHP SDK with attribute-based discovery, including best practices, project generation, and expert assistance | 3 items | php, mcp, model-context-protocol, server-development, sdk, attributes, composer | +| [polyglot-test-agent](../plugins/polyglot-test-agent/README.md) | Multi-agent pipeline for generating comprehensive unit tests across any programming language. Orchestrates research, planning, and implementation phases using specialized agents to produce tests that compile, pass, and follow project conventions. | 10 items | testing, unit-tests, polyglot, test-generation, multi-agent, tdd, csharp, typescript, python, go | | [power-apps-code-apps](../plugins/power-apps-code-apps/README.md) | Complete toolkit for Power Apps Code Apps development including project scaffolding, development standards, and expert guidance for building code-first applications with Power Platform integration. | 3 items | power-apps, power-platform, typescript, react, code-apps, dataverse, connectors | | [power-bi-development](../plugins/power-bi-development/README.md) | Comprehensive Power BI development resources including data modeling, DAX optimization, performance tuning, visualization design, security best practices, and DevOps/ALM guidance for building enterprise-grade Power BI solutions. | 14 items | power-bi, dax, data-modeling, performance, visualization, security, devops, business-intelligence | | [power-platform-mcp-connector-development](../plugins/power-platform-mcp-connector-development/README.md) | Complete toolkit for developing Power Platform custom connectors with Model Context Protocol integration for Microsoft Copilot Studio | 4 items | power-platform, mcp, copilot-studio, custom-connector, json-rpc | diff --git a/plugins/polyglot-test-agent/.github/plugin/plugin.json b/plugins/polyglot-test-agent/.github/plugin/plugin.json new file mode 100644 index 00000000..30656b80 --- /dev/null +++ b/plugins/polyglot-test-agent/.github/plugin/plugin.json @@ -0,0 +1,68 @@ +{ + "name": "polyglot-test-agent", + "description": "Multi-agent pipeline for generating comprehensive unit tests across any programming language. Orchestrates research, planning, and implementation phases using specialized agents to produce tests that compile, pass, and follow project conventions.", + "version": "1.0.0", + "author": { + "name": "Awesome Copilot Community" + }, + "repository": "https://github.com/github/awesome-copilot", + "license": "MIT", + "tags": [ + "testing", + "unit-tests", + "polyglot", + "test-generation", + "multi-agent", + "tdd", + "csharp", + "typescript", + "python", + "go" + ], + "display": { + "ordering": "alpha", + "show_badge": true + }, + "items": [ + { + "path": "agents/polyglot-test-generator.agent.md", + "kind": "agent" + }, + { + "path": "agents/polyglot-test-researcher.agent.md", + "kind": "agent" + }, + { + "path": "agents/polyglot-test-planner.agent.md", + "kind": "agent" + }, + { + "path": "agents/polyglot-test-implementer.agent.md", + "kind": "agent" + }, + { + "path": "agents/polyglot-test-builder.agent.md", + "kind": "agent" + }, + { + "path": "agents/polyglot-test-tester.agent.md", + "kind": "agent" + }, + { + "path": "agents/polyglot-test-fixer.agent.md", + "kind": "agent" + }, + { + "path": "agents/polyglot-test-linter.agent.md", + "kind": "agent" + }, + { + "path": "skills/polyglot-test-agent/unit-test-generation.prompt.md", + "kind": "prompt" + }, + { + "path": "skills/polyglot-test-agent/SKILL.md", + "kind": "skill" + } + ] +} diff --git a/plugins/polyglot-test-agent/README.md b/plugins/polyglot-test-agent/README.md new file mode 100644 index 00000000..28cc95b2 --- /dev/null +++ b/plugins/polyglot-test-agent/README.md @@ -0,0 +1,62 @@ +# Polyglot Test Agent Plugin + +Multi-agent pipeline for generating comprehensive unit tests across any programming language. Orchestrates research, planning, and implementation phases using specialized agents to produce tests that compile, pass, and follow project conventions. + +## Installation + +```bash +# Using Copilot CLI +copilot plugin install polyglot-test-agent@awesome-copilot +``` + +## What's Included + +### Agents + +| Agent | Description | +|-------|-------------| +| `polyglot-test-generator` | Orchestrates comprehensive test generation using Research-Plan-Implement pipeline. Use when asked to generate tests, write unit tests, improve test coverage, or add tests. | +| `polyglot-test-researcher` | Analyzes codebases to understand structure, testing patterns, and testability. Identifies source files, existing tests, build commands, and testing framework. | +| `polyglot-test-planner` | Creates structured test implementation plans from research findings. Organizes tests into phases by priority and complexity. | +| `polyglot-test-implementer` | Implements a single phase from the test plan. Writes test files and verifies they compile and pass. | +| `polyglot-test-builder` | Runs build/compile commands for any language and reports results. | +| `polyglot-test-tester` | Runs test commands for any language and reports results. | +| `polyglot-test-fixer` | Fixes compilation errors in source or test files. | +| `polyglot-test-linter` | Runs code formatting/linting for any language. | + +### Commands (Slash Commands) + +| Command | Description | +|---------|-------------| +| `/polyglot-test-agent:unit-test-generation` | Best practices and guidelines for generating comprehensive, parameterized unit tests with 80% code coverage across any programming language | + +### Skills + +| Skill | Description | +|-------|-------------| +| `polyglot-test-agent` | Generates comprehensive, workable unit tests for any programming language using a multi-agent pipeline. Supports C#, TypeScript, JavaScript, Python, Go, Rust, Java, and more. | + +## Supported Languages + +- C# / .NET (MSTest, xUnit, NUnit) +- TypeScript / JavaScript (Jest, Vitest, Mocha) +- Python (pytest, unittest) +- Go (testing) +- Rust (cargo test) +- Java (JUnit, Maven, Gradle) + +## How It Works + +The plugin coordinates specialized agents in a **Research → Plan → Implement** pipeline: + +1. **Research** — Analyzes the codebase to detect language, framework, testing patterns, and build commands +2. **Plan** — Creates a phased implementation plan organized by priority and complexity +3. **Implement** — Writes test files phase by phase, verifying compilation and test passage at each step + +## Source + +This plugin is part of [Awesome Copilot](https://github.com/github/awesome-copilot), a community-driven collection of GitHub Copilot extensions. + +## License + +MIT diff --git a/plugins/polyglot-test-agent/agents/polyglot-test-builder.md b/plugins/polyglot-test-agent/agents/polyglot-test-builder.md new file mode 100644 index 00000000..3f39f494 --- /dev/null +++ b/plugins/polyglot-test-agent/agents/polyglot-test-builder.md @@ -0,0 +1 @@ +../../../agents/polyglot-test-builder.agent.md \ No newline at end of file diff --git a/plugins/polyglot-test-agent/agents/polyglot-test-fixer.md b/plugins/polyglot-test-agent/agents/polyglot-test-fixer.md new file mode 100644 index 00000000..11bda0d0 --- /dev/null +++ b/plugins/polyglot-test-agent/agents/polyglot-test-fixer.md @@ -0,0 +1 @@ +../../../agents/polyglot-test-fixer.agent.md \ No newline at end of file diff --git a/plugins/polyglot-test-agent/agents/polyglot-test-generator.md b/plugins/polyglot-test-agent/agents/polyglot-test-generator.md new file mode 100644 index 00000000..09151b30 --- /dev/null +++ b/plugins/polyglot-test-agent/agents/polyglot-test-generator.md @@ -0,0 +1 @@ +../../../agents/polyglot-test-generator.agent.md \ No newline at end of file diff --git a/plugins/polyglot-test-agent/agents/polyglot-test-implementer.md b/plugins/polyglot-test-agent/agents/polyglot-test-implementer.md new file mode 100644 index 00000000..07fbbce1 --- /dev/null +++ b/plugins/polyglot-test-agent/agents/polyglot-test-implementer.md @@ -0,0 +1 @@ +../../../agents/polyglot-test-implementer.agent.md \ No newline at end of file diff --git a/plugins/polyglot-test-agent/agents/polyglot-test-linter.md b/plugins/polyglot-test-agent/agents/polyglot-test-linter.md new file mode 100644 index 00000000..c2eec9f4 --- /dev/null +++ b/plugins/polyglot-test-agent/agents/polyglot-test-linter.md @@ -0,0 +1 @@ +../../../agents/polyglot-test-linter.agent.md \ No newline at end of file diff --git a/plugins/polyglot-test-agent/agents/polyglot-test-planner.md b/plugins/polyglot-test-agent/agents/polyglot-test-planner.md new file mode 100644 index 00000000..572cb1a8 --- /dev/null +++ b/plugins/polyglot-test-agent/agents/polyglot-test-planner.md @@ -0,0 +1 @@ +../../../agents/polyglot-test-planner.agent.md \ No newline at end of file diff --git a/plugins/polyglot-test-agent/agents/polyglot-test-researcher.md b/plugins/polyglot-test-agent/agents/polyglot-test-researcher.md new file mode 100644 index 00000000..36c018fb --- /dev/null +++ b/plugins/polyglot-test-agent/agents/polyglot-test-researcher.md @@ -0,0 +1 @@ +../../../agents/polyglot-test-researcher.agent.md \ No newline at end of file diff --git a/plugins/polyglot-test-agent/agents/polyglot-test-tester.md b/plugins/polyglot-test-agent/agents/polyglot-test-tester.md new file mode 100644 index 00000000..aa2c72f6 --- /dev/null +++ b/plugins/polyglot-test-agent/agents/polyglot-test-tester.md @@ -0,0 +1 @@ +../../../agents/polyglot-test-tester.agent.md \ No newline at end of file diff --git a/plugins/polyglot-test-agent/commands/unit-test-generation.md b/plugins/polyglot-test-agent/commands/unit-test-generation.md new file mode 100644 index 00000000..4ab97f22 --- /dev/null +++ b/plugins/polyglot-test-agent/commands/unit-test-generation.md @@ -0,0 +1 @@ +../../../skills/polyglot-test-agent/unit-test-generation.prompt.md \ No newline at end of file diff --git a/plugins/polyglot-test-agent/skills/polyglot-test-agent b/plugins/polyglot-test-agent/skills/polyglot-test-agent new file mode 100644 index 00000000..c03dc1f6 --- /dev/null +++ b/plugins/polyglot-test-agent/skills/polyglot-test-agent @@ -0,0 +1 @@ +../../../skills/polyglot-test-agent \ No newline at end of file