@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.
- package/README.md +866 -622
- package/bin/cli.mjs +2112 -1973
- package/content/cli/agents/fluent-cli/agent.json +149 -149
- package/content/cli/agents/fluent-cli.md +132 -132
- package/content/cli/skills/fluent-bootstrap/SKILL.md +214 -181
- package/content/cli/skills/fluent-cli-index/SKILL.md +1 -1
- package/content/cli/skills/fluent-cli-mcp-cicd/SKILL.md +117 -1
- package/content/cli/skills/fluent-cli-reference/SKILL.md +1040 -1031
- package/content/cli/skills/fluent-cli-retailer/SKILL.md +27 -2
- package/content/cli/skills/fluent-cli-settings/SKILL.md +21 -1
- package/content/cli/skills/fluent-connect/SKILL.md +937 -886
- package/content/cli/skills/fluent-module-deploy/SKILL.md +63 -5
- package/content/cli/skills/fluent-profile/SKILL.md +73 -0
- package/content/cli/skills/fluent-workflow/SKILL.md +360 -310
- package/content/dev/agents/fluent-backend-dev/AGENT.md +58 -0
- package/content/dev/agents/fluent-backend-dev/agent.json +69 -0
- package/content/dev/agents/fluent-backend-dev.md +287 -0
- package/content/dev/agents/fluent-dev/AGENT.md +98 -0
- package/content/dev/agents/fluent-dev/agent.json +14 -2
- package/content/dev/agents/fluent-dev.md +194 -525
- package/content/dev/agents/fluent-frontend-dev/AGENT.md +63 -0
- package/content/dev/agents/fluent-frontend-dev/agent.json +52 -0
- package/content/dev/agents/fluent-frontend-dev.md +323 -0
- package/content/dev/skills/fluent-archive/SKILL.md +234 -0
- package/content/dev/skills/fluent-build/SKILL.md +312 -192
- package/content/dev/skills/fluent-connection-analysis/SKILL.md +422 -386
- package/content/dev/skills/fluent-custom-code/SKILL.md +15 -9
- package/content/dev/skills/fluent-data-module-scaffold/SKILL.md +19 -2
- package/content/dev/skills/fluent-e2e-test/SKILL.md +501 -394
- package/content/dev/skills/fluent-event-api/SKILL.md +962 -945
- package/content/dev/skills/fluent-feature-explain/SKILL.md +680 -603
- package/content/dev/skills/fluent-feature-plan/PLAN_TEMPLATE.md +27 -2
- package/content/dev/skills/fluent-feature-plan/SKILL.md +478 -227
- package/content/dev/skills/fluent-feature-status/SKILL.md +335 -0
- package/content/dev/skills/fluent-feedback/SKILL.md +221 -0
- package/content/dev/skills/fluent-implementation-map/SKILL.md +644 -0
- package/content/dev/skills/fluent-job-batch/SKILL.md +10 -0
- package/content/dev/skills/fluent-module-scaffold/SKILL.md +64 -2
- package/content/dev/skills/fluent-module-validate/SKILL.md +778 -775
- package/content/dev/skills/fluent-mystique-analyze/SKILL.md +817 -0
- package/content/dev/skills/fluent-mystique-builder/COMPONENT_TEMPLATE.md +81 -0
- package/content/dev/skills/fluent-mystique-builder/README.md +63 -0
- package/content/dev/skills/fluent-mystique-builder/SKILL.md +1294 -0
- package/content/dev/skills/fluent-mystique-builder/components/INDEX.md +92 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.accordion.md +48 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.action.field.fulfilmentpack.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.action.field.multiparcel.md +21 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.action.field.returnitems.md +21 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.action.field.wavepick.md +21 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.action.inline.md +24 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.activity.entity.md +25 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.analytics.viz.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.attribute.column.md +111 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.attribute.json.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.attribute.jsoneditor.md +54 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.attribute.locationId.md +51 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.attribute.retailerId.md +52 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.button.bar.md +57 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.button.print.download.md +53 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.button.print.inline.compatibility.md +60 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.button.print.inline.md +53 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.button.print.md +24 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.button.print.pick.md +61 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.buttons.add.reject.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.card.attribute.md +73 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.card.attributes.grid.md +40 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.card.image.md +37 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.card.map.point.md +24 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.card.multi.md +79 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.card.product.md +27 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.chart.area.md +34 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.chart.area.wrapper.feed.md +98 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.chart.bar.md +52 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.chart.bar.wrapper.source.md +104 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.chart.gauge.md +28 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.chart.gauge.wrapper.threshold.md +118 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.chart.line.md +32 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.conditional.md +62 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.dashboard.threshold.md +65 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.daterange.wrapper.forwarder.md +56 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.drawer.button.md +21 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.event.detail.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.events.search.md +21 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.field.daterange.md +83 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.field.filterComplex.md +106 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.field.intrange.md +82 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.field.multistring.md +50 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.filterPanel.md +53 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.json.editor.md +22 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.json.viewer.md +21 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.list.customAction.md +79 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.list.md +116 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.list.wrapper.bppmetrics.md +69 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.list.wrapper.feed.md +65 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.list.wrapper.source.md +64 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.modal.button.addItem.md +60 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.modal.button.md +21 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.mutation.inline.md +88 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.mystique.collapsible.attributes.md +83 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.mystique.collapsible.text.md +33 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.mystique.link.md +30 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.order.itemDetails.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.order.shipmentDetails.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.page.filter.select.md +87 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.page.md +64 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.page.refresh.md +48 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.page.section.column.md +71 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.page.section.header.md +61 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.page.section.md +59 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.page.wizard.md +45 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.page.wizard.summary.md +56 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.progress.circular.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.provider.graphql.md +71 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.quantity.list.md +87 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.repeater.md +56 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.reports.ipuipc.md +54 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.return.rowExpansion.md +19 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.scanner.barcode.md +21 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.scanner.barcodeFilter.md +72 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.scanner.camera.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.settingForm.md +64 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.sourcing.profile.drawer.button.md +19 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.sourcing.profile.modal.button.md +64 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.sourcing.strategy.modal.button.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.stepper.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.tab.content.md +56 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.tabs.card.md +64 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.tabs.md +69 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.tile.metric.md +73 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.workflow.provider.md +77 -0
- package/content/dev/skills/fluent-mystique-builder/validate-docs.ps1 +260 -0
- package/content/dev/skills/fluent-mystique-scaffold/SKILL.md +1830 -0
- package/content/dev/skills/fluent-mystique-validate/SKILL.md +646 -0
- package/content/dev/skills/fluent-pre-deploy-check/SKILL.md +1144 -1108
- package/content/dev/skills/fluent-retailer-config/SKILL.md +1162 -1111
- package/content/dev/skills/fluent-rollback/SKILL.md +387 -0
- package/content/dev/skills/fluent-rule-scaffold/SKILL.md +515 -385
- package/content/dev/skills/fluent-scope-decompose/SKILL.md +1123 -1021
- package/content/dev/skills/fluent-session-audit-export/SKILL.md +880 -632
- package/content/dev/skills/fluent-session-summary/SKILL.md +320 -195
- package/content/dev/skills/fluent-settings/SKILL.md +160 -1
- package/content/dev/skills/fluent-source-onboard/SKILL.md +31 -3
- package/content/dev/skills/fluent-sourcing/SKILL.md +1185 -0
- package/content/dev/skills/fluent-system-monitoring/SKILL.md +771 -767
- package/content/dev/skills/fluent-test-data/SKILL.md +514 -513
- package/content/dev/skills/fluent-trace/SKILL.md +1169 -1143
- package/content/dev/skills/fluent-transition-api/SKILL.md +364 -346
- package/content/dev/skills/fluent-use-case-discover/SKILL.md +593 -0
- package/content/dev/skills/fluent-use-case-discover/SPEC_TEMPLATE.md +281 -0
- package/content/dev/skills/fluent-version-manage/SKILL.md +53 -2
- package/content/dev/skills/fluent-workflow-analyzer/SKILL.md +995 -959
- package/content/dev/skills/fluent-workflow-builder/SKILL.md +668 -319
- package/content/dev/skills/fluent-workflow-deploy/SKILL.md +480 -267
- package/content/dev/skills/fluent-workspace-tree/SKILL.md +281 -0
- package/content/mcp-extn/agents/fluent-mcp.md +133 -69
- package/content/mcp-extn/skills/fluent-mcp-tools/SKILL.md +812 -461
- package/content/mcp-official/agents/fluent-mcp-core.md +91 -91
- package/content/mcp-official/skills/fluent-mcp-core/SKILL.md +94 -94
- package/content/rfl/skills/fluent-rfl-assess/SKILL.md +172 -172
- package/docs/CAPABILITY_MAP.md +106 -77
- package/docs/DEPLOYMENT_PROMOTION_RUNBOOK.md +218 -0
- package/docs/DESIGN-implementation-map.md +698 -0
- package/docs/DEV_WORKFLOW.md +814 -802
- package/docs/FLOW_RUN.md +142 -142
- package/docs/GETTING_STARTED.md +427 -0
- package/docs/USE_CASES.md +909 -52
- package/metadata.json +184 -156
- package/package.json +3 -2
|
@@ -12,6 +12,15 @@ Deploy modules to Fluent Commerce environments with validation and verification.
|
|
|
12
12
|
|
|
13
13
|
## Planning Gate
|
|
14
14
|
|
|
15
|
+
### Pre-flight: Plan Verification
|
|
16
|
+
|
|
17
|
+
Before proceeding, check for an existing approved plan:
|
|
18
|
+
|
|
19
|
+
1. **Search** `accounts/<PROFILE>/features/*/status.json` for an entry with `plan: "APPROVED"` that covers this deployment, OR check `accounts/<PROFILE>/tasks/` for a task plan with `Status: APPROVED`
|
|
20
|
+
2. **If multi-artifact work** (deploy + rules + workflows + settings): STOP. Invoke `/fluent-feature-plan` first — this skill cannot be used for multi-artifact work without a feature plan
|
|
21
|
+
3. **If approved plan found:** Skip to implementation, referencing the plan's §17 (Deployment) section
|
|
22
|
+
4. **If deploy-only work with no plan:** Continue to the Planning Gate below to write a plan for this skill
|
|
23
|
+
|
|
15
24
|
**Before deploying any module, write a plan using the template from `PLAN_TEMPLATE.md` in the `fluent-feature-plan` skill.**
|
|
16
25
|
|
|
17
26
|
**Module-deploy specific emphasis — ensure these are covered:**
|
|
@@ -25,10 +34,41 @@ Deploy modules to Fluent Commerce environments with validation and verification.
|
|
|
25
34
|
7. **Deployment Sequence (Section 9)** — pre-checks (validation, build, tests) → deploy → verify
|
|
26
35
|
8. **Rollback Plan (Section 10)** — previous module version to restore if deployment fails
|
|
27
36
|
|
|
28
|
-
**Write the plan to:** `accounts/<PROFILE>/
|
|
37
|
+
**Write the plan to:** `accounts/<PROFILE>/tasks/<YYYY-MM-DD>-module-deploy-<slug>.md`. Set `Status: PENDING`.
|
|
29
38
|
|
|
30
39
|
Present the full plan content to the user and wait for approval before running `fluent module install`. On approval, update the file to `Status: APPROVED`. If the user says "just do it", proceed directly (still write the file for audit trail).
|
|
31
40
|
|
|
41
|
+
## Pre-Flight: Pre-Deploy Check Gate
|
|
42
|
+
|
|
43
|
+
**This gate is MANDATORY. Do not skip.**
|
|
44
|
+
|
|
45
|
+
1. Search `accounts/<PROFILE>/reports/pre-deploy/` for `<MODULE>-<VERSION>.checklist.json`.
|
|
46
|
+
2. **If found and `overallResult == "BLOCKED"`**: **STOP. Do NOT proceed.** List all blocking gates from the report. Require explicit user override ("deploy anyway") to continue past a BLOCKED verdict.
|
|
47
|
+
3. **If found and `overallResult == "READY"`**: Proceed — pre-deploy validation passed.
|
|
48
|
+
4. **If no report found**: WARN the user: "No pre-deploy-check report found for this module version. Run `/fluent-pre-deploy-check` first for comprehensive validation." Only proceed after explicit user confirmation ("deploy without validation").
|
|
49
|
+
|
|
50
|
+
> **New to Fluent CLI?** Start with `/fluent-cli-index` for a complete command reference and routing guide.
|
|
51
|
+
|
|
52
|
+
## Handoff Protocol
|
|
53
|
+
|
|
54
|
+
### Signals emitted by this skill
|
|
55
|
+
|
|
56
|
+
| Signal | Condition | Example |
|
|
57
|
+
|--------|-----------|---------|
|
|
58
|
+
| `-> READY: <path>` | Module installed successfully | `-> READY: Module hm-extensions v0.0.30 installed to HM_TEST (retailer 5)` |
|
|
59
|
+
| `-> NEXT: /fluent-<skill>` | Ready for workflow deploy or E2E test | `-> NEXT: /fluent-workflow-deploy` |
|
|
60
|
+
| `-> BLOCKED: <reason>` | Deployment blocked | `-> BLOCKED: DEPLOYMENT_BLOCKED — Pre-deploy check verdict is BLOCKED` |
|
|
61
|
+
| `-> SKIP: <reason>` | Module already at target version | `-> SKIP: Module already at v0.0.30 on retailer HM_TEST` |
|
|
62
|
+
|
|
63
|
+
### Error codes
|
|
64
|
+
|
|
65
|
+
| Code | Condition | Recovery |
|
|
66
|
+
|------|-----------|----------|
|
|
67
|
+
| `PLAN_REQUIRED` | Deployment attempted without approved plan | Run `/fluent-feature-plan` first |
|
|
68
|
+
| `DEPLOYMENT_BLOCKED` | Pre-deploy check report is BLOCKED | Run `/fluent-pre-deploy-check` and resolve gates |
|
|
69
|
+
| `PREREQ_MISSING` | No pre-deploy report found | Run `/fluent-pre-deploy-check` first |
|
|
70
|
+
| `ENV_UNREACHABLE` | Cannot connect to Fluent environment | Check credentials via `config.validate` |
|
|
71
|
+
|
|
32
72
|
## When to Use
|
|
33
73
|
|
|
34
74
|
- Deploying reference modules from Fluent repository
|
|
@@ -42,7 +82,7 @@ Present the full plan content to the user and wait for approval before running `
|
|
|
42
82
|
- [ ] Module source available (name, URL, or local path)
|
|
43
83
|
- [ ] Dependencies installed
|
|
44
84
|
- [ ] Configuration values ready (if module requires config)
|
|
45
|
-
- [ ] Module validation passed (check `accounts/<PROFILE>/
|
|
85
|
+
- [ ] Module validation passed (check `accounts/<PROFILE>/reports/module-validate/<name>.report.json` — `summary.status` should be `READY_FOR_BUILD`). Run `/fluent-module-validate` if report is missing or stale.
|
|
46
86
|
|
|
47
87
|
## Cross-Platform Command Notes
|
|
48
88
|
|
|
@@ -99,7 +139,7 @@ For local module paths (extension or data modules), run structural validation be
|
|
|
99
139
|
|
|
100
140
|
**1. Check validation report:**
|
|
101
141
|
|
|
102
|
-
Read `accounts/<PROFILE>/
|
|
142
|
+
Read `accounts/<PROFILE>/reports/module-validate/<module-name>.report.json` if it exists.
|
|
103
143
|
|
|
104
144
|
- If `summary.status == "READY_FOR_BUILD"` -- proceed
|
|
105
145
|
- If `summary.status == "NEEDS_FIXES"` -- **STOP**. List the FAIL items from the report. Run `/fluent-module-validate` to refresh if the report is stale.
|
|
@@ -124,15 +164,17 @@ fluent module describe <module-name>
|
|
|
124
164
|
- Read `<module-path>/resources/module.json` directly and confirm it parses as JSON.
|
|
125
165
|
- Confirm the module type matches expectations (extension has `plugins/`, data has `resources/assets/`).
|
|
126
166
|
|
|
127
|
-
### Step 3: Check Dependencies
|
|
167
|
+
### Step 3: Check Dependencies (Mandatory Pre-flight)
|
|
128
168
|
|
|
129
169
|
```bash
|
|
130
|
-
# List installed modules
|
|
170
|
+
# List installed modules — MUST run before any install
|
|
131
171
|
fluent module list -p <profile-name>
|
|
132
172
|
|
|
133
173
|
# Compare with module.json dependencies
|
|
134
174
|
```
|
|
135
175
|
|
|
176
|
+
**FAIL FAST:** If dependencies are missing, STOP immediately. Do not attempt to install the module — it will fail mid-operation. Install dependencies in the correct order first (see dependency order table above).
|
|
177
|
+
|
|
136
178
|
If dependencies missing: install them first!
|
|
137
179
|
|
|
138
180
|
**For reference modules**, enforce the dependency order:
|
|
@@ -331,6 +373,22 @@ After deploying a module that includes new custom rules, workflows referencing t
|
|
|
331
373
|
|
|
332
374
|
**Deployment order:** Module (registers rules) -> Workflows (reference rules) -> Settings (referenced by rules) -> E2E test
|
|
333
375
|
|
|
376
|
+
## Session Tracking
|
|
377
|
+
|
|
378
|
+
When invoked, log the following to the session tracking protocol (consumed by `/fluent-session-summary` and `/fluent-session-audit-export`):
|
|
379
|
+
|
|
380
|
+
**On entry:**
|
|
381
|
+
```json
|
|
382
|
+
{ "skill": "<this-skill-name>", "timestamp": "<ISO-8601>", "arguments": { "<key>": "<value>", "...": "..." } }
|
|
383
|
+
```
|
|
384
|
+
|
|
385
|
+
**On exit:**
|
|
386
|
+
```json
|
|
387
|
+
{ "skill": "<this-skill-name>", "outcome": "<completed|failed|skipped>", "changesProduced": ["<seq-numbers>"], "toolCallsProduced": ["<seq-numbers>"], "nextRecommended": "<from-handoff-section>" }
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
All MCP tool calls made during execution should include `"skill": "<this-skill-name>"` in their tracking record for attribution. The `arguments` object should capture the key parameters actually passed (profile, retailer, entity type, etc.) — not a fixed schema. The `nextRecommended` value comes from the Handoff section below.
|
|
391
|
+
|
|
334
392
|
## Best Practices
|
|
335
393
|
|
|
336
394
|
1. **Always verify active profile** before installing
|
|
@@ -10,6 +10,8 @@ argument-hint: <operation> [profile-name]
|
|
|
10
10
|
|
|
11
11
|
Manage Fluent CLI profiles for connecting to Fluent Commerce accounts.
|
|
12
12
|
|
|
13
|
+
> **New to Fluent CLI?** Start with `/fluent-cli-index` for a complete command reference and routing guide.
|
|
14
|
+
|
|
13
15
|
## When to Use
|
|
14
16
|
|
|
15
17
|
- Creating new connection to Fluent account
|
|
@@ -178,3 +180,74 @@ Profiles stored in: `~/.fluentcommerce/<profile-name>/`
|
|
|
178
180
|
3. **Environment-specific profiles** - Don't mix dev/prod
|
|
179
181
|
4. **Handle exports carefully** - Postman files contain plain-text credentials
|
|
180
182
|
5. **Rotate credentials regularly** - Update profiles with new passwords
|
|
183
|
+
|
|
184
|
+
## Credential Rotation
|
|
185
|
+
|
|
186
|
+
To rotate credentials for a Fluent profile:
|
|
187
|
+
|
|
188
|
+
1. Generate new credentials in Fluent Commerce admin console
|
|
189
|
+
2. Update profile: `fluent profile update -n <PROFILE> --client-id <NEW_ID> --client-secret <NEW_SECRET>`
|
|
190
|
+
3. Validate new credentials: `fluent profile test -n <PROFILE>` (or attempt `fluent workflow list -p <PROFILE>`)
|
|
191
|
+
4. If validation succeeds, the rotation is complete
|
|
192
|
+
5. If validation fails, revert: `fluent profile update -n <PROFILE> --client-id <OLD_ID> --client-secret <OLD_SECRET>`
|
|
193
|
+
|
|
194
|
+
**Warning:** Never rotate credentials mid-deployment. Complete all in-flight deployments first.
|
|
195
|
+
|
|
196
|
+
### Extended Rotation Procedure
|
|
197
|
+
|
|
198
|
+
When credentials expire or are rotated by an admin, follow these steps:
|
|
199
|
+
|
|
200
|
+
#### Step 1: Identify affected profiles
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
fluent profile list
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
Note which profiles use the rotated credentials (check username in each `~/.fluentcommerce/<PROFILE>/profile.json`).
|
|
207
|
+
|
|
208
|
+
#### Step 2: Update profile credentials
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
fluent profile update <profile-name> \
|
|
212
|
+
--username <username> \
|
|
213
|
+
--password <new-password>
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
If the client secret was rotated:
|
|
217
|
+
```bash
|
|
218
|
+
fluent profile update <profile-name> \
|
|
219
|
+
--client-secret <new-client-secret>
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
#### Step 3: Update retailer user credentials (if applicable)
|
|
223
|
+
|
|
224
|
+
```bash
|
|
225
|
+
fluent profile update <profile-name> \
|
|
226
|
+
--retailer <retailer-ref> \
|
|
227
|
+
--username <retailer-admin> \
|
|
228
|
+
--password <new-password>
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
#### Step 4: Verify updated credentials
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
fluent profile use <profile-name>
|
|
235
|
+
fluent profile active
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
If MCP servers are configured, restart them after updating credentials so they pick up the new profile data.
|
|
239
|
+
|
|
240
|
+
#### Step 5: Verify MCP connectivity (if applicable)
|
|
241
|
+
|
|
242
|
+
After restarting MCP servers, run `connection.test` to confirm authentication works with the new credentials.
|
|
243
|
+
|
|
244
|
+
### Common rotation triggers
|
|
245
|
+
|
|
246
|
+
| Trigger | What to update |
|
|
247
|
+
|---------|---------------|
|
|
248
|
+
| Password expired | `--password` on profile and retailer users |
|
|
249
|
+
| Client secret rotated | `--client-secret` on profile |
|
|
250
|
+
| User deactivated/replaced | `--username` + `--password` on profile |
|
|
251
|
+
| Environment migration | Create new profile with new credentials |
|
|
252
|
+
|
|
253
|
+
For a complete CLI command reference, see `/fluent-cli-index`.
|