fix(ts-templates): drop <FILL-IN-MODEL> placeholder from generatedBy default#834
Draft
DaveHanns wants to merge 1 commit into
Draft
fix(ts-templates): drop <FILL-IN-MODEL> placeholder from generatedBy default#834DaveHanns wants to merge 1 commit into
DaveHanns wants to merge 1 commit into
Conversation
…default
Every TypeScript template's `.actor/actor.json` shipped with
`"generatedBy": "<FILL-IN-MODEL>"` — a literal placeholder that agents
and users are expected to overwrite before deploying. In practice the
placeholder often makes it to production `actor.json` because the
overwrite step is easy to skip, so deployed Actors publish visible
`<FILL-IN-MODEL>` strings in their metadata.
Default the value to an empty string instead:
- Unfilled deploys ship `"generatedBy": ""` (no visible garbage in
production metadata) rather than the literal placeholder token.
- The key is still present, so the AGENTS.md instruction ("fill in the
`generatedBy` property in the meta section of `.actor/actor.json`")
still reads the same and telemetry consumers still find the field.
- No changes to any per-template AGENTS.md or the shared
`agent-bases/ts.AGENTS.md` are required.
Applied to all 14 TypeScript templates. JS and Python templates carry
the same placeholder; leaving them for a follow-up so this PR stays
scoped and easy to review.
Surfaced during an evaluation of Apify surfaces for agent-driven Actor
development.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
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.
Summary
Every TypeScript template's
.actor/actor.jsoncurrently ships with:<FILL-IN-MODEL>is a literal placeholder token that the AGENTS.md instructions ask agents (or users) to overwrite with the tool + model name that generated the code — e.g."Claude Code with Claude Sonnet 4.5". Fromagent-bases/ts.AGENTS.md:In practice the overwrite step is easy to skip — agents that follow the rest of the AGENTS.md flow but miss this preamble, and human users who don't read AGENTS.md at all, both end up pushing production Actors whose
actor.jsonpublishes the literal string<FILL-IN-MODEL>in its metadata.Fix
Default the value to an empty string instead:
"meta": { "templateId": "ts-empty", - "generatedBy": "<FILL-IN-MODEL>" + "generatedBy": "" },"generatedBy": ""(no visible garbage in production metadata) rather than the literal placeholder token.generatedByproperty in the meta section of.actor/actor.json") still reads the same and telemetry consumers still find the field.agent-bases/ts.AGENTS.mdare required.Scope
Applied to all 14 TypeScript templates:
ts-beeai-agentts-bootstrap-cheerio-crawlerts-crawlee-cheeriots-crawlee-playwright-camoufoxts-crawlee-playwright-chromets-crawlee-puppeteer-chromets-emptyts-mastraaits-mcp-emptyts-mcp-proxyts-playwright-test-runnerts-standbyts-startts-start-bunTotal diff:
14 files changed, 14 insertions(+), 14 deletions(-)— one-liner per file.JS and Python templates carry the same
<FILL-IN-MODEL>default; leaving them for a follow-up PR so this one stays scoped and easy to review.Reproducer
Follow-ups (out of scope for this PR)
js-*(13 templates) andpython-*(17 templates) — mechanical extension.apify pushwarn (not block) when a required-to-fill placeholder pattern (/^<.*>$/) is detected in metadata fields; would catch the class of issue for future scaffolds that add similar placeholders.Test plan
grep -c "FILL-IN-MODEL" templates/ts-*/.actor/actor.jsonreturns 0 across all TS templates on this branch.grep -c '"generatedBy": ""' templates/ts-*/.actor/actor.jsonreturns 14.dist/templates/ts-*.zippicks up the change on the nextchore: Update template archivesCI run.@apify/actor-templatesnpm package,apify create -t ts-empty, Console template gallery) get the change once master is refreshed.Surfaced during an evaluation of Apify surfaces for agent-driven Actor development.