github / github/copilot-cli

Plugin install fails: pluginRoot prepended to source path causing doubled directory segment

Aperta
#2,200 2 commenti 1 reazione 0 assegnatari Vedi su GitHub
area:installation area:plugins
Lingua principale
Shell
Stelle
11.2k
Fork
1.9k
Merge medio
14h 16m
PR unite (30g)
6

Descrizione

## Bug Report

### Summary
When installing a plugin from the `microsoft-skills` marketplace (e.g. `azure-skills@skills`), the CLI constructs an incorrect path by joining `pluginRoot` with a `source` value that already contains the full path prefix. This produces a doubled directory segment and the install fails with a directory-not-found error.

### Steps to Reproduce
1. Run `/plugin` and install `azure-skills@skills` from the `microsoft-skills` marketplace.
2. Observe the error: directory not found.

### Expected Behavior
Plugin installs successfully. The resolved path should be:
```
~/.cache/copilot/marketplaces/microsoft-skills/.github/plugins/azure-skills
```

### Actual Behavior
The CLI looks for the plugin at:
```
~/.cache/copilot/marketplaces/microsoft-skills/.github/plugins/.github/plugins/azure-skills
```

### Root Cause (Observed)
In `marketplace.json` for `microsoft-skills`, the `metadata.pluginRoot` is set to `./.github/plugins` and each plugin entry's `source` field is `./.github/plugins/` (the full path from repo root). The CLI appears to join `pluginRoot + source` rather than treating `source` as repo-root-relative, resulting in the segment being appended twice.

Relevant `marketplace.json` snippet:
```json
{
"metadata": {
"pluginRoot": "./.github/plugins"
},
"plugins": [
{
"name": "azure-skills",
"source": "./.github/plugins/azure-skills"
}
]
}
```

### Workaround
Manually create a symlink at the doubled path pointing to the real plugin directory:
```bash
mkdir -p ~/.cache/copilot/marketplaces/microsoft-skills/.github/plugins/.github/plugins
ln -sf ~/.cache/copilot/marketplaces/microsoft-skills/.github/plugins/azure-skills ~/.cache/copilot/marketplaces/microsoft-skills/.github/plugins/.github/plugins/azure-skills
```

### Environment
- OS: Linux
- Marketplace: `microsoft-skills` (marketplace version 1.0.0)
- Plugin: `azure-skills` (plugin version 1.0.1)
- Copilot CLI version: 1.0.10

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia dalla voce microsoft-skills di marketplace.json descritta nel report e traccia la gestione del percorso di installazione di /plugin per metadata.pluginRoot e ogni origine del plugin. Verifica il comportamento della risoluzione dei percorsi usando azure-skills@skills; è completato quando la CLI risolve una sola volta la directory dei plugin del repository e installa senza il segmento duplicato .github/plugins.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
shell
Ambito
cli
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Tranquilla
Chiarezza
Specificata chiaramente
Idoneità per principianti
65/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.