@tanstack/cli

TanStack CLI

add-addons-existing-app

core
114 lines

Apply integrations to existing projects with tanstack add, including add-on id resolution, dependency chains, option prompts, and .cta.json project metadata preconditions.

Add Add-ons To Existing App

Use this skill when the project already exists and you need to layer add-ons safely without breaking dependency or metadata assumptions.

Setup

sh
npx @tanstack/cli add clerk drizzle

Core Patterns

Add multiple integrations in one pass

sh
npx @tanstack/cli add tanstack-query drizzle

Resolve candidate ids before applying

sh
npx @tanstack/cli create --list-add-ons --json

Validate optionized add-ons before install

sh
npx @tanstack/cli create --addon-details prisma --json

Common Mistakes

CRITICAL Run tanstack add without .cta.json

Wrong:

sh
npx @tanstack/cli add clerk

Correct:

sh
# Run in a project scaffolded by TanStack CLI (contains .cta.json), then:
npx @tanstack/cli add clerk

Add flows depend on persisted scaffold metadata, so commands can fail or apply incomplete config when .cta.json is missing.

Source: packages/create/src/custom-add-ons/shared.ts:158

HIGH Use invalid add-on id

Wrong:

sh
npx @tanstack/cli add drizle

Correct:

sh
npx @tanstack/cli add drizzle

Unknown ids stop resolution and force manual correction before any add-on work proceeds.

Source: packages/create/src/add-ons.ts:44

HIGH Ignore add-on dependency requirements

Wrong:

sh
npx @tanstack/cli add custom-addon-with-missing-deps

Correct:

sh
npx @tanstack/cli add required-dependency custom-addon-with-missing-deps

Add-ons with dependsOn can fail during finalization if required dependencies are not present.

Source: packages/create/src/add-ons.ts:48

MEDIUM Assume old Windows path bug still present

Wrong:

sh
# Avoid tanstack add on Windows and patch manually

Correct:

sh
npx @tanstack/cli add clerk

Avoiding supported workflows based on historical bug reports causes unnecessary manual drift. Fixed in newer versions, but agents trained on older threads may still avoid this path.

Source: https://github.com/TanStack/cli/issues/329

HIGH Tension: Backwards support vs deterministic automation

This domain's patterns conflict with maintain-custom-addons-dev-watch. Automation that assumes universal add flows tends to fail because legacy compatibility still relies on hidden scaffold metadata.

See also: maintain-custom-addons-dev-watch/SKILL.md § Common Mistakes