@fluentcommerce/ai-skills 0.1.0 → 0.3.0

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.

Potentially problematic release.


This version of @fluentcommerce/ai-skills might be problematic. Click here for more details.

Files changed (168) hide show
  1. package/README.md +866 -622
  2. package/bin/cli.mjs +2112 -1973
  3. package/content/cli/agents/fluent-cli/agent.json +149 -149
  4. package/content/cli/agents/fluent-cli.md +132 -132
  5. package/content/cli/skills/fluent-bootstrap/SKILL.md +214 -181
  6. package/content/cli/skills/fluent-cli-index/SKILL.md +1 -1
  7. package/content/cli/skills/fluent-cli-mcp-cicd/SKILL.md +117 -1
  8. package/content/cli/skills/fluent-cli-reference/SKILL.md +1040 -1031
  9. package/content/cli/skills/fluent-cli-retailer/SKILL.md +27 -2
  10. package/content/cli/skills/fluent-cli-settings/SKILL.md +21 -1
  11. package/content/cli/skills/fluent-connect/SKILL.md +937 -886
  12. package/content/cli/skills/fluent-module-deploy/SKILL.md +63 -5
  13. package/content/cli/skills/fluent-profile/SKILL.md +73 -0
  14. package/content/cli/skills/fluent-workflow/SKILL.md +360 -310
  15. package/content/dev/agents/fluent-backend-dev/AGENT.md +58 -0
  16. package/content/dev/agents/fluent-backend-dev/agent.json +69 -0
  17. package/content/dev/agents/fluent-backend-dev.md +287 -0
  18. package/content/dev/agents/fluent-dev/AGENT.md +98 -0
  19. package/content/dev/agents/fluent-dev/agent.json +14 -2
  20. package/content/dev/agents/fluent-dev.md +194 -525
  21. package/content/dev/agents/fluent-frontend-dev/AGENT.md +63 -0
  22. package/content/dev/agents/fluent-frontend-dev/agent.json +52 -0
  23. package/content/dev/agents/fluent-frontend-dev.md +323 -0
  24. package/content/dev/skills/fluent-archive/SKILL.md +234 -0
  25. package/content/dev/skills/fluent-build/SKILL.md +312 -192
  26. package/content/dev/skills/fluent-connection-analysis/SKILL.md +422 -386
  27. package/content/dev/skills/fluent-custom-code/SKILL.md +15 -9
  28. package/content/dev/skills/fluent-data-module-scaffold/SKILL.md +19 -2
  29. package/content/dev/skills/fluent-e2e-test/SKILL.md +501 -394
  30. package/content/dev/skills/fluent-event-api/SKILL.md +962 -945
  31. package/content/dev/skills/fluent-feature-explain/SKILL.md +680 -603
  32. package/content/dev/skills/fluent-feature-plan/PLAN_TEMPLATE.md +27 -2
  33. package/content/dev/skills/fluent-feature-plan/SKILL.md +478 -227
  34. package/content/dev/skills/fluent-feature-status/SKILL.md +335 -0
  35. package/content/dev/skills/fluent-feedback/SKILL.md +221 -0
  36. package/content/dev/skills/fluent-implementation-map/SKILL.md +644 -0
  37. package/content/dev/skills/fluent-job-batch/SKILL.md +10 -0
  38. package/content/dev/skills/fluent-module-scaffold/SKILL.md +64 -2
  39. package/content/dev/skills/fluent-module-validate/SKILL.md +778 -775
  40. package/content/dev/skills/fluent-mystique-analyze/SKILL.md +817 -0
  41. package/content/dev/skills/fluent-mystique-builder/COMPONENT_TEMPLATE.md +81 -0
  42. package/content/dev/skills/fluent-mystique-builder/README.md +63 -0
  43. package/content/dev/skills/fluent-mystique-builder/SKILL.md +1294 -0
  44. package/content/dev/skills/fluent-mystique-builder/components/INDEX.md +92 -0
  45. package/content/dev/skills/fluent-mystique-builder/components/fc.accordion.md +48 -0
  46. package/content/dev/skills/fluent-mystique-builder/components/fc.action.field.fulfilmentpack.md +20 -0
  47. package/content/dev/skills/fluent-mystique-builder/components/fc.action.field.multiparcel.md +21 -0
  48. package/content/dev/skills/fluent-mystique-builder/components/fc.action.field.returnitems.md +21 -0
  49. package/content/dev/skills/fluent-mystique-builder/components/fc.action.field.wavepick.md +21 -0
  50. package/content/dev/skills/fluent-mystique-builder/components/fc.action.inline.md +24 -0
  51. package/content/dev/skills/fluent-mystique-builder/components/fc.activity.entity.md +25 -0
  52. package/content/dev/skills/fluent-mystique-builder/components/fc.analytics.viz.md +20 -0
  53. package/content/dev/skills/fluent-mystique-builder/components/fc.attribute.column.md +111 -0
  54. package/content/dev/skills/fluent-mystique-builder/components/fc.attribute.json.md +20 -0
  55. package/content/dev/skills/fluent-mystique-builder/components/fc.attribute.jsoneditor.md +54 -0
  56. package/content/dev/skills/fluent-mystique-builder/components/fc.attribute.locationId.md +51 -0
  57. package/content/dev/skills/fluent-mystique-builder/components/fc.attribute.retailerId.md +52 -0
  58. package/content/dev/skills/fluent-mystique-builder/components/fc.button.bar.md +57 -0
  59. package/content/dev/skills/fluent-mystique-builder/components/fc.button.print.download.md +53 -0
  60. package/content/dev/skills/fluent-mystique-builder/components/fc.button.print.inline.compatibility.md +60 -0
  61. package/content/dev/skills/fluent-mystique-builder/components/fc.button.print.inline.md +53 -0
  62. package/content/dev/skills/fluent-mystique-builder/components/fc.button.print.md +24 -0
  63. package/content/dev/skills/fluent-mystique-builder/components/fc.button.print.pick.md +61 -0
  64. package/content/dev/skills/fluent-mystique-builder/components/fc.buttons.add.reject.md +20 -0
  65. package/content/dev/skills/fluent-mystique-builder/components/fc.card.attribute.md +73 -0
  66. package/content/dev/skills/fluent-mystique-builder/components/fc.card.attributes.grid.md +40 -0
  67. package/content/dev/skills/fluent-mystique-builder/components/fc.card.image.md +37 -0
  68. package/content/dev/skills/fluent-mystique-builder/components/fc.card.map.point.md +24 -0
  69. package/content/dev/skills/fluent-mystique-builder/components/fc.card.multi.md +79 -0
  70. package/content/dev/skills/fluent-mystique-builder/components/fc.card.product.md +27 -0
  71. package/content/dev/skills/fluent-mystique-builder/components/fc.chart.area.md +34 -0
  72. package/content/dev/skills/fluent-mystique-builder/components/fc.chart.area.wrapper.feed.md +98 -0
  73. package/content/dev/skills/fluent-mystique-builder/components/fc.chart.bar.md +52 -0
  74. package/content/dev/skills/fluent-mystique-builder/components/fc.chart.bar.wrapper.source.md +104 -0
  75. package/content/dev/skills/fluent-mystique-builder/components/fc.chart.gauge.md +28 -0
  76. package/content/dev/skills/fluent-mystique-builder/components/fc.chart.gauge.wrapper.threshold.md +118 -0
  77. package/content/dev/skills/fluent-mystique-builder/components/fc.chart.line.md +32 -0
  78. package/content/dev/skills/fluent-mystique-builder/components/fc.conditional.md +62 -0
  79. package/content/dev/skills/fluent-mystique-builder/components/fc.dashboard.threshold.md +65 -0
  80. package/content/dev/skills/fluent-mystique-builder/components/fc.daterange.wrapper.forwarder.md +56 -0
  81. package/content/dev/skills/fluent-mystique-builder/components/fc.drawer.button.md +21 -0
  82. package/content/dev/skills/fluent-mystique-builder/components/fc.event.detail.md +20 -0
  83. package/content/dev/skills/fluent-mystique-builder/components/fc.events.search.md +21 -0
  84. package/content/dev/skills/fluent-mystique-builder/components/fc.field.daterange.md +83 -0
  85. package/content/dev/skills/fluent-mystique-builder/components/fc.field.filterComplex.md +106 -0
  86. package/content/dev/skills/fluent-mystique-builder/components/fc.field.intrange.md +82 -0
  87. package/content/dev/skills/fluent-mystique-builder/components/fc.field.multistring.md +50 -0
  88. package/content/dev/skills/fluent-mystique-builder/components/fc.filterPanel.md +53 -0
  89. package/content/dev/skills/fluent-mystique-builder/components/fc.json.editor.md +22 -0
  90. package/content/dev/skills/fluent-mystique-builder/components/fc.json.viewer.md +21 -0
  91. package/content/dev/skills/fluent-mystique-builder/components/fc.list.customAction.md +79 -0
  92. package/content/dev/skills/fluent-mystique-builder/components/fc.list.md +116 -0
  93. package/content/dev/skills/fluent-mystique-builder/components/fc.list.wrapper.bppmetrics.md +69 -0
  94. package/content/dev/skills/fluent-mystique-builder/components/fc.list.wrapper.feed.md +65 -0
  95. package/content/dev/skills/fluent-mystique-builder/components/fc.list.wrapper.source.md +64 -0
  96. package/content/dev/skills/fluent-mystique-builder/components/fc.modal.button.addItem.md +60 -0
  97. package/content/dev/skills/fluent-mystique-builder/components/fc.modal.button.md +21 -0
  98. package/content/dev/skills/fluent-mystique-builder/components/fc.mutation.inline.md +88 -0
  99. package/content/dev/skills/fluent-mystique-builder/components/fc.mystique.collapsible.attributes.md +83 -0
  100. package/content/dev/skills/fluent-mystique-builder/components/fc.mystique.collapsible.text.md +33 -0
  101. package/content/dev/skills/fluent-mystique-builder/components/fc.mystique.link.md +30 -0
  102. package/content/dev/skills/fluent-mystique-builder/components/fc.order.itemDetails.md +20 -0
  103. package/content/dev/skills/fluent-mystique-builder/components/fc.order.shipmentDetails.md +20 -0
  104. package/content/dev/skills/fluent-mystique-builder/components/fc.page.filter.select.md +87 -0
  105. package/content/dev/skills/fluent-mystique-builder/components/fc.page.md +64 -0
  106. package/content/dev/skills/fluent-mystique-builder/components/fc.page.refresh.md +48 -0
  107. package/content/dev/skills/fluent-mystique-builder/components/fc.page.section.column.md +71 -0
  108. package/content/dev/skills/fluent-mystique-builder/components/fc.page.section.header.md +61 -0
  109. package/content/dev/skills/fluent-mystique-builder/components/fc.page.section.md +59 -0
  110. package/content/dev/skills/fluent-mystique-builder/components/fc.page.wizard.md +45 -0
  111. package/content/dev/skills/fluent-mystique-builder/components/fc.page.wizard.summary.md +56 -0
  112. package/content/dev/skills/fluent-mystique-builder/components/fc.progress.circular.md +20 -0
  113. package/content/dev/skills/fluent-mystique-builder/components/fc.provider.graphql.md +71 -0
  114. package/content/dev/skills/fluent-mystique-builder/components/fc.quantity.list.md +87 -0
  115. package/content/dev/skills/fluent-mystique-builder/components/fc.repeater.md +56 -0
  116. package/content/dev/skills/fluent-mystique-builder/components/fc.reports.ipuipc.md +54 -0
  117. package/content/dev/skills/fluent-mystique-builder/components/fc.return.rowExpansion.md +19 -0
  118. package/content/dev/skills/fluent-mystique-builder/components/fc.scanner.barcode.md +21 -0
  119. package/content/dev/skills/fluent-mystique-builder/components/fc.scanner.barcodeFilter.md +72 -0
  120. package/content/dev/skills/fluent-mystique-builder/components/fc.scanner.camera.md +20 -0
  121. package/content/dev/skills/fluent-mystique-builder/components/fc.settingForm.md +64 -0
  122. package/content/dev/skills/fluent-mystique-builder/components/fc.sourcing.profile.drawer.button.md +19 -0
  123. package/content/dev/skills/fluent-mystique-builder/components/fc.sourcing.profile.modal.button.md +64 -0
  124. package/content/dev/skills/fluent-mystique-builder/components/fc.sourcing.strategy.modal.button.md +20 -0
  125. package/content/dev/skills/fluent-mystique-builder/components/fc.stepper.md +20 -0
  126. package/content/dev/skills/fluent-mystique-builder/components/fc.tab.content.md +56 -0
  127. package/content/dev/skills/fluent-mystique-builder/components/fc.tabs.card.md +64 -0
  128. package/content/dev/skills/fluent-mystique-builder/components/fc.tabs.md +69 -0
  129. package/content/dev/skills/fluent-mystique-builder/components/fc.tile.metric.md +73 -0
  130. package/content/dev/skills/fluent-mystique-builder/components/fc.workflow.provider.md +77 -0
  131. package/content/dev/skills/fluent-mystique-builder/validate-docs.ps1 +260 -0
  132. package/content/dev/skills/fluent-mystique-scaffold/SKILL.md +1830 -0
  133. package/content/dev/skills/fluent-mystique-validate/SKILL.md +646 -0
  134. package/content/dev/skills/fluent-pre-deploy-check/SKILL.md +1144 -1108
  135. package/content/dev/skills/fluent-retailer-config/SKILL.md +1162 -1111
  136. package/content/dev/skills/fluent-rollback/SKILL.md +387 -0
  137. package/content/dev/skills/fluent-rule-scaffold/SKILL.md +515 -385
  138. package/content/dev/skills/fluent-scope-decompose/SKILL.md +1123 -1021
  139. package/content/dev/skills/fluent-session-audit-export/SKILL.md +880 -632
  140. package/content/dev/skills/fluent-session-summary/SKILL.md +320 -195
  141. package/content/dev/skills/fluent-settings/SKILL.md +160 -1
  142. package/content/dev/skills/fluent-source-onboard/SKILL.md +31 -3
  143. package/content/dev/skills/fluent-sourcing/SKILL.md +1185 -0
  144. package/content/dev/skills/fluent-system-monitoring/SKILL.md +771 -767
  145. package/content/dev/skills/fluent-test-data/SKILL.md +514 -513
  146. package/content/dev/skills/fluent-trace/SKILL.md +1169 -1143
  147. package/content/dev/skills/fluent-transition-api/SKILL.md +364 -346
  148. package/content/dev/skills/fluent-use-case-discover/SKILL.md +593 -0
  149. package/content/dev/skills/fluent-use-case-discover/SPEC_TEMPLATE.md +281 -0
  150. package/content/dev/skills/fluent-version-manage/SKILL.md +53 -2
  151. package/content/dev/skills/fluent-workflow-analyzer/SKILL.md +995 -959
  152. package/content/dev/skills/fluent-workflow-builder/SKILL.md +668 -319
  153. package/content/dev/skills/fluent-workflow-deploy/SKILL.md +480 -267
  154. package/content/dev/skills/fluent-workspace-tree/SKILL.md +281 -0
  155. package/content/mcp-extn/agents/fluent-mcp.md +133 -69
  156. package/content/mcp-extn/skills/fluent-mcp-tools/SKILL.md +812 -461
  157. package/content/mcp-official/agents/fluent-mcp-core.md +91 -91
  158. package/content/mcp-official/skills/fluent-mcp-core/SKILL.md +94 -94
  159. package/content/rfl/skills/fluent-rfl-assess/SKILL.md +172 -172
  160. package/docs/CAPABILITY_MAP.md +106 -77
  161. package/docs/DEPLOYMENT_PROMOTION_RUNBOOK.md +218 -0
  162. package/docs/DESIGN-implementation-map.md +698 -0
  163. package/docs/DEV_WORKFLOW.md +814 -802
  164. package/docs/FLOW_RUN.md +142 -142
  165. package/docs/GETTING_STARTED.md +427 -0
  166. package/docs/USE_CASES.md +909 -52
  167. package/metadata.json +184 -156
  168. package/package.json +3 -2
