@fluentcommerce/ai-skills 0.8.2 → 0.8.3

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.
Files changed (31) hide show
  1. package/README.md +79 -29
  2. package/bin/cli.mjs +278 -10
  3. package/content/cli/skills/fluent-cli-mcp-cicd/SKILL.md +6 -3
  4. package/content/cli/skills/fluent-connect/SKILL.md +1 -1
  5. package/content/dev/skills/fluent-e2e-test/SKILL.md +3 -1
  6. package/content/dev/skills/fluent-event-api/SKILL.md +1 -0
  7. package/content/dev/skills/fluent-feature-explain/SKILL.md +1 -0
  8. package/content/dev/skills/fluent-feature-plan/SKILL.md +1 -0
  9. package/content/dev/skills/fluent-mystique-builder/SKILL.md +2 -3
  10. package/content/dev/skills/fluent-mystique-scaffold/SDK_REFERENCE.md +2 -2
  11. package/content/dev/skills/fluent-mystique-scaffold/TEMPLATES.md +1 -2
  12. package/content/dev/skills/fluent-mystique-sdk-reference/SKILL.md +2 -2
  13. package/content/dev/skills/fluent-pre-deploy-check/SKILL.md +25 -0
  14. package/content/dev/skills/fluent-sourcing/SKILL.md +4 -0
  15. package/content/dev/skills/fluent-test-data/SKILL.md +4 -0
  16. package/content/dev/skills/fluent-trace/SKILL.md +16 -1
  17. package/content/dev/skills/fluent-workflow-builder/SKILL.md +11 -1
  18. package/content/dev/skills/fluent-workflow-deploy/SKILL.md +27 -0
  19. package/content/knowledge/index.md +2 -0
  20. package/content/knowledge/platform/create-order-reference.md +797 -0
  21. package/content/knowledge/platform/domain-model.md +1 -1
  22. package/content/knowledge/platform/workflow-design.md +18 -0
  23. package/content/mcp-extn/skills/fluent-mcp-core/SKILL.md +1 -1
  24. package/content/mcp-extn/skills/fluent-mcp-tools/SKILL.md +1 -1
  25. package/docs/dev-workflow.md +5 -2
  26. package/docs/fluent-ai-skills-reference.md +2 -2
  27. package/docs/getting-started.md +2 -2
  28. package/docs/use-cases.md +1 -1
  29. package/docs/workflow-reference.md +4 -2
  30. package/metadata.json +1 -1
  31. package/package.json +1 -1
@@ -559,7 +559,7 @@ event into the workflow engine — enabling automatic rule execution on entity c
559
559
 
560
560
  **Key implications:**
561
561
  - **No CREATE event** (Location, Virtual Catalogue, Control Group): Entity creation does NOT trigger workflow rules. You must send an explicit event (e.g., `LOCATION_CREATED`) to kick off processing.
562
- - **Has CREATE event** (Order, Fulfilment, etc.): The `createOrder`, `createFulfilment`, etc. mutations automatically fire a `CREATE` event. Workflows can have a ruleset triggered by `entityType: "ORDER"`, `eventName: "CREATE"` to begin processing immediately.
562
+ - **Has CREATE event** (Order, Fulfilment, etc.): The `createOrder`, `createFulfilment`, etc. mutations automatically fire a `CREATE` event. Workflows can have a ruleset triggered by `entityType: "ORDER"`, `eventName: "CREATE"` to begin processing immediately. See `knowledge/platform/create-order-reference.md` for full mutation input schemas, fulfilmentChoice wiring, and ORDER::MULTI patterns.
563
563
  - **Sub-entities inherit the parent workflow**: A Fulfilment's statuses and rulesets are defined within the Order workflow (or a dedicated Fulfilment workflow). The workflow engine routes events by `entityType` + `entitySubtype`.
564
564
 
565
565
  ---
@@ -106,6 +106,24 @@ When an orchestrable entity is created, it is assigned to the **latest active ma
106
106
 
107
107
  **Platform behavior:** Fluent no longer auto-bumps major versions. The platform always makes a **minor version bump** on update. Major version bumps are the developer's responsibility.
108
108
 
