lit-migration

Migrate Tyler Forge components from legacy four-file patterns to Lit-based implementations.

68|37|Updated Apr 12, 2022
One-click install
npx skills add https://github.com/tyler-technologies-oss/forge --skill lit-migration
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: lit-migration
Source: https://github.com/tyler-technologies-oss/forge/tree/main/.claude/skills/lit-migration
Command: npx skills add https://github.com/tyler-technologies-oss/forge --skill lit-migration

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Migrates Tyler Forge components from a legacy component/core/adapter/template setup to modern Lit-based components, reducing boilerplate and improving long-term maintainability.

Core Features & Use Cases

  • Supports end-to-end migration, consolidating logic into a single Lit-based component, converting properties, events, templates, and styles while preserving public APIs.
  • Guides migration of components from the legacy four-file pattern to a declarative Lit architecture, including property reflection, attribute mapping, and lifecycle changes.
  • Provides references, patterns, and best practices (forms, controllers, private fields, and reactive state) to ensure accessible and robust components.

Quick Start

Initiate the migration by refactoring a legacy component into a single Lit component, update properties to @property, replace template rendering with render(), and run tests to verify parity.

Frequently Asked Questions about lit-migration

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

FAQPage Schema
How do I migrate Tyler Forge components to Lit from a legacy architecture?

Migrating Tyler Forge components to Lit consolidates the legacy four-file pattern and BaseComponent structures into a single Lit-based component, converting properties to @property, replacing template rendering with render(), and simplifying lifecycles while preserving public APIs.

What is the best way to convert legacy web component properties and templates to Lit?

Converting legacy web component properties and templates to Lit involves refactoring properties to @property decorators, replacing imperative template rendering with declarative render() methods, and applying phase-based migration guidelines to ensure attribute mapping and property reflection.

Can I use Lit controllers and ElementInternals when migrating from the four-file pattern?

Lit controllers and ElementInternals are fully supported during migration from the four-file pattern, enabling robust forms integration, reactive state management, and controller patterns within the newly consolidated Lit-based component architecture.

Does migrating to Lit require updating the component lifecycle and public API?

Migrating to Lit simplifies the component lifecycle by moving away from BaseComponent-based structures, but it intentionally preserves the existing public API to ensure compatibility and parity throughout the transition.

What are the limitations of migrating frontend components to Lit with this approach?

Migrating frontend components to Lit requires strict adherence to phase-based migration guidelines to avoid breaking public APIs, and limitations arise if components rely heavily on non-standard adapter patterns outside the legacy four-file structure.

Why does Lit migration consolidate component logic into a single file?

Lit migration consolidates component logic into a single file to reduce boilerplate from the legacy component/core/adapter/template setup, improving long-term maintainability through declarative templates and reactive properties.