Skip to content

folkctl 0.3.0

Latest

Choose a tag to compare

@j-edel j-edel released this 23 Oct 15:13
90c8ec2

Update folkctl for Folk's API changes from September 6 to October 21, 2026: batch commands, person enrichments and credits, the new interaction history endpoint, idempotent retries, and the new burst rate limit.

  • Add batch create, batch update, and batch delete for people, companies, deals, and custom objects, up to 100 records per request. Input can be a JSON array, {"records": [...]}, or NDJSON such as --ndjson output. Results keep request order, and exit code 5 means at least one record failed.
  • Add people enrich, enrichments, and credits. Starting an enrichment asks for confirmation because it spends workspace credits; --wait polls until it finishes.
  • interactions past, upcoming, and list now call GET /v1/interactions, which replaces the routes Folk removes on March 29, 2027. New filters: --imported-type, --logged-only, and --user-id.
  • Every write sends an Idempotency-Key. Writes now retry network errors and 409, 502, 503, and 504 responses with the same key, never a 500. Pass --no-retry to turn retries off.
  • The rate limit headers, including the new burst policy of 20 requests per 2 seconds, are parsed into response.rateLimit, and --all and --wait pause when a window is exhausted.
  • Batch deletes, batch updates that set groups, and enrichments need confirmation, also through api request.
  • Fixes: --yes false no longer confirms a delete; prompts no longer hang when input ends; --foundation-date, never a Folk field, now points to --foundation-year; Folk's own deprecation notices take precedence over the bundled ones.
  • Robustness: --wait never runs past --wait-timeout, even when status checks are rate limited or stall; a batch response without one result per record is reported as an error with the idempotency key; a connection dropped while a response arrives is retried like any network error; and api request guards match any spelling of a route, including behind a --base-url path.
  • Bundled companion skill 0.3.0 targets CLI 0.3.0 and pins both installation paths to 442c1c5e992a0f51c9689341813fd1c319b3b5e2. That commit's CLI source and package metadata are identical to this release.

Install this GitHub release:

npm install -g --ignore-scripts github:j-edel/folkctl#v0.3.0
folkctl --version

Expected CLI version: 0.3.0. The attached tarball is also installable with npm. GitHub remains the CLI distribution channel. The companion skill 0.3.0 is in skills/folk-cli; its ClawHub listing moves from 0.2.2 to 0.3.0 once ClawHub completes its security scan of the submitted version. To upgrade from 0.2.x, see Updating from 0.2.x.

Validation: 117 tests pass, including an independent snapshot of all 71 public OpenAPI operations. GitHub CI passes on Node 20, 22, and 24 for the final merge commit. Read-only checks against a live workspace passed; no records were changed and no credits were spent. Fresh installations from the attached tarball, the tag, and the skill's pinned source each report 0.3.0 and pass seven offline behavior checks, with zero CRM requests. The package contains 37 intended files and has no runtime dependencies or installation lifecycle scripts.

Tarball SHA-256: 5da7247f8d3a09658af554672cc1981e06bb5a185dfa09c8d1e4b9d4f805ab9f.

Release preparation: PR #4; the Codex review of its final commit has no findings. Final merge CI.