Commandline Interface (CLI)
The Forge CLI is currently distributed as a pre-release beta (@cdx-forge/[email protected]). APIs, command flags, and behavior may still change between beta versions. Use of the CLI is governed by the Candescent Developer Agreement (the LICENSE file shipped with each package); third-party open-source attribution is bundled in THIRD_PARTY_LICENSES. Pin to a specific beta version in CI/CD until the GA release is announced.
The Forge CLI is the unifying command-line interface for the Candescent developer experience. It accompanies you through every phase of the developer journey — learn, build, integrate & test, operate, and scale — without leaving the terminal.
Forge is Candescent's umbrella brand for the developer experience. The CLI is one of the products under Forge, alongside the developer documentation portal, the Developer Console, and the SDKs. Throughout this guide, "the CLI" refers specifically to the Forge CLI.
What the CLI Does
The CLI is organized around the developer journey:
Learn
- AI-powered docs search —
forge askruns a streaming AI search across the Candescent developer documentation. Use it as a one-shot question or as an interactive REPL with follow-up suggestions. - API discovery —
forge api listandforge api describebrowse the full Candescent Digital Insight API operation registry from the terminal, including parameter details and examples. - Template browsing —
forge widget templatesandforge aspect templatesshow every starter template, grouped by category, with previews of the generated code.
Build
- Widget scaffolding —
forge widget creategenerates a new web (Module Federation) or mobile (React Native) widget via Nx, with optional template overlays for common patterns (data charts, agent chat, OIDC-authenticated, promotional). - Aspect scaffolding —
forge aspect preview --template <id>(and optional--preset <id>) generates ready-to-edit Aspect code: classic UI patterns (banner, toast, modal, countdown), session-aware and OIDC flows, vendor loaders and GTM-style snippets, mobile JSBridge chat shells, and related patterns. Output can be saved under./aspects/for local iteration. - Application & credential management —
forge app *andforge env *configure the credentials your code will need at runtime.
Integrate & Test
- Local previews —
forge widget previewandforge aspect previewlaunch a local OLB Docker playground (web) or an Expo + Metro Bundler sandbox (mobile) for instant feedback against a realistic banking shell. - Live API calls —
forge api call <tag>.<operation>executes any DI API operation from the terminal so you can validate integrations as you build them. - OIDC development —
forge oidc upbrings up a local mock Identity Provider so you can develop and test auth-aware Aspects and widgets without a real FI environment. - Mobile preview —
forge widget preview --platform mobileandforge aspect preview --platform mobileopen the Expo mobile sandbox for testing on a physical device (Expo Go), iOS Simulator, Android Emulator, or via Expo's tunnel mode.
Operate
- Submission workflow —
forge widget submitandforge aspect submitopen a structured pull request for review, with built-in lint checks (ESLint + TypeScript + markdownlint) and platform validation. - Submission tracking —
forge submission list,forge submission status, andforge submission dashboardgive you cross-cutting visibility into every submission and its review state. - Publish & deploy —
forge submission publishmerges the approved PR and triggers the CI deploy pipeline.forge submission deploypromotes a published component to production. - PR management —
forge repo pr create,forge repo pr list, andforge repo pr statuscover GitHub PR operations directly from the terminal.
Scale
- Repository setup —
forge repo initprovisions your FI repository for extension development. - Collaborator management —
forge collaborator add / list / removemanages who on your team can submit and manage components. - Multi-environment workflows —
forge login -e <env>lets you switch between Sandbox and Production, and--tier stage|prodselects the Production tier (Stage apps vs Prod apps).forge env *manages SDK environment variables independently of the login environment.
Who Should Use the CLI
The Forge CLI is designed for two audiences:
Financial Institution Developers
FI developers who build custom widgets and Aspects to extend the Candescent Digital Banking platform for their customers. The CLI handles the full lifecycle: scaffold a project, preview it in a local playground, validate it against live APIs, and submit it through the GitHub-based review process.
Marketplace Partners (Fintechs)
Partners building integrations that multiple financial institutions can adopt. The CLI provides the same development workflow, with additional support for OIDC-based authentication patterns common in partner integrations.
Architecture
The CLI integrates with several Candescent services and development tools:
| Service | Used By |
|---|---|
Developer Console BFF (console.candescent.com / console.sandbox.candescent.com) | login, app, aspect submit, submission, collaborator, repo, widget submit |
@cdx-forge/di-typescript-sdk | api list, api describe, api call (operation registry + live API calls) |
| GitHub REST API | repo pr, submission publish (requires gh auth or GITHUB_TOKEN) |
| Docs Assistant API | ask (streaming AI search across developer docs) |
Nx + cdx-extensibility-apps | widget create, widget preview, widget build (local scaffolding and builds) |
| OLB Docker Playground | aspect preview, widget preview (local banking shell with widget slots and Aspect injection) |
cdx-mock-data-apis (port 4010) | Chart-widget templates, forge widget preview for data-driven widgets |
cdx-mock-partners (port 4011) | Partner-vendor scenarios, Aspect previews that load remote vendor scripts |
| Expo + Metro Bundler | widget preview --platform mobile, aspect preview --platform mobile (mobile sandbox via Expo Go, simulator, or tunnel) |
oidc-sso-toolkit (Docker) | oidc commands, aspect preview --template oidc-snippet (local mock IdP) |
saml-sso-toolkit (Docker) | SAML-based aspect templates and local mock IdP scenarios |
Related Packages & Resources
Public packages, container images, and source repositories you may use alongside the Forge CLI:
CLI distributions
- npm —
@cdx-forge/cli(install withnpm i -g @cdx-forge/cliorpnpm add -g @cdx-forge/cli) - Homebrew tap —
candescent-dev/homebrew-forge(install withbrew install candescent-dev/forge/forge-cli)
SDKs and code references
- TypeScript Server SDK —
@cdx-forge/di-typescript-sdkon npm (used internally byforge api call; you can also depend on it directly from your own server-side code) - OpenAPI specs —
candescent-dev/openapi(canonical OpenAPI documents the SDKs and CLI registry are generated from)
Sample apps and playgrounds
cdx-extensibility-apps— github.com/candescent-dev/cdx-extensibility-apps — sample web and mobile widgets/Aspects, plus theplayground/webandplayground/mobile-sandboxworkspaces thatforge widget previewandforge aspect previewuse under the hood. The CLI auto-clones this repo to~/.forge/cdx-extensibility-appson first use.
Local mock servers and dev infrastructure
- OLB Docker Playground (web preview shell) — base image:
ghcr.io/candescent-dev/olb-playground. The local compose file incdx-extensibility-apps/playground/webbuilds a small BFF patch on top of this image so widget HTTP calls can reach the host on ports 4010 / 4011. cdx-mock-data-apis— github.com/candescent-dev/cdx-mock-data-apis — mock REST data server (port 4010). Used by the chart-widget templates (forge widget create --template data-chart) and any widget that calls alocalhost:4010/...URL via the SDK.cdx-mock-partners— github.com/candescent-dev/cdx-mock-partners — mock partner/vendor server (port 4011). Used by Aspect templates that load remote vendor scripts.- OIDC SSO Toolkit — github.com/candescent-dev/oidc-sso-toolkit — local Docker mock IdP for OIDC-authenticated widget/Aspect development (
forge oidc up / down). - SAML SSO Toolkit — github.com/candescent-dev/saml-sso-toolkit — local Docker mock IdP for SAML-based scenarios.
Mobile preview prerequisites
- Expo Go — expo.dev/go (iOS / Android client for previewing mobile widgets and Aspects on a physical device)
- Xcode + iOS Simulator — developer.apple.com/xcode (macOS only)
- Android Studio + Android Emulator — developer.android.com/studio
Platform Support
The CLI supports both web and mobile development for widgets and Aspects:
| Extension Type | Web | Mobile |
|---|---|---|
| Widgets | Nx + Module Federation + OLB playground | Nx + React Native + Expo sandbox |
| Aspects | JavaScript IIFE injected into host page | HTML document loaded in a WebView |
The --platform flag (available on create, preview, and submit commands) ensures you build and submit for the correct target. Platform is recorded at create/preview time and validated at submit time.
Distribution
The CLI ships through two public channels, both updated automatically on every release:
- npm —
@cdx-forge/clifornpm/pnpmusers (any platform) - Homebrew —
candescent-dev/forgetap providing theforge-cliformula for macOS and Linux
Next Steps
- Installation — Install the CLI via Homebrew or npm/pnpm
- Quick Start — Authenticate, preview your first Aspect, and scaffold a widget in minutes
- Widget Development — Full guide to creating, previewing, and submitting widgets
- Aspect Development — Templates, preview modes, and the submission workflow
- Command Reference — Complete list of all commands and flags