You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Replace symlink-based local dev with build + --plugin-dir workflow
- Rewrite CONTRIBUTING.md: npm install && npm run build + copilot --plugin-dir ./output
- Delete scripts/src/local/ (setup, verify, test commands) and verify-local.ts
- Update script entries in package.json and scripts/package.json
- Add local dev note to README.md sovereign cloud section
- Update docs/spec/azure-hosted-copilot-sdk.md to reflect removal
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
To develop and test skills locally, you'll need to link your cloned repository to the installed plugins folder. This allows you to make changes and see them reflected immediately without reinstalling the plugin.
50
-
51
-
> **Important:** Do NOT run `/plugin install azure@azure-skills` when developing locally. The symlink setup below IS the installation. Running the install command would create a nested copy that shadows your local changes.
49
+
To develop and test skills locally, you build the plugin from source and point Copilot CLI at the build output.
The easiest way to set up local development is using the provided scripts:
61
+
Install dependencies and run the build. This copies the plugin source files into `output/`, stamping version numbers automatically via [Nerdbank.GitVersioning](https://github.com/dotnet/Nerdbank.GitVersioning).
72
62
73
63
```bash
74
-
# From the repository root
75
-
cd scripts
76
-
77
-
# Create the symlink
78
-
npm run local setup
79
-
80
-
# Verify the setup is correct
81
-
npm run local verify
82
-
```
83
-
84
-
The setup script will:
85
-
- Create a symlink from `~/.copilot/installed-plugins/azure-skills` to your local `plugin/` folder
86
-
- Handle Windows junction fallback if admin privileges aren't available
87
-
88
-
The verify script will:
89
-
- Check for nested plugin installs (which shadow your local changes)
90
-
- Test that file changes propagate correctly via the symlink
91
-
- Compare file contents between local and installed locations
92
-
93
-
Use `npm run local verify --fix` to automatically fix common issues.
94
-
95
-
### 3b. Manual Symlink Setup (Alternative)
96
-
97
-
If you prefer to create the symlink manually:
98
-
99
-
#### Windows (Command Prompt - Run as Administrator)
Once your symlink is set up, you can quickly test any open pull request by checking out its branch. This is especially useful during code review to verify changes work as expected.
101
+
You can quickly test any open pull request by checking out its branch and building. This is especially useful during code review to verify changes work as expected.
174
102
175
103
#### Using GitHub CLI
176
104
177
105
Install the [GitHub CLI](https://cli.github.com/) if you haven't already, then run:
178
106
179
107
```bash
180
108
gh pr checkout <PR-NUMBER>
109
+
npm run build
110
+
copilot --plugin-dir ./output
181
111
```
182
112
183
113
For example, to test PR #42:
184
114
185
115
```bash
186
116
gh pr checkout 42
117
+
npm run build
118
+
copilot --plugin-dir ./output
187
119
```
188
120
189
-
This automatically:
190
-
1. Fetches the PR branch from the contributor's fork
191
-
2. Creates a local branch tracking the PR
192
-
3. Updates your symlinked plugin folder with the PR's changes
193
-
194
-
After checking out, run `/skills reload` in your Copilot CLI session (or restart the CLI) to pick up the changes and test the skill or feature.
195
-
196
121
#### Switching Back
197
122
198
123
To return to the main branch after testing:
199
124
200
125
```bash
201
126
git checkout main
127
+
npm run build
202
128
```
203
129
204
-
> **Tip:** You can also use `gh pr checkout <PR-NUMBER> --force` to discard any local changes and switch to the PR branch.
205
-
206
130
---
207
131
208
132
## Contributing Skills
@@ -445,11 +369,11 @@ For feature requests, include:
445
369
446
370
After making changes to a skill:
447
371
448
-
1.Run `/skills reload` in your Copilot CLI session to reload all skills
449
-
2.Test the skill by asking relevant questions
450
-
3.Verify all referenced documentation and examples work
451
-
452
-
> **Tip:** Use `/skills reload` instead of restarting the CLI for faster iteration during development.
372
+
1.Rebuild the plugin: `npm run build`
373
+
2.Start Copilot CLI with `copilot --plugin-dir ./output`
374
+
3.Run `/skills reload` if you already have a session open
375
+
4. Test the skill by asking relevant questions
376
+
5. Verify all referenced documentation and examples work
Copy file name to clipboardExpand all lines: README.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -74,7 +74,9 @@ By default, the Azure MCP server connects to the Azure Public Cloud. If you use
74
74
75
75
### Copilot CLI
76
76
77
-
After installing the plugin, the skills are installed in `~/.copilot/installed-plugins/` on macOS/Linux (or `%USERPROFILE%\.copilot\installed-plugins\` on Windows). Edit the `<skill_installation_dir>/azure-skills/azure/.mcp.json` file in the installed plugin directory to add the `--cloud` argument:
77
+
After installing the plugin from the marketplace, the skills are installed in `~/.copilot/installed-plugins/` on macOS/Linux (or `%USERPROFILE%\.copilot\installed-plugins\` on Windows). Edit the `<skill_installation_dir>/azure-skills/azure/.mcp.json` file in the installed plugin directory to add the `--cloud` argument:
78
+
79
+
> **Note:** If you are developing locally using `copilot --plugin-dir ./output`, edit `output/.mcp.json` in your local build output instead.
|`tests/_template/unit.test.ts`| Unit test template for new skills | ✅ |
58
58
59
-
### Local Dev Tooling — ✅ Complete
59
+
### Local Dev Tooling — 🔄 Replaced
60
60
61
-
| File | Purpose | Status |
62
-
|------|---------|--------|
63
-
|`scripts/src/local/cli.ts`| Local development CLI (`npm run local`) | ✅ |
64
-
|`scripts/src/local/commands/setup.ts`| Plugin + MCP server registration | ✅ |
65
-
|`scripts/src/local/commands/verify.ts`| Health checks for plugin and MCP servers | ✅ |
66
-
|`scripts/src/local/commands/test.ts`| Live validation of the local plugin | ✅ |
61
+
The local development scripts (`scripts/src/local/`) have been replaced by the Gulp build system. Developers now run `npm run build` at the repo root and use `copilot --plugin-dir ./output` to test locally.
0 commit comments