From 4aba30d57f5db3027a8eaf31ee7bde2d2f3c7d32 Mon Sep 17 00:00:00 2001 From: Igor Wnek Date: Thu, 12 Mar 2026 14:46:31 +0100 Subject: [PATCH 1/5] feat: add marketplace and MCP configuration files for Copilot plugin --- .github/plugin/marketplace.json | 25 ++++++++++++++++++++++ .mcp.json | 32 +++++++++++++++++++++++++++ plugin.json | 38 +++++++++++++++++++++++++++++++++ 3 files changed, 95 insertions(+) create mode 100644 .github/plugin/marketplace.json create mode 100644 .mcp.json create mode 100644 plugin.json diff --git a/.github/plugin/marketplace.json b/.github/plugin/marketplace.json new file mode 100644 index 00000000..69baaa41 --- /dev/null +++ b/.github/plugin/marketplace.json @@ -0,0 +1,25 @@ +{ + "name": "tsh-copilot-collections", + "metadata": { + "description": "Opinionated GitHub Copilot setup by The Software House.", + "version": "1.0.0" + }, + "owner": { + "name": "The Software House", + "email": "copilot@tsh.io" + }, + "plugins": [ + { + "name": "tsh-copilot-collections", + "source": ".", + "description": "Full product development lifecycle workflows for GitHub Copilot.", + "version": "1.0.0", + "homepage": "https://github.com/tsh/copilot-collections", + "repository": "https://github.com/tsh/copilot-collections", + "license": "MIT", + "keywords": ["copilot", "agents", "skills", "prompts", "mcp", "product-lifecycle", "product-ideation", "development", "quality-assurance", "jira", "figma", "playwright", "copilot-customization"], + "category": "developer-tools", + "tags": ["product-ideation", "development", "quality", "agents", "skills", "prompts", "mcp", "jira", "figma", "playwright"] + } + ] +} diff --git a/.mcp.json b/.mcp.json new file mode 100644 index 00000000..e235ecd8 --- /dev/null +++ b/.mcp.json @@ -0,0 +1,32 @@ +{ + "servers": { + "playwright": { + "command": "npx", + "args": ["@playwright/mcp@latest"], + "type": "stdio" + }, + "context7": { + "type": "stdio", + "command": "npx", + "args": ["-y", "@upstash/context7-mcp@latest"] + }, + "sequential-thinking": { + "command": "npx", + "args": ["-y", "@modelcontextprotocol/server-sequential-thinking"], + "type": "stdio" + }, + "pdf-reader": { + "command": "npx", + "args": ["@sylphx/pdf-reader-mcp"], + "type": "stdio" + }, + "figma-mcp-server": { + "url": "https://mcp.figma.com/mcp", + "type": "http" + }, + "atlassian": { + "url": "https://mcp.atlassian.com/v1/mcp", + "type": "http" + } + } +} diff --git a/plugin.json b/plugin.json new file mode 100644 index 00000000..7c30a11b --- /dev/null +++ b/plugin.json @@ -0,0 +1,38 @@ +{ + "name": "tsh-copilot-collections", + "description": "Opinionated GitHub Copilot setup covering the full product development lifecycle.", + "version": "1.0.0", + "author": { + "name": "The Software House", + "url": "https://tsh.io" + }, + "homepage": "https://github.com/tsh/copilot-collections", + "repository": "https://github.com/tsh/copilot-collections", + "license": "MIT", + "keywords": ["copilot", "agents", "skills", "prompts", "mcp", "product-lifecycle", "product-ideation", "development", "quality-assurance", "jira", "figma", "playwright", "copilot-customization"], + "category": "developer-tools", + "tags": ["product-ideation", "development", "quality", "agents", "skills", "prompts", "mcp", "jira", "figma", "playwright"], + "agents": ".github/agents/", + "skills": [ + ".github/skills/tsh-architecture-designing", + ".github/skills/tsh-code-reviewing", + ".github/skills/tsh-codebase-analysing", + ".github/skills/tsh-creating-agents", + ".github/skills/tsh-creating-instructions", + ".github/skills/tsh-creating-prompts", + ".github/skills/tsh-creating-skills", + ".github/skills/tsh-e2e-testing", + ".github/skills/tsh-implementation-gap-analysing", + ".github/skills/tsh-implementing-frontend", + ".github/skills/tsh-jira-task-formatting", + ".github/skills/tsh-sql-and-database-understanding", + ".github/skills/tsh-task-analysing", + ".github/skills/tsh-task-extracting", + ".github/skills/tsh-task-quality-reviewing", + ".github/skills/tsh-technical-context-discovering", + ".github/skills/tsh-transcript-processing", + ".github/skills/tsh-ui-verifying" + ], + "mcpServers": ".mcp.json", + "commands": ".github/prompts/" +} From 4963f570c5e5c85e04cdff036f8158a4c3c2c1d0 Mon Sep 17 00:00:00 2001 From: Igor Wnek Date: Thu, 12 Mar 2026 14:47:04 +0100 Subject: [PATCH 2/5] docs: add plugin and MCP manifest conventions Copilot instruction --- ...lugin-manifest-conventions.instructions.md | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 .github/instructions/tsh-plugin-manifest-conventions.instructions.md diff --git a/.github/instructions/tsh-plugin-manifest-conventions.instructions.md b/.github/instructions/tsh-plugin-manifest-conventions.instructions.md new file mode 100644 index 00000000..4c4725f3 --- /dev/null +++ b/.github/instructions/tsh-plugin-manifest-conventions.instructions.md @@ -0,0 +1,25 @@ +--- +name: tsh-plugin-manifest-conventions +description: Rules for plugin, marketplace, and MCP manifest files, including root versus VS Code MCP responsibilities. +applyTo: "{plugin.json,.mcp.json,.vscode/mcp.json,.github/plugin/**/*.json,specifications/plugins-and-marketplace/**/*.md}" +--- + +# Plugin & MCP Manifest Conventions + +## Root manifest responsibilities + +- `plugin.json` must reference the repository-root `.mcp.json` via `mcpServers`; never point `plugin.json` to `.vscode/mcp.json`. +- Root `.mcp.json` is the plugin/CLI-facing MCP manifest. `.vscode/mcp.json` is the VS Code-facing MCP manifest. + +## MCP parity and intentional differences + +- When one MCP manifest changes, review the other for server parity. +- Preserve intentional runtime-specific differences and document them in the affected manifest or related specification. +- Root `.mcp.json` may intentionally omit VS Code-only fields such as `inputs`. +- `.vscode/mcp.json` may include VS Code-only fields and UX affordances that must not be copied blindly into root `.mcp.json`. + +## Marketplace manifest conventions + +- `.github/plugin/marketplace.json` should keep `source: "."` when the repository-root `plugin.json` is the source of truth. +- Marketplace entries should inherit component paths from root `plugin.json`; do not duplicate `agents`, `skills`, `commands`, or `mcpServers` overrides unless intentionally changing strategy. +- Do not add `strict` unless the repository intentionally moves away from the default root-manifest strategy. From 72527b83673535e783daf255002c1a124ce2d9fe Mon Sep 17 00:00:00 2001 From: Igor Wnek Date: Thu, 12 Mar 2026 14:47:20 +0100 Subject: [PATCH 3/5] docs: add installation instructions for Copilot CLI plugin and known limitations --- README.md | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/README.md b/README.md index a8ca7bb6..9e74e9ba 100644 --- a/README.md +++ b/README.md @@ -569,6 +569,55 @@ If you prefer the UI instead of editing JSON directly: --- +## 🖥️ Installation via Copilot CLI + +If you use GitHub Copilot CLI, you can install this collection as a plugin with a single command. + +### Option 1: Direct Install (Recommended) + +```bash +/plugin install tsh/copilot-collections +``` + +This clones the repository and registers all agents, skills, and MCP servers from `plugin.json`. + +### Option 2: Marketplace Install + +First, register the marketplace: + +```bash +/plugin marketplace add tsh/copilot-collections +``` + +Then install the plugin from the marketplace: + +```bash +/plugin install tsh-copilot-collections@tsh-copilot-collections +``` + +### Updating + +To update to the latest version: + +```bash +/plugin update +``` + +> ⚠️ **Restart Required:** After installing or updating the plugin, restart your Copilot CLI session for changes to take effect. + +### Known CLI Limitations + +The collection was originally built for VS Code. When used via CLI, some features may have reduced functionality: + +- **`vscode/*` tools** — Agents that use `vscode/runCommand` or `vscode/askQuestions` may not have access to these tools in CLI context. The agents remain functional for their core capabilities. +- **`handoffs` blocks** — Agent handoff declarations in YAML frontmatter are VS Code-specific. The CLI may ignore them silently or produce warnings. +- **HTTP-based MCP servers** — The Figma and Atlassian MCP servers use `type: "http"`, which is a VS Code-specific server type. These may require additional CLI configuration or may not be available. +- **Prompts** — `.prompt.md` file discovery in CLI is unconfirmed. Prompts may not be available as slash commands after CLI installation. + +For the full VS Code installation (recommended for maximum feature coverage), see the [Installation in VS Code](#-installation-in-vs-code) section above. + +--- + ## 🔌 MCP Server Configuration To unlock the full workflow (Jira, Figma, code search, browser automation), you need to configure the MCP servers. We provide a ready-to-use template in [`.vscode/mcp.json`](./.vscode/mcp.json). From 98b75690ba5c61038d2645684edf9f0061f23311 Mon Sep 17 00:00:00 2001 From: Igor Wnek Date: Thu, 12 Mar 2026 14:47:32 +0100 Subject: [PATCH 4/5] chore: update changelog with new Copilot CLI plugin and marketplace details --- CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b8a989ca..520cfe21 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,16 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). +## Unreleased + +### Added + +- `plugin.json` manifest at repository root for GitHub Copilot CLI plugin installation (`/plugin install tsh/copilot-collections`) +- `.github/plugin/marketplace.json` registry for marketplace discovery (`/plugin marketplace add tsh/copilot-collections`) +- `.mcp.json` at repository root for CLI-compatible MCP server configuration (6 servers: Playwright, Context7, Sequential Thinking, PDF Reader, Figma, Atlassian) +- CLI installation instructions in README alongside existing VS Code installation guide +- Prompts declared as CLI commands via `commands` field in `plugin.json`, exposing all 15 `tsh-*` workflow prompts to Copilot CLI users + ## 2026-05-17 ### Changed From 526aa2fcbf0d20caf5775a12fd4b7edc65ae2d9f Mon Sep 17 00:00:00 2001 From: Igor Wnek Date: Thu, 26 Mar 2026 17:10:25 +0100 Subject: [PATCH 5/5] docs: add local installation instructions for Copilot plugin --- README.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/README.md b/README.md index 9e74e9ba..3955ab6d 100644 --- a/README.md +++ b/README.md @@ -595,6 +595,22 @@ Then install the plugin from the marketplace: /plugin install tsh-copilot-collections@tsh-copilot-collections ``` +### Option 3: Install from a Local Path + +If you've already cloned the repository locally (e.g., during the [VS Code installation](#-installation-in-vs-code)), you can install it directly from disk: + +```bash +/plugin install /path/to/copilot-collections +``` + +For example, if you cloned to `~/projects`: + +```bash +/plugin install ~/projects/copilot-collections +``` + +This registers the local copy as a plugin without cloning it again. Useful when you want to use the same checkout for both VS Code and CLI. + ### Updating To update to the latest version: