Skip to content
Merged
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
32 changes: 0 additions & 32 deletions .github/prompts/build-new-icons.prompt.md

This file was deleted.

38 changes: 38 additions & 0 deletions .github/skills/build-new-icons/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: build-new-icons
description: Use after adding SVG icons to vscode-codicons. Builds the codicon font, verifies generated mappings, adds searchable metadata, and checks icon metadata consistency.
---

# Build New Icons

Use this workflow after new SVG icons are added to `src/icons/`.

## Workflow

1. Compare `src/icons/*.svg` with the entries in `src/template/metadata.json`.
2. Identify and list every icon that does not yet have metadata. If the user supplied icon names, verify them against this comparison rather than assuming the list is complete.
3. Read `src/template/mapping.json` and allocate the next unused decimal codepoint to each new icon. Add each icon as the primary name under its codepoint and keep the codepoints in ascending order.
4. Add an entry to `src/template/metadata.json` for every new icon:

```json
"<icon-name>": {
"tags": ["<keyword1>", "<keyword2>"],
"category": "<category>",
"description": "<Short description of the icon>"
}
```

- Add four to eight search tags that describe the icon's appearance and likely uses.
- Use the best-fitting category already present in the file, such as `action`, `navigation`, `debug`, `file`, `user`, `git`, `layout`, `editor`, `symbol`, `status`, `media`, `device`, or `misc`.
- Write a concise, one-line description.
- Keep entries sorted alphabetically by icon name.

5. Run `npm run build` from the `vscode-codicons` repository root and wait for it to finish.
6. If the build fails, diagnose and fix the failure before continuing.
7. Verify that every new icon remains a primary name under its assigned codepoint in `src/template/mapping.json`.
8. Run `node scripts/check-metadata.js`.
9. Confirm that the metadata check reports no missing or orphaned entries.
10. Summarize:
- The new icon names.
- Their codepoints from `src/template/mapping.json`.
- Their entries from `src/template/metadata.json`.
1 change: 1 addition & 0 deletions src/icons/copilot-dot-compact.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions src/icons/copilot-dot.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions src/template/mapping.json
Original file line number Diff line number Diff line change
Expand Up @@ -2052,5 +2052,11 @@
],
"60657": [
"mic-off-compact"
],
"60658": [
"copilot-dot"
],
"60659": [
"copilot-dot-compact"
]
}
28 changes: 28 additions & 0 deletions src/template/metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -1472,6 +1472,34 @@
"category": "ai",
"description": "AI Copilot assistant (compact variant)"
},
"copilot-dot": {
"tags": [
"ai",
"assistant",
"status",
"indicator",
"badge",
"dot",
"intelligent",
"agent"
],
"category": "ai",
"description": "Copilot with status indicator"
},
"copilot-dot-compact": {
"tags": [
"ai",
"assistant",
"status",
"indicator",
"badge",
"dot",
"agent",
"compact"
],
"category": "ai",
"description": "Copilot with status indicator (compact 12x12 variant)"
},
"copilot-error": {
"tags": [
"ai",
Expand Down
Loading