109
+ ### Concrete Example: Major Version Boundary in Action
110
+
111
+ ```
112
+ Timeline:
113
+ 1. Workflow ORDER::CC is at v99.10
114
+ 2. Order #A is created → assigned to major 99 (uses v99.10)
115
+ 3. Developer makes breaking ruleset changes and uploads v100.0
116
+ 4. Order #A continues processing on major 99 (still v99.10)
117
+ — every event on Order #A executes against v99.10, NOT v100.0
118
+ 5. Developer patches v99.11 (minor bump on old major)
119
+ → Order #A now uses v99.11 immediately
120
+ 6. Order #B is created → assigned to major 100 (uses v100.0)
121
+ 7. Order #A still on major 99, Order #B on major 100
122
+ — they coexist with different workflow logic
123
+ ```
124
+
125
+ The major version acts as a **hard boundary** protecting in-flight entities. Entities never cross major versions automatically — they stay on the major they were assigned at creation and always use its latest minor.
126
+
109
127
  ### Migration Responsibility
110
128
 
111
129
  If existing entities need to move to a new major version, the developer must handle migration (state changes, attribute updates, webhooks, etc.). The platform does not auto-migrate.
@@ -81,7 +81,7 @@ Run `health.ping` to confirm config readiness and SDK adapter status.
81
81
  | `health.ping` fails | No active profile | Run `fluent profile active` |
82
82
  | Auth error | Expired token | Run `fluent profile update <PROFILE> --password <new-pass>` |
83
83
  | Empty workflow list | Wrong retailer ref | Check `fluent profile retailers <PROFILE>` |
84
- | Server won't start | CLI not in PATH | `npm i -g @fluentcommerce/cli` |
84
+ | Server won't start | CLI not in PATH | Install from [docs.fluentcommerce.com](https://docs.fluentcommerce.com/building-blocks/fluent-cli-package) |
85
85
 
86
86
  ## Transport Modes
87
87
 
@@ -231,7 +231,7 @@ Use `graphql.query` for one-off queries with manual pagination. Mutations are no
231
231
 
232
232
  ```json
233
233
  {
234
- "query": "{ orders(first: 10, status: \"BOOKED\") { edges { node { id ref status totalPrice } } pageInfo { hasNextPage endCursor } } }"
234
+ "query": "{ orders(first: 10, status: \"BOOKED\") { edges { cursor node { id ref status totalPrice } } pageInfo { hasNextPage } } }"
235
235
  }
236
236
  ```
237
237
 
@@ -204,11 +204,14 @@ Use MCP `graphql.query`:
204
204
  { orders(ref: ["<REF>"], first: 1) { edges { node {
205
205
  id ref type status createdOn updatedOn
206
206
  attributes { name type value }
207
- fulfilmentChoice { edges { node { id ref type status deliveryType } } }
208
- items { edges { node { ref quantity status fulfilmentChoiceRef } } }
207
+ fulfilmentChoice { id ref type status deliveryType }
208
+ fulfilmentChoices { edges { node { id ref type status deliveryType } } }
209
+ items { edges { node { ref quantity status fulfilmentChoice { id ref type status deliveryType } } } }
209
210
  } } } }
210
211
  ```
211
212
 
213
+ Use `items[].fulfilmentChoiceRef` only on `createOrder` input. For schema-validated `ORDER::MULTI` input and readback patterns, see `content/knowledge/platform/create-order-reference.md`.
214
+
212
215
  **Fulfilments:**
213
216
  ```graphql
