packages/cli/skills/maintain-custom-addons-dev-watch/SKILL.md
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.
npx skillsauth add tanstack/cli maintain-custom-addons-dev-watchInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use 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 compile
npx @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-dir
npx @tanstack/cli add-on compile
npx @tanstack/cli add my-custom-addon
Wrong:
npx @tanstack/cli create my-sandbox --dev-watch ../my-addon-package --no-install
Correct:
npx @tanstack/cli create my-sandbox --dev-watch ../my-addon-package
Dev-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-dir
Correct:
npx @tanstack/cli create my-sandbox --dev-watch ../valid-framework-dir
Watch 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 init
Correct:
# Run add-on init from a file-router project
npx @tanstack/cli add-on init
Custom 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 dev
Correct:
# Run in a project scaffolded by TanStack CLI (contains .cta.json), then:
npx @tanstack/cli add-on dev
Custom 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
development
Retrieve machine-readable context with tanstack libraries, tanstack doc, tanstack search-docs, tanstack create --list-add-ons --json, and --addon-details for agent-safe discovery and preflight validation.
tools
Scaffold a TanStack app with tanstack create using --framework, --template, --toolchain, --deployment, --add-ons, and --router-only. Covers flag compatibility, non-interactive defaults, and intent-preserving command construction.
development
Map tanstack ecosystem partner metadata to installable add-on ids using tanstack ecosystem --json, tanstack create --list-add-ons --json, and tanstack create --addon-details --json. Covers exclusive categories, provider options, and router-only compatibility constraints.
data-ai
Apply integrations to existing projects with tanstack add, including add-on id resolution, dependency chains, option prompts, and .cta.json project metadata preconditions.