mirror of
https://github.com/microsoft/vscode.git
synced 2026-05-01 22:12:26 +01:00
chat customizations: component fixtures, developer skill, spec updates (#303309)
* component explorer fixture for chat customization tabs * chat customizations: full editor fixture + developer skill * Refine AI customization management editor fixtures * fix: update DOM element creation to use shorthand syntax --------- Co-authored-by: Martin Aeschlimann <martinae@microsoft.com>
This commit is contained in:
42
.github/skills/chat-customizations-editor/SKILL.md
vendored
Normal file
42
.github/skills/chat-customizations-editor/SKILL.md
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
---
|
||||
name: chat-customizations-editor
|
||||
description: Use when working on the Chat Customizations editor — the management UI for agents, skills, instructions, hooks, prompts, MCP servers, and plugins.
|
||||
---
|
||||
|
||||
# Chat Customizations Editor
|
||||
|
||||
Split-view management pane for AI customization items across workspace, user, extension, and plugin storage. Supports harness-based filtering (Local, Copilot CLI, Claude).
|
||||
|
||||
## Spec
|
||||
|
||||
**`src/vs/sessions/AI_CUSTOMIZATIONS.md`** — always read before making changes, always update after.
|
||||
|
||||
## Key Folders
|
||||
|
||||
| Folder | What |
|
||||
|--------|------|
|
||||
| `src/vs/workbench/contrib/chat/common/` | `ICustomizationHarnessService`, `ISectionOverride`, `IStorageSourceFilter` — shared interfaces and filter helpers |
|
||||
| `src/vs/workbench/contrib/chat/browser/aiCustomization/` | Management editor, list widgets (prompts, MCP, plugins), harness service registration |
|
||||
| `src/vs/sessions/contrib/chat/browser/` | Sessions-window overrides (harness service, workspace service) |
|
||||
| `src/vs/sessions/contrib/sessions/browser/` | Sessions tree view counts and toolbar |
|
||||
|
||||
When changing harness descriptor interfaces or factory functions, verify both core and sessions registrations compile.
|
||||
|
||||
## Key Interfaces
|
||||
|
||||
- **`IHarnessDescriptor`** — drives all UI behavior declaratively (hidden sections, button overrides, file filters, agent gating). See spec for full field reference.
|
||||
- **`ISectionOverride`** — per-section button customization (command invocation, root file creation, type labels, file extensions).
|
||||
- **`IStorageSourceFilter`** — controls which storage sources and user roots are visible per harness/type.
|
||||
|
||||
Principle: the UI widgets read everything from the descriptor — no harness-specific conditionals in widget code.
|
||||
|
||||
## Testing
|
||||
|
||||
Component explorer fixtures (see `component-fixtures` skill): `aiCustomizationListWidget.fixture.ts`, `aiCustomizationManagementEditor.fixture.ts` under `src/vs/workbench/test/browser/componentFixtures/`.
|
||||
|
||||
```bash
|
||||
./scripts/test.sh --grep "applyStorageSourceFilter|customizationCounts"
|
||||
npm run compile-check-ts-native && npm run valid-layers-check
|
||||
```
|
||||
|
||||
See the `sessions` skill for sessions-window specific guidance.
|
||||
Reference in New Issue
Block a user