Skip to content

feat: add webui-dev skill for webui app development#85

Merged
mohamedmansour merged 1 commit intomainfrom
feat/webui-dev-skill
Mar 8, 2026
Merged

feat: add webui-dev skill for webui app development#85
mohamedmansour merged 1 commit intomainfrom
feat/webui-dev-skill

Conversation

@mohamedmansour
Copy link
Copy Markdown
Contributor

Add .github/skills/webui-dev/SKILL.md documenting the full workflow for building interactive WebUI example apps with FAST-HTML hydration.

Covers:

  • Project structure (package.json, tsconfig.json, directory layout)
  • Template syntax: signal interpolation ({{}}), raw interpolation ({{{)}}), loop rendering (), conditional rendering (), boolean attributes (?attr), and complex pass-through attributes (:attr)
  • FAST-HTML component patterns: RenderableFASTElement mixin, @attr and @observable decorators, prepare() hydration hook, defineAsync registration
  • Event handling: @event template bindings, () for child-to-parent custom events, f-ref template refs for direct DOM access
  • Hydration bootstrap: TemplateElement.options() configuration with observerMap, performance marks, and f-template activation
  • State management via data/state.json for SSR
  • CSS design tokens with :root custom properties and var() token hoisting
  • Dev workflow: cargo xtask dev, esbuild bundling, webui build --plugin=fast
  • Key gotcha: wrapper is optional — only needed when attaching root-level @event bindings

Add .github/skills/webui-dev/SKILL.md documenting the full workflow for
building interactive WebUI example apps with FAST-HTML hydration.

Covers:
- Project structure (package.json, tsconfig.json, directory layout)
- Template syntax: signal interpolation ({{}}), raw interpolation ({{{)}}),
  loop rendering (<for>), conditional rendering (<if>), boolean attributes
  (?attr), and complex pass-through attributes (:attr)
- FAST-HTML component patterns: RenderableFASTElement mixin, @attr and
  @observable decorators, prepare() hydration hook, defineAsync registration
- Event handling: @event template bindings, \() for child-to-parent
  custom events, f-ref template refs for direct DOM access
- Hydration bootstrap: TemplateElement.options() configuration with
  observerMap, performance marks, and f-template activation
- State management via data/state.json for SSR
- CSS design tokens with :root custom properties and var() token hoisting
- Dev workflow: cargo xtask dev, esbuild bundling, webui build --plugin=fast
- Key gotcha: <template shadowrootmode='open'> wrapper is optional —
  only needed when attaching root-level @event bindings
@mohamedmansour mohamedmansour requested review from a team, akroshg and janechu March 8, 2026 07:22
@mohamedmansour mohamedmansour merged commit eacc47d into main Mar 8, 2026
11 checks passed
@mohamedmansour mohamedmansour deleted the feat/webui-dev-skill branch March 8, 2026 18:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants