{"id":50569770,"url":"https://github.com/getlark/cli","last_synced_at":"2026-06-04T17:30:37.781Z","repository":{"id":358556846,"uuid":"1218440908","full_name":"getlark/cli","owner":"getlark","description":null,"archived":false,"fork":false,"pushed_at":"2026-05-17T22:57:55.000Z","size":91,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-18T00:49:36.941Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/getlark.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-22T22:05:35.000Z","updated_at":"2026-05-17T22:57:59.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/getlark/cli","commit_stats":null,"previous_names":["getlark/cli"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/getlark/cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getlark%2Fcli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getlark%2Fcli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getlark%2Fcli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getlark%2Fcli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/getlark","download_url":"https://codeload.github.com/getlark/cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getlark%2Fcli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33916319,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-04T02:00:06.755Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-04T17:30:36.655Z","updated_at":"2026-06-04T17:30:37.771Z","avatar_url":"https://github.com/getlark.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# getlark CLI\n\nCommand-line interface for creating, invoking, and managing [getlark](https://getlark.ai) testing workflows.\n\n## Table of Contents\n\n- [Quickstart](#quickstart)\n- [Configuration](#configuration)\n- [Use with AI coding agents](#use-with-ai-coding-agents)\n- [CI Pipeline Usage](#ci-pipeline-usage)\n- [Usage](#usage)\n  - [workflows](#commands) — create, get, update, list, archive, invoke\n  - [workflows executions](#workflows-executions-get--get-execution-details) — get, logs, cancel\n  - [workflows repairs](#workflows-repairs-trigger--trigger-a-workflow-repair) — trigger, list, get, cancel, logs\n  - [workflows generations](#workflows-generations-cancel--cancel-a-running-generation) — cancel\n  - [workflows events](#workflows-events-list--list-workflow-events) — list\n  - [workflow-groups](#workflow-groups-create--create-a-workflow-group) — create, list, get, update, delete\n  - [jobs](#jobs-create--create-a-job-from-an-inline-json-input-file) — create, list, get, cancel, upload, validate\n  - [secret-contexts](#secret-contexts-list--list-secret-contexts) — list, get, create, update, delete, delete-key\n  - [Examples](#examples)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Quickstart\n\nRequires Node.js \u003e= 18.\n\n```bash\nnpx -y @getlark/cli@latest workflows invoke --all --wait\n```\n\nOr install globally:\n\n```bash\nnpm install -g @getlark/cli@latest\n\ngetlark workflows invoke --all --wait\n```\n\n## Configuration\n\nThe fastest way to authenticate is `getlark login`:\n\n```bash\ngetlark login                          # prompts for your API key\ngetlark login --api-key your-api-key   # non-interactive\n```\n\nThis stores your credentials at `~/.getlark/config.json` (mode `0600`) so subsequent commands work in any new shell — no need to reload your shell or re-export an env var.\n\nThe CLI resolves the API key in this order: `--api-key` flag → `GETLARK_API_KEY` env var → `~/.getlark/config.json` → error. The same precedence applies to `--api-url` / `GETLARK_API_URL`. CI usage is unchanged — keep using the env var.\n\n### Profiles\n\nIf you work across multiple getlark accounts, use named profiles:\n\n```bash\ngetlark --profile staging login        # save a second profile\ngetlark config list                    # show all profiles (* = active)\ngetlark config use staging             # switch the active profile\ngetlark --profile staging workflows list   # one-shot override\ngetlark --profile staging logout       # remove the profile\n```\n\nThe CLI also supports a `.env` file in the current directory.\n\n## Use with AI coding agents\n\nLark ships [Agent Skills](https://docs.getlark.ai/agents) that teach Claude Code, Cursor, and other agents how to author, invoke, and manage workflows through the `getlark` CLI — no per-session priming required.\n\n**Claude Code plugin** (skills + `/getlark:*` slash commands + optional branch-validation hook):\n\n```\n/plugin marketplace add getlark/skills\n/plugin install getlark\n/reload-plugins\n/getlark:setup\n```\n\n**Any other agent** (Cursor, Codex, OpenCode, Windsurf, Gemini CLI, Copilot, …) via the [Vercel Skills CLI](https://github.com/vercel-labs/skills):\n\n```bash\nnpx skills add getlark/skills\n```\n\nThen ask the agent to run the `setup` skill. See the [Agents docs](https://docs.getlark.ai/agents) for the full skill catalog and the opt-in `PostToolUse` hook that validates your branch after every `git commit` or `git push`.\n\n## CI Pipeline Usage\n\nThe `--wait` flag makes it easy to use in CI pipelines. The command will block until the workflow completes and exit with a non-zero code on failure.\n\n### GitHub Actions Example\n\nSet the `GETLARK_API_KEY` environment variable in GitHub Actions secrets.\n\n```yaml\n- name: Run getlark Tests\n  run: npx -y @getlark/cli@latest workflows invoke --all --wait\n  env:\n    GETLARK_API_KEY: ${{ secrets.GETLARK_API_KEY }}\n```\n\n### CircleCI Example\n\nSet the `GETLARK_API_KEY` environment variable in CircleCI.\n\n```yaml\ngetlark_tests:\n  docker:\n    - image: cimg/node:lts\n  resource_class: small\n  steps:\n    - run:\n        name: Run getlark Tests\n        command: |\n          npx -y @getlark/cli@latest workflows invoke --all --wait\n```\n\n## Usage\n\n```bash\ngetlark [options] \u003ccommand\u003e\n```\n\n### Global Options\n\n| Flag               | Description                                                  |\n| ------------------ | ------------------------------------------------------------ |\n| `--api-key \u003ckey\u003e`  | API key (overrides `GETLARK_API_KEY` env var and stored config) |\n| `--profile \u003cname\u003e` | Profile to read from `~/.getlark/config.json`                |\n| `-V, --version`    | Display the current version                                  |\n| `-h, --help`       | Display help                                                 |\n\n### Commands\n\n#### `workflows create` — Create a workflow\n\n```bash\ngetlark workflows create --name \"login-flow\" --description \"Test the login process end-to-end\"\n```\n\n| Flag                              | Required | Description                                    | Default     |\n| --------------------------------- | -------- | ---------------------------------------------- | ----------- |\n| `--name \u003cname\u003e`                   | Yes      | Workflow name                                  |             |\n| `--description \u003cdescription\u003e`     | Yes      | Workflow description                           |             |\n| `--mode \u003cmode\u003e`                   | No       | Execution mode: `ai_driven` or `deterministic` | `ai_driven` |\n| `--secret-contexts \u003ccontexts...\u003e` | No       | Secret contexts to attach to the workflow      |             |\n| `--group-id \u003cgroupId\u003e`            | No       | Workflow group ID to assign this workflow to   |             |\n\n```bash\n# Create a deterministic workflow with secret contexts\ngetlark workflows create \\\n  --name \"checkout-flow\" \\\n  --description \"Test the full checkout process\" \\\n  --mode deterministic \\\n  --secret-contexts production staging\n```\n\n#### `workflows get` — Get workflow details\n\n```bash\ngetlark workflows get \u003cworkflow_id\u003e\n```\n\nReturns the full workflow resource including status, mode, schedule, and last execution/generation/repair info.\n\n#### `workflows update` — Update a workflow\n\n```bash\ngetlark workflows update \u003cworkflow_id\u003e --name \"new-name\" --description \"updated description\"\n```\n\n| Flag                              | Description                               |\n| --------------------------------- | ----------------------------------------- |\n| `--name \u003cname\u003e`                   | New name for the workflow                 |\n| `--description \u003cdescription\u003e`     | New description for the workflow          |\n| `--secret-contexts \u003ccontexts...\u003e` | Secret contexts to attach                 |\n| `--schedule \u003ccron\u003e`               | Cron schedule for the workflow            |\n| `--group-id \u003cgroupId\u003e`            | Workflow group ID (use `null` to ungroup) |\n\nAt least one option is required.\n\n#### `workflows archive` — Archive a workflow\n\n```bash\ngetlark workflows archive \u003cworkflow_id\u003e\n```\n\nArchived workflows are hidden from the default list and cannot be invoked until unarchived.\n\n#### `workflows unarchive` — Unarchive a workflow\n\n```bash\ngetlark workflows unarchive \u003cworkflow_id\u003e\n```\n\nRestores an archived workflow so it appears in the list and can be invoked again.\n\n#### `workflows list` — List workflows\n\n```bash\ngetlark workflows list\n```\n\n| Flag                   | Description                     | Default |\n| ---------------------- | ------------------------------- | ------- |\n| `--limit \u003cnumber\u003e`     | Max workflows to return (1–100) | `10`    |\n| `--offset \u003cnumber\u003e`    | Number of workflows to skip     | `0`     |\n| `--group-id \u003cgroupId\u003e` | Filter workflows by group ID    |         |\n\n#### `workflows invoke` — Invoke workflows\n\n```bash\n# Invoke all workflows and wait (up to 5 minutes) for completion\ngetlark workflows invoke --all --wait --timeout 300\n\n# Invoke specific workflows and wait\ngetlark workflows invoke --workflow-ids wf_abc123 wf_def456 --wait --timeout 300\n\n# Invoke all workflows in a group by ID\ngetlark workflows invoke --group-id wfl_grp_abc123 --wait\n\n# Invoke all workflows in a group by name\ngetlark workflows invoke --group-name \"Checkout Flow\" --wait\n```\n\n| Flag                       | Description                                                                      |\n| -------------------------- | -------------------------------------------------------------------------------- |\n| `--workflow-ids \u003cid...\u003e`   | The IDs of the workflows to invoke                                               |\n| `--all`                    | Invoke all workflows                                                             |\n| `--group-id \u003cgroupId\u003e`     | Invoke all workflows in a group (by group ID)                                    |\n| `--group-name \u003cgroupName\u003e` | Invoke all workflows in a group (by group name)                                  |\n| `--wait`                   | Wait for the execution to finish (successfully or unsuccessfully) before exiting |\n| `--timeout \u003cseconds\u003e`      | Maximum time to wait in seconds (default: 600, requires `--wait`)                |\n| `--verbose`                | Print verbose output (includes logs)                                             |\n\nOne of `--workflow-ids`, `--all`, `--group-id`, or `--group-name` is required.\n\nExit codes: `0` = success, `1` = workflow failure, `2` = timeout, `3` = unexpected error.\n\n#### `workflows executions get` — Get execution details\n\n```bash\ngetlark workflows executions get \u003cworkflow_id\u003e \u003cexecution_id\u003e\n```\n\n#### `workflows executions logs` — Get execution logs\n\n```bash\ngetlark workflows executions logs \u003cworkflow_id\u003e \u003cexecution_id\u003e\n```\n\n#### `workflows executions cancel` — Cancel a running execution\n\n```bash\ngetlark workflows executions cancel \u003cworkflow_id\u003e \u003cexecution_id\u003e\n```\n\n#### `workflows repairs trigger` — Trigger a workflow repair\n\n```bash\ngetlark workflows repairs trigger \u003cworkflow_id\u003e\n```\n\nTriggers a repair for a workflow. Returns the repair resource.\n\n#### `workflows repairs list` — List workflow repairs\n\n```bash\ngetlark workflows repairs list \u003cworkflow_id\u003e\n```\n\n| Flag                | Description                   | Default |\n| ------------------- | ----------------------------- | ------- |\n| `--limit \u003cnumber\u003e`  | Max repairs to return (1–100) | `10`    |\n| `--offset \u003cnumber\u003e` | Number of repairs to skip     | `0`     |\n\n#### `workflows repairs get` — Get repair details\n\n```bash\ngetlark workflows repairs get \u003cworkflow_id\u003e \u003crepair_id\u003e\n```\n\n#### `workflows repairs cancel` — Cancel a running repair\n\n```bash\ngetlark workflows repairs cancel \u003cworkflow_id\u003e \u003crepair_id\u003e\n```\n\n#### `workflows repairs logs` — Get repair logs\n\n```bash\ngetlark workflows repairs logs \u003cworkflow_id\u003e \u003crepair_id\u003e\n```\n\n#### `workflows generations cancel` — Cancel a running generation\n\n```bash\ngetlark workflows generations cancel \u003cworkflow_id\u003e \u003cgeneration_id\u003e\n```\n\n#### `workflows events list` — List workflow events\n\n```bash\ngetlark workflows events list \u003cworkflow_id\u003e\n```\n\n| Flag                | Description                  | Default |\n| ------------------- | ---------------------------- | ------- |\n| `--limit \u003cnumber\u003e`  | Max events to return (1–100) | `10`    |\n| `--offset \u003cnumber\u003e` | Number of events to skip     | `0`     |\n\nLists all events (generations, executions, repairs) for a workflow.\n\n#### `workflow-groups create` — Create a workflow group\n\n```bash\ngetlark workflow-groups create --name \"Checkout Flow\"\n```\n\n| Flag            | Required | Description                |\n| --------------- | -------- | -------------------------- |\n| `--name \u003cname\u003e` | Yes      | Name of the workflow group |\n\n#### `workflow-groups list` — List workflow groups\n\n```bash\ngetlark workflow-groups list\n```\n\n| Flag                | Description                  | Default |\n| ------------------- | ---------------------------- | ------- |\n| `--limit \u003cnumber\u003e`  | Max groups to return (1–100) | `10`    |\n| `--offset \u003cnumber\u003e` | Number of groups to skip     | `0`     |\n\n#### `workflow-groups get` — Get a workflow group\n\n```bash\ngetlark workflow-groups get \u003cgroup_id\u003e\n```\n\n#### `workflow-groups update` — Update a workflow group\n\n```bash\ngetlark workflow-groups update \u003cgroup_id\u003e --name \"Updated Name\"\n```\n\n| Flag            | Description                     |\n| --------------- | ------------------------------- |\n| `--name \u003cname\u003e` | New name for the workflow group |\n\n#### `workflow-groups delete` — Delete a workflow group\n\n```bash\ngetlark workflow-groups delete \u003cgroup_id\u003e\n```\n\nWorkflows in the group become ungrouped.\n\n#### `jobs create` — Create a job from an inline JSON input file\n\n```bash\nlarkci jobs create --name \"Import workflows\" --input-file ./workflows.json\n```\n\n| Flag                   | Required | Description                                                            | Default            |\n| ---------------------- | -------- | ---------------------------------------------------------------------- | ------------------ |\n| `--name \u003cname\u003e`        | Yes      | Human-readable name for the job                                        |                    |\n| `--input-file \u003cpath\u003e`  | Yes      | Path to a JSON file with the job input (see schema below)              |                    |\n| `--type \u003ctype\u003e`        | No       | Job type. Currently only `workflow_import` is supported.               | `workflow_import`  |\n\n##### `workflow_import` input file schema\n\nThe input file is a single JSON object. The same file is accepted by `jobs create`, `jobs upload`, and `jobs validate`.\n\nTop-level object:\n\n| Field         | Type                       | Required | Description                                                          |\n| ------------- | -------------------------- | -------- | -------------------------------------------------------------------- |\n| `workflows`   | array of workflow entries  | Yes      | One or more workflows to import. Must contain at least one entry.    |\n\nEach entry under `workflows`:\n\n| Field              | Type                                  | Required | Description                                                                                          |\n| ------------------ | ------------------------------------- | -------- | ---------------------------------------------------------------------------------------------------- |\n| `name`             | string (non-empty)                    | Yes      | Workflow name.                                                                                       |\n| `description`      | string (non-empty)                    | Yes      | Workflow description; the AI agent reads this at runtime to perform the test.                        |\n| `mode`             | `\"ai_driven\"` \\| `\"deterministic\"`    | Yes      | Execution mode for the workflow.                                                                     |\n| `secret_contexts`  | array of unique strings \\| `null`     | No       | Secret context names the workflow may use. Omit or set `null` for no secret contexts.                |\n| `group_id`         | string \\| `null`                      | No       | ID of the workflow group to assign the workflow to. Omit or set `null` to leave it ungrouped.        |\n\nNo additional properties are accepted at the top level or per workflow.\n\nExample `workflows.json`:\n\n```json\n{\n  \"workflows\": [\n    {\n      \"name\": \"Checkout smoke\",\n      \"description\": \"Verify checkout works end-to-end with a test card.\",\n      \"mode\": \"ai_driven\",\n      \"secret_contexts\": [\"staging\"],\n      \"group_id\": \"wgrp_01h...\"\n    },\n    {\n      \"name\": \"Login regression\",\n      \"description\": \"Log in with seeded credentials and confirm the dashboard loads.\",\n      \"mode\": \"deterministic\"\n    }\n  ]\n}\n```\n\nTip: run `larkci jobs validate --file ./workflows.json` before submitting to catch schema errors without creating a job.\n\n#### `jobs list` — List jobs\n\n```bash\nlarkci jobs list --status pending --status running\n```\n\n| Flag                  | Description                                                                                | Default |\n| --------------------- | ------------------------------------------------------------------------------------------ | ------- |\n| `--limit \u003cnumber\u003e`    | Max jobs to return (1–100)                                                                 | `20`    |\n| `--offset \u003cnumber\u003e`   | Number of jobs to skip                                                                     | `0`     |\n| `--status \u003cstatus\u003e`   | Filter by status (`pending`, `running`, `completed`, `failed`, `cancelled`); repeatable    |         |\n\n#### `jobs get` — Get a job\n\n```bash\nlarkci jobs get \u003cjob_id\u003e\n```\n\n#### `jobs cancel` — Cancel a job\n\n```bash\nlarkci jobs cancel \u003cjob_id\u003e\n```\n\nCancels a pending or running job.\n\n#### `jobs upload` — Create a job by uploading an input file\n\n```bash\nlarkci jobs upload --name \"Import workflows\" --file ./workflows.json\n```\n\n| Flag             | Required | Description                                                                            | Default            |\n| ---------------- | -------- | -------------------------------------------------------------------------------------- | ------------------ |\n| `--name \u003cname\u003e`  | Yes      | Human-readable name for the job                                                        |                    |\n| `--file \u003cpath\u003e`  | Yes      | Path to the input file (same schema as [`jobs create`](#workflow_import-input-file-schema)) |                    |\n| `--type \u003ctype\u003e`  | No       | Job type. Currently only `workflow_import` is supported.                               | `workflow_import`  |\n\nSends the file as `multipart/form-data` to `/jobs/upload`. The job stores the original filename so you can retrieve it later from `larkci jobs get`.\n\n#### `jobs validate` — Validate an input file without creating a job\n\n```bash\nlarkci jobs validate --file ./workflows.json\n```\n\n| Flag             | Required | Description                                                                            | Default            |\n| ---------------- | -------- | -------------------------------------------------------------------------------------- | ------------------ |\n| `--file \u003cpath\u003e`  | Yes      | Path to the input file (same schema as [`jobs create`](#workflow_import-input-file-schema)) |                    |\n| `--type \u003ctype\u003e`  | No       | Job type. Currently only `workflow_import` is supported.                               | `workflow_import`  |\n\nPrints the validation report and exits non-zero if `valid: false`.\n\n#### `secret-contexts list` — List secret contexts\n\n```bash\ngetlark secret-contexts list\n```\n\nReturns all secret context names and metadata for your account. Does not return secret values.\n\n#### `secret-contexts get` — Get a secret context\n\n```bash\ngetlark secret-contexts get \u003ccontext\u003e\n```\n\nReturns the context name and the list of key names stored in it. Does not return secret values.\n\n#### `secret-contexts create` — Create or replace a secret context\n\n```bash\ngetlark secret-contexts create --context production --secret username=admin --secret password=s3cret\n```\n\n| Flag                   | Required | Description                                        |\n| ---------------------- | -------- | -------------------------------------------------- |\n| `--context \u003cname\u003e`     | Yes      | Name of the secret context                         |\n| `--secret \u003ckey=value\u003e` | Yes      | Secret key-value pair (repeat for multiple values) |\n\n```bash\n# Create a secret context with multiple credentials\ngetlark secret-contexts create \\\n  --context staging \\\n  --secret api_key=sk_test_abc123 \\\n  --secret username=testuser \\\n  --secret password=testpass\n```\n\n#### `secret-contexts update` — Update a key in a secret context\n\n```bash\ngetlark secret-contexts update \u003ccontext\u003e --key \u003ckey\u003e --value \u003cvalue\u003e\n```\n\n| Flag              | Required | Description                 |\n| ----------------- | -------- | --------------------------- |\n| `--key \u003ckey\u003e`     | Yes      | The key to create or update |\n| `--value \u003cvalue\u003e` | Yes      | The new value for the key   |\n\nIf the key already exists its value is replaced; if it does not exist it is added.\n\n#### `secret-contexts delete` — Delete a secret context\n\n```bash\ngetlark secret-contexts delete \u003ccontext\u003e\n```\n\nPermanently deletes a secret context. Workflows referencing it will no longer have access.\n\n#### `secret-contexts delete-key` — Delete a key from a secret context\n\n```bash\ngetlark secret-contexts delete-key \u003ccontext\u003e \u003ckey\u003e\n```\n\nRemoves a single key-value pair from an existing secret context.\n\n### Examples\n\n```bash\n# Create a workflow\ngetlark workflows create --name \"signup-flow\" --description \"Test user signup\"\n\n# Get workflow details\ngetlark workflows get wf_abc123\n\n# Update a workflow\ngetlark workflows update wf_abc123 --name \"updated-signup-flow\" --schedule \"0 9 * * *\"\n\n# List your workflows\ngetlark workflows list --limit 20\n\n# List workflows in a group\ngetlark workflows list --group-id grp_abc123\n\n# Archive a workflow\ngetlark workflows archive wf_abc123\n\n# Unarchive a workflow\ngetlark workflows unarchive wf_abc123\n\n# Invoke a workflow but don't wait for completion\ngetlark workflows invoke --workflow-ids wf_abc123\n\n# Invoke and wait for completion (10 min default timeout)\ngetlark workflows invoke --workflow-ids wf_abc123 --wait\n\n# Invoke and wait (up to 5 minutes) with verbose logs\ngetlark workflows invoke --workflow-ids wf_abc123 --wait --timeout 300 --verbose\n\n# Invoke all workflows in a group by ID\ngetlark workflows invoke --group-id wfl_grp_abc123 --wait\n\n# Invoke all workflows in a group by name\ngetlark workflows invoke --group-name \"Checkout Flow\" --wait\n\n# Check execution status\ngetlark workflows executions get wf_abc123 exec_xyz789\n\n# Fetch execution logs\ngetlark workflows executions logs wf_abc123 exec_xyz789\n\n# Cancel a running execution\ngetlark workflows executions cancel wf_abc123 exec_xyz789\n\n# Trigger a repair\ngetlark workflows repairs trigger wf_abc123\n\n# List repairs\ngetlark workflows repairs list wf_abc123\n\n# Cancel a generation\ngetlark workflows generations cancel wf_abc123 gen_xyz789\n\n# List events\ngetlark workflows events list wf_abc123\n\n# Create a workflow group\ngetlark workflow-groups create --name \"Checkout Flow\"\n\n# List workflow groups\ngetlark workflow-groups list\n\n# Delete a workflow group\ngetlark workflow-groups delete grp_abc123\n\n# Override API key inline\ngetlark --api-key sk-test-key workflows invoke --workflow-ids wf_abc123\n\n# Store credentials for a secret context\ngetlark secret-contexts create --context production --secret username=admin --secret password=s3cret\n\n# Update a single key in a secret context\ngetlark secret-contexts update production --key password --value new-s3cret\n\n# List all secret contexts\ngetlark secret-contexts list\n\n# View the keys stored in a secret context\ngetlark secret-contexts get production\n\n# Delete a key from a secret context\ngetlark secret-contexts delete-key production password\n\n# Delete a secret context\ngetlark secret-contexts delete production\n```\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for development setup and guidelines.\n\n## License\n\nISC\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgetlark%2Fcli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgetlark%2Fcli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgetlark%2Fcli/lists"}