Skip to content

docs(cli): name the Custom Function type each custom-functions new template creates - #539

Merged
bencmbrook merged 5 commits into
mainfrom
bencmbrook/cf-language
Sep 9, 2026
Merged

bencmbrook merged 5 commits into
mainfrom
bencmbrook/cf-language

Conversation

@bencmbrook

@bencmbrook bencmbrook commented Sep 9, 2026 •

Copy link
Copy Markdown
Member

Copy-only change to transcend custom-functions new, so the template choice describes the two Custom Function types a caller is actually picking between instead of the code the scaffolder emits.

Why

The command described its templates in terms of generated code — "General or DSR starter", "Generated handler and fixture shape", "Starter type:" — which does not map onto the product concepts. A caller choosing a template is choosing between a General Custom Function, triggered by Rules Automation, and a DSR Custom Function, which can support a data point resolver, a preflight check, or both. dsr-enricher in particular reads as the API's internal export name rather than the user-facing preflight workflow.

What changed

  • Template prompt (new/impl.ts) — options now lead with the type: "General Custom Function — triggered by Rules Automation", "DSR Custom Function", "DSR Custom Function — data point resolver only", "DSR Custom Function — preflight check only". The combined DSR option is listed first among the DSR entries as the common default.
  • Flag brief and command description (new/command.ts) — --template is "Function type and generated handler shape", and the full description spells out both types.
  • Command README (new/readme.ts) — explains which flag value to pick per type, and notes that dsr-enricher keeps the API's technical export name while the user-facing workflow is called preflight.
  • Scaffold comments (lib/custom-functions/scaffold-templates.ts) — the generated DSR enricher handler and its test payload use preflight wording.
  • Skill CI recipe (skills/transcend-custom-functions/references/setup.md) — pins "Install Deno 2.4.5" to match the version this repository validates against, instead of "Install Deno 2".
  • Generated CLI README (packages/cli/README.md) — regenerated from the above via pnpm --dir packages/cli genfiles.

No behavior, flag values, or generated code structure changed: general, dsr-datapoint, dsr-enricher, and dsr-both all still produce exactly what they did before.

Testing

  • pnpm --dir packages/cli genfiles is clean.
  • CLI Custom Function suites pass, including the Deno contract checks on every generated template (vitest run src/lib/custom-functions src/commands/custom-functions, 187 tests).
  • Repo-wide format, lint, typecheck, and tests pass via the pre-commit and pre-push hooks.

@bencmbrook

Copy link
Copy Markdown
Member Author

@cursoragent fix ci and fix the pr descriptoin

@pkg-pr-new

pkg-pr-new Bot commented Sep 9, 2026 •

Copy link
Copy Markdown

Open in StackBlitz

@transcend-io/airgap.js-types

pnpm add https://pkg.pr.new/@transcend-io/airgap.js-types@539
yarn add https://pkg.pr.new/@transcend-io/airgap.js-types@539.tgz

@transcend-io/cli

pnpm add https://pkg.pr.new/@transcend-io/cli@539
yarn add https://pkg.pr.new/@transcend-io/cli@539.tgz

@transcend-io/custom-function-types

pnpm add https://pkg.pr.new/@transcend-io/custom-function-types@539
yarn add https://pkg.pr.new/@transcend-io/custom-function-types@539.tgz

@transcend-io/design-tokens

pnpm add https://pkg.pr.new/@transcend-io/design-tokens@539
yarn add https://pkg.pr.new/@transcend-io/design-tokens@539.tgz

@transcend-io/internationalization

pnpm add https://pkg.pr.new/@transcend-io/internationalization@539
yarn add https://pkg.pr.new/@transcend-io/internationalization@539.tgz

@transcend-io/privacy-types

pnpm add https://pkg.pr.new/@transcend-io/privacy-types@539
yarn add https://pkg.pr.new/@transcend-io/privacy-types@539.tgz

@transcend-io/sdk

pnpm add https://pkg.pr.new/@transcend-io/sdk@539
yarn add https://pkg.pr.new/@transcend-io/sdk@539.tgz

@transcend-io/type-utils

pnpm add https://pkg.pr.new/@transcend-io/type-utils@539
yarn add https://pkg.pr.new/@transcend-io/type-utils@539.tgz

@transcend-io/utils

pnpm add https://pkg.pr.new/@transcend-io/utils@539
yarn add https://pkg.pr.new/@transcend-io/utils@539.tgz

