Skip to main content

aio-ffcpe-cli

Use when working with the Adobe I/O CLI plugin @adobe/aio-cli-plugin-ffcpe (FFCPE — Firefly Creative Production for Enterprise). Covers installation, authentication, env overrides, and all `aio ffcpe catalog` commands. Use for terminal workflows, scripting catalog changes, or explaining how developers should invoke this plugin. Some users still say **Workflow Builder**; that name referred to the same product area — the CLI topic is **`ffcpe`** (`aio ffcpe`).

معلومات المصدر

المستودع
adobe/aio-cli-plugin-ffcpe
آخر نشاط في المصدر
٢٨ مايو ٢٠٢٦ في ٠٥:٢٦
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٠
التفرعات
١

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
aio-ffcpe-cli
description
Use when working with the Adobe I/O CLI plugin @adobe/aio-cli-plugin-ffcpe (FFCPE — Firefly Creative Production for Enterprise). Covers installation, authentication, env overrides, and all `aio ffcpe catalog` commands. Use for terminal workflows, scripting catalog changes, or explaining how developers should invoke this plugin. Some users still say **Workflow Builder**; that name referred to the same product area — the CLI topic is **`ffcpe`** (`aio ffcpe`).
# aio-cli-plugin-ffcpe (FFCPE CLI) This repository is an **oclif plugin** for Adobe I/O CLI. **Topic: `ffcpe`** — **Firefly Creative Production for Enterprise (FFCPE)** — focused on the **run-workflow Catalog API** for custom actions. **Legacy language:** internal and older docs sometimes say **Workflow Builder** or used older topic naming in screenshots. That is the same capability; current branding and the **`aio`** topic are **`ffcpe`**. ## When to use this skill - Installing or troubleshooting the plugin - Choosing the right `aio ffcpe catalog …` command - Explaining flags (`--base-url`, `--org-id`, `--api-key`, `--json`, etc.) - How auth and org context are resolved ## Setup ### 1. Install Adobe I/O CLI (`aio`) Requires **Node.js 18+**. ```sh-session npm install -g @adobe/aio-cli aio --version ``` ### 2. Install this plugin (`@adobe/aio-cli-plugin-ffcpe`) ```sh-session aio plugins:install @adobe/aio-cli-plugin-ffcpe ``` Or from Git (fork or internal repo): ```sh-session aio plugins:install https://github.com/adobe/aio-cli-plugin-ffcpe ``` ### 3. Verify and authenticate ```sh-session aio ffcpe catalog --help aio login aio console org select ``` If **`aio ffcpe`** is missing, run **`aio plugins`** and confirm this package is installed. ## Base URL - **Default:** `https://run-workflow.adobe.io` - **Override:** environment variable **`AIO_FFCPE_CATALOG_BASE_URL`** or flag **`--base-url`** (`-u`) on catalog commands. ## Commands (catalog) | Command | Purpose | |--------|---------| | **`aio ffcpe catalog validate`** | Local validation of catalog entry JSON (typically **`<action-name>.entry.json`**). Use `--file` / `-f`. | | **`aio ffcpe catalog register`** | POST a new catalog entry from a JSON file. Validates first; optional **`--strict`** to fail on validation warnings. | | **`aio ffcpe catalog inspect ACTIONTYPE`** | GET one action; optional **`--version`** for a specific semver. | | **`aio ffcpe catalog list`** | GET catalog actions (supports filters per command help). | | **`aio ffcpe catalog update ACTIONTYPE`** | PUT a full replacement definition. | | **`aio ffcpe catalog disable ACTIONTYPE`** | Disable (and typically hide from the FFCPE workflow UI). | | **`aio ffcpe catalog enable ACTIONTYPE`** | Re-enable a disabled action. | | **`aio ffcpe catalog delete ACTIONTYPE`** | DELETE; use **`--version`** to delete one semver only. | Run **`aio ffcpe catalog --help`** or **`aio ffcpe catalog <command> --help`** for exact flags and examples. ## Common flags - **`--org-id`** — override `x-gw-ims-org-id` (default from `aio console org select`). - **`--api-key`** — override `x-api-key` when needed. - **`--json`** — print raw API JSON where supported. ## Authoring catalog entries The CLI does not scaffold entries interactively. Use the **`ffcpe-catalog-entry-json`** skill (or **`/aio-ffcpe-skills:ffcpe-catalog-entry-json`** when the plugin is installed). **Recommended layout in App Builder repos:** store each action’s catalog JSON as **`<action-name>.entry.json`** next to **`<action-name>.web.*`** and **`<action-name>.worker.*`** (e.g. **`actions/resize-image/resize-image.entry.json`**). That groups implementation and registration for one custom action. See **`ffcpe-app-builder-actions`** in [ffcpe-custom-node-sdk](https://github.com/adobe/ffcpe-custom-node-sdk). Then validate and register: ```sh-session aio ffcpe catalog validate -f ./actions/resize-image/resize-image.entry.json aio ffcpe catalog register -f ./actions/resize-image/resize-image.entry.json ``` ## Pre-registration: wiring the App Builder project Before registering, the App Builder app must be deployed and the local project wired to a Console workspace. ### Console project naming | Rule | Detail | |------|--------| | Alphanumeric only | Hyphens rejected: `demo-qr-app` fails with `Project name … is invalid` | | Max 20 characters | Longer names fail at create time | | Name ≠ package | Console project (e.g. `demoQrFfcpe`) can differ from OpenWhisk **`runtimeManifest` package** (e.g. `demo-qr-custom-ffcpe-nodes`) | Stage and Production workspaces are created automatically with a new project. ### Console CLI flag gotchas The `aio console workspace` commands have **inconsistent flag shapes** — using the wrong flag throws `NonExistentFlagsError`: | Command | Correct flags | |---------|---------------| | `aio console workspace create` | `--projectName <name>` (required), `--name <name>` (required) | | `aio console workspace select` | positional `[NAME_OR_ID]` + optional `--projectId <id>` | | `aio console workspace list` | `--projectId <id>` — **no `--projectName` flag** | | `aio console workspace download` | optional positional destination path | ### Wire, build, deploy ```sh-session aio console project create -n myproject -t "My FFCPE App" --json aio console project select myproject aio console workspace select Stage --projectId <PROJECT_ID> aio console workspace download myproject-Stage.json echo 'myproject-Stage.json' >> .gitignore aio app use myproject-Stage.json --overwrite --no-input aio app build aio app deploy ``` Use **`--overwrite --no-input`** on **`aio app use`** when `.env` already exists from `aio app init` — otherwise the CLI prompts interactively and can hang in agent/CI sessions. The downloaded JSON file contains client credentials and API keys. The generated `.gitignore` does **not** cover this file automatically (it only covers `console.json` and `.env*`). Add the exact filename — or the pattern `[0-9]*-*-*.json` — immediately after download. ### Post-deploy: endpoints → catalog → register 1. Copy each **web action base URL** from deploy output. 2. Set **`submitEndpoint`** = `{base}/submit`, **`statusEndpoint`** = `{base}/status` in **`<action-name>.entry.json`**. 3. Set **`authentication`** to **`ims_service_token`** when using default SDK route auth (see **`ffcpe-catalog-entry-json`**). 4. Register: ```sh-session aio console org select aio ffcpe catalog validate -f ./actions/my-action/my-action.entry.json aio ffcpe catalog register -f ./actions/my-action/my-action.entry.json # or, if actionType already exists: aio ffcpe catalog update my-action -f ./actions/my-action/my-action.entry.json ``` See **`ffcpe-app-builder-actions`** skill for the full init-bare → deploy → register flow. ## Deeper docs - **`skills/README.md`** — agent skills (Claude **`/`** commands, Cursor paths, **`npx skills`** install). - **`.cursor/ffcpe-catalog/SKILL.md`** — catalog operations via **`aio ffcpe catalog`** (same HTTP API under the hood; do not hand-craft curl).
عرض على GitHub