214
217
  { fulfilments(ref: ["<REF>"], first: 1) { edges { node {
@@ -100,7 +100,7 @@ npx @fluentcommerce/ai-skills install --profile YOUR_PROFILE --profile-retailer
100
100
 
101
101
  ```mermaid
102
102
  graph LR
103
- A["1. Install Fluent CLI<br/>npm i -g @fluentcommerce/cli"] --> B["2. Create profile<br/>fluent profile create MY_PROFILE"]
103
+ A["1. Install Fluent CLI<br/>docs.fluentcommerce.com/building-blocks/fluent-cli-package"] --> B["2. Create profile<br/>fluent profile create MY_PROFILE"]
104
104
  B --> C["3. Install skills<br/>npx @fluentcommerce/ai-skills install<br/>--profile MY_PROFILE"]
105
105
  C --> D["4. Connect workspace<br/>/fluent-connect"]
106
106
  D --> E["5. Start working<br/>Explain how HD works"]
@@ -231,7 +231,7 @@ Every artifact is scoped under `accounts/<PROFILE>/`. Directories are created on
231
231
  ```
232
232
  fluent-ai-workspace/
233
233
  ├── .mcp.json ← MCP server config (auto-generated, gitignored)
234
- ├── CLAUDE.md ← Project instructions for the AI (auto-generated)
234
+ ├── CLAUDE.md ← Starter workspace instructions (auto-generated, safe to edit)
235
235
  └── accounts/<PROFILE>/ ← All data scoped to your Fluent account
236
236
 
237
237
  ├── SOURCE/ ← Implementation source code (shared across retailers)
@@ -29,7 +29,7 @@ A hands-on walkthrough for first-time users of `@fluentcommerce/ai-skills`. Foll
29
29
  | Requirement | How to check |
30
30
  |-------------|-------------|
31
31
  | Node.js 18+ | `node --version` |
32
- | Fluent CLI installed | `fluent --version` (install with `npm i -g @fluentcommerce/cli`) |
32
+ | Fluent CLI installed | `fluent --version` (install from [docs.fluentcommerce.com](https://docs.fluentcommerce.com/building-blocks/fluent-cli-package)) |
33
33
  | A Fluent Commerce account | Base URL, credentials, and a retailer to work with |
34
34
  | A Fluent CLI profile configured | `fluent profile create YOUR_PROFILE --id <id> --username <user> --password <pass> --client-secret <secret> --base-url <url>` |
35
35
  | Claude Code | The supported AI IDE |
@@ -432,7 +432,7 @@ The AI never makes changes without asking first:
432
432
 
433
433
  ```bash
434
434
  # 1. Verify Fluent CLI
435
- fluent --version # should print version; if not: npm i -g @fluentcommerce/cli
435
+ fluent --version # should print version; if not: https://docs.fluentcommerce.com/building-blocks/fluent-cli-package
436
436
 
437
437
  # 2. Verify profile
438
438
  ls ~/.fluentcommerce/YOUR_PROFILE/ # should exist; if not: fluent profile create YOUR_PROFILE ...
package/docs/use-cases.md CHANGED
@@ -1163,7 +1163,7 @@ These errors come from the MCP extension server when calling Fluent Commerce API
1163
1163
 
1164
1164
  **"Workflow download fails or returns empty"**
1165
1165
  - Check you have the right profile and retailer: `fluent workflow list -p YOUR_PROFILE -r YOUR_RETAILER`
1166
- - Fluent CLI must be installed: `npm i -g @fluentcommerce/cli`
1166
+ - Fluent CLI must be installed: see [install guide](https://docs.fluentcommerce.com/building-blocks/fluent-cli-package)
1167
1167
  - The profile must have the retailer associated — verify with `fluent profile retailers YOUR_PROFILE`
1168
1168
 
1169
1169
  **"The AI keeps asking me to approve a plan"**
@@ -67,8 +67,10 @@ When `source: "settings.<KEY>"` is used in a user action attribute, the UI popul
67
67
  ## ORDER::MULTI Workflow — Test Reference
68
68
 
69
69
  Key points:
70
+ - Canonical `createOrder` contract: `content/knowledge/platform/create-order-reference.md`
70
71
  - Order `type` must be `"MULTI"` (not `"HD"`)
71
- - Items MUST include `fulfilmentChoiceRef` to link to FC
72
+ - On mutation input, items MUST include `fulfilmentChoiceRef` to link to FC
73
+ - On readback queries, verify the link via `items[].fulfilmentChoice { ... }` — do not expect an `OrderItem.fulfilmentChoiceRef` scalar
72
74
  - FC needs `sourcingLocationRef` attribute
73
75
  - FC `type` (routing) ≠ fulfilment `type` (created fulfilment)
74
- - Flow: `CREATE` → `SkipFraudCheck` → `ON_VALIDATION` → `ConfirmValidation` → `ProcessOrder` → `RouteFulfilmentChoice` → `ProcessHDFulfilmentChoice` → `CreateFulfilmentFromSourcingLocation`
76
+ - Flow: `CREATE` → `SkipFraudCheck` → `ON_VALIDATION` → `ConfirmValidation` → `ProcessOrder` → `RouteFulfilmentChoice` → `ProcessHDFulfilmentChoice` → `CreateFulfilmentFromSourcingLocation`
package/metadata.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.8.1",
2
+ "version": "0.8.3",
3
3
  "organization": "Fluent Commerce",
4
4
  "date": "March 2026",
5
5
  "package": "@fluentcommerce/ai-skills",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluentcommerce/ai-skills",
3
- "version": "0.8.2",
3
+ "version": "0.8.3",
4
4
  "description": "[Experimental] Fluent Commerce domain knowledge for Claude Code. Skills, agents, and MCP server configs for workflows, events, rules, and APIs.",
5
5
  "keywords": [
6
6
  "fluent-commerce",