@transcend-io/mcp

pnpm add https://pkg.pr.new/@transcend-io/mcp@539
yarn add https://pkg.pr.new/@transcend-io/mcp@539.tgz

@transcend-io/mcp-server-admin

pnpm add https://pkg.pr.new/@transcend-io/mcp-server-admin@539
yarn add https://pkg.pr.new/@transcend-io/mcp-server-admin@539.tgz

@transcend-io/mcp-server-assessment

pnpm add https://pkg.pr.new/@transcend-io/mcp-server-assessment@539
yarn add https://pkg.pr.new/@transcend-io/mcp-server-assessment@539.tgz

@transcend-io/mcp-server-base

pnpm add https://pkg.pr.new/@transcend-io/mcp-server-base@539
yarn add https://pkg.pr.new/@transcend-io/mcp-server-base@539.tgz

@transcend-io/mcp-server-consent

pnpm add https://pkg.pr.new/@transcend-io/mcp-server-consent@539
yarn add https://pkg.pr.new/@transcend-io/mcp-server-consent@539.tgz

@transcend-io/mcp-server-discovery

pnpm add https://pkg.pr.new/@transcend-io/mcp-server-discovery@539
yarn add https://pkg.pr.new/@transcend-io/mcp-server-discovery@539.tgz

@transcend-io/mcp-server-docs

pnpm add https://pkg.pr.new/@transcend-io/mcp-server-docs@539
yarn add https://pkg.pr.new/@transcend-io/mcp-server-docs@539.tgz

@transcend-io/mcp-server-dsr

pnpm add https://pkg.pr.new/@transcend-io/mcp-server-dsr@539
yarn add https://pkg.pr.new/@transcend-io/mcp-server-dsr@539.tgz

@transcend-io/mcp-server-inventory

pnpm add https://pkg.pr.new/@transcend-io/mcp-server-inventory@539
yarn add https://pkg.pr.new/@transcend-io/mcp-server-inventory@539.tgz

@transcend-io/mcp-server-preferences

pnpm add https://pkg.pr.new/@transcend-io/mcp-server-preferences@539
yarn add https://pkg.pr.new/@transcend-io/mcp-server-preferences@539.tgz

@transcend-io/mcp-server-workflows

pnpm add https://pkg.pr.new/@transcend-io/mcp-server-workflows@539
yarn add https://pkg.pr.new/@transcend-io/mcp-server-workflows@539.tgz

commit: c7949da

@cursor

cursor Bot commented Sep 9, 2026 •

Copy link
Copy Markdown

CI is fully green on PR #539 after one commit (95401bad).

CI fixes — two real failures, both caused by the copy change to transcend custom-functions new:

  • The cli job's "Verify generated CLI files are up to date" step failed because packages/cli/README.md is generated from the command's flag briefs and readme text. I re-ran pnpm --dir packages/cli genfiles and committed the regenerated README.
  • The global job failed its changeset check, since @transcend-io/cli source changed with no changeset. I added .changeset/custom-functions-new-type-language.md as a patch, describing the type-first wording and the Deno 2.4.5 pin in the skill's CI recipe.

I verified locally before pushing: genfiles is clean, the changeset check passes, and all 187 CLI Custom Function tests pass including the Deno contract checks on every template (I had to install Deno 2.4.5 and shellcheck 0.11.0 in this VM, which the CI images provide).

PR description — I retitled the PR from the branch-name placeholder to docs(cli): name the Custom Function type each custom-functions new template creates. I could not overwrite the body itself: it is the auto-generated list of every commit already on main, and the PR tooling refuses to replace a description it did not author. I posted the replacement description as a PR comment for you to paste in; it covers the rationale, each file's change, that no behavior or template output changed, and how it was tested.

Open in Web Open in Cursor 

@cursor cursor Bot changed the title bencmbrook/cf language docs(cli): name the Custom Function type each custom-functions new template creates Sep 9, 2026
@bencmbrook
bencmbrook marked this pull request as ready for review September 9, 2026 17:21
@transcend-io transcend-io deleted a comment from cursor Bot Sep 9, 2026
@bencmbrook
bencmbrook added this pull request to the merge queue Sep 9, 2026
Merged via the queue into main with commit 27e7c7a Sep 9, 2026
4 checks passed
@bencmbrook
bencmbrook deleted the bencmbrook/cf-language branch September 9, 2026 17:51
@bencmbrook bencmbrook mentioned this pull request Sep 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants