Repository navigation
Custom Function directory/project scaffolding - #519
Merged
Merged
Conversation
bencmbrook
changed the base branch from
main
to
docs/cli-command-boundaries-rule
September 7, 2026 20:55
@transcend-io/airgap.js-types
@transcend-io/cli
@transcend-io/custom-function-types
@transcend-io/design-tokens
@transcend-io/internationalization
@transcend-io/privacy-types
@transcend-io/sdk
@transcend-io/type-utils
@transcend-io/utils
@transcend-io/mcp
@transcend-io/mcp-server-admin
@transcend-io/mcp-server-assessment
@transcend-io/mcp-server-base
@transcend-io/mcp-server-consent
@transcend-io/mcp-server-discovery
@transcend-io/mcp-server-docs
@transcend-io/mcp-server-dsr
@transcend-io/mcp-server-inventory
@transcend-io/mcp-server-preferences
@transcend-io/mcp-server-workflows
commit: |
bencmbrook
marked this pull request as ready for review
September 8, 2026 01:10
bencmbrook
force-pushed
the
benbrook/link-8250-custom-function-scaffolding
branch
from
September 8, 2026 02:22
bd430ee to
5696e13
Compare
bencmbrook
force-pushed
the
benbrook/link-8250-custom-function-scaffolding
branch
from
September 8, 2026 02:32
5696e13 to
ee9dfef
Compare
dmattia
previously approved these changes
Sep 8, 2026
ecton-transcend
previously approved these changes
Sep 8, 2026
ecton-transcend
left a comment
Contributor
There was a problem hiding this comment.
So cool! Thanks for putting this together. The onboard experience is much cleaner now
bencmbrook
dismissed stale reviews from ecton-transcend and dmattia
via
September 8, 2026 16:50
1c70165
Keep the established --variables interface while retaining the <<parameters.*>> manifest syntax. Require explicit values in local validation and execution, and surface safe placeholders in generated guidance.
Require source and test payload paths to remain under the manifest directory for push, run, and check. Document the shared contract with the relevant manifest fields.
bencmbrook
force-pushed
the
benbrook/link-8250-custom-function-scaffolding
branch
from
September 8, 2026 21:45
cfc8ec1 to
70b224b
Compare
bencmbrook
deleted the
benbrook/link-8250-custom-function-scaffolding
branch
September 8, 2026 22:00
This was referenced Sep 8, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes LINK-8250: Add interactive Custom Function scaffolding to the CLI
Screen.Recording.2026-09-07.at.8.54.10.PM.mov
Summary
Add a credential-free local workflow for developing Transcend Custom Functions.
transcend custom-functions initcreates a project under the explicit defaulttranscend/custom-functions. It can add Deno configuration, editor recommendations, thetranscend-custom-functionsAI authoring skill, and validation-only GitHub Actions.transcend custom-functions newadds a typed General or data subject request (DSR) starter, representative test payloads, and the matching manifest entry to an initialized project.transcend custom-functions runexecutes configured fixtures in a local Deno 2 simulator and prints function logs. It mirrors Sombra's export selection, payload preparation, environment isolation, timeout, software development kit (SDK), and key-value (KV) shape without requiring credentials.sdk.fetchis simulated, and native network access requires an explicit--allowNetworkopt-in.transcend custom-functions checkvalidates the manifest, files, payload schemas, exports, types, lint, and formatting with Deno 2 before the project is pushed. Generated configuration pins the production Deno version; other Deno 2 versions produce a compatibility warning.<<parameters.*>>syntax and are supplied through the backward-compatible--variablesflag. Local runs and checks require explicit values, while generated commands provide non-secret placeholders.Each scaffold command previews one transactional plan, preserves existing configuration, carries custom manifest paths through follow-up commands, and finishes with a compact AI handoff. Source and test payload paths remain within the manifest directory across
run,check, andpush, including through symlinks. Customized workflows are left unchanged. In a bare project, repository-level.vscodeand.agentssetup is placed at the invocation root while Custom Function files remain isolated under the target directory.The AI guidance is also published as a literal repository skill, so it can be installed before setup with
npx skills add transcend-io/tools --skill transcend-custom-functions.Validation
LINK-8250