Skip to content

Commit 938cfd5

Browse files
committed
Merge remote-tracking branch 'origin/development' into pr/passalaqua/11058
2 parents 893bf3f + 7831bd6 commit 938cfd5

101 files changed

Lines changed: 1620 additions & 756 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.claude/scripts/resolve-doc-url.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/bash
22
# Resolve a documentation URL to its source markdown file
3-
# Usage: resolve-doc-url.sh "/path/to/page/"
3+
# Usage: resolve-doc-url.sh "/url/path/"
44

55
if [ -z "$1" ]; then
66
echo "Usage: resolve-doc-url.sh <url>"
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
---
2+
name: docs-alt-text
3+
description: Generates W3C-compliant alt text for images in documentation pages. Analyzes each image's purpose and adds descriptive alt text for informative images or empty alt for decorative images, improving accessibility and SEO.
4+
user-invocable: true
5+
disable-model-invocation: false
6+
---
7+
8+
> **Accessibility skill:** Generates alt text following W3C/WCAG 2.1 guidelines. Analyzes actual image content plus context to create concise, meaningful descriptions.
9+
10+
## Workflow
11+
12+
Follow this order for each image:
13+
14+
1. **STEP 1 - View the image file** (REQUIRED)
15+
- Extract image src path from figure shortcode
16+
- Convert path: `src="/attachments/path/file.png"``static/attachments/path/file.png`
17+
- Use Read tool to view the actual image
18+
- Understand what the image shows BEFORE reading context
19+
20+
2. **STEP 2 - Read surrounding context**
21+
- Read the heading, preceding/following text, list item, or numbered step
22+
- Understand the image's purpose within the documentation
23+
- Consider if context + image together make the image informative or decorative
24+
25+
3. **STEP 3 - Determine if informative or decorative**
26+
- **Technical docs assumption:** Images are informative unless obviously decorative
27+
- **Informative:** Images that convey information → write descriptive alt text
28+
- **Decorative:** Images where the information is already given in adjacent text, or pure visual styling with no informational value → use `alt=""`
29+
30+
4. **STEP 4 - Generate alt text**
31+
- **If decorative, use `alt=""`.** Never omit the alt attribute entirely.
32+
- **If informative, generate descriptive alt text:**
33+
- Focus on the information the image communicates, not what it looks like
34+
- Give the most concise description possible
35+
- Maximum 30 words (flag complex images needing longer descriptions for body text)
36+
- Don't include "screenshot of", "image of", or "picture of" (screen readers already announce it's an image)
37+
- Use Mendix terminology
38+
- Avoid redundancy with nearby text
39+
- **Based on surrounding context:**
40+
- In a procedure: emphasize the action/element relevant to the step (e.g., "Download button in Registration dialog")
41+
- Showing UI elements: name the relevant elements (e.g., "Properties pane")
42+
- Showing structure or relationships: describe what entities/components are connected (e.g., "Domain model with Customer and Order entities connected by one-to-many association")
43+
- Showing logic or process flow: describe what the flow accomplishes (e.g., "Microflow that retrieves FileDocument list and updates encryption keys")
44+
45+
5. **STEP 5 - Edit the figure shortcode**
46+
- Use Edit tool to add/update only the `alt` attribute
47+
- Preserve all other attributes: `class`, `width`, `max-width`, `link`
48+
- Maintain exact indentation and spacing
49+
50+
## Special Cases
51+
52+
- **Images in numbered lists:** Common in procedures—describe the procedural step shown
53+
- **Before/after sequences:** Describe what changed or the state shown
54+
- **Existing alt text:** May update if it's empty, generic, or poor quality (e.g., `alt=""`, `alt="button"`, `alt="before"`)
55+
- **File format icons:** Use format name (e.g., "PDF", "ZIP", "Word document")
56+
- **Complex diagrams:** If needs >30 words, flag to user and suggest adding description to body text
57+
58+
## What NOT to do
59+
60+
- Don't modify `src` path or attributes other than `alt`
61+
- Don't change surrounding text or document structure
62+
- Don't process images outside the determined scope
63+
- Don't generate alt text based solely on filename—always view the image first
64+
65+
## After Processing
66+
67+
Report summary:
68+
- How many images processed
69+
- How many updated
70+
71+
**Always suggest user review:** Recommend that the user review the images themselves to confirm alt text accuracy, as AI-generated descriptions may miss important nuances or context-specific details.

