Build and iterate custom add-ons/templates with tanstack add-on init, add-on compile, add-on dev, and tanstack create --dev-watch, including sync loop preconditions, watch-path validation, and project metadata constraints.
64
77%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./packages/cli/skills/maintain-custom-addons-dev-watch/SKILL.mdUse this skill for local add-on authoring workflows where you continuously compile and sync package output into a target app.
npx @tanstack/cli add-on init
npx @tanstack/cli add-on compilenpx @tanstack/cli add-on dev# --dev-watch is a flag on `create`, not on `dev`
npx @tanstack/cli create my-sandbox --dev-watch ../path/to/framework-dirnpx @tanstack/cli add-on compile
npx @tanstack/cli add my-custom-addonWrong:
npx @tanstack/cli create my-sandbox --dev-watch ../my-addon-package --no-installCorrect:
npx @tanstack/cli create my-sandbox --dev-watch ../my-addon-packageDev-watch rejects --no-install, so automated loops fail before any sync work starts.
Source: packages/cli/src/dev-watch.ts:112
Wrong:
npx @tanstack/cli create my-sandbox --dev-watch ../missing-or-invalid-dirCorrect:
npx @tanstack/cli create my-sandbox --dev-watch ../valid-framework-dirWatch setup validates that the path exists, is a directory, and contains at least one of add-ons/, assets/, or framework.json. Invalid targets fail before file syncing begins.
Source: packages/cli/src/command-line.ts:599
Wrong:
npx @tanstack/cli add-on initCorrect:
# Run add-on init from a file-router project
npx @tanstack/cli add-on initCustom add-on authoring expects file-router mode and exits when run from incompatible project modes.
Source: packages/create/src/custom-add-ons/add-on.ts
Wrong:
npx @tanstack/cli add-on devCorrect:
# Run in a project scaffolded by TanStack CLI (contains .cta.json), then:
npx @tanstack/cli add-on devCustom add-on flows rely on persisted scaffold options, so missing metadata blocks initialization and update paths.
Source: packages/create/src/custom-add-ons/shared.ts:158
This domain's patterns conflict with add-addons-existing-app. Tooling assumes reusable automation, but hidden metadata preconditions from legacy support make add-on loops non-portable across repositories.
See also: add-addons-existing-app/SKILL.md § Common Mistakes
efbc8d5
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.