Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -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.
25 changes: 25 additions & 0 deletions .github/plugin/marketplace.json
Original file line number Diff line number Diff line change
@@ -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"]
}
]
}
32 changes: 32 additions & 0 deletions .mcp.json
Original file line number Diff line number Diff line change
@@ -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"
}
}
}
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
65 changes: 65 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -569,6 +569,71 @@ 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
```

### 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:

```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).
Expand Down
38 changes: 38 additions & 0 deletions plugin.json
Original file line number Diff line number Diff line change
@@ -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/"
}