.claude/skills/docs-polish/SKILL.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
---
22
name: docs-polish
3-
description: Proofreads a single documentation page and improves clarity, readability, and word choice without changing meaning or reorganizing structure. Simplifies complex sentences, applies style guide standards, and converts passive voice to active voice. Use when the user wants to polish, improve language and clarity, make more readable, check style guide compliance, or clean up documentation while preserving its structure.
3+
description: Applies style guide standards to a documentation page without changing meaning or reorganizing structure. This includes fixing grammar, improving clarity and readability, simplifying complex sentences, using active voice, and standardizing terminology and formatting. Use when the user wants to polish, check style guide compliance, improve language, or clean up documentation while preserving its structure.
44
user-invocable: true
55
disable-model-invocation: false
66
---
77

8-
> **Skill progression:** This does everything `/docs-proofread` does plus clarity improvements and style guide enforcement. If only grammar and spelling fixes are needed, use `/docs-proofread`. For deeper reorganization, suggest `/docs-enhance`.
8+
> **Skill progression:** This does everything `/docs-proofread` does plus style guide enforcement including clarity improvements. If only grammar and spelling fixes are needed, use `/docs-proofread`. For deeper reorganization, suggest `/docs-enhance`. If missing alt text is found, suggest `/docs-alt-text`.
99
1010
Improve clarity and readability without changing meaning, structure, or paragraph order:
1111

1212
**docs-polish should**:
1313
* Read Mendix style guides first (in parallel): `grammar-formatting.md`, `terminology.md`, and `product-naming-guide.md` from `/content/en/docs/community-tools/contribute-to-mendix-docs/style-guide/`
1414
* Fix all spelling, grammar, and punctuation errors
15-
* Add missing alt text to images (use simple, factual descriptions)
15+
* Check all figure shortcodes for missing alt text. If the alt text parameter is missing, insert `alt=""` as a placeholder.
1616
* Ensure required front matter fields are present (title, url, description) and make descriptions concise and action-oriented
1717
* Fix broken Markdown syntax
1818
* Fix capitalization and terminology inconsistencies
@@ -24,10 +24,15 @@ Improve clarity and readability without changing meaning, structure, or paragrap
2424
* Apply Mendix style guide standards (overrides the Microsoft Writing Style Guide)
2525
* Apply Microsoft Writing Style Guide standards, unless they conflict with the Mendix style guide standards
2626

