Metadata-Version: 2.4
Name: copilot-plugin-manager
Version: 0.1.4
Summary: Python-first GitHub Copilot plugin, skill, and agent manager
Keywords: github-copilot,copilot,cli,plugin-manager,skills,agents
Author: Anselm Hahn
Author-email: Anselm Hahn <Anselm.Hahn@gmail.com>
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Version Control
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Utilities
Requires-Dist: pydantic>=2,<3
Requires-Dist: rich>=14.3.3
Requires-Dist: typer>=0.24.1
Requires-Python: >=3.12
Project-URL: Homepage, https://github.com/Anselmoo/copilot-plugin-manager
Project-URL: Repository, https://github.com/Anselmoo/copilot-plugin-manager
Project-URL: Issues, https://github.com/Anselmoo/copilot-plugin-manager/issues
Description-Content-Type: text/markdown

# copilot-plugin-manager

[![CI](https://img.shields.io/github/actions/workflow/status/Anselmoo/copilot-plugin-manager/cicd.yml?branch=main&label=ci)](https://github.com/Anselmoo/copilot-plugin-manager/actions/workflows/cicd.yml)
[![PyPI publish](https://img.shields.io/badge/publish-PyPI-blue)](https://github.com/Anselmoo/copilot-plugin-manager/actions/workflows/cicd.yml)
[![PyPI version](https://img.shields.io/pypi/v/copilot-plugin-manager)](https://pypi.org/project/copilot-plugin-manager/)
[![Python versions](https://img.shields.io/pypi/pyversions/copilot-plugin-manager)](https://pypi.org/project/copilot-plugin-manager/)
[![License](https://img.shields.io/github/license/Anselmoo/copilot-plugin-manager)](LICENSE)

A Python-first CLI for managing GitHub Copilot plugins, skills, and agents.

It keeps Copilot setup management focused and reproducible:

- compose setups from profiles and themes
- install, update, and prune plugins
- sync local skills and agents into `~/.copilot`
- track repository-aware state under `~/.copilot/copilot-plugin-manager`
- refresh bundled catalogs from curated upstream sources

## Install

Install the CLI into your current Python environment:

```bash
pip install copilot-plugin-manager
```

Or run it without installing anything permanently:

```bash
uvx copilot-plugin-manager --help
```

Once installed with `pip`, the command is available directly:

```bash
copilot-plugin-manager --help
```

## Quick start

Open the guided menu for the current repository context:

```bash
copilot-plugin-manager
```

Browse what is available:

```bash
copilot-plugin-manager list
copilot-plugin-manager list profiles
copilot-plugin-manager list themes
copilot-plugin-manager list sources
copilot-plugin-manager list mcps
```

In an interactive terminal, bare `list` opens a compact catalog browser instead of dumping every section at once. Use an explicit section such as `list overview` when you want a stable non-interactive view for scripts or copy/paste output.

Activate a setup for the current repository:

```bash
copilot-plugin-manager switch python-core
copilot-plugin-manager switch python-core --save-repo-profile
copilot-plugin-manager switch-exclusive python-mcp
```

Refresh upstream sources and inspect state:

```bash
copilot-plugin-manager repo-update --remote
copilot-plugin-manager status
```

`status` now surfaces repo-local profile files plus persisted sync and verification warnings, so partial syncs or “selected target does not match the applied environment” problems are easier to spot.

If you maintain the bundled upstream catalogs, `uv run poe broken-links` catches dangling symlinks in the repository and initialized submodules before refresh or sync work.

If you prefer one-off execution with `uvx`, the same commands work there too:

```bash
uvx copilot-plugin-manager list
uvx copilot-plugin-manager list profiles
uvx copilot-plugin-manager status
```

`uvx` is convenient for direct execution, but persistent shell completion is easiest when the CLI is installed locally.

## Catalog overview

<!-- generated:catalog-overview:start -->
_This section is generated from the bundled catalog data with `uv run poe generate-docs`._

- `38` profiles
- `29` themes
- `53` plugins
- `210` skill providers
- `58` agent providers

See also:
- [`docs/THEMES.md`](docs/THEMES.md) for the full theme and profile composition reference.
- [`docs/CREDITS.md`](docs/CREDITS.md) for upstream catalog credits.

### Current profile compositions

| Profile | Themes |
| --- | --- |
| `minimal` | `core` |
| `docs` | `core`, `docs`, `python`, `testing` |
| `docs-lite` | `core`, `docs` |
| `docs-pro` | `core`, `docs`, `docs-design`, `planning`, `testing` |
| `python-dev` | `core`, `python`, `testing`, `devops` |
| `python-core` | `core`, `python`, `testing` |
| `python-agents` | `core`, `python`, `testing`, `python-agents` |
| `python-mcp` | `core`, `python`, `mcp`, `testing`, `python-agents`, `mcp-agents` |
| `ts` | `core`, `frontend`, `typescript`, `testing` |
| `ts-mcp` | `core`, `frontend`, `typescript`, `mcp`, `testing`, `mcp-agents` |
| `ts-fullstack` | `core`, `frontend`, `typescript`, `mcp`, `testing`, `mcp-agents`, `devops` |
| `python-plus-rust` | `core`, `python`, `rust`, `data`, `testing` |
| `pydantic` | `core`, `python`, `openapi`, `testing` |
| `fastapi-typer` | `core`, `python`, `openapi`, `testing` |
| `backend` | `core`, `python`, `openapi`, `data`, `testing`, `security` |
| `mcp-dev` | `core`, `mcp`, `python`, `testing` |
| `frontend-design` | `core`, `frontend`, `typescript`, `docs-design`, `testing` |
| `backend-api` | `core`, `python`, `openapi`, `data`, `testing`, `security` |
| `fullstack` | `core`, `frontend`, `typescript`, `python`, `testing`, `data` |
| `agentic-fullstack` | `core`, `frontend`, `typescript`, `python`, `testing`, `data`, `security`, `python-agents`, `mcp-agents` |
| `dotnet-dev` | `core`, `dotnet`, `testing`, `devops` |
| `polyglot` | `core`, `python`, `typescript`, `dotnet`, `testing`, `security` |
| `science` | `core`, `science`, `python`, `data` |
| `scientific-programming` | `core`, `science`, `python`, `data`, `research` |
| `bioinformatics` | `core`, `python`, `bioinformatics`, `science`, `research`, `data` |
| `drug-discovery` | `core`, `python`, `chemistry`, `bioinformatics`, `science`, `research`, `data` |
| `ml-engineering` | `core`, `python`, `ml-ai`, `data`, `testing`, `science` |
| `quantum-computing` | `core`, `python`, `quantum`, `science`, `research` |
| `healthcare` | `core`, `python`, `clinical`, `science`, `research`, `data`, `planning` |
| `data-ai` | `core`, `data`, `ml-ai`, `science`, `research` |
| `data-science` | `core`, `data`, `ml-ai`, `python`, `research`, `science`, `testing` |
| `research` | `core`, `docs`, `science`, `research`, `planning` |
| `devops-sec` | `core`, `devops`, `security`, `github` |
| `infra-platform` | `core`, `infra`, `devops`, `security`, `github` |
| `planner` | `core`, `planning`, `github` |
| `enterprise` | `core`, `enterprise`, `data`, `testing`, `devops` |
| `enterprise-architect` | `core`, `enterprise`, `planning`, `security`, `github`, `testing` |
| `everything` | `core`, `docs`, `docs-design`, `python`, `python-agents`, `typescript`, `dotnet`, `frontend`, `mcp`, `mcp-agents`, `testing`, `science`, `bioinformatics`, `ml-ai`, `chemistry`, `quantum`, `clinical`, `openapi`, `enterprise`, `data`, `devops`, `infra`, `security`, `planning`, `github`, `research`, `specialized`, `agents` |
<!-- generated:catalog-overview:end -->

## Shell completion

Quick shell-init snippets:

```bash
copilot-plugin-manager shell-init bash
copilot-plugin-manager shell-init zsh
copilot-plugin-manager shell-init fish
copilot-plugin-manager shell-init powershell
copilot-plugin-manager shell-init nushell
```

Managed completion files:

```bash
copilot-plugin-manager completion-install fish
copilot-plugin-manager completion-install bash
copilot-plugin-manager completion-script powershell
```

## From source

If you want to run the project from a local checkout instead of installing it from PyPI:

```bash
git submodule update --init --recursive
uv sync --group dev
uv run copilot-plugin-manager --help
```

## Documentation

| Document | Purpose |
| --- | --- |
| [`docs/USAGE.md`](docs/USAGE.md) | Managed content, state model, command reference, and shell setup. |
| [`docs/THEMES.md`](docs/THEMES.md) | Generated overview of current themes and profile compositions. |
| [`docs/CREDITS.md`](docs/CREDITS.md) | Generated credits for bundled upstream catalog sources. |
| [`CONTRIBUTING.md`](CONTRIBUTING.md) | Local development setup, test/lint/build commands, and PR workflow. |
| [`docs/RELEASING.md`](docs/RELEASING.md) | Build, TestPyPI, and PyPI publishing flow. |
| [`SECURITY.md`](SECURITY.md) | Vulnerability reporting and supported versions. |
| [`CODE_OF_CONDUCT.md`](CODE_OF_CONDUCT.md) | Community expectations and reporting guidance. |
| [`LICENSE`](LICENSE) | Project license terms. |

## Project links

- PyPI package: <https://pypi.org/project/copilot-plugin-manager/>
- CI/CD workflow: <https://github.com/Anselmoo/copilot-plugin-manager/actions/workflows/cicd.yml>
- Catalog refresh workflow: <https://github.com/Anselmoo/copilot-plugin-manager/actions/workflows/catalog-refresh.yml>
- Security policy: <https://github.com/Anselmoo/copilot-plugin-manager/security/policy>
- Issue tracker: <https://github.com/Anselmoo/copilot-plugin-manager/issues>
