Skip to content
Open
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
8 changes: 4 additions & 4 deletions .github/schemas/extension.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
"description": "Human-readable display name for the extension.",
"minLength": 1,
"maxLength": 100,
"examples": ["Media Controls for Command Palette", "Quick Notes", "Clipboard Manager"]
"examples": ["Media Controls", "Quick Notes", "Clipboard Manager"]
},
"shortDescription": {
"type": "string",
Expand Down Expand Up @@ -60,9 +60,9 @@
},
"icon": {
"type": "string",
"description": "Filename of the icon in the same folder. Must be a .png or .svg file.",
"pattern": "^[\\w.-]+\\.(png|svg)$",
"examples": ["icon.png", "icon.svg"]
"description": "Filename of the icon in the same folder. Must be a .png or .jpeg file.",
"pattern": "^[\\w.-]+\\.(png|jpe?g)$",
"examples": ["icon.png", "icon.jpeg"]
},
"homepage": {
"type": "string",
Expand Down
6 changes: 3 additions & 3 deletions .github/scripts/validate.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
MAX_TAGS = 5
MAX_TAG_LENGTH = 30
MAX_ICON_SIZE_KB = 100
VALID_ICON_EXTENSIONS = {".png", ".svg"}
VALID_ICON_EXTENSIONS = {".png", ".jpg", ".jpeg"}

MAX_CATEGORIES = 3
VALID_CATEGORIES = {
Expand Down Expand Up @@ -431,7 +431,7 @@ def validate_extension(folder: pathlib.Path, schema: dict, id_index: dict[str, p
f"Must be author.extension-name format (e.g. \"jiripolasek.media-controls\")."
)

# 6. Icon file must exist, be PNG/SVG, and ≤100 KB
# 6. Icon file must exist, be PNG/JPEG, and ≤100 KB
icon_filename = data.get("icon", "")
if icon_filename:
icon_path = folder / icon_filename
Expand All @@ -444,7 +444,7 @@ def validate_extension(folder: pathlib.Path, schema: dict, id_index: dict[str, p
suffix = icon_path.suffix.lower()
if suffix not in VALID_ICON_EXTENSIONS:
errors.append(
f"{display_path}/{icon_filename}: Icon must be .png or .svg "
f"{display_path}/{icon_filename}: Icon must be .png or .jpeg "
f"(got \"{suffix}\")"
)
size_kb = icon_path.stat().st_size / 1024
Expand Down
2 changes: 1 addition & 1 deletion docs/ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ Contributor opens PR
- Conforms to the JSON Schema (`.github/schemas/extension.schema.json`)
- The `id` field matches the folder path (`author/extension-name` → `author.extension-name`)
- The `id` format is valid (lowercase alphanumeric + hyphens, dot-separated)
- Icon file exists, is PNG or SVG, and is under 100 KB
- Icon file exists, is PNG or JPEG, and is under 100 KB
- Tags are within limits (max 5 tags, each max 30 characters)
- Categories (if present) are from the allowed list, max 3, no duplicates
- No duplicate IDs across the gallery
Expand Down
5 changes: 3 additions & 2 deletions docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ Create an `extension.json` file inside your folder. Here is the full template wi
|-------|----------|-------------|
| `$schema` | Optional | Path to the JSON schema. Enables editor autocompletion and validation. Use `"../../../.github/schemas/extension.schema.json"`. |
| `id` | **Required** | Unique identifier in `author.extension-name` format (e.g., `jiripolasek.media-controls`). **Must match your folder path** (`author/extension-name`). |
| `title` | **Required** | Human-readable display name (max 100 characters). |
| `title` | **Required** | Human-readable display name (max 100 characters). **Do not** include "for Command Palette" — all extensions are for Command Palette, so the suffix is redundant. |
| `shortDescription` | **Required** | Short one-line description of the extension (max 200 characters). |
| `description` | **Required** | Full description of the extension, typically sourced from the Store listing or README (max 3000 characters). |
| `author` | **Required** | Object with `name` (required, max 100 characters) and `url` (optional). |
Expand Down Expand Up @@ -129,7 +129,8 @@ Choose up to 3 categories from the following fixed list:

Place an icon file in your extension folder alongside `extension.json`.

- **Formats:** PNG (`.png`) or SVG (`.svg`)
- **Formats:** PNG (`.png`) or JPEG (`.jpg`, `.jpeg`)
- **SVG is not supported** — SVG icons may not render correctly in the gallery
- **Max file size:** 100 KB
- **Recommended dimensions:** 256×256 pixels for PNG files
- The filename must match the `icon` field in your `extension.json`
Expand Down
42 changes: 21 additions & 21 deletions extensions.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion extensions/advaith/currency-converter/extension.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "../../../.github/schemas/extension.schema.json",
"id": "advaith.currency-converter",
"title": "Currency Converter for Command Palette",
"title": "Currency Converter",
"shortDescription": "Convert real and crypto currencies.",
"description": "Need to convert currencies on the fly without breaking your workflow? Currency Converter for Command Palette is a fast, lightweight extension for the Windows Command Palette that lets you seamlessly translate between global fiat money and cryptocurrencies. Instead of opening a browser tab, simply pull up your command palette, type in your amount, and get instant, accurate results. Whether you are using natural language, currency symbols, or even doing quick inline math before a conversion, this tool handles it effortlessly.",
"author": {
Expand Down
2 changes: 1 addition & 1 deletion extensions/baldbeardedbuilder/weather/extension.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "../../../.github/schemas/extension.schema.json",
"id": "baldbeardedbuilder.weather",
"title": "Weather for Command Palette",
"title": "Weather",
"shortDescription": "Current conditions, hourly forecasts, and multi-day forecasts right from Command Palette.",
"description": "Bring your weather conditions and forecasts to your fingertips with the Weather extension for Command Palette.\n\nSearch locations or save your favorite to see current, hourly, or the 7-day weather forecast. View temperature, feels like, humidity, wind speed, and conditions for any location worldwide.\n\nWeather for Command Palette also integrates with Command Palette's dock feature, showing your current conditions and providing a quick overview window with a 3-hour and 3-day forecast.\n\nConfigurable units for temperature (Fahrenheit/Celsius), wind speed (mph/km/h), and adjustable update intervals. Weather data provided by Open-Meteo — free and no API key required.",
"author": {
Expand Down
2 changes: 1 addition & 1 deletion extensions/jiripolasek/change-case/extension.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "../../../.github/schemas/extension.schema.json",
"id": "jiripolasek.change-case",
"title": "Change Case for Command Palette",
"title": "Change Case",
"shortDescription": "Transform text case with camelCase, PascalCase, snake_case, kebab-case, UPPER, lower, title, and more.",
"description": "Effortlessly transform text case without leaving the Command Palette. Instantly change the case of text from your clipboard or text entered directly into the Command Palette—no need to switch apps or use additional tools.\n\nChoose from a wide array of case transformations, including Capital Case, Title Case (Chicago style), UPPER CASE, lower case, Sentence case, rAndOm cAsE, sWAP cASE, and more. Developers will appreciate technical options like camelCase, CONSTANT_CASE, Header-Case, kebab-case, PascalCase, and snake_case.\n\nThe extension also remembers your last used transformations, making it quick and easy to access your most common actions without searching through menus.\n\nTake control over text formatting with separator transformations such as dot.case, path/case, and path\\case\\with\\backslash. Easily clean up your text by removing diacritics, special symbols, and duplicate spaces, tabs, or lines.",
"author": {
Expand Down
4 changes: 2 additions & 2 deletions extensions/jiripolasek/colors/extension.json
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
{
"$schema": "../../../.github/schemas/extension.schema.json",
"id": "jiripolasek.colors",
"title": "Colors for Command Palette",
"title": "Colors",
"shortDescription": "Visualize, convert, and manipulate colors instantly from Command Palette.",
"description": "Instant color visualization, conversion, and manipulation directly within the Command Palette. Effortlessly preview, transform, and work with colors—no need to leave your workflow.\n\nConvert between color formats including HEX, RGB, HSL, and more. Preview colors in real time as you type, pick colors from the screen, and copy values in your preferred format.\n\nPerfect for designers and developers who need quick access to color tools without switching applications.",
"author": {
"name": "Jiri Polasek",
"url": "https://github.com/jiripolasek"
},
"icon": "icon.svg",
"icon": "icon.png",
"homepage": "https://github.com/jiripolasek/ColorsExtension",
"tags": [
"colors",
Expand Down
Binary file added extensions/jiripolasek/colors/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
60 changes: 0 additions & 60 deletions extensions/jiripolasek/colors/icon.svg

This file was deleted.

2 changes: 1 addition & 1 deletion extensions/jiripolasek/dev-numbers/extension.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "../../../.github/schemas/extension.schema.json",
"id": "jiripolasek.dev-numbers",
"title": "Dev Numbers for Command Palette",
"title": "Dev Numbers",
"shortDescription": "Convert and calculate numeric values across decimal, hex, octal, and binary formats.",
"description": "A powerful tool for converting and calculating numeric values across various number systems. Whether you’re a developer, engineer, or tech enthusiast, this extension simplifies numeric manipulation with seamless input recognition and smart format handling.\n\nDev Numbers supports conversions between decimal, hexadecimal, octal, and binary formats, and automatically detects numerous format styles, including those used in C, C++, C#, Visual Basic, and more. It even accommodates format suffixes and special characters for maximum flexibility.\n\nYou can also specify bit lengths for accurate truncation or representation of negative numbers, making it ideal for low-level development tasks. With Dev Numbers, working with complex numeric formats is easier, faster, and more intuitive.",
"author": {
Expand Down
2 changes: 1 addition & 1 deletion extensions/jiripolasek/errors-and-codes/extension.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "../../../.github/schemas/extension.schema.json",
"id": "jiripolasek.errors-and-codes",
"title": "Errors and Codes for Command Palette",
"title": "Errors and Codes",
"shortDescription": "Look up NTSTATUS, HRESULT, and Windows error codes with detailed explanations.",
"description": "Instantly make sense of cryptic error codes! Quickly access clear, detailed explanations of NTSTATUS, HRESULT, and other common Microsoft and Windows error codes—right from the Command Palette.\n\nWhether you’re debugging, troubleshooting, or just curious, simply type or paste an error code in any format (hex, decimal, signed, or unsigned) and let the tool do the rest. The extension automatically detects the format and finds all relevant representations across a variety of Microsoft products.\n\nDrawing on authoritative sources like Winerror.h and Setupapi.h from Windows SDK 10.0.26100, this extension ensures you have the context you need, when you need it. While the database is extensive, it may not cover every possible error code.\n\nSpend less time searching, and more time solving problems—with error details just a keystroke away.",
"author": {
Expand Down
Loading
Loading