@@ -0,0 +1,53 @@
1
+ ---
2
+ alias: "fc.button.print.download"
3
+ aliases:
4
+ - fc.button.print.download
5
+ category: action
6
+ module: Core
7
+ ---
8
+ # fc.button.print.download
9
+
10
+ File download button that fetches authenticated HTML documents from Fluent APIs and presents them for download, print preview, or new-tab viewing. Used for pack slips and other API-generated HTML documents that require authentication.
11
+
12
+ ## When to Use
13
+ - Downloading pack slips or invoices generated by Fluent APIs
14
+ - Any page action that needs to fetch and present an authenticated HTML endpoint
15
+ - Warehouse/fulfilment pages needing direct document download
16
+
17
+ ## Key Props
18
+ | Prop | Type | Required | What it controls |
19
+ |------|------|----------|------------------|
20
+ | `label` | string | **Yes** | Button label text (supports i18n keys) |
21
+ | `href` | string | **Yes** | Relative path of the Fluent API endpoint to download |
22
+ | `filename` | string | **Yes** | Download filename. Supports template strings (e.g., appending wave ID to avoid clashes). |
23
+ | `behavior` | string | No | How the document is presented. Default: `"preview"`. Options: `"print"` (browser print preview), `"preview"` (download as PDF), `"newTab"` (open PDF in new tab). |
24
+
25
+ ## Data Binding
26
+ The `href` prop points to a relative Fluent API endpoint. The component handles authentication automatically. The `filename` prop supports template strings to generate dynamic filenames based on page data context.
27
+
28
+ ## Descendants
29
+ No.
30
+
31
+ ## Gotchas
32
+ - Unlike `fc.button.print.inline`, this variant downloads from a Fluent API endpoint rather than rendering from an HTML setting template.
33
+ - The `href` must be a relative path -- the component prepends the Fluent API base URL.
34
+ - Use template strings in `filename` to prevent file name collisions (e.g., `"packslip-{{waveId}}.pdf"`).
35
+
36
+ ## Manifest Example
37
+ ```json
38
+ {
39
+ "component": "fc.button.print.download",
40
+ "props": {
41
+ "label": "i18n:fc.wave.downloadPackSlip",
42
+ "href": "/api/v4.1/wave/{{id}}/packslip",
43
+ "filename": "packslip-{{ref}}.pdf",
44
+ "behavior": "preview"
45
+ }
46
+ }
47
+ ```
48
+
49
+ ## AI Parse Notes
50
+ - **Primary intent:** Declarative Mystique component definition for manifests.
51
+ - **Selection signals:** Match by `alias`, category, and required `Key Props`.
52
+ - **Assembly hints:** Combine with compatible parent/child components listed in `Composition Patterns`.
53
+ - **Safety checks:** Validate required props and data bindings before manifest generation.
@@ -0,0 +1,60 @@
1
+ ---
2
+ alias: "fc.button.print.inline.compatibility"
3
+ aliases:
4
+ - fc.button.print.inline.compatibility
5
+ - fc.button.print.inline
6
+ category: action
7
+ module: OMS
8
+ ---
9
+ # fc.button.print.inline.compatibility
10
+
11
+ Legacy compatibility variant of inline print action behavior for manifests that use older print wiring.
12
+
13
+ ## One-line Description
14
+ Renders an inline print action with backward-compatible behavior for existing print templates.
15
+
16
+ ## When to Use
17
+ - Existing manifests that rely on compatibility-mode inline print behavior
18
+ - Transitional migrations from old inline print implementations
19
+ - Operational screens requiring inline print action continuity
20
+
21
+ ## Key Props
22
+ | Prop | Type | Required | Description |
23
+ |---|---|---|---|
24
+ | label | string | Yes | Button text displayed in the UI |
25
+ | setting | string | Yes | Setting key that resolves print template/config |
26
+
27
+ ## Data Binding
28
+ Resolves print configuration from the supplied `setting` key and executes print action inline.
29
+
30
+ ## Descendants
31
+ No.
32
+
33
+ ## Composition Patterns
34
+ - Use alongside card/list rows where print is a contextual action.
35
+ - Prefer canonical `fc.button.print.inline` unless compatibility behavior is explicitly required.
36
+
37
+ ## Gotchas
38
+ - Requires valid print template configuration in the referenced setting.
39
+ - Keep template payload shape backward compatible for legacy clients.
40
+
41
+ ## Validation Rules
42
+ - `label` and `setting` should both be non-empty strings.
43
+ - Referenced setting should exist in the target retailer/account context.
44
+
45
+ ## Manifest Example
46
+ ```json
47
+ {
48
+ "component": "fc.button.print.inline.compatibility",
49
+ "props": {
50
+ "label": "Print Label",
51
+ "setting": "print.inline.template"
52
+ }
53
+ }
54
+ ```
55
+
56
+ ## AI Parse Notes
57
+ - **Primary intent:** Declarative Mystique component definition for manifests.
58
+ - **Selection signals:** Match by `alias`, `category`, and required `Key Props`.
59
+ - **Assembly hints:** Combine with compatible parent/child components listed in `Composition Patterns`.
60
+ - **Safety checks:** Validate required props and data bindings before manifest generation.
@@ -0,0 +1,53 @@
1
+ ---
2
+ alias: "fc.button.print.inline"
3
+ aliases:
4
+ - fc.button.print.inline
5
+ - fc.button.print.inline.compatibility
6
+ category: action
7
+ module: Core
8
+ ---
9
+ # fc.button.print.inline
10
+
11
+ Embedded inline print button that combines page query data with an HTML setting template to generate printable documents. Opens a modal preview with a print action. Legacy variant -- the newer `fc.button.print` is preferred for new implementations.
12
+
13
+ ## When to Use
14
+ - Printing pick lists, packing slips, or order invoices from a detail page
15
+ - Pages requiring HTML template-based document generation
16
+ - Legacy implementations using pre-existing custom pick list templates
17
+
18
+ ## Key Props
19
+ | Prop | Type | Required | What it controls |
20
+ |------|------|----------|------------------|
21
+ | `label` | string | **Yes** | Button label text (supports i18n keys) |
22
+ | `setting` | string | **Yes** | Name of a Fluent setting containing an HTML document template. The template supports template strings referencing page query data. |
23
+
24
+ ## Data Binding
25
+ The `setting` prop references a Fluent Commerce setting that contains an HTML template. The component merges page query data into the template using template strings, then renders the result in a modal preview for printing.
26
+
27
+ The `fc.button.print.inline.compatibility` alias is designed for use with pre-existing custom pick list templates (saved under setting name `PICK_N_PACK_CUSTOM_PICK_LIST`). That version performs data transformation before rendering because the legacy template format requires a specific data structure not easily generated from GraphQL.
28
+
29
+ ## Descendants
30
+ No.
31
+
32
+ ## Gotchas
33
+ - This is a **legacy** design. For new implementations, use `fc.button.print` instead.
34
+ - The "compatibility" alias (`fc.button.print.inline.compatibility`) handles data transformation for legacy `PICK_N_PACK_CUSTOM_PICK_LIST` templates.
35
+ - On click, a modal preview appears with a print button that triggers the browser's native print action.
36
+ - The HTML template in the setting can contain mustache-style template strings referencing data from the page query.
37
+
38
+ ## Manifest Example
39
+ ```json
40
+ {
41
+ "component": "fc.button.print.inline",
42
+ "props": {
43
+ "label": "i18n:fc.fulfilment.printPickList",
44
+ "setting": "PICK_N_PACK_CUSTOM_PICK_LIST"
45
+ }
46
+ }
47
+ ```
48
+
49
+ ## AI Parse Notes
50
+ - **Primary intent:** Declarative Mystique component definition for manifests.
51
+ - **Selection signals:** Match by `alias`, category, and required `Key Props`.
52
+ - **Assembly hints:** Combine with compatible parent/child components listed in `Composition Patterns`.
53
+ - **Safety checks:** Validate required props and data bindings before manifest generation.
@@ -0,0 +1,24 @@
1
+ ---
2
+ alias: "fc.button.print"
3
+ aliases:
4
+ - fc.button.print
5
+ - fc.button.print.download
6
+ - fc.button.print.inline
7
+ - fc.button.print.pick
8
+ category: action
9
+ module: Core
10
+ ---
11
+ # fc.button.print
12
+
13
+ Print/download button with variants: `fc.button.print.download` (file download), `fc.button.print.inline` (embedded print), `fc.button.print.pick` (pick list print).
14
+
15
+ ## When to Use
16
+ - Print order documents
17
+ - Download packing slips
18
+ - Print pick lists for warehouse
19
+
20
+ ## AI Parse Notes
21
+ - **Primary intent:** Declarative Mystique component definition for manifests.
22
+ - **Selection signals:** Match by `alias`, category, and required `Key Props`.
23
+ - **Assembly hints:** Combine with compatible parent/child components listed in `Composition Patterns`.
24
+ - **Safety checks:** Validate required props and data bindings before manifest generation.
@@ -0,0 +1,61 @@
1
+ ---
2
+ alias: "fc.button.print.pick"
3
+ aliases:
4
+ - fc.button.print.pick
5
+ category: action
6
+ module: Store
7
+ ---
8
+
9
+ # fc.button.print.pick
10
+
11
+ Store module print button that generates a pick list document by fetching and transforming wave item data, then delegates to the core `fc.button.print` component.
12
+
13
+ ## When to Use
14
+ - Print a pick list for a wave in the Store (pick/pack) module
15
+ - Generate formatted pick documents with product details, quantities, and on-hand inventory
16
+ - Provide a print/download button on wave detail pages
17
+
18
+ ## Key Props
19
+ | Prop | Type | Required | What it controls |
20
+ |------|------|----------|------------------|
21
+ | `label` | string | Yes | Button text label |
22
+ | `setting` | string | Yes | Setting key for the print template configuration |
23
+ | `data` | any | No | Data context containing `waveById.id` -- the wave ID to fetch items for |
24
+ | `behavior` | `"newTab"` / `"print"` / `"download"` | No | How the document is presented. Default: `"print"` |
25
+
26
+ ## Data Binding
27
+ Fetches wave items via a built-in GraphQL query (`waveById`) using the wave ID from the data context. For each item, also fetches virtual position (on-hand quantity) from the location context. Transforms the raw wave data into a structured format with:
28
+ - `requiredQty` -- quantity needed for the pick
29
+ - `sku.name`, `sku.skuRef`, `sku.productRef`, `sku.catalogueRef` -- product details
30
+ - `sku.onHand` -- current on-hand quantity from virtual positions
31
+ - `sku.references.BARCODE` -- GTIN/barcode for scanning
32
+ - `sku.category`, `sku.imageUrlRef` -- product metadata
33
+
34
+ ## Composition Patterns
35
+ - `fc.page.section.header` > `fc.button.print.pick` for a print button in a wave detail header
36
+ - `fc.button.bar` > `fc.button.print.pick` alongside other action buttons
37
+
38
+ ## Gotchas
39
+ - This is the V2 version (`InlineCompatibilityV2`) registered by the Store plugin. It delegates to `fc.button.print` (the core print component), not the older `fc.button.print.inline`.
40
+ - The wave data transformation happens asynchronously -- items are fetched and virtual positions are queried per-item, so the transformed data populates incrementally.
41
+ - Requires the Store module to be loaded -- this component is registered in `mystique-store`, not core.
42
+ - The `data` prop must contain `waveById.id` for the wave query to work. Typically this comes from the page-level data context on a wave detail page.
43
+ - The older `fc.button.print.inline.compatibility` (V1) delegates to `fc.button.print.inline` instead.
44
+
45
+ ## Manifest Example
46
+ ```json
47
+ {
48
+ "component": "fc.button.print.pick",
49
+ "props": {
50
+ "label": "Print Pick List",
51
+ "setting": "fc.mystique.picklist.template",
52
+ "behavior": "print"
53
+ }
54
+ }
55
+ ```
56
+
57
+ ## AI Parse Notes
58
+ - **Primary intent:** Declarative Mystique component definition for manifests.
59
+ - **Selection signals:** Match by `alias`, category, and required `Key Props`.
60
+ - **Assembly hints:** Combine with compatible parent/child components listed in `Composition Patterns`.
61
+ - **Safety checks:** Validate required props and data bindings before manifest generation.
@@ -0,0 +1,20 @@
1
+ ---
2
+ alias: "fc.buttons.add.reject"
3
+ aliases:
4
+ - fc.buttons.add.reject
5
+ category: action
6
+ module: Store
7
+ ---
8
+ # fc.buttons.add.reject
9
+
10
+ Action button pair for pack/reject operations in store fulfilment workflows.
11
+
12
+ ## When to Use
13
+ - Store fulfilment pack screen
14
+ - Accept/reject item actions
15
+
16
+ ## AI Parse Notes
17
+ - **Primary intent:** Declarative Mystique component definition for manifests.
18
+ - **Selection signals:** Match by `alias`, category, and required `Key Props`.
19
+ - **Assembly hints:** Combine with compatible parent/child components listed in `Composition Patterns`.
20
+ - **Safety checks:** Validate required props and data bindings before manifest generation.
@@ -0,0 +1,73 @@
1
+ ---
2
+ alias: "fc.card.attribute"
3
+ aliases:
4
+ - fc.card.attribute
5
+ - shared.components.material.DynamicCard
6
+ category: content
7
+ module: Core
8
+ ---
9
+ # fc.card.attribute
10
+
11
+ Key-value display card showing entity data as labeled attribute pairs.
12
+
13
+ ## When to Use
14
+ - Entity summary sidebar (order ref, status, type, customer)
15
+ - Detail cards showing specific field groups
16
+ - Any structured key-value display
17
+
18
+ ## Key Props
19
+ | Prop | Type | Required | What it controls |
20
+ |------|------|----------|------------------|
21
+ | `attributes` | Attribute[] | **Yes** | Key-value pairs: `[{ label: "Status", value: "{{status}}" }]` |
22
+ | `title` | string | No | Card header title |
23
+ | `highlight` | string | No | Card top-border highlight color (theme color key or CSS color) |
24
+ | `width` | CardWidth | No | Card width (quarter/third/half/full or 1-12) |
25
+ | `cardImage` | CardImageProps | No | Image display in card: `{ imageUrl: "{{imageUrl}}", width?: number\|string, height?: number\|string }`. Default size 80x80. URL supports template strings |
26
+ | `hideLabels` | boolean | No | Hide attribute labels, show only values (full-width) |
27
+ | `link` | string | No | Template string for click navigation: `"/orders/{{id}}"`. Makes the entire card clickable |
28
+ | `topAction` | boolean | No | Place card action buttons at the top next to title instead of at the bottom (inherited from Card) |
29
+ | `fitContent` | boolean | No | Set card height to `fit-content` instead of `auto` (inherited from Card) |
30
+ | `onClick` | function | No | Click handler (inherited from Card). Makes card clickable with hover elevation effect |
31
+
32
+ ## Data Binding
33
+ Optional `dataSource` scopes data context. Attribute `value` uses template strings: `"{{order.ref}}"`, `"{{dateFormat createdOn 'MMM DD'}}"`.
34
+
35
+ ## Descendants
36
+ No.
37
+
38
+ ## Composition Patterns
39
+ - `fc.column(third)` > `fc.card.attribute` for sidebar summary
40
+ - Multiple `fc.card.attribute` in a column for grouped fields
41
+ - Inside `fc.conditional` for type-specific cards
42
+
43
+ ## Gotchas
44
+ - `attributes` array is required -- empty card renders nothing useful
45
+ - Template values evaluate against the data context (page data or dataSource scoped)
46
+ - `cardImage` renders a default placeholder SVG when `imageUrl` evaluates to empty/null
47
+ - `link` prop on AttributesCard makes the whole card clickable (navigates on click, ignores if user has selected text)
48
+ - Individual attributes support `enableCopyIcon` (`"displayAlways"` or `"displayOnHover"`) for copy-to-clipboard
49
+
50
+ ## Validation Rules
51
+ P05 (CRITICAL — attributes required), P17 (width valid)
52
+
53
+ ## Manifest Example
54
+ ```json
55
+ {
56
+ "component": "fc.card.attribute",
57
+ "props": {
58
+ "title": "Order Summary",
59
+ "attributes": [
60
+ { "label": "Ref", "value": "{{ref}}" },
61
+ { "label": "Status", "value": "{{status}}" },
62
+ { "label": "Type", "value": "{{type}}" },
63
+ { "label": "Created", "value": "{{dateFormat createdOn 'MMM DD, YYYY'}}" }
64
+ ]
65
+ }
66
+ }
67
+ ```
68
+
69
+ ## AI Parse Notes
70
+ - **Primary intent:** Declarative Mystique component definition for manifests.
71
+ - **Selection signals:** Match by `alias`, category, and required `Key Props`.
72
+ - **Assembly hints:** Combine with compatible parent/child components listed in `Composition Patterns`.
73
+ - **Safety checks:** Validate required props and data bindings before manifest generation.
@@ -0,0 +1,40 @@
1
+ ---
2
+ alias: "fc.card.attributes.grid"
3
+ aliases:
4
+ - fc.card.attributes.grid
5
+ category: content
6
+ module: Core
7
+ ---
8
+ # fc.card.attributes.grid
9
+
10
+ Auto-display all entity attributes in a 4-column grid layout without explicit field definitions.
11
+
12
+ ## When to Use
13
+ - "Show all attributes" tab in entity detail page
14
+ - Quick attribute overview without specifying each field
15
+ - Debugging / inspection views
16
+
17
+ ## Key Props
18
+ | Prop | Type | Required | What it controls |
19
+ |------|------|----------|------------------|
20
+ | `exclude` | string[] | No | Attribute names to hide: `["internalId", "password"]` |
21
+
22
+ ## Data Binding
23
+ **Requires `dataSource`** pointing to an attributes array or entity.
24
+
25
+ ## Descendants
26
+ No.
27
+
28
+ ## Manifest Example
29
+ ```json
30
+ {
31
+ "component": "fc.card.attributes.grid",
32
+ "props": { "dataSource": "orderById.attributes", "exclude": ["internalId"] }
33
+ }
34
+ ```
35
+
36
+ ## AI Parse Notes
37
+ - **Primary intent:** Declarative Mystique component definition for manifests.
38
+ - **Selection signals:** Match by `alias`, category, and required `Key Props`.
39
+ - **Assembly hints:** Combine with compatible parent/child components listed in `Composition Patterns`.
40
+ - **Safety checks:** Validate required props and data bindings before manifest generation.
@@ -0,0 +1,37 @@
1
+ ---
2
+ alias: "fc.card.image"
3
+ aliases:
4
+ - fc.card.image
5
+ category: content
6
+ module: Core
7
+ ---
8
+ # fc.card.image
9
+
10
+ Image display within a card container with responsive sizing.
11
+
12
+ ## When to Use
13
+ - Product images
14
+ - Document/receipt thumbnails
15
+
16
+ ## Key Props
17
+ | Prop | Type | Required | What it controls |
18
+ |------|------|----------|------------------|
19
+ | `image` | { imageUrl, width?, height? } | **Yes** | Image source and dimensions |
20
+ | `width` | CardWidth | No | Card width |
21
+
22
+ ## Validation Rules
23
+ P14 (CRITICAL — image with imageUrl required)
24
+
25
+ ## Manifest Example
26
+ ```json
27
+ {
28
+ "component": "fc.card.image",
29
+ "props": { "image": { "imageUrl": "{{imageUrl}}", "width": 200 } }
30
+ }
31
+ ```
32
+
33
+ ## AI Parse Notes
34
+ - **Primary intent:** Declarative Mystique component definition for manifests.
35
+ - **Selection signals:** Match by `alias`, category, and required `Key Props`.
36
+ - **Assembly hints:** Combine with compatible parent/child components listed in `Composition Patterns`.
37
+ - **Safety checks:** Validate required props and data bindings before manifest generation.
@@ -0,0 +1,24 @@
1
+ ---
2
+ alias: "fc.card.map.point"
3
+ aliases:
4
+ - fc.card.map.point
5
+ category: content
6
+ module: OMS
7
+ ---
8
+ # fc.card.map.point
9
+
10
+ Google Maps display with a location pin marker.
11
+
12
+ ## When to Use
13
+ - Store/warehouse detail pages
14
+ - Delivery address visualization
15
+ - Location overview pages
16
+
17
+ ## Data Binding
18
+ Expects latitude/longitude in data context.
19
+
20
+ ## AI Parse Notes
21
+ - **Primary intent:** Declarative Mystique component definition for manifests.
22
+ - **Selection signals:** Match by `alias`, category, and required `Key Props`.
23
+ - **Assembly hints:** Combine with compatible parent/child components listed in `Composition Patterns`.
24
+ - **Safety checks:** Validate required props and data bindings before manifest generation.
@@ -0,0 +1,79 @@
1
+ ---
2
+ alias: "fc.card.multi"
3
+ aliases:
4
+ - fc.card.multi
5
+ category: content
6
+ module: Core
7
+ ---
8
+
9
+ # fc.card.multi
10
+
11
+ Card container that nests multiple child components within a single Material-UI card, with configurable title, width, and layout direction.
12
+
13
+ ## When to Use
14
+ - Grouping several related components (charts, attributes, actions) into one visual card
15
+ - Creating composite detail cards with mixed content types
16
+ - Any situation where multiple components should share a single card border and title
17
+
18
+ ## Key Props
19
+ | Prop | Type | Required | What it controls |
20
+ |------|------|----------|------------------|
21
+ | `title` | string | No | Card header title text |
22
+ | `width` | CardWidth (`"quarter"` / `"third"` / `"half"` / `"two-thirds"` / `"full"` / number 1-12) | No | Card width on 12-column grid (default: `"full"`) |
23
+ | `direction` | `"row"` / `"column"` | No | Layout direction for children (default: `"row"`) |
24
+
25
+ ## Data Binding
26
+ Standard `dataSource` configuration applies. Child components inherit the data context.
27
+
28
+ ## Descendants
29
+ Yes -- accepts any component or array of components. Children are laid out in the specified `direction`.
30
+
31
+ ## Composition Patterns
32
+ - `fc.column` > `fc.card.multi` > multiple `fc.card.attribute` or chart components
33
+ - `fc.card.multi(direction: "column")` > stacked content blocks
34
+ - `fc.card.multi(direction: "row")` > side-by-side widgets within one card
35
+ - `fc.tabs.card` > `fc.card.multi` per tab for grouped tab content
36
+
37
+ ## Gotchas
38
+ - Default direction is `"row"` -- children display side by side unless you set `direction: "column"`.
39
+ - On mobile devices, width auto-collapses to 12 (full width) regardless of setting.
40
+ - Named widths map to grid values: quarter=3, third=4, half=6, two-thirds=8, full=12.
41
+ - Unlike `fc.page.section`, this component renders a visible card with border and optional title.
42
+ - Not found in the current core source snapshots -- may be registered by a newer version or runtime plugin. Documented in OMX component docs.
43
+
44
+ ## Manifest Example
45
+ ```json
46
+ {
47
+ "component": "fc.card.multi",
48
+ "props": {
49
+ "title": "Order Overview",
50
+ "width": "two-thirds",
51
+ "direction": "column"
52
+ },
53
+ "descendants": [
54
+ {
55
+ "component": "fc.card.attribute",
56
+ "props": {
57
+ "attributes": [
58
+ { "label": "Ref", "value": "{{ref}}" },
59
+ { "label": "Status", "value": "{{status}}" }
60
+ ]
61
+ }
62
+ },
63
+ {
64
+ "component": "fc.chart.bar",
65
+ "props": {
66
+ "dataSource": "metrics",
67
+ "bars": [{ "dataKey": "count", "fill": "#1976d2" }],
68
+ "xAxis": { "dataKey": "label" }
69
+ }
70
+ }
71
+ ]
72
+ }
73
+ ```
74
+
75
+ ## AI Parse Notes
76
+ - **Primary intent:** Declarative Mystique component definition for manifests.
77
+ - **Selection signals:** Match by `alias`, category, and required `Key Props`.
78
+ - **Assembly hints:** Combine with compatible parent/child components listed in `Composition Patterns`.
79
+ - **Safety checks:** Validate required props and data bindings before manifest generation.
@@ -0,0 +1,27 @@
1
+ ---
2
+ alias: "fc.card.product"
3
+ aliases:
4
+ - fc.card.product
5
+ category: content
6
+ module: Core
7
+ ---
8
+ # fc.card.product
9
+
10
+ Product display card with image, name, SKU, and inventory information.
11
+
12
+ ## When to Use
13
+ - Product detail pages
14
+ - Order item product previews
15
+ - Product catalog browsing
16
+
17
+ ## Data Binding
18
+ Expects product data in context (name, imageUrl, sku, etc.).
19
+
20
+ ## Descendants
21
+ No.
22
+
23
+ ## AI Parse Notes
24
+ - **Primary intent:** Declarative Mystique component definition for manifests.
25
+ - **Selection signals:** Match by `alias`, category, and required `Key Props`.
26
+ - **Assembly hints:** Combine with compatible parent/child components listed in `Composition Patterns`.
27
+ - **Safety checks:** Validate required props and data bindings before manifest generation.
@@ -0,0 +1,34 @@
1
+ ---
2
+ alias: fc.chart.area
3
+ aliases:
4
+ - fc.chart.area
5
+ - fc.chart.area.wrapper.feed
6
+ category: content
7
+ module: Core
8
+ ---
9
+
10
+ # fc.chart.area
11
+
12
+ Recharts-based area chart for cumulative data visualization.
13
+
14
+ ## When to Use
15
+ - Cumulative metrics, filled trend lines
16
+
17
+ ## Key Props
18
+ | Prop | Type | Required | What it controls |
19
+ |------|------|----------|------------------|
20
+ | dataSource | string | Yes | Path to chart data |
21
+ | areas | ChartSeries[] | No | Series with dataKey and color |
22
+ | xAxis | AxisConfig | No | X-axis configuration |
23
+ | yAxis | AxisConfig | No | Y-axis configuration |
24
+ | legend | boolean | No | Show/hide legend |
25
+ | tooltip | boolean | No | Show/hide tooltip |
26
+ | title | string | No | Chart title |
27
+ | width | CardWidth | No | Card width |
28
+
29
+
30
+ ## AI Parse Notes
31
+ - **Primary intent:** Declarative Mystique component definition for manifests.
32
+ - **Selection signals:** Match by `alias`, category, and required `Key Props`.
33
+ - **Assembly hints:** Combine with compatible parent/child components listed in `Composition Patterns`.
34
+ - **Safety checks:** Validate required props and data bindings before manifest generation.