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
Copy file name to clipboardExpand all lines: .claude/skills/gum-cli/SKILL.md
+6-2Lines changed: 6 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
name: gum-cli
3
-
description: Reference guide for GumCli — the headless command-line tool for Gum projects. Load this when working on gumcli commands (new, check, codegen, codegen-init), Gum.ProjectServices, HeadlessErrorChecker, ProjectLoader, HeadlessCodeGenerationService, CodeGenerationAutoSetupService, or the FormsTemplateCreator.
3
+
description: Reference guide for GumCli — the headless command-line tool for Gum projects. Load this when working on gumcli commands (new, check, codegen, codegen-init, fonts, screenshot, svg), Gum.ProjectServices, HeadlessErrorChecker, ProjectLoader, HeadlessCodeGenerationService, CodeGenerationAutoSetupService, or the FormsTemplateCreator.
4
4
---
5
5
6
6
# GumCli Reference
@@ -21,6 +21,8 @@ description: Reference guide for GumCli — the headless command-line tool for G
|`gumcli codegen-init <project.gumx> [--force] [--csproj <path>]`| Auto-detect `.csproj`, derive namespace and output library, write `ProjectCodeSettings.codsj`. Use `--csproj` when the Gum project is not inside the MonoGame project directory. |
|`gumcli screenshot <project.gumx> <element> [--output] [--width] [--height]`| Render a Screen or Component to a PNG via MonoGame DesktopGL. Pixel-accurate; cross-platform. |
25
+
|`gumcli svg <project.gumx> <element> [--output] [--width] [--height]`| Render a Screen or Component to a vector SVG via SkiaGum's `SKSvgCanvas`. Bitmaps embed as base64. |
24
26
25
27
**Exit codes:** 0 = success, 1 = errors found / generation blocked, 2 = load failure, bad args, or non-Windows (fonts).
Renders a Gum Screen or Component to a PNG file. The element is laid out and drawn using the same MonoGame (DesktopGL) backend a shipped game would use, so the output is pixel-accurate and suitable for visual regression testing, documentation screenshots, or asset pipelines.
8
+
9
+
## Arguments
10
+
11
+
-`<project.gumx>` — Path to the `.gumx` project file.
12
+
-`<element>` — Name of the Screen or Component to render (for example, `MainMenu` or `Controls/Button`).
13
+
14
+
## Options
15
+
16
+
-`--output` — Path for the output PNG file. Defaults to `<element>.png` in the current directory.
17
+
-`--width` — Width of the output image in pixels. Defaults to the project canvas width.
18
+
-`--height` — Height of the output image in pixels. Defaults to the project canvas height.
- Works cross-platform — uses DesktopGL, not a Windows-specific rendering path.
37
+
- Any fonts referenced by the element must already exist in the project's `FontCache/` folder. Run [`gumcli fonts`](fonts.md) first if fonts are missing.
38
+
- Bitmap content (sprites, nine-slices, text) is rasterized into the PNG at the requested resolution.
39
+
40
+
## Exit Codes
41
+
42
+
| Code | Meaning |
43
+
|------|---------|
44
+
| 0 | Screenshot written successfully |
45
+
| 1 | Rendering failed (for example, the named element does not exist) |
Renders a Gum Screen or Component to a vector SVG file. Useful when you need scalable output for documentation, print, or design tooling rather than a fixed-resolution bitmap.
8
+
9
+
## Arguments
10
+
11
+
-`<project.gumx>` — Path to the `.gumx` project file.
12
+
-`<element>` — Name of the Screen or Component to render.
13
+
14
+
## Options
15
+
16
+
-`--output` — Path for the output SVG file. Defaults to `<element>.svg` in the current directory.
17
+
-`--width` — Width of the output SVG in pixels. Defaults to the project canvas width.
18
+
-`--height` — Height of the output SVG in pixels. Defaults to the project canvas height.
- Uses SkiaGum's `SKSvgCanvas` to produce the SVG, so shapes and text are emitted as vector elements.
37
+
- Bitmap content (sprites, textures) is embedded as base64-encoded images inside the SVG. The file is self-contained but can be significantly larger than the equivalent PNG when the element contains many bitmaps.
38
+
- If you need a rasterized PNG instead, use [`gumcli screenshot`](screenshot.md).
39
+
40
+
## Exit Codes
41
+
42
+
| Code | Meaning |
43
+
|------|---------|
44
+
| 0 | SVG written successfully |
45
+
| 1 | Export failed (for example, the named element does not exist) |
0 commit comments