refactor: MCP server to address issues and updates to UI Frameworks#563
refactor: MCP server to address issues and updates to UI Frameworks#563
Conversation
# BREAKING: These component metadata fields are no longer needed as Ignite UI for Angular now renders all floating elements in compound components under the host root using the Popover API. Themes can now be scoped under the parent selector alone.
…ypo recovery Replace naive substring matching in searchComponents with a ranked, token-based search engine that handles order-independent queries (e.g. "linear progress" → progress-linear), framework prefix normalization (igx-/igc-), explicit synonym aliases (toggle → switch), and single-character typo recovery via bounded Levenshtein distance. - Extract search logic into reusable component-search.ts module - Add optional aliases field to ComponentMetadata for true synonyms - Seed aliases for ~15 components (dialog, navdrawer, progress-*, etc.) - Add dedicated unit tests for the search engine in isolation Closes #538
…ports LLM agents sometimes place @use rules mid-file when combining Sass outputs from multiple tool calls, breaking compilation. Add three layers of guidance to prevent this: - Inline comment above @use lines in all generated Sass output - Assembly note after each Sass code block in handler response text - SASS FILE PLACEMENT section in all Sass-generating tool descriptions Centralise guidance text in utils/sass.ts (constants) and descriptions.ts (FRAGMENTS.SASS_FILE_PLACEMENT) for single-source maintenance. Closes #539
…ier hierarchy - Introduce primary tokens (actionable) vs. refinement tokens (reference) for composed components - Primary tokens shown prominently with 'use only these' instruction - Refinement tokens rendered as compact name list with 'reference only' guidance - Update get_component_design_tokens handler to support two-tier format for composed components - Add warning to create_component_theme when non-primary tokens used on composed components - Update tool descriptions with composed vs. standard compound guidance - Update test expectations for new unified output format - Archive completed OpenSpec change for improved composed theme guidance - Remove obsolete .opencode directory
|
@didimmova I hope you will have time to test this next week. I'll be able to release a version as soon as you're done. This PR is related to both the overlay changes in Angular as well as the grid theming simplification you're introducing. |
|
After following the issues description, I've created an external angular project that uses the igniteui-angular and the final result was: Regarding #534: it has successfully created a list-theme when I asked it to create a custom theme for the list-items. The only problem was that it used the Regarding #538: it successfully recognised what I'm asking for, when I promted to create a custom theme for the linear-progress. Regarding #539: along all the requests, it didn't happen to me to place the Regarding #540: There were several issues regarding the mixin it used to include the themes, at first it tried including the themes like so: after which I asked why did it use the component theme mixins, after which it switched to the I tried creating a date-range-picker theme as well and it returned this: The calendar theme was not applying at all like so, after I told him that it's not, it switched to: After which I asked him to move the theme in the styles.scss file and it went like: after which I asked him why he’s not using the tokens mixin and it switched to Regarding #545: It has successfully created tokens for the All of the tested prompts above were in an external angular project, using the agent to create the components as well as custom themes for them, which led to setting the custom themes in the I also tried creating a grid-theme in the angular dev demos in the branch with the grid theme builder changes and it did not create a grid-theme with just the |
I think these tests should also include the model, the thinking level, the provider and if any quantization is used. |
|
@simeonoff, I used Claude Sonnet 1.6 via Copilot in VS Code with default settings |
Closes #534
Closes #538
Closes #539
Closes #540
Closes #545