@aiaiai-pt/frankctl 0.4.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.
- package/CHANGELOG.md +12 -0
- package/README.md +73 -0
- package/dist/index.js +347 -0
- package/package.json +65 -0
- package/skills/frank-cli/SKILL.md +323 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to `@aiaiai-pt/frankctl` are documented here. This project
|
|
4
|
+
adheres to [Semantic Versioning](https://semver.org/).
|
|
5
|
+
|
|
6
|
+
## 0.4.0
|
|
7
|
+
|
|
8
|
+
- First public release to npm as `@aiaiai-pt/frankctl` (binary `frankctl`).
|
|
9
|
+
- `--version` is injected from `package.json` at build time (no drift).
|
|
10
|
+
- Commands: `auth`, `config`, `status`, `sources` (incl. `streams list|set|refresh-schema|set-types|diff-types`),
|
|
11
|
+
`transforms`, `pipelines` (`validate|apply|export|scaffold`), `backing-datasets`, `patterns`,
|
|
12
|
+
`schedules`, `runs`, `datasets`, `ai`, `admin`.
|
package/README.md
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# frankctl
|
|
2
|
+
|
|
3
|
+
Terminal-first CLI for the [Frank Low-Code Pipeline](https://frank-docs-4k3.pages.dev) platform — scriptable access to sources, streams, transforms, pipelines, backing datasets, and AI assistance.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install -g @aiaiai-pt/frankctl
|
|
9
|
+
frankctl --help
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Requires Node.js >= 18. The binary is `frankctl`.
|
|
13
|
+
|
|
14
|
+
## Quickstart
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
frankctl auth login # authenticate against your Frank instance
|
|
18
|
+
frankctl --api-url https://frank.example.com sources list
|
|
19
|
+
frankctl pipelines apply -f pipeline.yaml
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Full command reference: the [Frank docs](https://frank-docs-4k3.pages.dev) and `frankctl <command> --help`.
|
|
23
|
+
|
|
24
|
+
## Develop from source
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npm install
|
|
28
|
+
npm run build
|
|
29
|
+
npm link
|
|
30
|
+
frankctl --help
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Scope
|
|
34
|
+
|
|
35
|
+
- `frankctl status`
|
|
36
|
+
- `frankctl auth login|logout|status|token`
|
|
37
|
+
- `frankctl config set|get|list`
|
|
38
|
+
- `frankctl pipelines list|get|validate|apply|export`
|
|
39
|
+
- `frankctl sources list|get|create|update|delete|discover|sync|logs|history`
|
|
40
|
+
- `frankctl backing-datasets list|get|create|update|delete` (alias: `frankctl bd`)
|
|
41
|
+
- `frankctl sources streams list|set|refresh-schema`
|
|
42
|
+
- `frankctl transforms list|get|runs|logs|trigger`
|
|
43
|
+
- `frankctl runs get|wait|cancel`
|
|
44
|
+
- `frankctl patterns list|get|validate-params|register`
|
|
45
|
+
- `frankctl schedules list|get|set|delete|pause|resume|trigger` (source-scoped)
|
|
46
|
+
- `frankctl datasets list|preview|snapshots`
|
|
47
|
+
- `frankctl ai compose-pipeline|generate-transform|review-sql|fix-ci-failure|suggest|publish-transform`
|
|
48
|
+
|
|
49
|
+
Config files for `sources create|update`, `backing-datasets create|update`, and `sources streams set` accept YAML or JSON (use `-` to read stdin).
|
|
50
|
+
|
|
51
|
+
### Declarative apply (`pipelines apply -f`)
|
|
52
|
+
|
|
53
|
+
`frankctl pipelines apply -f vertical.yaml` provisions a complete Source +
|
|
54
|
+
Pipeline + BackingDataset triple from a single multi-doc YAML file.
|
|
55
|
+
Docs use the kubectl-style envelope (`apiVersion: frank.platform/v1`,
|
|
56
|
+
`kind:`, `metadata.name:`, `spec:`). The CLI sorts by kind (Source →
|
|
57
|
+
Pipeline → BackingDataset), resolves cross-doc name references to UUIDs,
|
|
58
|
+
and POSTs each doc with `?if-not-exists=true`. `frankctl pipelines export
|
|
59
|
+
<id> -o yaml` round-trips an existing pipeline back to a multi-doc YAML
|
|
60
|
+
file ready for adoption into git. See `../docs/guides/cli.md` for the
|
|
61
|
+
full reference.
|
|
62
|
+
|
|
63
|
+
## Environment
|
|
64
|
+
|
|
65
|
+
- `FRANKCTL_API_URL` — Frank API base (default `http://localhost:8000`)
|
|
66
|
+
- `FRANKCTL_KEYCLOAK_URL` — Keycloak base (default `http://localhost:8180`)
|
|
67
|
+
- `FRANKCTL_KEYCLOAK_REALM` — realm (default `frank`)
|
|
68
|
+
- `FRANKCTL_CLIENT_ID` — OAuth client id (default `frank-low-code` for user flows, `frank-api` for service account)
|
|
69
|
+
- `FRANKCTL_CLIENT_SECRET` — client secret (service account only)
|
|
70
|
+
- `FRANKCTL_PROFILE` — active config profile
|
|
71
|
+
- `FRANKCTL_TOKEN` — bypass token store entirely
|
|
72
|
+
- `FRANK_DEV_MODE=true` + `FRANKCTL_TENANT_ID=<uuid>` — forward `X-Tenant-ID` header (required today for transforms and source sync routes)
|
|
73
|
+
- `PATTERN_WEBHOOK_SECRET` — HMAC-SHA256 signing key for `frankctl patterns register` (CI only; command exits 6 when unset)
|