gum-tool-import-from-gumx

Imports components, screens, behaviors, and standards from external .gumx projects into the current Gum project.

614|78|Updated Mar 11, 2015
One-click install
npx skills add https://github.com/vchelaru/Gum --skill gum-tool-import-from-gumx
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: gum-tool-import-from-gumx
Source: https://github.com/vchelaru/Gum/tree/main/.claude/skills/gum-tool-import-from-gumx
Command: npx skills add https://github.com/vchelaru/Gum --skill gum-tool-import-from-gumx

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Moving UI elements between Gum projects normally requires manual copying and dependency tracking. This Skill documents the "Import from .gumx" dialog, which lets developers pick a source .gumx file (local path or URL), preview its Components, Screens, Behaviors, and Standards in a checkbox TreeView, and import a selected subset with transitive dependencies resolved automatically.

Core Features & Use Cases

  • Cross-project import with dependency resolution: GumxDependencyResolver computes transitive component dependencies and flags Standards that differ from the destination project, including variable-level diffs.
  • TreeView preview with inclusion state tracking: ImportTreeNodeViewModel manages checkbox cascade, auto-added items, and user-explicit selections across recompute passes.
  • Variable-level Standard diff rendering: Flagged Standard rows show a "Details..." hyperlink opening a read-only modal with per-variable Added/Removed/Changed summaries.
  • Use Case: A developer wants to reuse a Button component from another team's Gum project. They open Content → Import → ".gumx…", point at the source file, check the Button, and the resolver automatically pulls in its dependent components and differing standards.

Quick Start

Ask the AI to explain or modify the Import from .gumx dialog, such as how transitive dependency resolution works in GumxDependencyResolver or how to add a new column to the import TreeView.

Frequently Asked Questions about gum-tool-import-from-gumx

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I import components from another Gum project?

Use the Content → Import → ".gumx…" menu in the Gum tool to open the import dialog. Pick a source .gumx file by local path or URL, check the Components, Screens, Behaviors, or Standards you want in the TreeView, and confirm to import them into the open project.

How does transitive dependency resolution work in the Gum import dialog?

GumxDependencyResolver.ComputeTransitive walks the selected elements and returns a DependencySet of transitive components, behaviors, and differing standards. Auto-added items are marked in the tree, and standards matching the destination are excluded entirely.

Can the Gum import dialog load a .gumx file from a URL?

Yes, GumxSourceService loads the source .gumx from either a local file path or a URL. The loaded project is then previewed in the dialog's checkbox TreeView before any import occurs.

Why do my checked behaviors get unchecked when the import tree recomputes?

RecomputeTransitiveDependencies wipes and rebuilds behavior and standard groups from resolver output. The fix in #2642 preserves user-explicit behavior and standard names across recompute passes, and event handlers must be detached before mutating InclusionState.

How do I test the Gum import dialog ViewModel without WPF?

ImportTreeNodeViewModel lives in the headless net8.0 Gum.ProjectServices assembly, so its checkbox cascade and IsDetailsButtonVisible logic are unit-testable without WPF. ImportFromGumxViewModelTests uses InitializeFromProjectForTesting with a FakeProjectState to seed source and destination projects.