@enfyra/mcp-server 0.0.115 → 0.0.116
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
package/src/lib/mcp-examples.js
CHANGED
|
@@ -1548,6 +1548,7 @@ ensure_page_extension({
|
|
|
1548
1548
|
'The extension root is already inside Enfyra admin page main; do not add root-level page padding.',
|
|
1549
1549
|
'Use existing eApp theme variables for panels, rows, badges, borders, controls, radius, and text. Pair border/divide utilities with border-[var(--border-default)] or divide-[var(--border-default)] so light and dark themes stay consistent.',
|
|
1550
1550
|
'Treat primary color as runtime-configurable by the app color picker. For Nuxt UI components, choose color="primary" by semantic intent. For custom extension UI, decide whether each element is neutral surface, runtime-primary identity, or status: regular panels/KPI cards/list rows use surface-card/surface-muted or --card-* tokens, while selected/current identity blocks, primary tiles, progress fills, primary icons, and primary CTA fills use eapp-identity-surface, eapp-identity-soft, eapp-identity-solid, or eapp-identity-text so the color picker controls them.',
|
|
1551
|
+
'Decision cases: normal decorative accents, feature icons, non-state tiles, active tabs, progress fills, selected segments, and primary actions use runtime primary/identity classes; true semantic states use their matching status colors such as error, warning, success, or info; large ordinary surfaces stay neutral and carry only small badges/icons for status; selected/current entity blocks may use eapp-identity-surface.',
|
|
1551
1552
|
'Pattern examples: KPI/metric cards should be surface-card with a small eapp-identity-soft icon tile; selected/current entity cards may use eapp-identity-surface; progress bars use bg-[var(--surface-muted)] tracks plus eapp-identity-solid fills; list rows use neutral surfaces/dividers and only small chips inside; primary scope actions use UButton color="primary" variant="solid"; secondary actions use neutral variants.',
|
|
1552
1553
|
'Status colors belong only in UBadge/token-backed badges, small icons, or short status text. Do not color large panels, alert-like success blocks, KPI cards, list containers, or attention/reconciliation blocks green/yellow/red because of state; keep the block neutral and place the status badge/icon inside.',
|
|
1553
1554
|
'Use PageHeader gradient: "none" for generated operational pages unless the user explicitly asks for a decorative page accent; do not hardcode cyan/violet/purple/blue/green gradients.',
|
|
@@ -316,6 +316,32 @@ function getExtensionThemeContract() {
|
|
|
316
316
|
'Status colors must remain readable in both themes and must stay scoped to badges, small icons, or short status text. Use UBadge or badge tokens for non-primary statuses such as --badge-success-soft-*, --badge-warning-soft-*, --badge-danger-soft-*, --badge-info-soft-*, and --badge-neutral-soft-* instead of neon translucent colors. Do not color large panels, alert-like success blocks, KPI cards, list containers, or reconciliation/attention blocks green/yellow/red because the status is good/warning/error; use neutral app surfaces for the block and place a small status badge/icon inside.',
|
|
317
317
|
'Keep dark and light contrast comparable. Do not make dark mode more neon or lower-contrast than light mode; prefer muted soft backgrounds with clear text and visible borders.',
|
|
318
318
|
],
|
|
319
|
+
decisionCases: [
|
|
320
|
+
{
|
|
321
|
+
intent: 'Normal accent, decorative icon, feature icon, non-state tile, active tab fill, progress fill, selected segment, primary metric accent, or primary action.',
|
|
322
|
+
colorContract: 'Use runtime primary so the app color picker controls the color.',
|
|
323
|
+
use: 'UButton/UBadge color="primary", eapp-identity-soft, eapp-identity-solid, eapp-identity-text, or eapp-identity-surface when the whole block is selected/current identity.',
|
|
324
|
+
avoid: 'Do not pick cyan, purple, green, amber, secondary, or concrete Tailwind palettes just because they look good.',
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
intent: 'True semantic state: error, danger, destructive, warning, pending attention, success, healthy, running, failed, info, or notice.',
|
|
328
|
+
colorContract: 'Use the matching state/status color because the color communicates meaning, not brand identity.',
|
|
329
|
+
use: 'UAlert/UBadge color="error|warning|success|info|neutral", state/badge tokens such as --badge-success-soft-*, or error/warning/info/success utilities that are already backed by app tokens.',
|
|
330
|
+
avoid: 'Do not force semantic state UI to primary; an error must stay error, a warning must stay warning, success can stay success when it is a badge/icon/short status.',
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
intent: 'Large ordinary surface: KPI card, list container, table panel, detail panel, summary block, empty state panel, reconciliation block, or attention block.',
|
|
334
|
+
colorContract: 'Use neutral app surfaces first; large surfaces should not become state-colored or arbitrary accent-colored.',
|
|
335
|
+
use: 'surface-card, surface-card-hover, surface-muted, bg-[var(--card-bg)], border-[var(--card-border)], divide-[var(--border-default)], and text tokens.',
|
|
336
|
+
avoid: 'Do not color large blocks green/yellow/red because their content says healthy/warning/error; place a status badge/icon inside the neutral block instead.',
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
intent: 'Selected/current entity or user-selected option where the whole block is the active identity.',
|
|
340
|
+
colorContract: 'Use runtime primary identity surface, but subtly.',
|
|
341
|
+
use: 'eapp-identity-surface plus optional eapp-identity-surface-hover; eapp-identity-soft/text for the icon or chip inside.',
|
|
342
|
+
avoid: 'Do not use eapp-identity-surface for every card in a grid/list or as a broad page background.',
|
|
343
|
+
},
|
|
344
|
+
],
|
|
319
345
|
components: [
|
|
320
346
|
'Use Nuxt UI/eApp components for normal controls: UButton, UInput, UTextarea, USelectMenu/USelect, USwitch, UCheckbox, UTabs, UBadge, UModal, and CommonDrawer when available.',
|
|
321
347
|
'Buttons should have stable geometry: hover may change color, border, or shadow but must not move the button or resize its content. Disabled buttons keep disabled cursor/visual state.',
|