@aiaiai-pt/frankctl
v0.4.3
Published
Terminal-first client for the Frank Low-Code Pipeline platform
Maintainers
Readme
frankctl
Terminal-first CLI for the Frank Low-Code Pipeline platform — scriptable access to sources, streams, transforms, pipelines, backing datasets, and AI assistance.
Install
npm install -g @aiaiai-pt/frankctl
frankctl --helpRequires Node.js >= 18. The binary is frankctl.
Quickstart
frankctl auth login # authenticate against your Frank instance
frankctl --api-url https://frank.example.com sources list
frankctl pipelines apply -f pipeline.yamlFull command reference: the Frank docs and frankctl <command> --help.
Develop from source
npm install
npm run build
npm link
frankctl --helpScope
frankctl statusfrankctl auth login|logout|status|tokenfrankctl config set|get|listfrankctl pipelines list|get|validate|apply|exportfrankctl sources list|get|create|update|delete|discover|sync|logs|historyfrankctl backing-datasets list|get|create|update|delete(alias:frankctl bd)frankctl sources streams list|set|refresh-schemafrankctl transforms list|get|runs|logs|triggerfrankctl runs get|wait|cancelfrankctl patterns list|get|validate-params|registerfrankctl schedules list|get|set|delete|pause|resume|trigger(source-scoped)frankctl datasets list|preview|snapshotsfrankctl ai compose-pipeline|generate-transform|review-sql|fix-ci-failure|suggest|publish-transform
Config files for sources create|update, backing-datasets create|update, and sources streams set accept YAML or JSON (use - to read stdin).
Declarative apply (pipelines apply -f)
frankctl pipelines apply -f vertical.yaml provisions a complete Source +
Pipeline + BackingDataset triple from a single multi-doc YAML file.
Docs use the kubectl-style envelope (apiVersion: frank.platform/v1,
kind:, metadata.name:, spec:). The CLI sorts by kind (Source →
Pipeline → BackingDataset), resolves cross-doc name references to UUIDs,
and POSTs each doc with ?if-not-exists=true. frankctl pipelines export
<id> -o yaml round-trips an existing pipeline back to a multi-doc YAML
file ready for adoption into git. See ../docs/guides/cli.md for the
full reference.
Environment
FRANKCTL_API_URL— Frank API base (defaulthttp://localhost:8000)FRANKCTL_KEYCLOAK_URL— Keycloak base (defaulthttp://localhost:8180)FRANKCTL_KEYCLOAK_REALM— realm (defaultfrank)FRANKCTL_CLIENT_ID— OAuth client id (defaultfrank-low-codefor user flows,frank-apifor service account)FRANKCTL_CLIENT_SECRET— client secret (service account only)FRANKCTL_PROFILE— active config profileFRANKCTL_TOKEN— bypass token store entirelyFRANK_DEV_MODE=true+FRANKCTL_TENANT_ID=<uuid>— forwardX-Tenant-IDheader (required today for transforms and source sync routes)PATTERN_WEBHOOK_SECRET— HMAC-SHA256 signing key forfrankctl patterns register(CI only; command exits 6 when unset)