27+
**After completing edits**:
28+
* Report what was changed in a concise summary
29+
* If any images were found with missing or empty alt text, state "I found [N] image(s) with missing alt text. Consider running `/docs-alt-text` to generate alt text."
30+
2731
**docs-polish should NOT**:
2832
* Move paragraphs or restructure sections (that's `/docs-enhance`)
2933
* Change technical meaning or accuracy
3034
* Significantly increase document length
35+
* Generate alt text for images
3136
* Change command syntax, code identifiers, variable names, placeholders, or any other text that appears in code formatting (inline backticks or code blocks). Code-formatted text represents literal technical content that must remain unchanged. If you notice an issue with code-formatted text, flag it in the chat but don't edit it directly.
3237

3338
Every edit should serve a clear purpose in making the text easier to read, scan, and understand.

CLAUDE.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ Before creating a new file, use Glob to explore the directory structure and unde
8181
* **Headings** – H1 is generated from the front‑matter title. Subsequent headings increment by one level at a time. Don't use bold or italics as a replacement for headings. Use title case. Never start headings with numerals.
8282
* **Lists and tables** – Bullet lists use asterisks; ordered lists use numbers followed by a period. If there are more than three data points per item, use a table instead. Use the same syntax and structure for all list items in a given list. Use complete sentences to introduce lists and tables, not partial sentences completed with the list items.
8383
* **Indentation** – Four spaces for sub-lists and nested content. Alerts in lists are an exception: don't indent alert lines but do omit preceding blank line.
84-
* **Links**Use absolute paths starting with a leading slash (`/deployment/`). Use descriptive link text such as the page title, not "click here". To link to a heading, add an anchor ID (`{#anchor-id}`) next to the heading and use that ID in the URL (for example, `[Section title](/path/to/page#anchor-id)` to link to a heading in another page or `[Section title](#anchor-id)` to link to a heading in the same page).
84+
* **Links**Link using the target page's `url` front matter field, not its file system path (e.g., `/deployment/` from front matter, not `content/en/docs/deployment/_index.md`). Use descriptive link text such as the page title, not "click here". To link to a heading, add an anchor ID (`{#anchor-id}`) next to the heading and use that ID in the URL (for example, `[Prerequisites](/deployment/mendix-cloud/#prerequisites)` to link to a heading in another page or `[Prerequisites](#prerequisites)` to link to a heading in the same page).
8585
* **Images** – Always include `alt` text (or `alt=""` if decorative). Use W3C guidelines. Reference images with the `figure` shortcode.
8686
* **Code** – Use fenced code blocks with language specifier. Do not modify text that appears in code formatting (inline backticks or code blocks), even to fix apparent inconsistencies or apply naming conventions.
8787

@@ -105,18 +105,18 @@ Call tools in parallel for independent operations (reading multiple files, multi
105105

106106
### Tool Selection
107107

108+
* **Helper Scripts**
109+
* For URL resolution, use `bash .claude/scripts/resolve-doc-url.sh` instead of spawning agents. This resolves documentation URLs (e.g., `/community-tools/contribute-to-mendix-docs/`) to their source Markdown files and ensures Grep uses efficient flags consistently.
108110
* **Read** – Use to view specific files you know the path to
109111
* **Edit** – Use to modify existing files with targeted changes
110112
* **Glob** – Use to find files by pattern (e.g., `*.md`, `**/*config*`)
111113
* **Grep** – Use to search file contents for specific text or patterns
112114
* **Write** – Use only for creating new files (prefer Edit for existing files)
113-
* **Helper Scripts** – Use `.claude/scripts/resolve-doc-url.sh` to resolve documentation URLs (e.g., `/path/to/page/`) to their source markdown files. This is faster and more token-efficient than using Grep to search front matter.
114115

115116
### Cross-Reference Verification
116117

117118
When following or verifying documentation links:
118-
* Use `.claude/scripts/resolve-doc-url.sh "/path/to/page/"` to quickly find the source file for a URL
119-
* This is more efficient than Grep for URL-to-file lookups
119+
* Use `bash .claude/scripts/resolve-doc-url.sh "/url/path/"` to quickly find the source file for a URL
120120

121121
When modifying URLs or anchor IDs:
122122
1. Use Grep to search for the old URL/anchor across all documentation files

branch-cleanup-timestamp.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Last scan for stale merged branches: 2026-04-02 00:41:32 CEST (UTC+02:00)
1+
Last scan for stale merged branches: 2026-05-02 00:53:35 CEST (UTC+02:00)
Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,36 @@
11
---
22
title: "Packaging Your Extension"
3-
url: /apidocs-mxsdk/apidocs/extensibility-api-11/packaging-your-extension
3+
url: /apidocs-mxsdk/apidocs/extensibility-api-11/packaging-your-extension/
44
weight: 30
5+
description: "Explains how to package extensions into add-on modules and publish them to the Mendix Marketplace."
56
---
67

78
# Packaging Your Extension
89

9-
After completing development on your extension, you can package it into an add-on module so others can use it. Once packaged, the module can be published to the Mendix Marketplace, allowing other users to download it into their Studio Pro apps.
10+
After you complete development on your extension, you can package it into an add-on module so others can use it. You can then publish the module to the Mendix Marketplace so other users can download it into their apps.
1011

11-
To package your extension, follow the steps below:
12+
To package your extension, follow these steps:
1213

13-
1. Make sure you have enabled the [Extension Development](/refguide/preferences-dialog/#extension-development) setting in your app's Preferences. Alternatively, you can start Studio Pro with the `--enable-extension-development` command-line option.
14-
2. In your Studio Pro app, create a new module and include your development extension.
15-
3. Give the module a name.
16-
4. Open the module's settings and in the **Export** tab, choose **Add-on module**.
17-
5. In the **Extension name** drop-down, select the extension you want to package into it.
14+
1. Verify that you have enabled the [Extension Development](/refguide/preferences-dialog/#extension-development) setting in your app's **Preferences**. Alternatively, start Studio Pro with the `--enable-extension-development` command-line option.
15+
2. In your app, create a new module and include your development extension.
16+
3. Name the module.
17+
4. Open the module's settings and on the **Export** tab, select **Add-on module**.
18+
5. In the **Extension name** list, select the extension you want to package.
1819

19-
![Extension Add-on Module](/attachments/apidocs-mxsdk/apidocs/extensibility-api/extensionAddOnModule.png)
20+
{{< figure src="/attachments/apidocs-mxsdk/apidocs/extensibility-api/extensionAddOnModule.png" alt="Extension settings showing Add-on module selected with Extension name dropdown" width="400" >}}
2021

21-
After you have created your add-on module with its extension, you can export it by right-clicking the module in the **App Explorer** and selecting **Export add-on module package**.
22+
After you create your add-on module with its extension, export it by right-clicking the module in the **App Explorer** and selecting **Export add-on module package**.
2223

23-
![Export Module](/attachments/apidocs-mxsdk/apidocs/extensibility-api/exportAddOnModule.png)
24+
{{< figure src="/attachments/apidocs-mxsdk/apidocs/extensibility-api/exportAddOnModule.png" width="400" >}}
2425

2526
You can now save the add-on module to a location of your choice.
2627

2728
# Importing the Extension Add-on Module
2829

29-
When the add-on module is available to a Studio Pro user, they are now able to add it in their application. This is done by right-clicking the app in the **App Explorer** and selecting **Import module package**.
30+
When the add-on module is available to a Studio Pro user, they can add to their app. This is done by right-clicking the app in the **App Explorer** and selecting **Import module package**.
3031

31-
![Import Module](/attachments/apidocs-mxsdk/apidocs/extensibility-api/importAddOnModule.png)
32+
{{< figure src="/attachments/apidocs-mxsdk/apidocs/extensibility-api/importAddOnModule.png" width="400" >}}
3233

33-
When an add-on module containing an extension is imported in the app, Studio Pro will show a warning to the user, asking to trust the extension contained in it. If the user does not choose to trust, the module will still be imported but the extension inside it will not be loaded.
34+
When an add-on module containing an extension is imported in the app, Studio Pro displays a warning to the user, asking to trust the extension contained in it. If the user does not choose to trust the extension, the module is still imported but the extension inside it will not be loaded.
3435

35-
![Trust Extension](/attachments/apidocs-mxsdk/apidocs/extensibility-api/trustExtension.png)
36+
{{< figure src="/attachments/apidocs-mxsdk/apidocs/extensibility-api/trustExtension.png" width="400" >}}

content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ For detailed information on how to get started with extensions, see [Get Started
3535

3636
## How-tos
3737

38-
Below is a list of how-tos for you to begin with:
38+
The following how-tos help you get started:
3939

4040
* [How Menus Work](/apidocs-mxsdk/apidocs/web-extensibility-api-11/menu/)
4141
* [How to Create a Dockable Pane](/apidocs-mxsdk/apidocs/web-extensibility-api-11/dockable-pane-api/)

0 commit comments

Comments
 (0)